%global _empty_manifest_terminate_build 0 Name: python-batou Version: 2.3 Release: 1 Summary: A utility for automating multi-host, multi-environment software builds and deployments. License: BSD (2-clause) URL: https://batou.readthedocs.io/en/latest/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/96/fd/3c8f615b498d66fccb5ff602c3fb087fc85caf2b676ba0b2c8a09150ad97/batou-2.3.tar.gz BuildArch: noarch %description batou helps you to automate your application deployments: * You create a model of your deployment using a simple but powerful Python API. * You configure how the model applies to hosts in different environments. * You verify and run the deployment with the batou utility. Getting started with a new project is easy: ```console mkdir myproject cd myproject git init curl -sL https://raw.githubusercontent.com/flyingcircusio/batou/main/bootstrap | sh git commit -m "Start a batou project." ``` Here's a minimal application model: ```console $ mkdir -p components/myapp $ cat > components/myapp/component.py from batou.component import Component from batou.lib.python import VirtualEnv, Package from batou.lib.supervisor import Program class MyApp(Component): def configure(self): venv = VirtualEnv('2.7') self += venv venv += Package('myapp') self += Program('myapp', command='bin/myapp') ``` And here's a minimal environment: ```console $ mkdir environments $ cat > environments/dev/environment.cfg [environment] connect_method = local [hosts] localhost = myapp ``` To deploy this, you run: ```console $ ./batou deploy dev ``` Check the [detailed documentation](http://batou.readthedocs.org) to get going with a more ambitious project. ## Features * Separate your application model from environments * Supports idempotent operation for incremental deployments * Deploy to multiple hosts simultaneously * Automated dependency resolution for multi-host scenarios * No runtime requirements on your application * Encrypted secrets with multiple access levels: store your SSL certificates, SSH keys, service secrets and more to get true 1-button deployments. * Deploy to local machines, Vagrant, or any SSH host * Broad SSH feature support by using OpenSSH through execnet * Only few dependencies required on the remote host * Ships with a library of components for regularly needed tasks * self-bootstrapping and self-updating - no additional scripting needed ## License The project is licensed under the 2-clause BSD license. ## Hacking * Make sure `mercurial` and `subversion` are installed and in `$PATH`. * `python27` also needs to be installed and in `$PATH`. * Run `./develop.sh` to create a local virtualenv with everything set up. * Run the test suite using: `bin/tox` * Build the documentation using: `cd doc; make` * Set up GPG for the examples with `export GNUPGHOME=/src/batou/secrets/tests/fixture/gnupg` ## Changelog See [CHANGES.md](./CHANGES.md). %package -n python3-batou Summary: A utility for automating multi-host, multi-environment software builds and deployments. Provides: python-batou BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-batou batou helps you to automate your application deployments: * You create a model of your deployment using a simple but powerful Python API. * You configure how the model applies to hosts in different environments. * You verify and run the deployment with the batou utility. Getting started with a new project is easy: ```console mkdir myproject cd myproject git init curl -sL https://raw.githubusercontent.com/flyingcircusio/batou/main/bootstrap | sh git commit -m "Start a batou project." ``` Here's a minimal application model: ```console $ mkdir -p components/myapp $ cat > components/myapp/component.py from batou.component import Component from batou.lib.python import VirtualEnv, Package from batou.lib.supervisor import Program class MyApp(Component): def configure(self): venv = VirtualEnv('2.7') self += venv venv += Package('myapp') self += Program('myapp', command='bin/myapp') ``` And here's a minimal environment: ```console $ mkdir environments $ cat > environments/dev/environment.cfg [environment] connect_method = local [hosts] localhost = myapp ``` To deploy this, you run: ```console $ ./batou deploy dev ``` Check the [detailed documentation](http://batou.readthedocs.org) to get going with a more ambitious project. ## Features * Separate your application model from environments * Supports idempotent operation for incremental deployments * Deploy to multiple hosts simultaneously * Automated dependency resolution for multi-host scenarios * No runtime requirements on your application * Encrypted secrets with multiple access levels: store your SSL certificates, SSH keys, service secrets and more to get true 1-button deployments. * Deploy to local machines, Vagrant, or any SSH host * Broad SSH feature support by using OpenSSH through execnet * Only few dependencies required on the remote host * Ships with a library of components for regularly needed tasks * self-bootstrapping and self-updating - no additional scripting needed ## License The project is licensed under the 2-clause BSD license. ## Hacking * Make sure `mercurial` and `subversion` are installed and in `$PATH`. * `python27` also needs to be installed and in `$PATH`. * Run `./develop.sh` to create a local virtualenv with everything set up. * Run the test suite using: `bin/tox` * Build the documentation using: `cd doc; make` * Set up GPG for the examples with `export GNUPGHOME=/src/batou/secrets/tests/fixture/gnupg` ## Changelog See [CHANGES.md](./CHANGES.md). %package help Summary: Development documents and examples for batou Provides: python3-batou-doc %description help batou helps you to automate your application deployments: * You create a model of your deployment using a simple but powerful Python API. * You configure how the model applies to hosts in different environments. * You verify and run the deployment with the batou utility. Getting started with a new project is easy: ```console mkdir myproject cd myproject git init curl -sL https://raw.githubusercontent.com/flyingcircusio/batou/main/bootstrap | sh git commit -m "Start a batou project." ``` Here's a minimal application model: ```console $ mkdir -p components/myapp $ cat > components/myapp/component.py from batou.component import Component from batou.lib.python import VirtualEnv, Package from batou.lib.supervisor import Program class MyApp(Component): def configure(self): venv = VirtualEnv('2.7') self += venv venv += Package('myapp') self += Program('myapp', command='bin/myapp') ``` And here's a minimal environment: ```console $ mkdir environments $ cat > environments/dev/environment.cfg [environment] connect_method = local [hosts] localhost = myapp ``` To deploy this, you run: ```console $ ./batou deploy dev ``` Check the [detailed documentation](http://batou.readthedocs.org) to get going with a more ambitious project. ## Features * Separate your application model from environments * Supports idempotent operation for incremental deployments * Deploy to multiple hosts simultaneously * Automated dependency resolution for multi-host scenarios * No runtime requirements on your application * Encrypted secrets with multiple access levels: store your SSL certificates, SSH keys, service secrets and more to get true 1-button deployments. * Deploy to local machines, Vagrant, or any SSH host * Broad SSH feature support by using OpenSSH through execnet * Only few dependencies required on the remote host * Ships with a library of components for regularly needed tasks * self-bootstrapping and self-updating - no additional scripting needed ## License The project is licensed under the 2-clause BSD license. ## Hacking * Make sure `mercurial` and `subversion` are installed and in `$PATH`. * `python27` also needs to be installed and in `$PATH`. * Run `./develop.sh` to create a local virtualenv with everything set up. * Run the test suite using: `bin/tox` * Build the documentation using: `cd doc; make` * Set up GPG for the examples with `export GNUPGHOME=/src/batou/secrets/tests/fixture/gnupg` ## Changelog See [CHANGES.md](./CHANGES.md). %prep %autosetup -n batou-2.3 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-batou -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 2.3-1 - Package Spec generated