Switch /usr/bin/ipa to Python 3

When building RPMs with Python 3 support, /usr/bin/ipa will now
use Python 3.
The in-tree ipa command will also run on Python 3.

When building with make install, $(PYTHON) is honored and it will
still default to Python 2.

Part of the work for https://fedorahosted.org/freeipa/ticket/5638

Reviewed-By: Petr Spacek <pspacek@redhat.com>
This commit is contained in:
Petr Viktorin authored and Martin Basti committed 2016-05-06 16:17:28 +02:00
1 parent 6adf863781
commit 1ebd8334bc
2 files changed
+12 -1

No files matched your search

+11
View File
@@ -422,7 +422,11 @@ Summary: IPA administrative tools
Group: System Environment/Base
BuildArch: noarch
Requires: %{name}-client-common = %{version}-%{release}
%if 0%{?with_python3}
Requires: python3-ipalib = %{version}-%{release}
%else
Requires: python2-ipalib = %{version}-%{release}
%endif
Requires: python-ldap
Provides: %{alt_name}-admintools = %{version}
@@ -731,6 +735,13 @@ make client-install DESTDIR=%{buildroot}
(cd ipapython && make PYTHON=%{__python3} IPA_VERSION_IS_GIT_SNAPSHOT=no %{?_smp_mflags} DESTDIR=%{buildroot} install)
(cd ipaplatform && %{__python3} setup.py install --root %{buildroot})
(cd ipaclient && %{__python3} setup.py install --root %{buildroot})
# Switch shebang of /usr/bin/ipa
# XXX: This script is installed with ipaserver. When all of ipaserver is
# built with Python 3, this will no longer be necessary (as long as the py3
# version is installed after the py2 version, so it overwrites /usr/bin/ipa)
sed -i -e'1s/python\(2\|$\)/python3/' %{buildroot}%{_bindir}/ipa
%endif # with_python3
%find_lang %{gettext_domain}
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/python2
#!/usr/bin/python3
# Authors:
# Jason Gerard DeRose <jderose@redhat.com>