summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:21 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:21 +0000
commit056ab9ba6c4a1cb30e60cc4d84f990c3ef566992 (patch)
treec6da0f229297a4ae410275e099edfd2e6e292109
parentAdding upstream version 2.14.3. (diff)
downloadansible-core-debian.tar.xz
ansible-core-debian.zip
Adding debian version 2.14.3-1.debian/2.14.3-1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/ansible-core.install2
-rw-r--r--debian/ansible-core.lintian-overrides6
-rw-r--r--debian/ansible-core.manpages9
-rw-r--r--debian/ansible-doc.doc-base14
-rw-r--r--debian/ansible-doc.docs1
-rw-r--r--debian/changelog115
-rw-r--r--debian/control83
-rw-r--r--debian/copyright826
-rw-r--r--debian/gbp.conf6
-rw-r--r--debian/patches/0005-use-py3.patch274
-rw-r--r--debian/patches/0009-resolvelib_0_9_0_compat.patch92
-rw-r--r--debian/patches/series2
-rwxr-xr-xdebian/rules34
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/options1
-rw-r--r--debian/tests/control20
-rwxr-xr-xdebian/tests/unit5
-rw-r--r--debian/upstream/signing-key.asc121
-rw-r--r--debian/watch4
19 files changed, 1616 insertions, 0 deletions
diff --git a/debian/ansible-core.install b/debian/ansible-core.install
new file mode 100644
index 0000000..4b6e84c
--- /dev/null
+++ b/debian/ansible-core.install
@@ -0,0 +1,2 @@
+/usr/bin/* /usr/bin/
+/usr/lib/* /usr/lib/
diff --git a/debian/ansible-core.lintian-overrides b/debian/ansible-core.lintian-overrides
new file mode 100644
index 0000000..876ad7d
--- /dev/null
+++ b/debian/ansible-core.lintian-overrides
@@ -0,0 +1,6 @@
+# ansible-galaxy will generate roles and other things from skeleton files, and
+# those should come with a README.md.
+ansible-core binary: package-contains-documentation-outside-usr-share-doc [usr/lib/python3/dist-packages/ansible/galaxy/data/*]
+
+# ansible-test needs those files to work.
+ansible-core binary: package-contains-documentation-outside-usr-share-doc [usr/lib/python3/dist-packages/ansible_test/*]
diff --git a/debian/ansible-core.manpages b/debian/ansible-core.manpages
new file mode 100644
index 0000000..8152acc
--- /dev/null
+++ b/debian/ansible-core.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-doc.doc-base b/debian/ansible-doc.doc-base
new file mode 100644
index 0000000..6ae6d9c
--- /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 0000000..27fc711
--- /dev/null
+++ b/debian/ansible-doc.docs
@@ -0,0 +1 @@
+docs/docsite/_build/html/
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..24edc54
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,115 @@
+ansible-core (2.14.3-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Lee Garrett <debian@rocketjump.eu> Wed, 01 Mar 2023 21:06:21 +0100
+
+ansible-core (2.14.2-1) unstable; urgency=medium
+
+ * Bump Standards-Version (no changes needed)
+ * New upstream version 2.14.2
+ * Acknowledge previous NMU.
+
+ -- Lee Garrett <debian@rocketjump.eu> Tue, 31 Jan 2023 13:11:22 +0100
+
+ansible-core (2.14.1-2) unstable; urgency=medium
+
+ * Team upload.
+
+ [ Steve Langasek ]
+ * Drop superfluous --python 3.10 in autopkgtest (Closes: #1028405)
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Mon, 16 Jan 2023 10:14:20 +0100
+
+ansible-core (2.14.1-1) unstable; urgency=medium
+
+ * New upstream release
+ * autopkgtest: Depend on python3-pytest-forked (Closes: #1025335)
+
+ -- Lee Garrett <debian@rocketjump.eu> Tue, 13 Dec 2022 16:17:44 +0100
+
+ansible-core (2.14.0-1) unstable; urgency=medium
+
+ * New upstream release
+ * Use PEP517 build process (Closes: #1024705)
+ * Tighten resolvelib dependency (Closes: #1010345)
+ * Tighten python3 and pyyaml dependencies
+ * Fix autopkgtests (Closes: #1024713)
+ * Remove 0007-use-C.UTF-8.patch (fixed upstream)
+
+ -- Lee Garrett <debian@rocketjump.eu> Tue, 29 Nov 2022 01:55:18 +0100
+
+ansible-core (2.13.4-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Lee Garrett <debian@rocketjump.eu> Tue, 13 Sep 2022 16:41:09 +0200
+
+ansible-core (2.13.3-1) unstable; urgency=medium
+
+ * New upstream release 2.13.3
+ * Remove patch to preserve debian dir
+ * Refresh Debian patches
+ * Correctly build man pages
+ * Update Build-Depends
+ * Bump jinja2 requirements
+ * Run autopkgtests against python 3.10
+ * support for newer resolvelib (Closes: #1007907)
+
+ -- Lee Garrett <debian@rocketjump.eu> Wed, 07 Sep 2022 18:05:59 +0200
+
+ansible-core (2.12.4-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Lee Garrett <debian@rocketjump.eu> Tue, 29 Mar 2022 17:10:19 +0200
+
+ansible-core (2.12.3-1) unstable; urgency=medium
+
+ * New upstream release
+ * Switch build-dep from python3-all to python3 (Closes: #1001040)
+
+ -- Lee Garrett <debian@rocketjump.eu> Sun, 06 Mar 2022 18:39:56 +0100
+
+ansible-core (2.12.0-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Upload to unstable.
+ * Drop 0006-use-Cryptodome.patch (fixed upstream)
+
+ -- Lee Garrett <debian@rocketjump.eu> Thu, 18 Nov 2021 13:42:31 +0100
+
+ansible-core (2.11.6-1) experimental; urgency=medium
+
+ * New upstream release (Closes: #977327)
+ * Rename source/binary package to ansible-core
+ * Upload to experimental (Closes: #995879)
+ * Fix issues with 0005_use_py3.patch (Closes: #992107)
+ * Fix usage of Cryptodome
+ * Fix all unit tests
+ * Bump Standards-Version to 4.6.0.1 (no changes needed)
+ * Fix several lintian warnings
+
+ -- Lee Garrett <debian@rocketjump.eu> Sun, 07 Nov 2021 00:40:26 +0100
+
+ansible-base (2.10.5+dfsg-2) experimental; urgency=medium
+
+ * Enable autopkgtests.
+ * Fix python interpreter detection (Closes: #983140)
+
+ -- Lee Garrett <debian@rocketjump.eu> Mon, 22 Mar 2021 22:41:46 +0100
+
+ansible-base (2.10.5+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Upload to unstable.
+
+ -- Lee Garrett <debian@rocketjump.eu> Wed, 10 Feb 2021 01:09:15 +0100
+
+ansible-base (2.10.4-1) experimental; urgency=medium
+
+ * Initial packaging of ansible-base (split out at upstream from ansible)
+ * Switch from python3-crypto to python3-pycryptodome (Closes: #971309)
+ * Bump Standards-Version to 4.5.1 (no changes needed)
+
+ -- Lee Garrett <debian@rocketjump.eu> Sat, 09 Jan 2021 23:14:43 +0100
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..649996b
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,83 @@
+Source: ansible-core
+Maintainer: Lee Garrett <debian@rocketjump.eu>
+Section: admin
+Priority: optional
+Build-Depends: debhelper-compat (= 13),
+ dh-python,
+ pybuild-plugin-pyproject,
+ python3 (>= 3.9.0~),
+# python3-antsibull <!nodoc>,
+ python3-docutils,
+ python3-pycryptodome,
+ python3-jinja2 (>= 3.0.0~),
+ python3-packaging,
+# python3-pygments <!nodoc>,
+ python3-resolvelib (>= 0.5.3~),
+ python3-resolvelib (<< 0.10),
+# python3-rstcheck <!nodoc>,
+ python3-setuptools,
+ python3-straight.plugin,
+# python3-sphinx <!nodoc>,
+# python3-sphinx-notfound-page <!nodoc>,
+# python3-sphinx-rtd-theme <!nodoc>,
+ python3-yaml (>= 5.1~)
+# sphinx-common
+Rules-Requires-Root: no
+Standards-Version: 4.6.2
+Vcs-Browser: https://salsa.debian.org/debian/ansible-core
+Vcs-Git: https://salsa.debian.org/debian/ansible-core.git
+Homepage: https://www.ansible.com
+
+Package: ansible-core
+Architecture: all
+Depends: ${misc:Depends},
+ ${python3:Depends},
+ openssh-client | python3-paramiko (>= 2.6.0),
+ python3-pycryptodome,
+ python3-distutils,
+ python3-dnspython,
+ python3-httplib2,
+ python3-jinja2 (>= 3.0.0~),
+ python3-netaddr,
+ python3-yaml (>= 5.1~)
+Recommends: ansible (>= 7.0.0-1~),
+ python3-argcomplete,
+ python3-cryptography,
+ python3-jmespath,
+ python3-kerberos,
+ python3-libcloud,
+ python3-selinux,
+ python3-winrm,
+ python3-xmltodict
+Suggests: cowsay,
+ sshpass
+Breaks: ansible (<< 4.6.0-1~), ansible-base
+Replaces: ansible (<< 4.6.0-1~), ansible-base
+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 the ansible binaries.
+
+#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 0000000..b1f0602
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,826 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: ansible-core
+Upstream-Contact: Michael DeHaan <michael.dehaan@gmail.com>
+Source: https://github.com/ansible/ansible/
+
+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-2022, 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: 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-2022, 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/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..ac9066d
--- /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/patches/0005-use-py3.patch b/debian/patches/0005-use-py3.patch
new file mode 100644
index 0000000..0fcb62e
--- /dev/null
+++ b/debian/patches/0005-use-py3.patch
@@ -0,0 +1,274 @@
+Description: use py3
+ Use python 3 for all helper scripts during build
+ .
+ This allows us to not depend on python 2 anymore for building.
+Author: Lee Garrett <debian@rocketjump.eu>
+Forwarded: not-needed
+Last-Update: 2021-11-06
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+
+--- 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/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
+
+ from __future__ import (absolute_import, division, print_function)
+ __metaclass__ = type
+--- 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
+
+ from __future__ import (absolute_import, division, print_function)
+ __metaclass__ = type
+--- 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 __future__ import (absolute_import, division, print_function)
+ __metaclass__ = type
+--- 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/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
+
+ from __future__ import (absolute_import, division, print_function)
+ __metaclass__ = type
+--- 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/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
+
+ from __future__ import (absolute_import, division, print_function)
+ __metaclass__ = type
+--- 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/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,12 +7,12 @@
+
+ # 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'])"
+
+ export ANSIBLE_CACHE_PLUGINS=cache_plugins/
+--- a/test/units/modules/test_async_wrapper.py
++++ b/test/units/modules/test_async_wrapper.py
+@@ -22,11 +22,11 @@
+ def test_run_module(self, monkeypatch):
+
+ def mock_get_interpreter(module_path):
+- return ['/usr/bin/python']
++ return ['/usr/bin/python3']
+
+ module_result = {'rc': 0}
+ module_lines = [
+- '#!/usr/bin/python',
++ '#!/usr/bin/python3',
+ 'import sys',
+ 'sys.stderr.write("stderr stuff")',
+ "print('%s')" % json.dumps(module_result)
+--- a/Makefile
++++ b/Makefile
+@@ -26,7 +26,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/docs/docsite/Makefile
++++ b/docs/docsite/Makefile
+@@ -44,7 +44,7 @@
+
+ DOC_PLUGINS ?= become cache callback cliconf connection httpapi inventory lookup netconf shell strategy vars
+
+-PYTHON ?= python
++PYTHON ?= python3
+ # fetch version from project release.py as single source-of-truth
+ VERSION := $(shell $(PYTHON) ../../packaging/release/versionhelper/version_helper.py --raw || echo error)
+ ifeq ($(findstring error,$(VERSION)), error)
diff --git a/debian/patches/0009-resolvelib_0_9_0_compat.patch b/debian/patches/0009-resolvelib_0_9_0_compat.patch
new file mode 100644
index 0000000..24fc478
--- /dev/null
+++ b/debian/patches/0009-resolvelib_0_9_0_compat.patch
@@ -0,0 +1,92 @@
+Description: ansible-galaxy - support resolvelib >= 0.5.3, < 0.10.0
+Author: Wong Hoi Sing Edison <hswong3i@gmail.com>
+Origin: upstream, https://github.com/ansible/ansible/pull/79399
+Applied-Upstream: yes
+Reviewed-by: Lee Garrett <debian@rocketjump.eu>
+Last-Update: 2022-11-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- /dev/null
++++ b/changelogs/fragments/79399-resolvelib_lt_0_10_0.yml
+@@ -0,0 +1,2 @@
++minor_changes:
++ - ansible-galaxy - support ``resolvelib >= 0.5.3, < 0.10.0``.
+--- a/lib/ansible/galaxy/dependency_resolution/providers.py
++++ b/lib/ansible/galaxy/dependency_resolution/providers.py
+@@ -42,7 +42,7 @@
+
+ # TODO: add python requirements to ansible-test's ansible-core distribution info and remove the hardcoded lowerbound/upperbound fallback
+ RESOLVELIB_LOWERBOUND = SemanticVersion("0.5.3")
+-RESOLVELIB_UPPERBOUND = SemanticVersion("0.9.0")
++RESOLVELIB_UPPERBOUND = SemanticVersion("0.10.0")
+ RESOLVELIB_VERSION = SemanticVersion.from_loose_version(LooseVersion(resolvelib_version))
+
+
+@@ -220,7 +220,7 @@
+ Mapping of identifier, list of named tuple pairs.
+ The named tuples have the entries ``requirement`` and ``parent``.
+
+- resolvelib >=0.8.0, <= 0.8.1
++ resolvelib >=0.8.0, <= 0.9.0
+
+ :param identifier: The value returned by ``identify()``.
+
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -12,4 +12,4 @@
+ # NOTE: Ref: https://github.com/sarugaku/resolvelib/issues/69
+ # NOTE: When updating the upper bound, also update the latest version used
+ # NOTE: in the ansible-galaxy-collection test suite.
+-resolvelib >= 0.5.3, < 0.9.0 # dependency resolver used by ansible-galaxy
++resolvelib >= 0.5.3, < 0.10.0 # dependency resolver used by ansible-galaxy
+--- a/test/lib/ansible_test/_data/requirements/ansible.txt
++++ b/test/lib/ansible_test/_data/requirements/ansible.txt
+@@ -12,4 +12,4 @@
+ # NOTE: Ref: https://github.com/sarugaku/resolvelib/issues/69
+ # NOTE: When updating the upper bound, also update the latest version used
+ # NOTE: in the ansible-galaxy-collection test suite.
+-resolvelib >= 0.5.3, < 0.9.0 # dependency resolver used by ansible-galaxy
++resolvelib >= 0.5.3, < 0.10.0 # dependency resolver used by ansible-galaxy
+--- a/test/sanity/code-smell/docs-build.requirements.in
++++ b/test/sanity/code-smell/docs-build.requirements.in
+@@ -1,6 +1,6 @@
+ jinja2
+ pyyaml
+-resolvelib < 0.9.0
++resolvelib < 0.10.0
+ sphinx == 4.2.0
+ sphinx-notfound-page
+ sphinx-ansible-theme
+--- a/test/sanity/code-smell/docs-build.requirements.txt
++++ b/test/sanity/code-smell/docs-build.requirements.txt
+@@ -27,7 +27,7 @@
+ pytz==2022.2.1
+ PyYAML==6.0
+ requests==2.28.1
+-resolvelib==0.8.1
++resolvelib==0.9.0
+ rstcheck==3.5.0
+ semantic-version==2.10.0
+ sh==1.14.3
+--- a/test/sanity/code-smell/package-data.requirements.in
++++ b/test/sanity/code-smell/package-data.requirements.in
+@@ -1,7 +1,7 @@
+ docutils < 0.18 # match version required by sphinx in the docs-build sanity test
+ jinja2
+ pyyaml # ansible-core requirement
+-resolvelib < 0.9.0
++resolvelib < 0.10.0
+ rstcheck < 4 # match version used in other sanity tests
+ straight.plugin
+ antsibull-changelog
+--- a/test/sanity/code-smell/package-data.requirements.txt
++++ b/test/sanity/code-smell/package-data.requirements.txt
+@@ -6,7 +6,7 @@
+ packaging==21.3
+ pyparsing==3.0.9
+ PyYAML==6.0
+-resolvelib==0.8.1
++resolvelib==0.9.0
+ rstcheck==3.5.0
+ semantic-version==2.10.0
+ straight.plugin==1.5.0
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..465c3dc
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+0005-use-py3.patch
+0009-resolvelib_0_9_0_compat.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..0c06b97
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,34 @@
+#!/usr/bin/make -f
+
+DOPACKAGES = $(shell dh_listpackages)
+export PYBUILD_DESTDIR=debian/tmp
+
+# Make it easier to build on machines with ansible << 2.10 installed.
+export ANSIBLE_SKIP_CONFLICT_CHECK=1
+
+# tmpdir is needed during docs build, as ~ isn't writeable in sbuild
+export ANSIBLE_LOCAL_TEMP=tmp/
+
+%:
+# dh $@ --with python3,sphinxdoc --buildsystem=pybuild
+ dh $@ --with python3 --buildsystem=pybuild
+
+override_dh_clean:
+ dh_clean \
+ --exclude=test/units/inventory_test_data/group_vars/noparse/all.yml~ \
+ --exclude=test/integration/targets/collections/collection_root_user/ansible_collections/testns/testcoll/plugins/modules/uses_leaf_mu_flat_import.bak
+
+execute_after_dh_auto_build:
+ # manpage documentation
+ $(MAKE) docs
+ifneq (,$(filter ansible-doc,$(DOPACKAGES)))
+ # html documentation
+ $(MAKE) webdocs
+endif
+
+override_dh_auto_test:
+ # For now, disable the tests
+ #make tests-nonet
+
+override_dh_python3:
+ dh_python3 --shebang=/usr/bin/python3
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..cb61fa5
--- /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 0000000..942ca11
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,20 @@
+Tests: unit
+# Dependencies sourced from:
+# - test/lib/ansible_test/_data/requirements/units.txt
+# - test/units/requirements.txt
+Depends: @,
+ git,
+ python3-pycryptodome,
+ python3-cryptography,
+ python3-jinja2,
+ python3-mock,
+ python3-passlib,
+ python3-pexpect,
+ python3-pycryptodome,
+ python3-pytest,
+ python3-pytest-mock,
+ python3-pytest-forked,
+ python3-pytest-xdist,
+ python3-tz,
+ python3-winrm,
+ python3-yaml
diff --git a/debian/tests/unit b/debian/tests/unit
new file mode 100755
index 0000000..560446a
--- /dev/null
+++ b/debian/tests/unit
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+/usr/bin/ansible-test units \
+ --python-interpreter /usr/bin/python3 \
+ --local
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..af36378
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,121 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+WYCbQ4E4BSAImEgVM09bzc0s8gNI8+0PBQ==
+=GMeK
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..7d6b1e2
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=4
+opts=dversionmangle=s/\+dfsg//,repacksuffix=+dfsg,pgpsigurlmangle=s/$/.asc/ \
+https://pypi.debian.net/ansible-core/ ansible-core-(2\.[0-9]+\.[0-9]+).tar.gz
+