diff --git a/debian/changelog b/debian/changelog index 8d8449f1e..4faadd434 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ freeipa (4.8.0-1) UNRELEASED; urgency=medium * rules: Rework gentarball target. * control: Bump policy to 4.4.0. * Bump debhelper compat to 12. + * Migrate to python3. -- Timo Aaltonen Fri, 26 Apr 2019 00:12:20 +0300 diff --git a/debian/control.common b/debian/control.common index 1ac4fe5d3..54027a986 100644 --- a/debian/control.common +++ b/debian/control.common @@ -7,8 +7,6 @@ Description: transitional dummy package Package: freeipa-common Architecture: all -Breaks: python-freeipa -Replaces: python-freeipa Depends: ${misc:Depends}, Description: FreeIPA centralized identity framework -- common files @@ -35,14 +33,14 @@ Depends: libsss-sudo, libxmlrpc-core-c3 (>= 1.16.33-3.1ubuntu5), oddjob-mkhomedir, - python-dnspython, - python-ipaclient (= ${source:Version}), - python-gssapi, - python-ldap, - python-sss, + python3-dnspython, + python3-ipaclient (= ${source:Version}), + python3-gssapi, + python3-ldap, + python3-sss, sssd (>= 1.14.0), ${misc:Depends}, - ${python:Depends}, + ${python3:Depends}, ${shlibs:Depends} Recommends: chrony, @@ -59,64 +57,62 @@ Description: FreeIPA centralized identity framework -- client . This is the client package. -Package: python-ipaclient +Package: python3-ipaclient Architecture: all Section: python Breaks: freeipa-client (<< 4.3.0-1) Replaces: freeipa-client (<< 4.3.0-1) Depends: freeipa-common (= ${binary:Version}), - python-augeas, - python-dnspython, - python-ipalib (>= ${source:Version}), - python-jinja2, + python3-augeas, + python3-dnspython, + python3-ipalib (>= ${source:Version}), + python3-jinja2, ${misc:Depends}, - ${python:Depends}, -Description: FreeIPA centralized identity framework -- Python modules for ipaclient + ${python3:Depends}, +Description: FreeIPA centralized identity framework -- Python3 modules for ipaclient FreeIPA is an integrated solution to provide centrally managed Identity (machine, user, virtual machines, groups, authentication credentials), Policy (configuration settings, access control information) and Audit (events, logs, analysis thereof). . - This Python module is used by FreeIPA client. + This Python3 module is used by FreeIPA client. -Package: python-ipalib +Package: python3-ipalib Architecture: all Section: python -Breaks: python-freeipa -Replaces: python-freeipa Depends: freeipa-common (= ${source:Version}), gnupg2, gnupg-agent, keyutils, - python-cffi, - python-cryptography, - python-dbus, - python-dnspython, - python-gssapi, - python-ldap, - python-libipa-hbac, - python-lxml, - python-netaddr, - python-netifaces (>= 0.10.4), - python-nss (>= 0.16.0), - python-pyasn1, - python-qrcode (>= 5.0.0), - python-requests, - python-setuptools, - python-six, - python-usb (>= 1.0.0~b2), - python-yubico, + python3-cffi, + python3-cryptography, + python3-dbus, + python3-dnspython, + python3-gssapi, + python3-ldap, + python3-libipa-hbac, + python3-lxml, + python3-netaddr, + python3-netifaces (>= 0.10.4), + python3-nss (>= 0.16.0), + python3-pyasn1, + python3-qrcode (>= 5.0.0), + python3-requests, + python3-setuptools, + python3-six, + python3-usb (>= 1.0.0~b2), + python3-yubico, systemd, ${misc:Depends}, - ${python:Depends}, + ${python3:Depends}, ${shlibs:Depends}, -Description: FreeIPA centralized identity framework -- shared Python modules +Description: FreeIPA centralized identity framework -- shared Python3 modules FreeIPA is an integrated solution to provide centrally managed Identity (machine, user, virtual machines, groups, authentication credentials), Policy (configuration settings, access control information) and Audit (events, logs, analysis thereof). . - This Python module is used by other FreeIPA packages. + This Python3 module is used by other FreeIPA packages. diff --git a/debian/control.server b/debian/control.server index b4565da90..689bdfd7a 100644 --- a/debian/control.server +++ b/debian/control.server @@ -34,17 +34,17 @@ Depends: p11-kit, pki-ca (>= 10.6.0~), pki-kra (>= 10.6.0~), - python-dateutil, - python-ipaserver (= ${source:Version}), - python-gssapi, - python-ldap (>= 2.4.22), - python-systemd, + python3-dateutil, + python3-ipaserver (= ${source:Version}), + python3-gssapi, + python3-ldap (>= 2.4.22), + python3-systemd, slapi-nis (>= 0.56.1), softhsm2 (>= 2.1.0-2), sssd-dbus, systemd-sysv, ${misc:Depends}, - ${python:Depends}, + ${python3:Depends}, ${shlibs:Depends} Recommends: freeipa-server-dns, @@ -66,7 +66,7 @@ Depends: bind9-dyndb-ldap (>= 11.1-3), opendnssec (>= 1:1.4.9-2), ${misc:Depends}, - ${python:Depends}, + ${python3:Depends}, ${shlibs:Depends} Description: FreeIPA centralized identity framework -- IPA DNS integration FreeIPA is an integrated solution to provide centrally managed Identity @@ -81,12 +81,12 @@ Architecture: amd64 arm64 armhf i386 mips mips64el mipsel ppc64 ppc64el s390x Depends: freeipa-common (= ${source:Version}), freeipa-server (= ${binary:Version}), - python-ipaserver (= ${source:Version}), - python-samba, + python3-ipaserver (= ${source:Version}), + python3-samba, samba, winbind, ${misc:Depends}, - ${python:Depends}, + ${python3:Depends}, ${shlibs:Depends} Description: FreeIPA centralized identity framework -- AD trust installer FreeIPA is an integrated solution to provide centrally managed Identity @@ -102,12 +102,12 @@ Package: freeipa-tests Architecture: all Depends: freeipa-client (>= ${source:Version}), - python-ipalib (>= ${source:Version}), - python-ipatests (>= ${source:Version}), - python-pytest, + python3-ipalib (>= ${source:Version}), + python3-ipatests (>= ${source:Version}), + python3-pytest, ${misc:Depends}, - ${python:Depends} -Recommends: python-yaml + ${python3:Depends} +Recommends: python3-yaml Description: FreeIPA centralized identity framework -- tests FreeIPA is an integrated solution to provide centrally managed Identity (machine, user, virtual machines, groups, authentication credentials), Policy @@ -116,7 +116,7 @@ Description: FreeIPA centralized identity framework -- tests . This package contains tests that verify IPA functionality. -Package: python-ipaserver +Package: python3-ipaserver Architecture: all Section: python Breaks: freeipa-server (<< 4.3.0-1), @@ -126,55 +126,55 @@ Replaces: freeipa-server (<< 4.3.0-1), Depends: freeipa-common (= ${binary:Version}), pki-tools (>= 10.2.6-3), - python-custodia (>= 0.5.0), - python-dbus, - python-dnspython, - python-gssapi, - python-ipaclient (= ${binary:Version}), - python-ipalib (>= ${source:Version}), - python-jwcrypto, - python-kdcproxy, - python-ldap (>= 2.4.22), - python-libsss-nss-idmap, - python-pyasn1, - python-sss, + python3-custodia (>= 0.5.0), + python3-dbus, + python3-dnspython, + python3-gssapi, + python3-ipaclient (= ${binary:Version}), + python3-ipalib (>= ${source:Version}), + python3-jwcrypto, + python3-kdcproxy, + python3-ldap (>= 2.4.22), + python3-libsss-nss-idmap, + python3-pyasn1, + python3-sss, samba-common, zip, ${misc:Depends}, - ${python:Depends}, -Description: FreeIPA centralized identity framework -- Python modules for server + ${python3:Depends}, +Description: FreeIPA centralized identity framework -- Python3 modules for server FreeIPA is an integrated solution to provide centrally managed Identity (machine, user, virtual machines, groups, authentication credentials), Policy (configuration settings, access control information) and Audit (events, logs, analysis thereof). . - This Python module is used by FreeIPA server. + This Python3 module is used by FreeIPA server. -Package: python-ipatests +Package: python3-ipatests Architecture: all Section: python Breaks: freeipa-tests (<< 4.3.0-1) Replaces: freeipa-tests (<< 4.3.0-1) Depends: libnss3-tools, - python-coverage, - python-ipalib (>= ${source:Version}), - python-mock, - python-paramiko, - python-paste, - python-polib, - python-pytest-multihost, - python-pytest-sourceorder, - python-sss, + python3-coverage, + python3-ipalib (>= ${source:Version}), + python3-mock, + python3-paramiko, + python3-paste, + python3-polib, + python3-pytest-multihost, + python3-pytest-sourceorder, + python3-sss, xz-utils, ${misc:Depends}, - ${python:Depends} -Recommends: python-yaml -Description: FreeIPA centralized identity framework -- Python modules for tests + ${python3:Depends} +Recommends: python3-yaml +Description: FreeIPA centralized identity framework -- Python3 modules for tests FreeIPA is an integrated solution to provide centrally managed Identity (machine, user, virtual machines, groups, authentication credentials), Policy (configuration settings, access control information) and Audit (events, logs, analysis thereof). . - This Python module is used by FreeIPA tests. + This Python3 module is used by FreeIPA tests. diff --git a/debian/control.stub b/debian/control.stub index b2ad9f1d8..8bfec7f72 100644 --- a/debian/control.stub +++ b/debian/control.stub @@ -25,29 +25,29 @@ Build-Depends: libssl-dev, libtalloc-dev, libxmlrpc-core-c3-dev (>= 1.33.06), - python-all-dev, - python-cryptography, - python-dbus, - python-dnspython (>= 1.11.1), - python-gssapi, - python-jinja2, - python-kdcproxy, - python-ldap (>= 3.1), - python-lesscpy, - python-libipa-hbac, - python-libsss-nss-idmap, - python-lxml, - python-netaddr, - python-netifaces (>= 0.10.4), - python-nose, - python-nss (>= 0.16.0), - python-polib, - python-pyasn1, - python-qrcode (>= 5.0.0), - python-setuptools, - python-six, - python-sss (>= 1.14.0), - python-usb (>= 1.0.0~b2), - python-yubico, + python3-all-dev, + python3-cryptography, + python3-dbus, + python3-dnspython (>= 1.11.1), + python3-gssapi, + python3-jinja2, + python3-kdcproxy, + python3-ldap (>= 3.1), + python3-lesscpy, + python3-libipa-hbac, + python3-libsss-nss-idmap, + python3-lxml, + python3-netaddr, + python3-netifaces (>= 0.10.4), + python3-nose, + python3-nss (>= 0.16.0), + python3-polib, + python3-pyasn1, + python3-qrcode (>= 5.0.0), + python3-setuptools, + python3-six, + python3-sss (>= 1.14.0), + python3-usb (>= 1.0.0~b2), + python3-yubico, systemd, uuid-dev, diff --git a/debian/pydist-overrides b/debian/pydist-overrides index 84cc4ec21..1b2c80b6d 100644 --- a/debian/pydist-overrides +++ b/debian/pydist-overrides @@ -1,3 +1,3 @@ -dbus_python python-dbus +dbus_python python3-dbus dogtag_pki pki-server -jwcrpyto python-jwcrypto +jwcrpyto python3-jwcrypto diff --git a/debian/python-ipatests.lintian-overrides b/debian/python-ipatests.lintian-overrides deleted file mode 100644 index 6134eb1a4..000000000 --- a/debian/python-ipatests.lintian-overrides +++ /dev/null @@ -1,2 +0,0 @@ -# no need to be executable -python-ipatests: script-not-executable usr/lib/python*/dist-packages/ipatests/test_integration/scripts/caless-create-pki diff --git a/debian/python-ipaclient.install b/debian/python3-ipaclient.install similarity index 100% rename from debian/python-ipaclient.install rename to debian/python3-ipaclient.install diff --git a/debian/python-ipalib.install b/debian/python3-ipalib.install similarity index 100% rename from debian/python-ipalib.install rename to debian/python3-ipalib.install diff --git a/debian/python-ipaserver.install b/debian/python3-ipaserver.install similarity index 100% rename from debian/python-ipaserver.install rename to debian/python3-ipaserver.install diff --git a/debian/python-ipatests.install b/debian/python3-ipatests.install similarity index 100% rename from debian/python-ipatests.install rename to debian/python3-ipatests.install diff --git a/debian/python3-ipatests.lintian-overrides b/debian/python3-ipatests.lintian-overrides new file mode 100644 index 000000000..6b2e92596 --- /dev/null +++ b/debian/python3-ipatests.lintian-overrides @@ -0,0 +1,2 @@ +# no need to be executable +python3-ipatests: script-not-executable usr/lib/python*/dist-packages/ipatests/test_integration/scripts/caless-create-pki diff --git a/debian/rules b/debian/rules index b4456e593..fba517b3e 100755 --- a/debian/rules +++ b/debian/rules @@ -15,7 +15,9 @@ endif DESTDIR=$(CURDIR)/debian/tmp -export PYTHON=python +export PYTHON=python3 +export am_cv_python_pythondir=/usr/lib/python3/dist-packages +export am_cv_python_pyexecdir=/usr/lib/python3/dist-packages confflags = \ --libexecdir=/usr/lib/ \ @@ -92,11 +94,6 @@ endif # remove files which are useful only for make uninstall find $(CURDIR)/debian/tmp -wholename '*/dist-packages/*/install_files.txt' -exec rm '{}' \; - # we still need to use python2 - find debian/tmp ! -name '*.pyc' -a ! -name '*.pyo' -a \ - -type f -exec grep -qsm1 '^#!.*\bpython' {} \; \ - -exec sed -i -e '1 s|^#!.*\bpython[^ ]*|#!/usr/bin/python|' {} \; - override_dh_missing: dh_missing --fail-missing @@ -118,5 +115,5 @@ override_dh_fixperms: fi %: - dh $@ --with python2 + dh $@ --with python3 # --builddirectory=build