diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:03:05 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:03:05 +0000 |
commit | cb54f328515d55394b71e492ffbfefe5e6b0d891 (patch) | |
tree | 51ffbd301c8897ba0ff6c3d7be0e9d9cc98aee09 /debian | |
parent | Adding upstream version 2.10.7+merged+base+2.10.8+dfsg. (diff) | |
download | ansible-debian.tar.xz ansible-debian.zip |
Adding debian version 2.10.7+merged+base+2.10.8+dfsg-1.debian/2.10.7+merged+base+2.10.8+dfsg-1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
36 files changed, 2842 insertions, 0 deletions
diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 00000000..c1f38ddf --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,17 @@ +ansible (2.7.5+dfsg-2) experimental; urgency=medium + + With this version build and runtime of ansible has switched to python3. If you + don't use custom task modules or custom inventory modules, this will likely + not affect you. If you do have the above, you need to ensure those work with + python 3 before upgrading. Instructions and migration tips can be found in the + upstream documentation or in the ansible-doc package. + + Note that switching will only affects the ansible controller. The remote nodes + will continue to use python 2. This means you need to ensure that your custom + task modules run on both python 2 and 3. + + If you also want to switch the remote nodes to python 3, you need to ensure + that they have at least python 3.5 installed. You can then set the + "ansible_python_interpreter" inventory variable to /usr/bin/python3. + + -- Lee Garrett <debian@rocketjump.eu> Sun, 30 Dec 2018 23:45:34 +0100 diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 00000000..bf46db46 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,81 @@ +Building from source package +============================ + +# This requires the correct deb-src lines in your /etc/apt/sources.list +$ apt-get source ansible +$ cd ansible-<versionnumber> + +# Install package dependencies as root +$ sudo apt-get build-dep . + +# build package, don't sign the source or binary package +$ debuild -uc -us + +# Your built source and binary package will be a directory above +$ cd .. +$ ls -l ansible_* + + +Building a new release from the Debianized git repository (first time) +====================================================================== + +# Install git-buildpackage +$ sudo apt install git-buildpackage + +# Clone the Debianized packaging git repository +$ git clone git@salsa.debian.org:debian/ansible.git + +$ cd ansible + +# You will need a local branch checkout from upstream and pristine-tar. +# Otherwise gbp will later complain with: +# gbp:warning: Pristine-tar branch "pristine-tar" not found + +$ git checkout pristine-tar +$ git checkout upstream + +# switch back to master branch to update the package +$ git checkout master + +# Pull new upstream in. The tarball will be check into pristine-tar branch, +# the contents are checked in to upstream. This will then get merged into master +$ gbp import-orig --uscan --merge-mode=replace + +# ... any other changes you need to do go here ... + +# Update changelog +$ dch -i + +# commit any changes here, including the debian/changelog. You can test it +# before committing with `gbp buildpackage --git-ignore-new -uc -us` + +# Build package and sign it with your Debian Developer key +$ gbp buildpackage + +# Upload the built source and binary packages to Debian ftp-master +$ dput ftp-master ansible_<version>_amd64.changes + + +Building a new release from the Debianized git repository (subsequent releases) +=============================================================================== + +# Stash any changes you want to keep +$ git stash -p + +# Clean up repo for building +# There are probably cleaner ways to do this. Suggestions welcome! +$ git checkout . +$ git clean -fdx + +# Bring back any stashed changes +$ git stash pop + +# Import new upstream release +$ gbp import-orig --uscan --merge-mode=replace + +# Update changelog +$ dch -i + +# Build and upload +$ gbp buildpackage +$ dput ftp-master ansible_<version>_amd64.changes diff --git a/debian/ansible-doc.doc-base b/debian/ansible-doc.doc-base new file mode 100644 index 00000000..6ae6d9c5 --- /dev/null +++ b/debian/ansible-doc.doc-base @@ -0,0 +1,14 @@ +Document: ansible +Title: Ansible Documentation +Author: Michael DeHaan <michael.dehaan@gmail.com> +Abstract: Configuration management, deployment, and task execution system + Ansible is a radically simple model-driven configuration management, + multi-node deployment, and remote task execution system. Ansible works + over SSH and does not require any software or daemons to be installed + on remote nodes. Extension modules can be written in any language and + are transferred to managed machines automatically. +Section: Programming/Python + +Format: HTML +Index: /usr/share/doc/ansible/html/index.html +Files: /usr/share/doc/ansible/html/*.html diff --git a/debian/ansible-doc.docs b/debian/ansible-doc.docs new file mode 100644 index 00000000..27fc7117 --- /dev/null +++ b/debian/ansible-doc.docs @@ -0,0 +1 @@ +docs/docsite/_build/html/ diff --git a/debian/ansible.install b/debian/ansible.install new file mode 100644 index 00000000..4b6e84c2 --- /dev/null +++ b/debian/ansible.install @@ -0,0 +1,2 @@ +/usr/bin/* /usr/bin/ +/usr/lib/* /usr/lib/ diff --git a/debian/ansible.lintian-overrides b/debian/ansible.lintian-overrides new file mode 100644 index 00000000..72745d7c --- /dev/null +++ b/debian/ansible.lintian-overrides @@ -0,0 +1,10 @@ +ansible binary: shell-script-fails-syntax-check usr/lib/python3/dist-packages/ansible_collections/community/zabbix/roles/zabbix_proxy/files/install_semodule.bsx +ansible binary: shell-script-fails-syntax-check usr/lib/python3/dist-packages/ansible_collections/community/zabbix/roles/zabbix_server/files/install_semodule.bsx +ansible binary: broken-zip usr/lib/python3/dist-packages/ansible_collections/community/network/tests/unit/plugins/modules/network/radware/wt.zip +ansible binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/ansible/galaxy/data/apb/README.md +ansible binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/ansible/galaxy/data/container/README.md +ansible binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/ansible/galaxy/data/default/README.md +ansible binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/ansible/galaxy/data/network/README.md +ansible binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/ansible/modules/cloud/amazon/GUIDELINES.md +ansible binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/ansible/modules/cloud/openstack/README.md +ansible binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/ansible/modules/cloud/ovirt/README.rst diff --git a/debian/ansible.manpages b/debian/ansible.manpages new file mode 100644 index 00000000..8152accc --- /dev/null +++ b/debian/ansible.manpages @@ -0,0 +1,9 @@ +docs/man/man1/ansible-config.1 +docs/man/man1/ansible-console.1 +docs/man/man1/ansible-doc.1 +docs/man/man1/ansible-galaxy.1 +docs/man/man1/ansible-inventory.1 +docs/man/man1/ansible-playbook.1 +docs/man/man1/ansible-pull.1 +docs/man/man1/ansible-vault.1 +docs/man/man1/ansible.1 diff --git a/debian/ansible.postinst b/debian/ansible.postinst new file mode 100644 index 00000000..f292fc88 --- /dev/null +++ b/debian/ansible.postinst @@ -0,0 +1,17 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +dpkg-maintscript-helper rm_conffile \ + /etc/ansible/ansible.cfg 2.10.4~ ansible -- "$@" + +dpkg-maintscript-helper rm_conffile \ + /etc/ansible/hosts 2.10.4~ ansible -- "$@" + +if [ -d /etc/ansible ]; then + rmdir --ignore-fail-on-non-empty /etc/ansible 2> /dev/null +fi + +exit 0 diff --git a/debian/ansible.postrm b/debian/ansible.postrm new file mode 100644 index 00000000..f292fc88 --- /dev/null +++ b/debian/ansible.postrm @@ -0,0 +1,17 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +dpkg-maintscript-helper rm_conffile \ + /etc/ansible/ansible.cfg 2.10.4~ ansible -- "$@" + +dpkg-maintscript-helper rm_conffile \ + /etc/ansible/hosts 2.10.4~ ansible -- "$@" + +if [ -d /etc/ansible ]; then + rmdir --ignore-fail-on-non-empty /etc/ansible 2> /dev/null +fi + +exit 0 diff --git a/debian/ansible.preinst b/debian/ansible.preinst new file mode 100644 index 00000000..f292fc88 --- /dev/null +++ b/debian/ansible.preinst @@ -0,0 +1,17 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +dpkg-maintscript-helper rm_conffile \ + /etc/ansible/ansible.cfg 2.10.4~ ansible -- "$@" + +dpkg-maintscript-helper rm_conffile \ + /etc/ansible/hosts 2.10.4~ ansible -- "$@" + +if [ -d /etc/ansible ]; then + rmdir --ignore-fail-on-non-empty /etc/ansible 2> /dev/null +fi + +exit 0 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000..526cd93f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,663 @@ +ansible (2.10.7+merged+base+2.10.8+dfsg-1) unstable; urgency=medium + + * Upload to unstable + * Thanks to Christian Kastner for preparing this release. + * Temporarily merge ansible-base and ansible source packages. + * Remove 0006-remove-sphinx-notfound.patch (not needed) + * Fix python interpreter discovery (Closes: #983140) + * Fix "Mask default and fallback values for no_log module options" + (CVE-2021-20228) + + -- Lee Garrett <debian@rocketjump.eu> Mon, 19 Apr 2021 23:56:56 +0200 + +ansible (2.10.7-2) experimental; urgency=medium + + * Enable autopkgtests. + * Fix SyntaxWarnings (Closes: #982682) + + -- Lee Garrett <debian@rocketjump.eu> Thu, 25 Mar 2021 18:09:54 +0100 + +ansible (2.10.7-1) unstable; urgency=medium + + * New upstream release. + * Upload to unstable. + * Gracefully handle missing /etc/ansible on upgrade. + + -- Lee Garrett <debian@rocketjump.eu> Wed, 10 Feb 2021 00:44:56 +0100 + +ansible (2.10.4-1) experimental; urgency=medium + + * New upstream release + * Depend on ansible-base + * Remove building of ansible-doc (now provided by ansible-base) + * Remove all d/patches/*, code is now shipped in ansible-base + * Stop shipping conffiles in /etc/ansible/* + * Remove deps to python-crypto, not needed (Closes: #971309) + * Remove d/ansible.links (Closes: #970422) + + -- Lee Garrett <debian@rocketjump.eu> Thu, 07 Jan 2021 23:15:47 +0100 + +ansible (2.9.16+dfsg-1) unstable; urgency=medium + + * New upstream release + + -- Lee Garrett <debian@rocketjump.eu> Wed, 16 Dec 2020 20:27:46 +0100 + +ansible (2.9.13+dfsg-1) unstable; urgency=medium + + * New upstream release (Closes: #963482) + * Remove hidden files from binary package (Closes: #963165) + * Bump Standards-Version (no changes needed) + + -- Lee Garrett <debian@rocketjump.eu> Fri, 11 Sep 2020 07:32:43 +0200 + +ansible (2.9.9+dfsg-1) unstable; urgency=medium + + * New upstream release + + -- Lee Garrett <debian@rocketjump.eu> Sat, 30 May 2020 22:11:57 +0200 + +ansible (2.9.7+dfsg-1) unstable; urgency=medium + + * New upstream release + * Fix debian/copyright (Closes: #958907) + * Tighten dependency on python3-paramiko to ease backports + * Fix win_unzip path escape (CVE-2020-1737) + * Fix temp dir race condition (CVE-2020-1733) + * Fix password on commandline in subversion module (CVE-2020-1739) + * Fix ansible vault symlink vulnerability (CVE-2020-1740) + * Fix ansible galaxy path escape (CVE-2020-10691) + + + -- Lee Garrett <debian@rocketjump.eu> Thu, 07 May 2020 18:49:05 +0200 + +ansible (2.9.6+dfsg-1) unstable; urgency=medium + + * New upstream release + + -- Lee Garrett <debian@rocketjump.eu> Mon, 16 Mar 2020 16:52:07 +0100 + +ansible (2.9.4+dfsg-1) unstable; urgency=medium + + * The "Greetings from Banja Luka" release + * New upstream release + * Added python3-distutils to Depends (Thanks to Matthias Luescher!) + * Fix vulnerability in solaris_zone module via crafted solaris zone + (CVE-2019-14904) + * Fix "malicious code could craft filename in nxos_file_copy module" + (CVE-2019-14905) + + -- Lee Garrett <debian@rocketjump.eu> Mon, 10 Feb 2020 15:49:29 +0100 + +ansible (2.9.2+dfsg-1) unstable; urgency=medium + + * The "Greetings from the 36c3" release. + * New upstream release (Closes: #946245) + * Fix Splunk and Sumologic callback plugin logging sensitive data + (CVE-2019-14864) (Closes: #943768) + * Fix parameters marked with "no_log" in suboptions when invalid + parameters are passed to the module (CVE-2019-14858) (Closes: #943768) + * Fix for CVE-2019-14856 + * Fix for CVE-2019-10156 + * Fix for CVE-2019-10206 + * Add python3-dnspython to Depends (Closes: #941020) + * add python3-argcomplete to Recommends, allowing bash completion + * Stop shipping ansible-test. + + -- Lee Garrett <debian@rocketjump.eu> Mon, 30 Dec 2019 21:31:13 +0100 + +ansible (2.8.6+dfsg-1) unstable; urgency=medium + + * New upstream release + * Fix for CVE-2019-14846, CVE-2019-14856, CVE-2019-14858 (v2.8.6) + * Fix for CVE-2019-10217, CVE-2019-10206 (fixed in v2.8.4) + + -- Lee Garrett <debian@rocketjump.eu> Mon, 28 Oct 2019 22:13:01 +0100 + +ansible (2.8.3+dfsg-1) unstable; urgency=medium + + * New upstream release (Closes: #932288) + * This release fixes CVE-2019-10156 (Closes: #930065) + + -- Lee Garrett <debian@rocketjump.eu> Thu, 01 Aug 2019 10:39:19 -0300 + +ansible (2.7.8+dfsg-1) unstable; urgency=medium + + * New upstream release + * Remove patch for CVE-2019-3828 (applied upstream) + + -- Lee Garrett <debian@rocketjump.eu> Sat, 02 Mar 2019 20:33:08 +0100 + +ansible (2.7.7+dfsg-1) unstable; urgency=high + + * New upstream release + * Remove Michael Vogt from uploaders. Thanks for your past contributions! + * Fix path traversal bug in fetch module (CVE-2019-3828) + + -- Lee Garrett <debian@rocketjump.eu> Thu, 21 Feb 2019 08:44:57 +0100 + +ansible (2.7.6+dfsg-1) unstable; urgency=medium + + * New upstream release + * Support 'nodoc' build profile + * Add sphinxdoc dependencies (Closes: #919830) + * Bump Standards-Version to 4.3.0 (no changes needed) + + -- Lee Garrett <debian@rocketjump.eu> Sat, 26 Jan 2019 15:16:27 +0100 + +ansible (2.7.5+dfsg-2) experimental; urgency=medium + + * Switch to python3. (Closes: #850669) + + -- Lee Garrett <debian@rocketjump.eu> Mon, 31 Dec 2018 01:02:08 +0100 + +ansible (2.7.5+dfsg-1) unstable; urgency=medium + + * New upstream release + - fix for CVE-2018-16876 (Closes: #916102) + * Remove any loading of external resources from the docs + * Only symlink JS that dh_sphinxdoc doesn't take care of + * Override lintian for a long line in layout.html + * Build ansible-doc again (Closes: #848871) + * Add build-depends to python-jinja2 (Closes: #915316) + * Bump Standards-Version (no changes needed) + + -- Lee Garrett <debian@rocketjump.eu> Wed, 19 Dec 2018 11:35:55 +0100 + +ansible (2.7.1+dfsg-2) unstable; urgency=medium + + * Add build-depends to python-packaging (Closes: #912995) + + -- Lee Garrett <debian@rocketjump.eu> Tue, 13 Nov 2018 11:03:34 +0100 + +ansible (2.7.1+dfsg-1) unstable; urgency=medium + + [ Ondřej Nový ] + * d/copyright: Use https protocol in Format field + + [ Lee Garrett ] + * New upstream release + * Move from asciidoc to docutils (Closes: #894188) + * Document packaging build process (Closes: #911027) + + -- Lee Garrett <debian@rocketjump.eu> Sun, 28 Oct 2018 14:06:43 +0100 + +ansible (2.6.5+dfsg-1) unstable; urgency=medium + + * New upstream release + * Greetings from the Chemnitz BSP! + + -- Lee Garrett <debian@rocketjump.eu> Sat, 29 Sep 2018 15:24:01 +0200 + +ansible (2.6.4+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Sun, 09 Sep 2018 20:07:55 +0200 + +ansible (2.6.3+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Mon, 20 Aug 2018 15:53:28 +0200 + +ansible (2.6.1+dfsg-1) unstable; urgency=medium + + * New upstream release. + * Avoid loading host/group vars from cwd when not specifying a playbook or + playbook base dir (CVE-2018-10874) + * Avoid using ansible.cfg in a world writable dir (CVE-2018-10875) + + -- Lee Garrett <debian@rocketjump.eu> Wed, 11 Jul 2018 23:25:18 +0200 + +ansible (2.5.5+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Fri, 15 Jun 2018 17:01:00 +0200 + +ansible (2.5.3+dfsg-2) unstable; urgency=medium + + * Merge the alioth and salsa repos + * Fix again README.rst that was accidentally reverted in the previous upload + (Closes: #898433) + * Update VCS fields in debian/control to point to salsa.debian.org. + + -- Lee Garrett <debian@rocketjump.eu> Sat, 19 May 2018 19:37:54 +0200 + +ansible (2.5.3+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Fri, 18 May 2018 13:50:03 +0200 + +ansible (2.5.2+dfsg-2) unstable; urgency=medium + + * Correct d/docs to point to README.rst. (Closes: #898433) + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Sat, 12 May 2018 14:46:38 -0400 + +ansible (2.5.2+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Sat, 28 Apr 2018 17:39:10 +0200 + +ansible (2.5.1+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Thu, 19 Apr 2018 11:22:34 +0200 + +ansible (2.5.0+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Sun, 25 Mar 2018 14:39:53 +0200 + +ansible (2.4.3.0+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Lee Garrett <debian@rocketjump.eu> Thu, 01 Feb 2018 13:45:09 +0100 + +ansible (2.4.2.0+dfsg-1) unstable; urgency=medium + + * New upstream release. + * Bump Standards-Version to 4.1.1 (no changes needed) + * Add new manpages for ansible-config and ansible-inventory, added in 2.4.0. + + -- Lee Garrett <debian@rocketjump.eu> Wed, 06 Dec 2017 20:48:46 +0100 + +ansible (2.4.0.0+dfsg-1) unstable; urgency=medium + + * New upstream release. + * Remove 0002-fix-jinja-1.9-upgrade.patch, applied upstream. + + -- Lee Garrett <debian@rocketjump.eu> Wed, 20 Sep 2017 00:52:02 +0200 + +ansible (2.3.2.0+dfsg-1) unstable; urgency=medium + + * New upstream release. + * Remove 01-fix-htpasswd.patch, applied upstream. + * Upstream fixes: + - Fix --force for unversioned requirements (Closes: #874194) + - attempt to fix systemd in chroot env (Closes: 873890) + + -- Lee Garrett <debian@rocketjump.eu> Sun, 10 Sep 2017 21:20:43 -0400 + +ansible (2.3.1.0+dfsg-2) unstable; urgency=high + + * Import patch fixing jinja2 issues (Closes: #870599, #871601) + * Revert python-jinja2 pin. + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Sun, 27 Aug 2017 19:57:43 -0400 + +ansible (2.3.1.0+dfsg-1) unstable; urgency=high + + [ Lee Garrett ] + * The "Harlan is late for DebCamp" release. + * New upstream release (Closes: #845613, 851619, #868553) + - fixed CVE-2017-7481 (Closes: #862666) + * Add python-libcloud to recommends (Closes: #869751) + * Add python-jmespath to recommends (Closes: #859999) + * Bump Standards-Version to 4.0.0 (no changes needed) + * Add python-cryptography to recommends to speed up vault operations. + * Drop 0001-add-console-manpage.patch and 0002-fix-cve-2017-7466.patch, + both applied upstream. + + [ Harlan Lieberman-Berg ] + * Pin python-jinja2 against incompatible new releases. + * Import patch fixing htpasswd module. (Closes: #863949) + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Mon, 07 Aug 2017 17:26:53 -0400 + +ansible (2.2.1.0-2) unstable; urgency=medium + + * Add patch to fix CVE-2017-7466. + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Wed, 12 Apr 2017 00:56:30 -0400 + +ansible (2.2.1.0-1) unstable; urgency=medium + + * New upstream release + * Remove following patches, applied upstream: + - fix_CVE-2016-8647.patch + - fix_pip_venv.patch + - fix_UnboundedLocalError.patch + - fix-cve-2016-9587.patch + * Add myself to uploaders. + + -- Lee Garrett <debian@rocketjump.eu> Sat, 21 Jan 2017 21:27:15 +0100 + +ansible (2.2.0.0-4) unstable; urgency=high + + * Commit to git the changelog line I actually used. + * Cherry-pick patch fixing git module error. (Closes: #850935) + * Cherry-pick patch fixing python3 + virtualenv problems. (Closes: #847546) + * Cherry-pick patch fixing CVE-2016-8647 (Closes: #844691) + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Sat, 14 Jan 2017 15:30:48 -0500 + +ansible (2.2.0.0-3) unstable; urgency=high + + * Apply additional fixes for CVE-2016-9587 (Closes: #850846) + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Fri, 13 Jan 2017 21:17:56 -0500 + +ansible (2.2.0.0-2) unstable; urgency=high + + * Cherry-pick patch to fix CVE-2016-9587 (Closes: #850846) + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Tue, 10 Jan 2017 20:14:07 -0500 + +ansible (2.2.0.0-1) unstable; urgency=medium + + * New upstream release: (Closes: #843763) + - CVE-2016-8628 (Closes: #842985) + - CVE-2016-8614 (Closes: #842984) + * Add python-kerberos, python-winrm, python-xmltodict to Recommends, needed + to manage Windows hosts. (Closes: #843995) + * Suggest cowsay (Closes: #834056) + + -- Lee Garrett <debian@rocketjump.eu> Fri, 25 Nov 2016 20:52:24 +0100 + +ansible (2.1.1.0-1) unstable; urgency=medium + + * New upstream release. + * Update cme copyright helper files. + * Drop ansible-*fireball, as it is no longer supported. + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Sun, 31 Jul 2016 22:02:59 -0400 + +ansible (2.1.0.0-1) unstable; urgency=medium + + * New upstream release. (Closes: #826927, #814371) + * Update d/copyright; add cme hinting files. + * Bump S-V; no changes required + * Add manpage for ansible-console. + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Sun, 12 Jun 2016 21:12:05 -0400 + +ansible (2.0.2.0-1) unstable; urgency=medium + + * New upstream release + * Remove patches applied upstream + * Change maintainer from Janos to me + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Tue, 19 Apr 2016 22:31:25 -0400 + +ansible (2.0.1.0-2) unstable; urgency=medium + + * Backport patches to fix vulns in lxc plugin (Closes: #819676) + * Update my email address + + -- Harlan Lieberman-Berg <hlieberman@debian.org> Sun, 10 Apr 2016 18:37:37 -0400 + +ansible (2.0.1.0-1) unstable; urgency=medium + + * New upstream release. + * Fix Vcs-git URI. + * Bump standards version. + + -- Harlan Lieberman-Berg <hlieberman@setec.io> Thu, 25 Feb 2016 23:03:33 -0500 + +ansible (2.0.0.2-2) unstable; urgency=medium + + * Migrate to unstable. + * Switch Vcs-git to https. + + -- Harlan Lieberman-Berg <hlieberman@setec.io> Mon, 08 Feb 2016 07:15:41 -0500 + +ansible (2.0.0.2-1) experimental; urgency=medium + + * New upstream version. + + -- Harlan Lieberman-Berg <hlieberman@setec.io> Fri, 15 Jan 2016 20:15:26 -0500 + +ansible (2.0.0.1-1) experimental; urgency=medium + + * New upstream version. + * Fix up d/control's spacing, ordering. + * Extensive update of d/copyright with cme. + + -- Harlan Lieberman-Berg <hlieberman@setec.io> Tue, 12 Jan 2016 22:56:34 -0500 + +ansible (1.9.4-1) unstable; urgency=medium + + * New upstream version. + + -- Harlan Lieberman-Berg <hlieberman@setec.io> Sat, 10 Oct 2015 17:51:09 -0400 + +ansible (1.9.3-1) unstable; urgency=medium + + * New upstream version. + + -- Harlan Lieberman-Berg <hlieberman@setec.io> Thu, 03 Sep 2015 21:06:03 -0400 + +ansible (1.9.2+dfsg-2) unstable; urgency=low + + * Fix suggestion of no-longer-built ansible-doc. (Closes: #795532) + . + Ansible used to ship their website which contained the manual for using ansible + and learning it. They no longer ship this in released versions, thus ansible-doc + was removed. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Sat, 15 Aug 2015 09:29:31 +0200 + +ansible (1.9.2+dfsg-1) unstable; urgency=medium + + * New upstream version. (Closes: #773526) + * Add dependency on python-netaddr (Closes: #790234) + * Heavy refactoring due to upstream release changes + * New, comprehensive d/copyright. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Sat, 27 Jun 2015 23:12:55 -0400 + +ansible (1.7.2+dfsg-2) unstable; urgency=low + + * Add updated paths to d/copyright. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Thu, 02 Oct 2014 17:31:12 -0400 + +ansible (1.7.2+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Wed, 24 Sep 2014 16:55:14 -0400 + +ansible (1.7.1+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Thu, 14 Aug 2014 20:13:22 -0400 + +ansible (1.7.0+dfsg-1) unstable; urgency=medium + + * New upstream release. + * Refresh and remove outdated patches. + * Add python-selinux to Recommends for SELinux support. (Closes: #757358) + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Wed, 06 Aug 2014 21:15:22 -0400 + +ansible (1.6.10+dfsg-1) unstable; urgency=high + + * New upstream release. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Fri, 25 Jul 2014 20:00:08 -0400 + +ansible (1.6.9+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Fri, 25 Jul 2014 00:06:50 -0400 + +ansible (1.6.8+dfsg-1) unstable; urgency=medium + + * New upstream release, fixing: + CVE-2014-4966, CVE-2014-4967. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Wed, 23 Jul 2014 01:12:09 -0400 + +ansible (1.6.6+dfsg-1) unstable; urgency=high + + * New upstream release. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Wed, 02 Jul 2014 01:35:05 +0000 + +ansible (1.6.5+dfsg-1) unstable; urgency=high + + * New upstream release, x2. + * Switch to using Files-Excluded to repack upstream for DFSG. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Wed, 25 Jun 2014 22:03:26 +0000 + +ansible (1.6.3+dfsg-1) unstable; urgency=medium + + * New upstream release. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Tue, 10 Jun 2014 00:23:17 +0000 + +ansible (1.6.2+dfsg-1) unstable; urgency=medium + + [ Felix Geyer ] + * Run upstream build tests during the build. (Closes: #749406) + + [ Harlan Lieberman-Berg ] + * New upstream version. + * Packaged version from tip of upstream branch release1.6.2 instead of + tagged version, as it contains a fix needed to prevent FTBFS. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Sun, 25 May 2014 17:50:03 +0000 + +ansible (1.6.1+dfsg-1) unstable; urgency=medium + + * New upstream version. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Wed, 07 May 2014 18:49:07 +0000 + +ansible (1.6.0+dfsg-1) unstable; urgency=medium + + * New upstream version. + * Remove patches applied upstream. + * Fix manpage warning. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Tue, 06 May 2014 03:07:30 +0000 + +ansible (1.5.5+dfsg-1) unstable; urgency=medium + + * New upstream version 1.5.5, security update. + * d/control: Add myself to Uploaders to silence Lintian + * Refresh patches for new version. Add DEP-3 headers to one patch. + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Mon, 21 Apr 2014 16:51:47 -0400 + +ansible (1.5.4+dfsg-1) unstable; urgency=medium + + * Pull missing manpages from upstream development branch. + * New upstream version 1.5.4, security update. + * Add patch to correct directory_mode functionality. (Closes: #743027) + + -- Harlan Lieberman-Berg <H.LiebermanBerg@gmail.com> Tue, 01 Apr 2014 22:00:24 -0400 + +ansible (1.5.3+dfsg-1) unstable; urgency=low + + [ Harlan Lieberman-Berg ] + * New upstream version. + * Update Ansible homepage URL. + * Add FontAwesome to d/copyright, remove non-existant files. + * Refresh all patches, removing some related to documentation. + * Add new dependency on python-crypto. + + [ Michael Vogt ] + * add "sshpass" to Suggests + * add "openssh-client | python-paramiko" to depends + + -- Michael Vogt <mvo@debian.org> Tue, 18 Mar 2014 14:33:23 +0100 + +ansible (1.4.5+dfsg-1) unstable; urgency=medium + + * New upstream release + + -- Michael Vogt <mvo@debian.org> Thu, 20 Feb 2014 08:58:14 +0100 + +ansible (1.4.4+dfsg-1) unstable; urgency=low + + * New upstream release + + -- Michael Vogt <mvo@debian.org> Tue, 07 Jan 2014 19:58:44 +0100 + +ansible (1.4.3+dfsg-2) unstable; urgency=low + + * add "Suggests: ansible-doc" to the dependency, thanks to + Ben Finney (closes: #729350) + * Fix Vcs-Browser, thanks to Alessandro Ghedini + (closes: #731482) + + -- Michael Vogt <mvo@debian.org> Tue, 07 Jan 2014 10:58:44 +0100 + +ansible (1.4.3+dfsg-1) unstable; urgency=low + + * New upstream release + + -- Michael Vogt <mvo@debian.org> Fri, 27 Dec 2013 09:48:35 +0100 + +ansible (1.4.1+dfsg-1) unstable; urgency=low + + * New upstream version + * add asciidoc build-depends + + -- Michael Vogt <mvo@debian.org> Tue, 03 Dec 2013 08:17:05 +0100 + +ansible (1.4.0+dfsg-1) unstable; urgency=low + + * new upstream version + * debian/rules: + - remove sed manpage fixes, fixed upstream + * debian/patches/fix-html-makefile: + - removed, fixed upstream + + -- Michael Vogt <mvo@debian.org> Sun, 24 Nov 2013 10:41:27 +0100 + +ansible (1.3.4+dfsg-1) unstable; urgency=low + + [ Harlan Lieberman-Berg ] + * New upstream release (Closes: #717777). + Fixes CVE-2013-2233 (Closes: #714822). + Fixes CVE-2013-4259 (Closes: #721766). + * Drop fix-ansible-cfg patch. + * Change docsite generation to not expect docs as part of a wordpress install. + * Add trivial patch to fix lintian error with rpm-key script. + * Add patch header information to fix-html-makefile. + + [ Michael Vogt ] + * add myself to uploader + * build/ship the module manpages for ansible in the ansible package + + -- Michael Vogt <mvo@debian.org> Fri, 01 Nov 2013 09:40:59 +0100 + +ansible (1.2.1+dfsg-1) unstable; urgency=low + + * New upstream release. + * Drop remove-external-training-references.patch + + -- Michael Vogt <mvo@debian.org> Sat, 13 Jul 2013 21:40:49 +0200 + +ansible (1.1+dfsg-1) unstable; urgency=low + + * New upstream release. + * Update patches disable-google-analytics.patch and + remove-external-image.patch to apply cleanly. + * Add remove-external-footer-image.patch to remove link on external resource. + * Add remove-external-training-references.patch: + Training advertise contains links to external resources that may not be + available or may be used for tracking users activity without their + knowledge by the third-party. + + -- Janos Guljas <janos@debian.org> Sat, 06 Apr 2013 23:27:08 +0200 + +ansible (0.9+dfsg-1) unstable; urgency=low + + * Initial release. (Closes: #698428) + + -- Janos Guljas <janos@debian.org> Wed, 23 Jan 2013 01:52:40 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000..48082f72 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +12 diff --git a/debian/conf/hosts b/debian/conf/hosts new file mode 100644 index 00000000..681bbb84 --- /dev/null +++ b/debian/conf/hosts @@ -0,0 +1,44 @@ +# This is the default ansible 'hosts' file. +# +# It should live in /etc/ansible/hosts +# +# - Comments begin with the '#' character +# - Blank lines are ignored +# - Groups of hosts are delimited by [header] elements +# - You can enter hostnames or ip addresses +# - A hostname/ip can be a member of multiple groups + +# Ex 1: Ungrouped hosts, specify before any group headers. + +#green.example.com +#blue.example.com +#192.168.100.1 +#192.168.100.10 + +# Ex 2: A collection of hosts belonging to the 'webservers' group + +#[webservers] +#alpha.example.org +#beta.example.org +#192.168.1.100 +#192.168.1.110 + +# If you have multiple hosts following a pattern you can specify +# them like this: + +#www[001:006].example.com + +# Ex 3: A collection of database servers in the 'dbservers' group + +#[dbservers] +# +#db01.intranet.mydomain.net +#db02.intranet.mydomain.net +#10.25.1.56 +#10.25.1.57 + +# Here's another example of host ranges, this time there are no +# leading 0s: + +#db-[99:101]-node.example.com + diff --git a/debian/control b/debian/control new file mode 100644 index 00000000..11780966 --- /dev/null +++ b/debian/control @@ -0,0 +1,84 @@ +Source: ansible +Maintainer: Lee Garrett <debian@rocketjump.eu> +Uploaders: Harlan Lieberman-Berg <hlieberman@debian.org> +Section: admin +Priority: optional +Build-Depends: debhelper (>= 12~), + dh-python, + python3-all, +# python3-antsibull <!nodoc>, + python3-pycryptodome, + python3-docutils, + python3-jinja2, + python3-nose, + python3-packaging, + python3-passlib, +# python3-pygments <!nodoc>, +# python3-rstcheck <!nodoc>, + python3-setuptools, +# python3-straight.plugin <!nodoc>, +# python3-sphinx <!nodoc>, +# python3-sphinx-notfound-page <!nodoc>, +# python3-sphinx-rtd-theme <!nodoc>, + python3-straight.plugin, + python3-yaml, +# sphinx-common, +Rules-Requires-Root: no +Standards-Version: 4.5.1 +Vcs-Browser: https://salsa.debian.org/debian/ansible +Vcs-Git: https://salsa.debian.org/debian/ansible.git -b bullseye +Homepage: https://www.ansible.com + +Package: ansible +Architecture: all +Depends: ${misc:Depends}, + ${python3:Depends}, + openssh-client | python3-paramiko (>= 2.6.0), + python3-pycryptodome, + python3-distutils, + python3-dnspython, + python3-httplib2, + python3-jinja2, + python3-netaddr, + python3-yaml +Recommends: python3-argcomplete, + python3-cryptography, + python3-jmespath, + python3-kerberos, + python3-libcloud, + python3-selinux, + python3-winrm, + python3-xmltodict +Suggests: cowsay, + sshpass +Breaks: ansible-base (<= 2.10.5+dfsg-2) +Replaces: ansible-base (<= 2.10.5+dfsg-2) +Description: Configuration management, deployment, and task execution system + Ansible is a radically simple model-driven configuration management, + multi-node deployment, and remote task execution system. Ansible works + over SSH and does not require any software or daemons to be installed + on remote nodes. Extension modules can be written in any language and + are transferred to managed machines automatically. + . + This package contains ansible-base 2.10.x and ansible-collections 2.10.x merged + into one package. + +#Package: ansible-doc +#Architecture: all +#Section: doc +#Depends: ${misc:Depends}, +# ${sphinxdoc:Depends}, +# fonts-font-awesome, +# fonts-roboto-fontface, +# libjs-jquery, +# libjs-modernizr, +# libjs-underscore +#Description: Ansible documentation and examples +# Ansible is a radically simple model-driven configuration management, +# multi-node deployment, and remote task execution system. Ansible works +# over SSH and does not require any software or daemons to be installed +# on remote nodes. Extension modules can be written in any language and +# are transferred to managed machines automatically. +# . +# This package contains HTML documentation and examples. +#Build-Profiles: <!nodoc> diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 00000000..2fca8add --- /dev/null +++ b/debian/copyright @@ -0,0 +1,829 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ansible +Upstream-Contact: Michael DeHaan <michael.dehaan@gmail.com> +Source: https://github.com/ansible/ansible/ +Files-Excluded: + docs/docsite/_themes + +Files: * +Copyright: 2017, <meiliu@fusionlayer.com> + 2017, AMTEGA - Xunta de Galicia + 2013, Aaron Bull Schaefer <aaron@elasticdog.com> + 2019, Aaron Longchamps <a.j.longchamps@gmail.com> + 2018, Aaron Smith <ajsmith10381@gmail.com> + 2016, Abdoul Bah (@helldorado) <bahabdoul@gmail.com> + 2017-2019, Abhijeet Kasurde <akasurde@redhat.com> + 2015, Abhijit Menon-Sen <ams@2ndQuadrant.com> + 2019, Adam Goossens <adam.goossens@gmail.com> + 2015, Adam Keech <akeech@chathamfinancial.com> + 2017-2018, Adam Miller <admiller@redhat.com> + 2013, Adam Miller <maxamillion@fedoraproject.org> + 2015-2016, Adam Števko <adam.stevko@gmail.com> + 2016, Adfinis SyGroup AG + 2016-2018, Adrian Likins <alikins@redhat.com> + 2018, Adrien Fleury <fleu42@gmail.com> + 2012, Afterburn <https://github.com/afterburn> + 2014, Ahti Kitsik <ak@ahtik.com> + 2016, Alain Dejoux <adejoux@djouxtech.net> + 2018, Alan Rominger <arominge@redhat.com> + 2019, Alan Rominger <arominge@redhat.net> + 2018, Albert Autin + 2017, Alberto Murillo <alberto.murillo.silva@intel.com> + 2017, Alejandro Gomez <alexgomez2202@gmail.com> + 2015, Alejandro Guirao <lekumberri@gmail.com> + 2016, Aleksei Kostiuk <unitoff@gmail.com> + 2013, Aleksey Ovcharenko <aleksey.ovcharenko@gmail.com> + 2017, Alen Komic + 2015, Ales Nosek <anosek.nosek () gmail.com> + 2018, Alexander Bethke (@oolongbrothers) <oolongbrothers@gmx.net> + 2013, Alexander Bulimov <lazywolf0@gmail.com> + 2013, Alexander Saltanov <asd@mokote.com> + 2013, Alexander Winkler <mail () winkler-alexander.de> + 2017, Alibaba Group Holding Limited. He Guimin <heguimin36@163.com> + 2015, Allen Sanabria <asanabria@linuxdynasty.org> + 2017, Allyson Bowles <@akatch> + 2014, Anders Ingemann <aim@secoya.dk> + 2016, Andew Clarke <andrew@oscailte.org> + 2016, Andreas Olsson <andreas@arrakis.se> + 2013, Andrew Dunham <andrew@du.nham.ca> + 2016, Andrew Gaffney <andrew@agaffney.org> + 2018-2019, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru> + 2017, Andrew Saraceni <andrew.saraceni@gmail.com> + 2016, Andrew Zenk <azenk@umn.edu> + 2013, André Paramés <git@andreparames.com> + 2012-2019, Ansible Project + 2018, Anthony Bond <ajbond2005@gmail.com> + 2018, Antoine Barbare <antoinebarbare@gmail.com> + 2018, Antoine Catton + 2018, Antoine Levy-Lambert (@antoinell) + 2017-2018, Antony Alekseyev <antony.alekseyev@gmail.com> + 2017, Apstra Inc <community@apstra.com> + 2017, Arie Bregman <abregman@redhat.com> + 2018, Arigato Machine Inc + 2018, Armin Ranjbar Daemi <armin@webair.com> + 2016, Artem Feofanov <artem.feofanov@gmail.com> + 2017, Artem Zinenko <zinenkoartem@gmail.com> + 2002-2016, Aruba Networks, Inc + 2013, Balazs Pocze <banyek@gawker.com> + 2015, Bede Carroll <bc+github () bedecarroll.com> + 2016, Ben Doherty <bendohmv@gmail.com> + 2017, Ben Tomasik <ben@tomasik.io> + 2015, Benjamin Copeland (@bhcopeland) <ben@copeland.me.uk> + 2014, Benjamin Curtis <benjamin.curtis@gmail.com> + 2016-2017, Benjamin Jolivot <bjolivot@gmail.com> + 2013, Benno Joy <benno@ansible.com> + 2016, Bill Wang <ozbillwang@gmail.com> + 2015, Billy Kimble <basslines@gmail.com> + 2018-2019, Bojan Vitnik <bvitnik@mainstream.rs> + 2012, Boyd Adamson <boyd () boydadamson.com> + 2012, Brad Olson <brado@movedbylight.com> + 2017, Branko Majic <branko@majic.rs> + 2015-2017, Brian Coca <bcoca@ansible.com> + 2017, Brian Coca <bcoca@redhat.com> + 2014, Brian Coca <brian.coca+dev@gmail.com> + 2014, Brian Coca <briancoca+ansible@gmail.com> + 2015, Brian Coca <briancoca+dev@gmail.com> + 2014, Brian Coca, Josh Drake + 2008, Brian Nez <thedude@bri1.com> + 1995-2018, Brocade Communications Systems, Inc + 2013, Bruce Pennypacker <bruce@pennypacker.org> + 2018, Bruce Smith <Bruce.Smith.IT@gmail.com> + 2017, Bruno Calogero <bcalogero@cisco.com> + 2017, Bruno Calogero <brunocalogero@hotmail.com> + 2019, Bruno Inec (@sweenu) <bruno@inec.fr> + 2016-2017, Bruno Medina Bolanos Cacho <bruno.medina@microsoft.com> + 2006-2007, CDRKIT TEAM + 2015, CallFire Inc + 2019, Carson Anderson <rcanderson23@gmail.com> + 2018, Catalyst Cloud Ltd + 2016, Catalyst IT Limited + 2018, Catalyst IT Ltd + 2015, CenturyLink + 2016, Charles Paul <cpaul@ansible.com> + 2013, Chatham Financial <oss@chathamfinancial.com> + 2014-2015, Chris Church <cchurch@ansible.com> + 2014, Chris Church <chris@ninemoreminutes.com> + 2014, Chris Hoffman <choffman@chathamfinancial.com> + 2017, Chris Hoffman <christopher.hoffman@gmail.com> + 2018, Chris Houseknecht <@chouseknecht> + 2016, Chris Houseknecht <house@redhat.com> + 2015, Chris Long <alcamie@gmail.com> + 2012-2014, Chris Meyers <chris.meyers.fsu@gmail.com> + 2017, Chris Meyers <cmeyers@ansible.com> + 2014, Chris Schmidt <chris.schmidt () contrastsecurity.com> + 2013-2014, Christian Berendt <berendt@b1-systems.de> + 2018, Christian Kotte <christian.kotte@gmx.de> + 2018, Christophe FERREIRA <christophe.ferreira@cnaf.fr> + 2017, Cisco Systems Inc + 1986-2018, Cisco Systems, Inc + 2017-2019, Cisco and/or its affiliates + 2017, Citrix Systems + 2015, Corwin Brown <blakfeld@gmail.com> + 2015, Corwin Brown <corwin.brown@maxpoint.com> + 2015, Corwin Brown <corwin@corwinbrown.com> + 2013, Cove Schneider + 2015, Cristian van Ee <cristian@cvee.org> + 2018, CrySyS Lab <www.crysys.hu> + 2016-2018, Cumulus Networks <ce-ceng@cumulusnetworks.com> + 2012-2019, Dag Wieers (@dagwieers) <dag@wieers.com> + 2014, Dan Keder <dan.keder@gmail.com> + 2012, Dane Summers <dsummers@pinedesk.biz> + 2012, Daniel Hokka Zakrisson <daniel@hozac.com> + 2013, Daniel Jaouen <dcj24@cornell.edu> + 2017-2018, Evert Mulder (base on manageiq_user.py by Daniel Korn <korndaniel1@gmail.com> + 2015-2016, Daniel Lobato <elobatocs@gmail.com> + 2016, Daniel Lobato Garcia <dlobatog@redhat.com> + 2016, Daniel Miranda <danielkza2@gmail.com> + 2016-2017, Daniele Lazzari <lazzari@mailup.com> + 2017-2018, Dario Zanzico <git@dariozanzico.com> + 2015, Darren Worrall <darren@iweb.co.uk> + 2013, Darryl Stoflet <stoflet@gmail.com> + 2012, David "DaviXX" CHANIAL <david.chanial@gmail.com> + 2018, David Gomez (@amb1s1) <david.gomez@networktocode.com> + 2017-2018, David Gunter <david.gunter@tivix.com> + 2018, David Kainz <dkainz@mgit.at> + 2017-2018, David Passante (@dpassante) + 2017-2019, David Soper (@dsoper2) + 2013, David Stygstra <david.stygstra@gmail.com> + 2015, David Wittman <dwittman@gmail.com> + 2017, Davis Phillips <davis.phillips@gmail.com> + 2016, Deepak Kothandan <deepak.kothandan@outlook.com> + 2017, Dell EMC + 1999-2019, Dell Inc + 2018, Dennis Conrad for Sainsbury's + 2012, Derek Carter <goozbach@friocorte.com> + 2018, Derek Rushing <derek.rushing@geekops.com> + 2018, Deric Crago <deric.crago@gmail.com> + 2018, Diane Wang <dianew@vmware.com> + 2016, Dimension Data + 2014, Dimitrios Tydeas Mengidis <tydeas.dr@gmail.com> + 2016, Dino Occhialini <dino.occhialini@gmail.com> + 2016, Doalitic + 2013, Drew Kerrigan <dkerrigan@basho.com> + 2013, Dylan Martin <dmartin@seattlecentral.edu> + 1993, E.YOUNGDALE + 2017, Edward Nunez <edward.nunez@cyberark.com> + 2017, Eike Frost <ei@kefro.st> + 2012, Elliott Foster <elliott@fourkitchens.com> + 2018, Emmanouil Kampitakis <info@kampitakis.de> + 2013-2015, Epic Games, Inc + 2016, Eric Chou <ericc@a10networks.com> + 2016, Eric D Helms <ericdhelms@gmail.com> + 2017, Erwan Quelin (@equelin) <erwan.quelin@gmail.com> + 2013-2015, Evan Kaufman <evan@digitalflophouse.com> + 2013, Evan Wies <evan@neomantra.net> + 2018, Evert Mulder <evertmulder@gmail.com> + 2013, Evgenii Terechkov + 2019, Evgeniy Krysanov <evgeniy.krysanov@gmail.com> + 2019, Extreme Networks + 2018, Extreme Networks Inc + 2016-2019, F5 Networks Inc + 2016, Fabrizio Colonna <colofabrix@tin.it> + 2016, Fastly, inc + 2018, Fedor Vompe <f.vompe () comptek.ru> + 2018, Fedor Vompe <f.vompe@comptek.ru> + 2017, Felix Archambault + 2018, Felix Fontein (@felixfontein) + 2018, Felix Fontein <felix@fontein.de> + 2017, Flavien Chantelot (@Dorn-) + 2016, Flavio Percoco <flavio@redhat.com> + 2015, Florian Apolloner <florian@apolloner.eu> + 2015-2016, Florian Haas, hastexo Professional Services GmbH + 2012, Flowroute LLC + 2018, Fortinet and/or its affiliates + 2018-2019, Fortinet, Inc + 2017-2018, Fran Fitzpatrick <francis.x.fitzpatrick@gmail.com> + 2012, Franck Cuny <franck@lumberjaph.net> + 2017, Frederic Van Espen <github@freh.be> + 2007, Free Software Foundation, Inc. <http://fsf.org/> + 2014, Gabe Mulley <gabe.mulley@gmail.com> + 2017-2018, Gaudenz Steinlin <gaudenz.steinlin@cloudscale.ch> + 2017, Gaurav Rastogi <grastogi@avinetworks.com> + 2014, GeekChimp - Franck Nijhof <franck@geekchimp.com> + 2018, Genome Research Ltd + 2015, George Frank <george@georgefrank.net> + 2017, Giovanni Sciortino (@giovannisciortino) + 2013-2018, Google Inc + 2018, Gregor Riepl <onitake@gmail.com> + 2016, Gregory Shulov <gregory.shulov@gmail.com> + 2015-2016, Guido Günther <agx@sigxcpu.org> + 2017, Guillaume Delpierre <gde@llew.me> + 2016, Guillaume Grossetie <ggrossetie@yuzutech.fr> + 2019, Guillaume Martinez <lunik@tiwabbit.fr> + 2018, Gustavo Muniz do Carmo <gustavo@esign.com.br> + 2018-2019, Hai Cao <t-haicao@microsoft.com> + 2019, Hannes Ljungberg <hannes.ljungberg@gmail.com> + 2015, Hans-Joachim Kliemeck <git@kliemeck.de> + 2015-2017, Henrik Wallström <henrik@wallstroms.nu> + 2018, Henryk Konsek Consulting <hekonsek@gmail.com> + 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de> + 2014-2018, Hewlett Packard Enterprise Development Company LP + 2015, Heyo + 2013-2016, Hiroaki Nakamura <hnakamur@gmail.com> + 2018, Hiroyuki Matsuo <h.matsuo.engineer@gmail.com> + 2019, Hitachi ID Systems, Inc + 2018-2019, Huawei Inc + 2016, Hugh Ma <hugh.ma@flextronics.com> + 2013, Héctor Acosta <hector.acosta@gazzang.com> + 2015-2018, IBM Corporation + 2018, ITIGO AG <opensource@itigo.ch> + 2016, Ievgen Khmelenko <ujenmr@gmail.com> + 2015, Igor Gnatenko <i.gnatenko.brain@gmail.com> + 2015-2016, Indrajit Raychaudhuri <irc+code@indrajit.com> + 2018, Ingate Systems AB + 2018, Itential <opensource@itential.com> + 2018, Ivan Aragones Muniesa <ivan.aragones.muniesa@gmail.com> + 2013, Ivan Vanderbyl <ivan@app.io> + 1997-2006, J.PEARSON/J.SCHILLING + 2018, JR Kerkstra <jrkerkstra@example.org> + 2017, Jacob McGill (@jmcgill298) + 2017, Jacob McGill (jmcgill298) + 2014-2015, Jakub Jirutka <jakub@jirutka.cz> + 2016, Jakub Jursa <jakub.jursa1@gmail.com> + 2013-2014, James Cammarata <jcammarata@ansible.com> + 2016, James Cammarata <jimi@sngx.net> + 2018, James E. King III (@jeking3) <jking@apache.org> + 2016, James Hogarth <james.hogarth@gmail.com> + 2014, James Laska <jlaska@ansible.com> + 2013, James Martin <jmartin@basho.com> + 2017, James Mighion <@jmighion> + 2014-2017, James Tanner <tanner.jc@gmail.com> + 2016, James Turner <turnerjsm@gmail.com> + 2018, Jan Christian Grünhage <jan.christian@gruenhage.xyz> + 2012-2014, Jan-Piet Mens <jpmens@gmail.com> + 2014, Jarno Keskikangas <jarno.keskikangas@gmail.com> + 2018, Jason Vanderhoof <jason.vanderhoof@cyberark.com> + 2016-2017, Jasper Lievisse Adriaanse <j@jasper.la> + 2018, Jasper Mackenzie <jasper.mackenzie@gmail.com> + 2014, Jasper N. Brouwer <jasper@nerdsweide.nl> + 2012, Jayson Vantuyl <jayson@aggressive.ly> + 2017-2018, Jean-Philippe Evrard <jean-philippe@evrard.me> + 2015, Jefferson Girão <jefferson@girao.net> + 2014, Jens Carl, Hothead Games Inc + 2014, Jens Depuydt <http://www.jensd.be> + 2012-2013, Jeroen Hoekx <jeroen@hoekx.be> + 2013, Jesse Keating <jesse.keating@rackspace.com> + 2015, Jesse Keating <jlk@derpops.bike> + 2016, Jiangge Zhang <tonyseek@gmail.com> + 2012, Jim Richardson <weaselkeeper@gmail.com> + 2013, Jimmy Tang <jcftang@gmail.com> + 2015-2016, Jiri Tyr <jiri.tyr@gmail.com> + 2016, Joe Adams <@sysadmind> + 2015, Joerg Thalheim <joerg@higgsboson.tk> + 2013, Johan Wiren <johan.wiren.se@gmail.com> + 2018, Johannes Brunswicker <johannes.brunswicker@gmail.com> + 2018, John Barker <gundalow@redhat.com> + 2016, John Barker <jobarker@redhat.com> + 2013, John Dewey <john@dewey.ws> + 2018, John Imison <john+github@imison.net> + 2017, John Kwiatkoski (@JayKayy) <jkwiat40@gmail.com> + 2018, John McDonough (@movinalot) + 2017, John Westcott IV <john.westcott.iv@redhat.com> + 2015-2017, Jon Hawkesworth (@jhawkesworth) <figs@unity.demon.co.uk> + 2017, Jon Meran <jonathan.meran@sonos.com> + 2015, Jonathan Lestrelin <jonathan.lestrelin@gmail.com> + 2015-2016, Jonathan Mainguy <jon@soh.re> + 2017-2018, Jordan Borean <jborean93@gmail.com> + 2018-2019, Jordan Borean <jborean@redhat.com> + 2016, Jorge Rodriguez <jorge.rodriguez@tiriel.eu> + 2017, Joris Weijters <joris.weijters@gmail.com> + 2018, Jose Angel Munoz <josea.munoz () gmail.com> + 2018, Jose Angel Munoz <josea.munoz@gmail.com> + 2015, Jose Armesto <jose@armesto.net> + 2017, Joseph Benden <joe@benden.us> + 2015, Joseph Callen <jcallen () csc.com> + 2016, Josh Bradley <jbradley@digitalocean.com> + 2015, Josh Ludwig <jludwig@chathamfinancial.com> + 2014, Joshua Conner <joshua.conner@gmail.com> + 2017-2018, Juan Manuel Parrilla <jparrill@redhat.com> + 2017, Juergen Kirschbaum <jk@jk-itc.de> + 2018, Juergen Wiebe <wiebe@e-spirit.com> + 2016, Julian Barnett <jbarnett@tableau.com> + 2016-2017, Julien Stroheker <juliens@microsoft.com> + 2014, Justin Lecher <jlec@gentoo.org> + 2017-2018, Kairo Araujo <kairo@kairo.eti.br> + 2016, Kamil Szczygiel <kamil.szczygiel () intel.com> + 2017-2018, Karsten Kaj Jakobsen <kj@patientsky.com> + 2017, Kedar Kekan <kkekan@redhat.com> + 2017-2018, Keller Fuchs (@KellerFuchs) <kellerfuchs@hashbang.sh> + 2017, Kenneth D. Evensen <kdevensen@gmail.com> + 2016-2017, Kenneth D. Evensen <kevensen@redhat.com> + 2015, Kevin Brebanov <https://github.com/kbrebanov> + 2018-2019, Kevin Breit (@kbreit) + 2018-2019, Kevin Breit (@kbreit) <kevin.breit@kevinbreit.net> + 2014, Kevin Carter <kevin.carter@rackspace.com> + 2018-2019, Kevin Subileau (@ksubileau) + 2014, Kim Nørgaard + 2016-2017, Konstantin Shalygin <k0ste@k0ste.ru> + 2016, Krzysztof Magosa <krzysztof@magosa.pl> + 2018, KubeVirt Team <@kubevirt> + 1996-2005, Kunihiro Ishiguro + 2018, Kushal Das + 2018, Lars Kellogg-Stedman <lars@redhat.com> + 2015, Lawrence Leonard Gilbert <larry@L2G.to> + 2016, Leandro Lisboa Penz <lpenz@lpenz.org> + 2016-2019, Lenovo + 2014, Leonid Evdokimov <leon@darkk.net.ru> + 2015, Linus Unnebäck <linus@folkdatorn.se> + 2017, Liran Nisanov <lirannis@gmail.com> + 2015, LogicMonitor + 2016-2018, Loic BLOT (@nerzhul) <loic.blot@unix-experience.fr> + 2015, Luca Berruti <nadirio@gmail.com> + 2018, Luca Lorenzetto (@remix_tj) <lorenzetto.luca@gmail.com> + 2012, Luis Alberto Perez Lazaro <luisperlazaro@gmail.com> + 2018, Luke Murphy <lukewm@riseup.net> + 2015, Maciej Delmanowski <drybjed@gmail.com> + 2014, Magnus Hedemark <mhedemar@redhat.com> + 2015, Manuel Sousa <manuel.sousa@gmail.com> + 2017, Marat Bakeev <hawara@gmail.com> + 2017, Marc Sensenich <hello@marc-sensenich.com> + 2017, Marc Tschapek <marc.tschapek@itelligence.de> + 2017, Marc-Aurèle Brothier @marcaurele + 2016, Marcin Skarbek <github@skarbek.name> + 2012, Marco Vito Moscaritolo <marco@agavee.com> + 2016, Marcos Diez <marcos@unitron.com.br> + 2018, Marcus Watkins <marwatk@marcuswatkins.net> + 2016, Mario Santos <mario.rf.santos@gmail.com> + 2015-2017, Marius Gedminas <marius@gedmin.as> + 2015, Marius Gedminas <marius@pov.lt> + 2019, Marius Rieder <marius.rieder@scs.ch> + 2015, Mark Hamilton <mhamilton@vmware.com> + 2012, Mark Theunissen <mark.theunissen@gmail.com> + 2017, Markus Teufelberger <mteufelberger+ansible@mgit.at> + 2017, Martin Krizek <mkrizek@redhat.com> + 2015, Mathew Davies <thepixeldeveloper@googlemail.com> + 2016, Mathieu Bultel <mbultel@redhat.com> + 2016, Matt Baldwin <baldwin@stackpointcloud.com> + 2016, Matt Clay <matt@mystile.com> + 2013, Matt Coddington <coddington@gmail.com> + 2015-2018, Matt Davis <mdavis@ansible.com> + 2015, Matt Davis <mdavis@rolpdog.com> + 2015, Matt Davis <mdavis_ansible@rolpdog.com> + 2013, Matt Hite <mhite@hotmail.com> + 2015, Matt Makai <matthew.makai@gmail.com> + 2014-2018, Matt Martz <matt@sivel.net> + 2016, Matt Robinson <git@nerdoftheherd.com> + 2012, Matt Wright <matt@nobien.net> + 2016, Matthew Gamble <git@matthewgamble.net> + 2014, Matthew Vernon <mcv21@cam.ac.uk> + 2018, Matthias Fuchs <matthias.s.fuchs@gmail.com> + 2013, Matthias Vogelgesang <matthias.vogelgesang@gmail.com> + 2019, Matti Ranta, (@techknowlogick) + 2014, Max Riveiro <kavu13@gmail.com> + 2013, Maykel Moya <mmoya@speedyrails.com> + 2018, Micah Hunsberger (@mhunsber) + 2016-2018, Michael De La Rue + 2018, Michael De La Rue <siblemitcom.mddlr@spamgourmet.com> + 2012-2016, Michael DeHaan <michael.dehaan@gmail.com> + 2012-2014, Michael DeHaan <michael@ansible.com> + 2019, Michael Eaton <me@michaeleaton.me> + 2017, Michael Eaton <meaton@iforium.com> + 2016, Michael Gruener <michael.gruener@chaosmoon.net> + 2014, Michael J. Schultz <mjschultz@gmail.com> + 2015, Michael Perzel <michaelperzel@gmail.com> + 2013-2015, Michael Scherer <misc@zarb.org> + 2015, Michael Scherer <mscherer@redhat.com> + 2018, Michael Tipton <mike () ibeta.org> + 2014, Michael Warkentin <mwarkentin@gmail.com> + 2013, Mike Grozak <mike.grozak@gmail.com> + 2018, Mike Klebolt <michael.klebolt@centurylink.com> + 2015, Mike Mochan + 2018, Mikhail Gordeev + 2018, Mikhail Yohman (@fragmentedpacket) <mikhail.yohman@gmail.com> + 2017-2018, Milan Ilic <milani@nordeus.com> + 2014, Mischa Peters <mpeters@a10networks.com> + 2015, Nandaja Varma <nvarma@redhat.com> + 2013, Nandor Sivok <nandor@gawker.com> + 2014, Nate Coraor <nate@bx.psu.edu> + 2015, Nate Coraor <nate@coraor.org> + 2016-2019, NetApp, Inc + 2017, Netservers Ltd <support@netservers.co.uk> + 2017, New Contributor(s) + 2018, Nicolai Buchwitz <nb@tipi-net.de> + 2018, Nikhil Jain <nikjain@redhat.com> + 2013, Nimbis Services + 2013, Nimbis Services, Inc + 2017, Noah Sparks <nsparks@outlook.com> + 2019, Noe Gonzalez <noe.a.gonzalez@gmail.com> + 2017, Nokia + 2017, Obezimnaka Boms <t-ozboms@microsoft.com> + 2016, Olaf Kilian <olaf.kilian@symanex.com> + 2019, Olivier Blin <olivier.oblin@gmail.com> + 2016, Olivier Boukili <boukili.olivier@gmail.com> + 2018, Online SAS + 2017-2018, Oracle and/or its affiliates + 2018, Oren Ben Meir <oren.benmeir@cyberark.com> + 2015, Original Contributor(s) + 2016, Pason System Corporation + 2013, Patrick Callahan <pmc@patrickcallahan.com> + 2017, Patrick Deelman <patrick@patrickdeelman.nl> + 2015, Patrick F. Marques <patrickfmarques@gmail.com> + 2016, Patrick Ogenstad <@ogenstad> + 2013, Patrick Pelletier <pp.pelletier@gmail.com> + 2013, Patrik Lundin <patrik.lundin.swe@gmail.com> + 2013, Patrik Lundin <patrik@sigterm.se> + 2019, Patryk Cichy @PatTheSilent + 2019, Patryk D. Cichy <patryk.d.cichy@gmail.com> + 2017, Paul B <paul@bonaud.fr> + 2017, Paul Baker <@paulquack> + 2013-2015, Paul Durivage <paul.durivage@rackspace.com> + 2015, Paul Markham <pmarkham@netrefinery.com> + 2017, Paul Neumann + 2014, Pavel Antonov <antonov@adwz.ru> + 2018, Peter Gyorgy <gyorgy.peter@edu.bme.hu> + 2015, Peter Mounce <public@neverrunwithscissors.com> + 2014, Peter Oliver <ansible@mavit.org.uk> + 2016, Peter Sagerson <psagers@ignorare.net> + 2012-2016, Peter Sankauskas + 2017, Peter Sprygada <psprygad@redhat.com> + 2015-2016, Peter Sprygada <psprygada@ansible.com> + 2013, Peter Sprygada <sprygada@gmail.com> + 2017, Petr Lautrbach <plautrba@redhat.com> + 2015, Phil Schwartz <schwartzmx@gmail.com> + 2017, Philippe Dellaert <philippe@dellaert.org> + 2013, Philippe Makowski + 2013, Phillip Gentry <phillip@cx.com> + 2016, Pierre Jodouin <pjodouin@virtualcomputing.solutions> + 2017, Pierre-Louis Bonicoli <pierre-louis@libregerbil.fr> + 2018, Piotr Olczak <piotr.olczak@redhat.com> + 2019, Piotr Wojciechowski <piotr@it-playground.pl> + 2018, Pluribus Networks + 2016, PubNub Inc + 2015, Quentin Stafford-Fraser + 2015, Quentin Stafford-Fraser and Andy Baker + 2015, Quentin Stafford-Fraser, with contributions gratefully acknowledged from: + 2018, REY Remi + 2013, RSD Services S.A + 2016, Rackspace Australia + 2015-2016, Rackspace US, Inc + 2017, Radware LTD + 2014, Ramon de la Fuente <ramon@delafuente.nl> + 2013, Raul Melo + 2014, Ravi Bhure <ravibhure@gmail.com> + 2007-2019, Red Hat, Inc + 2018, Remi Verchere <remi@verchere.fr> + 2018, Remy Leone + 2016, Renato Orgito <orgito@gmail.com> + 2015-2019, René Moser <mail@renemoser.net> + 2018, Rhys Campbell <rhys.james.campbell@googlemail.com> + 2014, Richard Isaacson <richard.c.isaacson@gmail.com> + 2017, Richard Levenberg <richard.levenberg@cosocloud.com> + 2018, Ripon Banik (@riponbanik) + 2015-2016, Ritesh Khadgaray <khadgaray () gmail.com> + 2018, Rob White (@wimnat) + 2019, Robert Williams + 2016-2017, Roman Belyakovsky <ihryamzik () gmail.com> + 2013, Romeo Theriault <romeot () hawaii.edu> + 2014, Ruggero Marchei <ruggero.marchei@daemonzone.net> + 2015, Russell Teague <rteague2 () csc.com> + 2014, Rutger Spiertz <rutger@kumina.nl> + 2018, Ryan Conway (@rylon) + 2016-2017, Ryan Scott Brown <ryansb@redhat.com> + 2017-2018, Sam Doran <sdoran@redhat.com> + 2015, Sam Liu <sam.liu@activenetwork.com> + 2016, Sam Yaple + 2018, Samir Musali <samir.musali@logdna.com> + 2016, Samuel Boucher <boucher.samuel.c@gmail.com> + 2018, Samuel Carpentier <samuelcarpentier0@gmail.ca> + 2018, Samy Coenen <samy.coenen@nubera.be> + 2019, Sandeep Kasargod <sandeep@vexata.com> + 2016, Saran Ahluwalia <ahlusar.ahluwalia@gmail.com> + 2019, Saranya Sridharan + 2013, Scott Anderson <scottanderson42@gmail.com> + 2018, Scott Buchanan <sbuchanan@ri.pn> + 2018, Sean Myers <sean.myers@redhat.com> + 2019, Sebastiaan Mannem (@sebasmannem) <sebastiaan.mannem@enterprisedb.com> + 2015, Sebastian Kornehl <sebastian.kornehl@asideas.de> + 2018, Sebastian Schenzel <sebastian.schenzel@mailbox.org> + 2014, Sebastien Rohaut <sebastien.rohaut@gmail.com> + 2013-2014, Serge van Ginderachter <serge@vanginderachter.be> + 2016-2018, Sertac Ozercan <seozerca@microsoft.com> + 2014, Seth Edwards + 2012, Seth Vidal (@skvidal) + 2013, Shaun Zinck <shaun.zinck@gmail.com> + 2016, Shinichi TAMURA (@tmshn) + 2018, Shuang Wang <ooocamel@icloud.com> + 2018, Simon Baerlocher <s.baerlocher@sbaerlocher.ch> + 2017-2019, Simon Dodsley <simon@purestorage.com> + 2018-2019, Simon Metzger <smnmtzgr@gmail.com> + 2018, Simon Weald <ansible@simonweald.com> + 2017, Sloane Hertel <shertel@redhat.com> + 2018, Stanislas Lange (angristan) <angristan@pm.me> + 2015, Stefan Berggren <nsg@nsg.cc> + 2018, Stefan Heitmueller <stefan.heitmueller@gmx.com> + 2016, Stephan Lohse <dev-github@ploek.org> + 2018, Stephan Schwarz <stearz@gmx.de> + 2012, Stephen Fromm <sfromm@gmail.com> + 2014, Steve <yo@groks.org> + 2016, Steve Baker <sbaker@redhat.com> + 2015, Steve Gargan <steve.gargan@gmail.com> + 2016, Steve Kuznetsov <skuznets@redhat.com> + 2017, Steve Pletcher <steve@steve-pletcher.com> + 2014, Steve Smith <ssmith@atlassian.com> + 2017, Steven Bambling <smbambling@gmail.com> + 2017, Stéphane Travassac <stravassac@gmail.com> + 2019, Sumit Jaiswal (@sjaiswal) + 2018, Sumit Kumar <sumit4@netapp.com> + 2018, Sviatoslav Sydorenko <ssydoren@redhat.com> + 2017, Swetha Chunduri (@schunduri) + 2017, Sébastien DA ROCHA <sebastien@da-rocha.net> + 2015, Tal Auslander <tal@cloudshare.com> + 2014, Taneli Leppä <taneli@crasman.fi> + 2016-2017, Ted Elhourani <ted@bigswitch.com> + 2017, Ted Trask <ttrask01@yahoo.com> + 2017, Tennis Smith, https://github.com/gamename + 2018, Terry Jones <terry.jones@example.org> + 2016, Thibaud Morel l'Horset <teebes@gmail.com> + 2016, Thierno IB. BARRY @barryib + 2017, Thierry Sallé (@seuf) + 2016, Thilo Uttendorfer <tlo@sengaya.de> + 2017, Thom Wiggers <ansible@thomwiggers.nl> + 2017, Thomas Caravia <taca@kadisius.eu> + 2016, Thomas Stringer <tomstr@microsoft.com> + 2014, Tim Bielawa <tbielawa@redhat.com> + 2015, Tim Hoiberg <tim.hoiberg@gmail.com> + 2017, Tim Rightnour <thegarbledone@gmail.com> + 2018, Tim Steinbach <tim@nequissimus.com> + 2012-2013, Timothy Appnel <tim@appnel.com> + 2014-2016, Timothy Vandenbrande <timothy.vandenbrande@gmail.com> + 2016, Tom Melendez (@supertom) <tom@supertom.com> + 2017, Tomas Karasek + 2016, Tomas Karasek <tom.to.the.k@gmail.com> + 2019, Tomi Raittinen <tomi.raittinen@gmail.com> + 2018, Toshio Kuratomi <a.badger@gmail.com> + 2017, Toshio Kuratomi <tkuraotmi@ansible.com> + 2014-2018, Toshio Kuratomi <tkuratomi@ansible.com> + 2015, Trond Hindenes + 2014-2015, Trond Hindenes <trond@hindenes.com> + 2012-2017, Ubiquiti Networks, Inc + 2019, Uladzimir Klybik <uladzimir_klybik@epam.com> + 2017, VEXXHOST, Inc + 2015-2018, VMware, Inc + 2018-2019, Varun Chopra (@chopraaa) <v@chopraaa.com> + 2014, Vedit Firat Arig <firatarig@gmail.com> + 2018, Victor Carceler <vcarceler@iespuigcastellar.xeill.net> + 2019, Viktor Utkin <viktor_utkin@epam.com> + 2013, Vincent Van der Kussen <vincent@vanderkussen.org> + 2017, Vitaliy Zhhuta <zhhuta () gmail.com> + 2015-2016, Vlad Glagolev <scm@vaygr.net> + 2016, VyOS maintainers + 2015, WP Engine, Inc + 2014, Wayne Rosario <wrosario@ansible.com> + 2017, Wayne Witzel III <wayne@riotousliving.com> + 2017, Wei Gao <gaowei3@qq.com> + 2015-2016, Werner Dijkerman <ikben@werner-dijkerman.nl> + 2018, Western Telematic Inc + 2018, Western Telematic Inc <kenp@wti.com> + 2017-2018, Will Thames + 2018, Will Thames <@willthames> + 2017, Will Thames <will.thames@xvt.com.au> + 2014-2018, Will Thames <will@thames.id.au> + 2016, William L Thomson Jr + 2018-2019, NAER William Leemans (@bushvin) <willie@elaba.net> + 2018, Wojciech Sciesinski <wojciech[at]sciesinski[dot]net> + 2017, XuXinkun <xuxinkun@gmail.com> + 2014-2015, YAEGASHI Takeshi <yaegashi@debian.org> + 2017, Yaacov Zamir <yzamir@redhat.com> + 2018, Yaakov Kuperman <ykuperman@gmail.com> + 2016-2018, Yanis Guenane <yanis+ansible@guenane.org> + 2015, Yannig Perre <yannig.perre@gmail.com> + 2013, Yap Sok Ann + 2017, Yawei Wang <yaweiw@microsoft.com> + 2013, Yeukhon Wong <yeukhon@acm.org> + 2019, Yunge Zhu (@yungezz) + 2018-2019, Yunge Zhu <yungez@microsoft.com> + 2018-2019, Yunge Zhu, (@yungezz) + 2017-2019, Yuwei Zhou <yuwzho@microsoft.com> + 2019, Zim Kalinowski (@zikalino) + 2017-2019, Zim Kalinowski <zikalino@microsoft.com> + 2018-2019, Zim Kalinowski, (@zikalino) + 2013, berenddeboer + 2013, bleader + 2018, chris Archibald <carchi@netapp.com> + 1986-2003, cisco Systems, Inc + 2017-2018, fxfitz + 1999-2018, http://www.mikrotik.com + 2016, maxn <nikolaev.makc@gmail.com> + 2017, sookido + 2016, techbizdev <techbizdev@paloaltonetworks.com> + 2018, www.privaz.io Valletech AB +License: GPL-3+ + +Files: docs/docsite/_extensions/* + lib/ansible/module_utils/* + licenses/* +Copyright: 2016, Adfinis SyGroup AG + 2017, Alibaba Group Holding Limited. He Guimin <heguimin36@163.com> + 2017, Ansible Project + 2017, Apstra Inc <community@apstra.com> + 2014, Benjamin Jolivot <bjolivot@gmail.com> + 2017-2019, Cisco Systems Inc + 2017, Citrix Systems + 2017, Dag Wieers <dag@wieers.com> + 2017, Daniel Korn <korndaniel1@gmail.com> + 2016, Dell Inc + 2017, Eike Frost <ei@kefro.st> + 2018, Extreme Networks Inc + 2017, Fortinet, Inc + 2014, Franck Cuny <franck.cuny@gmail.com> + 2017, Gaurav Rastogi <grastogi@avinetworks.com> + 2016, Gregory Shulov <gregory.shulov@gmail.com> + 2016-2017, Hewlett Packard Enterprise Development LP + 2016, Hiroaki Nakamura <hnakamur@gmail.com> + 2017, Jacob McGill (@jmcgill298) + 2018, Johannes Brunswicker <johannes.brunswicker@gmail.com> + 2018, Kevin Breit <kevin.breit@kevinbreit.net> + 2018, Laurent Nicolas <laurentn@netapp.com> + 2017, Lenovo + 2017, Lenovo, Inc + 2018, Luca 'remix_tj' Lorenzetto + 2015, Marius Gedminas + 2012-2013, Michael DeHaan <michael.dehaan@gmail.com> + 2017, Michael Price <michael.price@netapp.com> + Norman Richards (original author of JSON lexer) + 2018, Palo Alto Networks techbizdev <techbizdev@paloaltonetworks.com> + 2015-2016, Peter Sprygada <psprygada@ansible.com> + 2016-2019, Red Hat Inc + 2017, Red Hat, Inc + 2017, Simon Dodsley <simon@purestorage.com> + 2018, Simon Weald <ansible@simonweald.com> + 2017, Sumit Kumar <sumit4@netapp.com> + 2017, Swetha Chunduri (@schunduri) + 2016, Ted Elhourani <ted@bigswitch.com> + 2017, Ted Timmons <ted@timmons.me> + 2016, Thomas Krahn (@Nosmoht) + 2016, Toshio Kuratomi <a.badger@gmail.com> + 2016, Toshio Kuratomi <tkuratomi@ansible.com> + 2017, Will Thames + 2006-2017, the Pygments team + 2006-2017, the respective authors (see AUTHORS file) +License: BSD-2-clause + +Files: lib/ansible/module_utils/basic.py +Copyright: 2012-2013, Michael DeHaan <michael.dehaan@gmail.com> + 2016, Toshio Kuratomi <tkuratomi@ansible.com> +License: BSD-2-Clause + +Files: lib/ansible/utils/unsafe_proxy.py +Copyright: 2007, Google Inc + Licensed to PSF under a Contributor Agreement +License: Python-2 + +Files: lib/ansible/module_utils/distro/* + licenses/Apache-License.txt +Copyright: 2015-2017, Nir Cohen + 2019, Radware +License: Apache-2 + +Files: lib/ansible/module_utils/six/* + licenses/MIT-license.txt +Copyright: 2010-2017, Benjamin Peterson +License: Expat + +Files: lib/ansible/module_utils/urls.py +Copyright: 2015, Copyright (c), Toshio Kuratomi <tkuratomi@ansible.com> + 2012-2013, Michael DeHaan <michael.dehaan@gmail.com> +License: BSD-2-Clause or Python-2 +Comment: + Specifically, the match_hostname function and its supporting code are + under the terms of the Python, taken from the Python3 standard + library and adapted for Python2. The specific code is delineated in + the codebase. + +Files: debian/* +Copyright: 2014-2018, Harlan Lieberman-Berg <hlieberman@setec.io> + 2013-2014, Janos Guljas <janos@resenje.org> + 2016-2020, Lee Garrett <debian@rocketjump.eu> + 2013-2014, Michael Vogt <mvo@debian.org> +License: GPL-3+ + +License: Apache-2 + On Debian systems, the full text of the Apache + License version 2 can be found in the file + `/usr/share/common-licenses/Apache-2.0'. + +License: BSD-2-Clause + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: Expat + The MIT License + . + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated + documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to + whom the Software is furnished to do so, subject to the + following conditions: + . + The above copyright notice and this permission notice shall + be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT + WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT + SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +License: GPL-3+ + This program is free software; you can redistribute it + and/or modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later + version. + . + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the GNU General Public License for more + details. + . + You should have received a copy of the GNU General Public + License along with this package; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public + License version 3 can be found in the file + `/usr/share/common-licenses/GPL-3'. + +License: Python-2 + PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 + -------------------------------------------- + . + 1. This LICENSE AGREEMENT is between the Python Software Foundation + ("PSF"), and the Individual or Organization ("Licensee") accessing + and otherwise using this software ("Python") in source or binary form + and its associated documentation. + . + 2. Subject to the terms and conditions of this License Agreement, PSF + hereby grants Licensee a nonexclusive, royalty-free, world-wide + license to reproduce, analyze, test, perform and/or display publicly, + prepare derivative works, distribute, and otherwise use Python alone + or in any derivative version, provided, however, that PSF's License + Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, + 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights + Reserved" are retained in Python alone or in any derivative version + prepared by Licensee. + . + 3. In the event Licensee prepares a derivative work that is based on + or incorporates Python or any part thereof, and wants to make the + derivative work available to others as provided herein, then Licensee + hereby agrees to include in any such work a brief summary of the + changes made to Python. + . + 4. PSF is making Python available to Licensee on an "AS IS" + basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND + DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR + FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT + INFRINGE ANY THIRD PARTY RIGHTS. + . + 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A + RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY + DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + . + 6. This License Agreement will automatically terminate upon a material + breach of its terms and conditions. + . + 7. Nothing in this License Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between PSF and + Licensee. This License Agreement does not grant permission to use PSF + trademarks or trade name in a trademark sense to endorse or promote + products or services of Licensee, or any third party. + . + 8. By copying, installing or otherwise using Python, Licensee agrees + to be bound by the terms and conditions of this License Agreement. diff --git a/debian/copyright-scan-patterns.yml b/debian/copyright-scan-patterns.yml new file mode 100644 index 00000000..d6599d28 --- /dev/null +++ b/debian/copyright-scan-patterns.yml @@ -0,0 +1,6 @@ +--- +check: + suffixes: + - ps1 + pattern: + - /bin/*
\ No newline at end of file diff --git a/debian/docs b/debian/docs new file mode 100644 index 00000000..a1320b1b --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +README.rst diff --git a/debian/fill.copyright.blanks.yml b/debian/fill.copyright.blanks.yml new file mode 100644 index 00000000..6e29e793 --- /dev/null +++ b/debian/fill.copyright.blanks.yml @@ -0,0 +1,4 @@ +--- +.*: + license: GPL-3+ + copyright: 2012-2016, Michael DeHaan <michael.dehaan@gmail.com> diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 00000000..ac9066d2 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,6 @@ +# Configuration for git-buildpackage and affiliated tools + +[DEFAULT] +debian-branch = master +upstream-branch = upstream +pristine-tar = True diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml new file mode 100644 index 00000000..ac7bc44a --- /dev/null +++ b/debian/gitlab-ci.yml @@ -0,0 +1,6 @@ +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml + +variables: + RELEASE: 'unstable' diff --git a/debian/merged.versions b/debian/merged.versions new file mode 100644 index 00000000..0b264a42 --- /dev/null +++ b/debian/merged.versions @@ -0,0 +1,6 @@ +# Because ansible-base and ansible source packages are merged in bullseye, we +# need to track their versions independently (as d/changelog can only track +# one) +# +dfsg is taken care of in get-orig-source +ansible-base: 2.10.8 +ansible: 2.10.7 diff --git a/debian/patches/0001-fix-syntax-warnings.patch b/debian/patches/0001-fix-syntax-warnings.patch new file mode 100644 index 00000000..f043d04e --- /dev/null +++ b/debian/patches/0001-fix-syntax-warnings.patch @@ -0,0 +1,47 @@ +Description: Fix syntax warnings + There are four SyntaxWarning when installing the Debian package, fix those. +Author: Lee Garrett <debian@rocketjump.eu> +Forwarded: not-needed +Last-Update: 2021-03-24 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/collections-debian-merged/ansible_collections/azure/azcollection/plugins/modules/azure_rm_registrationassignment.py ++++ b/collections-debian-merged/ansible_collections/azure/azcollection/plugins/modules/azure_rm_registrationassignment.py +@@ -230,7 +230,7 @@ + response = old_response + self.results['state'] = response + +- if self.state is 'present': ++ if self.state == 'present': + if self.results['state'].get('properties', None) is not None: + registration_definition_id = self.results['state']['properties']['registration_definition_id'] + self.results['state']['properties'].clear() +--- a/collections-debian-merged/ansible_collections/cyberark/pas/plugins/modules/cyberark_account.py ++++ b/collections-debian-merged/ansible_collections/cyberark/pas/plugins/modules/cyberark_account.py +@@ -531,7 +531,7 @@ + logging.debug( + ("child_module_parm_value: %s " + "child_existing_account_value=%s path=%s") +- ( ++ % ( + child_module_parm_value, + child_existing_account_value, + path_value, +@@ -571,7 +571,7 @@ + ) + logging.debug( + "parameter_name=%s value=%s existing=%s" +- ( ++ % ( + path_value, + child_module_parm_value, + child_existing_account_value, +@@ -632,7 +632,7 @@ + ) + logging.debug( + "parameter_name=%s value=%s existing=%s" +- ( ++ % ( + parameter_name, module_parm_value, + existing_account_value + ) diff --git a/debian/patches/0003-preserve-debian-dir.patch b/debian/patches/0003-preserve-debian-dir.patch new file mode 100644 index 00000000..27c193bb --- /dev/null +++ b/debian/patches/0003-preserve-debian-dir.patch @@ -0,0 +1,16 @@ +Description: Prevent makefile from deleting debian/ +Author: Harlan Lieberman-Berg <hlieberman@debian.org> +Forwarded: not-neededIndex: ansible/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -154,9 +154,6 @@ + rm -f test/units/.coverage* + rm -rf test/results/*/* + find test/ -type f -name '*.retry' -delete +- @echo "Cleaning up Debian building stuff" +- rm -rf debian +- rm -rf deb-build + rm -rf docs/json + rm -rf docs/js + @echo "Cleaning up docsite" diff --git a/debian/patches/0005-use-py3.patch b/debian/patches/0005-use-py3.patch new file mode 100644 index 00000000..35c9f422 --- /dev/null +++ b/debian/patches/0005-use-py3.patch @@ -0,0 +1,650 @@ +Description: use py3 + Use python 3 for all helper scripts during build + . + This allows us to not depend on python 2 anymore for building. +--- a/docs/bin/find-plugin-refs.py ++++ b/docs/bin/find-plugin-refs.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # To run this script, first make webdocs in the toplevel of the checkout. This will generate all + # rst files from their sources. Then run this script ./docs/bin/find-plugin-refs.py +--- a/Makefile ++++ b/Makefile +@@ -31,7 +31,7 @@ + ASCII2MAN = @echo "ERROR: rst2man from docutils command is not installed but is required to build $(MANPAGES)" && exit 1 + endif + +-PYTHON=python ++PYTHON=python3 + GENERATE_CLI = hacking/build-ansible.py generate-man + + # fetch version from project release.py as single source-of-truth +--- a/lib/ansible/cli/scripts/ansible_cli_stub.py ++++ b/lib/ansible/cli/scripts/ansible_cli_stub.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # (c) 2012, Michael DeHaan <michael.dehaan@gmail.com> + # +--- a/lib/ansible/cli/scripts/ansible_connection_cli_stub.py ++++ b/lib/ansible/cli/scripts/ansible_connection_cli_stub.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Copyright: (c) 2017, Ansible Project + # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + from __future__ import (absolute_import, division, print_function) +--- a/packaging/sdist/check-link-behavior.py ++++ b/packaging/sdist/check-link-behavior.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Checks for link behavior required for sdist to retain symlinks.""" + + from __future__ import (absolute_import, division, print_function) +--- a/test/integration/targets/cli/test-cli.py ++++ b/test/integration/targets/cli/test-cli.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Copyright (c) 2019 Matt Martz <matt@sivel.net> + # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +--- a/test/integration/targets/gathering/uuid.fact ++++ b/test/integration/targets/gathering/uuid.fact +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + +--- a/test/integration/targets/gathering_facts/uuid.fact ++++ b/test/integration/targets/gathering_facts/uuid.fact +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + +--- a/test/integration/targets/group/files/gidget.py ++++ b/test/integration/targets/group/files/gidget.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import grp + +--- a/test/integration/targets/module_utils/module_utils/foo.py ++++ b/test/integration/targets/module_utils/module_utils/foo.py +@@ -1,3 +1,3 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + foo = "FOO FROM foo.py" +--- a/test/integration/targets/module_utils/module_utils/sub/bam.py ++++ b/test/integration/targets/module_utils/module_utils/sub/bam.py +@@ -1,3 +1,3 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + bam = "BAM FROM sub/bam.py" +--- a/test/integration/targets/module_utils/module_utils/sub/bam/bam.py ++++ b/test/integration/targets/module_utils/module_utils/sub/bam/bam.py +@@ -1,3 +1,3 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + bam = "BAM FROM sub/bam/bam.py" +--- a/test/integration/targets/module_utils/module_utils/sub/bar/bam.py ++++ b/test/integration/targets/module_utils/module_utils/sub/bar/bam.py +@@ -1,3 +1,3 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + bam = "BAM FROM sub/bar/bam.py" +--- a/test/integration/targets/module_utils/module_utils/sub/bar/bar.py ++++ b/test/integration/targets/module_utils/module_utils/sub/bar/bar.py +@@ -1,3 +1,3 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + bar = "BAR FROM sub/bar/bar.py" +--- a/test/integration/targets/pause/test-pause.py ++++ b/test/integration/targets/pause/test-pause.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import pexpect +--- a/test/integration/targets/pip/files/setup.py ++++ b/test/integration/targets/pip/files/setup.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from setuptools import setup, find_packages + +--- a/test/integration/targets/service/files/ansible_test_service.py ++++ b/test/integration/targets/service/files/ansible_test_service.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # this is mostly based off of the code found here: + # http://code.activestate.com/recipes/278731-creating-a-daemon-the-python-way/ +--- a/test/integration/targets/setup_rpm_repo/files/create-repo.py ++++ b/test/integration/targets/setup_rpm_repo/files/create-repo.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + + import sys +--- a/test/integration/targets/template/role_filter/filter_plugins/myplugin.py ++++ b/test/integration/targets/template/role_filter/filter_plugins/myplugin.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + + class FilterModule(object): +--- a/test/integration/targets/throttle/test_throttle.py ++++ b/test/integration/targets/throttle/test_throttle.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/integration/targets/var_precedence/ansible-var-precedence-check.py ++++ b/test/integration/targets/var_precedence/ansible-var-precedence-check.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # A tool to check the order of precedence for ansible variables + # https://github.com/ansible/ansible/blob/devel/test/integration/test_var_precedence.yml +--- a/test/integration/targets/vault/faux-editor.py ++++ b/test/integration/targets/vault/faux-editor.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Ansible is free software: you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +--- a/test/integration/targets/vault/password-script.py ++++ b/test/integration/targets/vault/password-script.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Ansible is free software: you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +--- a/test/integration/targets/vault/test-vault-client.py ++++ b/test/integration/targets/vault/test-vault-client.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + ANSIBLE_METADATA = {'status': ['preview'], +--- a/test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py ++++ b/test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # PYTHON_ARGCOMPLETE_OK + """Command line entry point for ansible-test.""" + +--- a/test/lib/ansible_test/_data/injector/python.py ++++ b/test/lib/ansible_test/_data/injector/python.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Provides an entry point for python scripts and python modules on the controller with the current python interpreter and optional code coverage collection.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/sanity/code-smell/action-plugin-docs.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/action-plugin-docs.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Test to verify action plugins have an associated module to provide documentation.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/sanity/code-smell/empty-init.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/empty-init.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/future-import-boilerplate.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/future-import-boilerplate.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/line-endings.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/line-endings.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/metaclass-boilerplate.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/metaclass-boilerplate.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-assert.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-assert.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-basestring.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-basestring.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-dict-iteritems.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-dict-iteritems.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-dict-iterkeys.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-dict-iterkeys.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-dict-itervalues.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-dict-itervalues.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-get-exception.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-get-exception.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-illegal-filenames.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-illegal-filenames.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # a script to check for illegal filenames on various Operating Systems. The + # main rules are derived from restrictions on Windows +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-main-display.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-main-display.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-smart-quotes.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-smart-quotes.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/sanity/code-smell/no-unicode-literals.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/no-unicode-literals.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/replace-urlopen.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/replace-urlopen.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/shebang.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/shebang.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python33 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +@@ -16,14 +16,14 @@ + b'#!/usr/bin/env bash', + b'#!/usr/bin/env fish', + b'#!/usr/bin/env pwsh', +- b'#!/usr/bin/env python', ++ b'#!/usr/bin/env python3', + b'#!/usr/bin/make -f', + ]) + + integration_shebangs = set([ + b'#!/bin/sh', + b'#!/usr/bin/env bash', +- b'#!/usr/bin/env python', ++ b'#!/usr/bin/env python3', + ]) + + module_shebangs = { +--- a/test/lib/ansible_test/_data/sanity/code-smell/symlinks.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/symlinks.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/use-argspec-type-path.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/use-argspec-type-path.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/use-compat-six.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/use-compat-six.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/compile/compile.py ++++ b/test/lib/ansible_test/_data/sanity/compile/compile.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Python syntax checker with lint friendly output.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/sanity/import/importer.py ++++ b/test/lib/ansible_test/_data/sanity/import/importer.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Import the given python module(s) and report error(s) encountered.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/sanity/validate-modules/main.py ++++ b/test/lib/ansible_test/_data/sanity/validate-modules/main.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/yamllint/yamllinter.py ++++ b/test/lib/ansible_test/_data/sanity/yamllint/yamllinter.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Wrapper around yamllint that supports YAML embedded in Ansible modules.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/versions.py ++++ b/test/lib/ansible_test/_data/versions.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Show python and pip versions.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/virtualenvcheck.py ++++ b/test/lib/ansible_test/_data/virtualenvcheck.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Detect the real python interpreter when running in a virtual environment created by the 'virtualenv' module.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/yamlcheck.py ++++ b/test/lib/ansible_test/_data/yamlcheck.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Show python and pip versions.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/sanity/code-smell/configure-remoting-ps1.py ++++ b/test/sanity/code-smell/configure-remoting-ps1.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/sanity/code-smell/deprecated-config.py ++++ b/test/sanity/code-smell/deprecated-config.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # (c) 2018, Matt Martz <matt@sivel.net> + # +--- a/test/sanity/code-smell/docs-build.py ++++ b/test/sanity/code-smell/docs-build.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/sanity/code-smell/no-unwanted-files.py ++++ b/test/sanity/code-smell/no-unwanted-files.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Prevent unwanted files from being added to the source tree.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/sanity/code-smell/obsolete-files.py ++++ b/test/sanity/code-smell/obsolete-files.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Prevent files from being added to directories that are now obsolete.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/sanity/code-smell/package-data.py ++++ b/test/sanity/code-smell/package-data.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/sanity/code-smell/required-and-default-attributes.py ++++ b/test/sanity/code-smell/required-and-default-attributes.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/sanity/code-smell/test-constraints.py ++++ b/test/sanity/code-smell/test-constraints.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/sanity/code-smell/update-bundled.py ++++ b/test/sanity/code-smell/update-bundled.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # (c) 2018, Ansible Project + # +--- a/test/integration/targets/ansible-galaxy-collection/files/build_bad_tar.py ++++ b/test/integration/targets/ansible-galaxy-collection/files/build_bad_tar.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # Copyright: (c) 2020, Ansible Project + # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- a/test/integration/targets/builtin_vars_prompt/test-vars_prompt.py ++++ b/test/integration/targets/builtin_vars_prompt/test-vars_prompt.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import pexpect +--- a/test/integration/targets/cli/test_k_and_K.py ++++ b/test/integration/targets/cli/test_k_and_K.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + + # Make coding more python3-ish +--- a/test/integration/targets/service_facts/files/ansible_test_service.py ++++ b/test/integration/targets/service_facts/files/ansible_test_service.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # this is mostly based off of the code found here: + # http://code.activestate.com/recipes/278731-creating-a-daemon-the-python-way/ +--- a/test/lib/ansible_test/_data/sanity/code-smell/changelog.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/changelog.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + +--- a/test/lib/ansible_test/_data/sanity/code-smell/runtime-metadata.py ++++ b/test/lib/ansible_test/_data/sanity/code-smell/runtime-metadata.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Schema validation of ansible-base's ansible_builtin_runtime.yml and collection's meta/runtime.yml""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/lib/ansible_test/_data/sslcheck.py ++++ b/test/lib/ansible_test/_data/sslcheck.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """Show openssl version.""" + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type +--- a/test/sanity/code-smell/release-names.py ++++ b/test/sanity/code-smell/release-names.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # (c) 2019, Ansible Project + # +--- a/test/integration/targets/blocks/runme.sh ++++ b/test/integration/targets/blocks/runme.sh +@@ -9,7 +9,7 @@ + rm -f block_test.out + # run the test and check to make sure the right number of completions was logged + ansible-playbook -vv main.yml -i ../../inventory | tee block_test.out +-env python -c \ ++env python3 -c \ + 'import sys, re; sys.stdout.write(re.sub("\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "", sys.stdin.read()))' \ + <block_test.out >block_test_wo_colors.out + [ "$(grep -c 'TEST COMPLETE' block_test.out)" = "$(grep -E '^[0-9]+ plays in' block_test_wo_colors.out | cut -f1 -d' ')" ] +@@ -17,7 +17,7 @@ + rm -f block_test.out block_test_wo_colors.out + # run test with free strategy and again count the completions + ansible-playbook -vv main.yml -i ../../inventory -e test_strategy=free | tee block_test.out +-env python -c \ ++env python3 -c \ + 'import sys, re; sys.stdout.write(re.sub("\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "", sys.stdin.read()))' \ + <block_test.out >block_test_wo_colors.out + [ "$(grep -c 'TEST COMPLETE' block_test.out)" = "$(grep -E '^[0-9]+ plays in' block_test_wo_colors.out | cut -f1 -d' ')" ] +@@ -25,7 +25,7 @@ + rm -f block_test.out block_test_wo_colors.out + # run test with host_pinned strategy and again count the completions + ansible-playbook -vv main.yml -i ../../inventory -e test_strategy=host_pinned | tee block_test.out +-env python -c \ ++env python3 -c \ + 'import sys, re; sys.stdout.write(re.sub("\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "", sys.stdin.read()))' \ + <block_test.out >block_test_wo_colors.out + [ "$(grep -c 'TEST COMPLETE' block_test.out)" = "$(grep -E '^[0-9]+ plays in' block_test_wo_colors.out | cut -f1 -d' ')" ] +@@ -33,7 +33,7 @@ + # run test that includes tasks that fail inside a block with always + rm -f block_test.out block_test_wo_colors.out + ansible-playbook -vv block_fail.yml -i ../../inventory | tee block_test.out +-env python -c \ ++env python3 -c \ + 'import sys, re; sys.stdout.write(re.sub("\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "", sys.stdin.read()))' \ + <block_test.out >block_test_wo_colors.out + [ "$(grep -c 'TEST COMPLETE' block_test.out)" = "$(grep -E '^[0-9]+ plays in' block_test_wo_colors.out | cut -f1 -d' ')" ] +--- a/test/integration/targets/plugin_config_for_inventory/runme.sh ++++ b/test/integration/targets/plugin_config_for_inventory/runme.sh +@@ -7,10 +7,10 @@ + + # check default values + ansible-inventory --list -i ./config_without_parameter.yml --export | \ +- env python -c "import json, sys; inv = json.loads(sys.stdin.read()); \ ++ env python3 -c "import json, sys; inv = json.loads(sys.stdin.read()); \ + assert set(inv['_meta']['hostvars']['test_host']['departments']) == set(['seine-et-marne', 'haute-garonne'])" + + # check values + ansible-inventory --list -i ./config_with_parameter.yml --export | \ +- env python -c "import json, sys; inv = json.loads(sys.stdin.read()); \ ++ env python3 -c "import json, sys; inv = json.loads(sys.stdin.read()); \ + assert set(inv['_meta']['hostvars']['test_host']['departments']) == set(['paris'])" +--- a/docs/docsite/Makefile ++++ b/docs/docsite/Makefile +@@ -1,5 +1,5 @@ + OS := $(shell uname -s) +-SITELIB = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"): ++SITELIB = $(shell python3 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"): + PLUGIN_FORMATTER=../../hacking/build-ansible.py docs-build + TESTING_FORMATTER=../bin/testing_formatter.sh + KEYWORD_DUMPER=../../hacking/build-ansible.py document-keywords +@@ -31,7 +31,7 @@ + endif + endif + +-PYTHON=python ++PYTHON=python3 + MAJOR_VERSION := $(shell $(PYTHON) ../../packaging/release/versionhelper/version_helper.py --majorversion || echo error) + + ANSIBLE_VERSION_ARGS= diff --git a/debian/patches/0007-fix-interpreter-fallback.patch b/debian/patches/0007-fix-interpreter-fallback.patch new file mode 100644 index 00000000..34a3bd53 --- /dev/null +++ b/debian/patches/0007-fix-interpreter-fallback.patch @@ -0,0 +1,23 @@ +Description: Fix python interpreter discovery (Closes: #983140) + On machines upgrade from buster to bullseye, the wrong interpreter will be + discovered and used, causing the playbook run to fail. Update the fallback list + so it correctly picks python3.9 on bullseye when both 3.9 and 3.7 are present, + which usually is the case on freshly upgrade machines. +Origin: backport, https://github.com/ansible/ansible/commit/c986cbb9961bfaedf1a6ae7f0c2e34be26d9ab12 +Forwarded: not-needed +Applied-Upstream: https://github.com/ansible/ansible/commit/c986cbb9961bfaedf1a6ae7f0c2e34be26d9ab12 +Reviewed-by: Lee Garrett <debian@rocketjump.eu> +Last-Update: 2021-03-23 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/lib/ansible/config/base.yml ++++ b/lib/ansible/config/base.yml +@@ -1523,6 +1523,8 @@ + name: Ordered list of Python interpreters to check for in discovery + default: + - /usr/bin/python ++ - python3.9 ++ - python3.8 + - python3.7 + - python3.6 + - python3.5 diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000..b880a37b --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,4 @@ +0001-fix-syntax-warnings.patch +0003-preserve-debian-dir.patch +0005-use-py3.patch +0007-fix-interpreter-fallback.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000..e0ea7b63 --- /dev/null +++ b/debian/rules @@ -0,0 +1,103 @@ +#!/usr/bin/make -f + +DOPACKAGES = $(shell dh_listpackages) +export PYBUILD_DESTDIR=debian/tmp + +# Make it easier to build one machines with ansible << 2.10 installed. +export ANSIBLE_SKIP_CONFLICT_CHECK=1 + +%: +# dh $@ --with python3,sphinxdoc --buildsystem=pybuild + dh $@ --with python3 --buildsystem=pybuild + +override_dh_clean: + dh_clean \ + -X.bak \ + -X.md~ \ + -X.j2~ \ + -X.py~ \ + -X.txt~ \ + -X.txt.orig \ + -X.un~ \ + -X.yaml~ \ + -X.yml~ + +override_dh_auto_build: + dh_auto_build + dh_auto_build --sourcedir=collections-debian-merged +#ifneq (,$(filter ansible-doc,$(DOPACKAGES))) +# # html documentation +# $(MAKE) webdocs +# # manpage documentation +# $(MAKE) docs +#endif + +override_dh_auto_test: + # For now, disable the tests + #make tests-nonet + +override_dh_python3: + dh_python3 --shebang=/usr/bin/python3 + +execute_after_dh_auto_install: + find debian/tmp/ -depth -name '.git*' -exec rm -r {} + + find debian/tmp/ -depth -name '.*' -exec rm -r {} + + find debian/tmp/ -name '*~' -delete + find debian/tmp/ -name '*.bak' -delete + find debian/tmp/ -name '*.orig' -delete + +# NB: Source packages merged in bullseye (Debian 11) +# +# As a temporary measure, upstream sources ansible-base and ansible have been +# merged in bullseye. The get-orig-source target implements this merge. +# +# The approach here is somewhat inflexible/hacky. It is assumed that it will be +# only needed very rarely (as it happens in stable), so it gets the job done +# without being too complicated and fancy. + +PKGDIR = $(abspath $(dir $(MAKEFILE_LIST)))/.. +BASEVER = $(shell sed -nre 's/ansible-base: ([.0-9]+)/\1/p' $(PKGDIR)/debian/merged.versions) +COLLVER = $(shell sed -nre 's/ansible: ([.0-9]+)/\1/p' $(PKGDIR)/debian/merged.versions) +RPCKDIR = ansible-$(COLLVER)+merged+dfsg + +get-orig-source: + # Download both tarballs + uscan \ + --noconf \ + --package=ansible \ + --upstream-version=$(BASEVER) \ + --watchfile=$(PKGDIR)/debian/watch.base \ + --copyright-file=$(PKGDIR)/debian/copyright \ + --verbose \ + --rename \ + --destdir=$(CURDIR) \ + --check-dirname-level=0 \ + --force-download \ + --download-version=$(BASEVER) + uscan \ + --noconf \ + --package=ansible-collections \ + --upstream-version=$(COLLVER) \ + --watchfile=$(PKGDIR)/debian/watch \ + --copyright-file=$(PKGDIR)/debian/copyright \ + --verbose \ + --rename \ + --destdir=$(CURDIR) \ + --check-dirname-level=0 \ + --force-download \ + --download-version=$(COLLVER) + # Extract both tarballs into the same base dir, with the second + # tarball in a subdir + mkdir -p $(RPCKDIR)/collections-debian-merged + tar -xJf ansible_$(BASEVER)+dfsg.orig.tar.xz \ + --strip-components=1 \ + -C $(RPCKDIR) + tar -xzf ansible-collections_$(COLLVER).orig.tar.gz \ + --strip-components=1 \ + -C $(RPCKDIR)/collections-debian-merged + # Get rid of the old tarballs + rm -f ansible_$(BASEVER)+dfsg.orig.tar.xz + rm -f ansible-collections_$(COLLVER).orig.tar.gz + # Repack the basedir as a single new tarball + tar -cJf ansible_$(COLLVER)+merged+base+$(BASEVER)+dfsg.orig.tar.xz --strip-components=1 $(RPCKDIR) + rm -rf $(RPCKDIR) diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/include-binaries b/debian/source/include-binaries new file mode 100644 index 00000000..63d399d5 --- /dev/null +++ b/debian/source/include-binaries @@ -0,0 +1 @@ +debian/missing-files/ANSIBLE_DIAGRAM.jpg diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 00000000..cb61fa52 --- /dev/null +++ b/debian/source/options @@ -0,0 +1 @@ +extend-diff-ignore = "^[^/]*[.]egg-info/" diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 00000000..75b6d5b8 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,41 @@ +Tests: unit-tests-base +# Dependencies sourced from: +# - test/lib/ansible_test/_data/requirements/units.txt +# - test/units/requirements.txt +Depends: @, + git, + python3-crypto, + python3-cryptography, + python3-jinja2, + python3-mock, + python3-passlib, + python3-pexpect, + python3-pycryptodome, + python3-pytest, + python3-pytest-mock, + python3-pytest-xdist, + python3-tz, + python3-winrm, + python3-yaml + +Tests: unit-tests-stable +Depends: @, + git, + python3-boto3, + python3-flake8, + python3-mock, + python3-pytest-mock, + python3-pytest-xdist, + yamllint + +# failing tests due to missing packages or other reasons +Tests: unit-tests-flaky +Depends: @, + git, + python3-boto3, + python3-flake8, + python3-mock, + python3-pytest-xdist, + python3-pyvmomi, + yamllint +Restrictions: flaky diff --git a/debian/tests/unit-tests-base b/debian/tests/unit-tests-base new file mode 100755 index 00000000..2ac5146a --- /dev/null +++ b/debian/tests/unit-tests-base @@ -0,0 +1,10 @@ +#!/bin/sh + +/usr/bin/ansible-test units \ + --python-interpreter /usr/bin/python3 \ + --python 3.9 \ + --local \ + --exclude test/units/cli/test_galaxy.py \ + --exclude test/units/galaxy/test_collection_install.py \ + --exclude test/units/modules/test_async_wrapper.py \ + --exclude test/units/utils/collection_loader/test_collection_loader.py \ diff --git a/debian/tests/unit-tests-flaky b/debian/tests/unit-tests-flaky new file mode 100755 index 00000000..3da64b22 --- /dev/null +++ b/debian/tests/unit-tests-flaky @@ -0,0 +1,43 @@ +#!/bin/sh + +# Don't let them fail +# set -e + +BASEPATH=$(pwd) + +unit_test_dirs=" +ansible_collections/ngine_io/cloudstack # missing python3-units +ansible_collections/ansible/netcommon # test broken +ansible_collections/netapp/ontap # missing netapp_lib +ansible_collections/netapp_eseries/santricity # missing python3-units +ansible_collections/community/aws # import broken +ansible_collections/community/vmware # missing python3-units +ansible_collections/community/hrobot # import broken +ansible_collections/community/general # import broken +ansible_collections/community/skydive # STDERR: WARNING: All targets skipped. +ansible_collections/junipernetworks/junos # test broken +ansible_collections/dellemc/os6 # import broken +ansible_collections/dellemc/os10 # missing python3-units +ansible_collections/dellemc/os9 # import broken +" + +for i in $unit_test_dirs; do + + cd $i 2> /dev/null || continue + + echo "\n\n" + echo "############################################################" + echo "############################################################" + echo "#### Running FLAKY tests in $i" + echo "############################################################" + echo "############################################################" + + /usr/bin/ansible-test units \ + --python-interpreter /usr/bin/python3 \ + --python 3.9 \ + --local + + cd $BASEPATH +done + +exit 0 diff --git a/debian/tests/unit-tests-stable b/debian/tests/unit-tests-stable new file mode 100755 index 00000000..71865830 --- /dev/null +++ b/debian/tests/unit-tests-stable @@ -0,0 +1,61 @@ +#!/bin/sh + +set -e + +BASEPATH=$(pwd) + +unit_test_dirs=" +ansible_collections/amazon/aws +ansible_collections/ansible/posix +ansible_collections/ansible/windows +ansible_collections/arista/eos +ansible_collections/cisco/aci +ansible_collections/cisco/asa +ansible_collections/cisco/ios +ansible_collections/cisco/iosxr +ansible_collections/cisco/nso +ansible_collections/cisco/nxos +ansible_collections/community/crypto +ansible_collections/community/docker +ansible_collections/community/fortios +ansible_collections/community/google +ansible_collections/community/grafana +ansible_collections/community/kubevirt +ansible_collections/community/libvirt +ansible_collections/community/mysql +ansible_collections/community/network +ansible_collections/community/postgresql +ansible_collections/community/rabbitmq +ansible_collections/community/routeros +ansible_collections/community/windows +ansible_collections/f5networks/f5_modules +ansible_collections/frr/frr +ansible_collections/google/cloud +ansible_collections/mellanox/onyx +ansible_collections/netapp/aws +ansible_collections/netapp/elementsw +ansible_collections/netbox/netbox +ansible_collections/openvswitch/openvswitch +ansible_collections/vyos/vyos +" + +for i in $unit_test_dirs; do + + cd $i 2> /dev/null || continue + + echo "\n\n" + echo "############################################################" + echo "############################################################" + echo "#### Running tests in $i" + echo "############################################################" + echo "############################################################" + + /usr/bin/ansible-test units \ + --python-interpreter /usr/bin/python3 \ + --python 3.9 \ + --local + + cd $BASEPATH +done + +exit 0 diff --git a/debian/watch b/debian/watch new file mode 100644 index 00000000..bd0ec6d2 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=4 +opts=dversionmangle=s/\+dfsg//,repacksuffix=+dfsg \ +https://pypi.debian.net/ansible/ ansible-(2\.10\.[0-9]+).tar.gz diff --git a/debian/watch.base b/debian/watch.base new file mode 100644 index 00000000..174873d5 --- /dev/null +++ b/debian/watch.base @@ -0,0 +1,3 @@ +version=4 +opts=dversionmangle=s/\+dfsg//,repacksuffix=+dfsg \ +https://pypi.debian.net/ansible-base/ ansible-base-(2\.10\.[0-9]+).tar.gz |