diff --git a/.gitignore b/.gitignore index d8128dd..ef6617b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ libuser-0.56.16.tar.xz /libuser-0.58.tar.xz /libuser-0.59.tar.xz /libuser-0.60.tar.xz +/libuser-0.61.tar.xz diff --git a/libuser.spec b/libuser.spec index 4c2e4df..2a13456 100644 --- a/libuser.spec +++ b/libuser.spec @@ -1,20 +1,20 @@ -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} - Name: libuser -Version: 0.60 -Release: 7%{?dist} +Version: 0.61 +Release: 1%{?dist} Group: System Environment/Base License: LGPLv2+ URL: https://fedorahosted.org/libuser/ Source: https://fedorahosted.org/releases/l/i/libuser/libuser-%{version}.tar.xz BuildRequires: glib2-devel, linuxdoc-tools, pam-devel, popt-devel, python2-devel -BuildRequires: cyrus-sasl-devel, libselinux-devel, openldap-devel +BuildRequires: cyrus-sasl-devel, libselinux-devel, openldap-devel, python3-devel # To make sure the configure script can find it BuildRequires: nscd # For %%check BuildRequires: fakeroot, openldap-clients, openldap-servers, openssl Summary: A user and group account administration library +%global __provides_exclude_from ^(%{_libdir}/%{name}|%{python2_sitearch}|%{python3_sitearch})/.*$ + %description The libuser library implements a standardized interface for manipulating and administering user and group accounts. The library uses pluggable @@ -34,36 +34,72 @@ The libuser-devel package contains header files, static libraries, and other files useful for developing applications with libuser. %package python -Summary: Python bindings for the libuser library +Summary: Python 2 bindings for the libuser library Group: Development/Libraries Requires: libuser%{?_isa} = %{version}-%{release} %description python -The libuser-python package contains the Python bindings for -the libuser library, which provides a Python API for manipulating and +The libuser-python package contains the Python 2 bindings for +the libuser library, which provides a Python 2 API for manipulating and +administering user and group accounts. + +%package python3 +Summary: Python 3 bindings for the libuser library +Group: Development/Libraries +Requires: libuser%{?_isa} = %{version}-%{release} + +%description python3 +The libuser-python3 package contains the Python bindings for +the libuser library, which provides a Python 3 API for manipulating and administering user and group accounts. %prep -%setup -q +%setup -qc +mv libuser-%{version} python2 +cp -a python2 python3 + +pushd python2 +cp -pr COPYING AUTHORS NEWS README TODO docs .. +popd + %build +pushd python2 %configure --with-selinux --with-ldap --with-html-dir=%{_datadir}/gtk-doc/html make +popd + +pushd python3 +%configure --with-selinux --with-ldap --with-html-dir=%{_datadir}/gtk-doc/html \ + PYTHON=/usr/bin/python3 +make +popd + %install -make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' +# There should not be any Python dependencies in the common files; install the +# python2 version second, just to be sure. +make -C python3 install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' +make -C python2 install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' %find_lang %{name} %check -make check || { cat test-suite.log; false; } +make -C python2 check || { cat python2/test-suite.log; false; } +# The Python 3 module only supports UTF-8 +LC_ALL=en_US.UTF-8 make -C python3 check \ + || { cat python3/test-suite.log; false; } # Verify that all python modules load, just in case. LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir}:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH -cd $RPM_BUILD_ROOT/%{python_sitearch} -python -c "import libuser" +cd $RPM_BUILD_ROOT/%{python2_sitearch} +python2 -c "import libuser" +cd $RPM_BUILD_ROOT/%{python3_sitearch} +# The Python 3 module only supports UTF-8 +LC_ALL=en_US.UTF-8 python3 -c "import libuser" + %post -p /sbin/ldconfig @@ -87,9 +123,14 @@ python -c "import libuser" %exclude %{_libdir}/%{name}/*.la %files python -%doc python/modules.txt -%{python_sitearch}/*.so -%exclude %{python_sitearch}/*.la +%doc python2/python/modules.txt +%{python2_sitearch}/*.so +%exclude %{python2_sitearch}/*.la + +%files python3 +%doc python3/python/modules.txt +%{python3_sitearch}/*.so +%exclude %{python3_sitearch}/*.la %files devel %{_includedir}/libuser @@ -98,6 +139,11 @@ python -c "import libuser" %{_datadir}/gtk-doc/html/* %changelog +* Wed Mar 25 2015 Miloslav Trmač - 0.61-1 +- Update to libuser-0.61, notably adding Python 3 bindings + Resolves: #1014555 +- Filter out libuser plugin and Python extension Provides: + * Sat Feb 21 2015 Till Maas - 0.60-7 - Rebuilt for Fedora 23 Change https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code diff --git a/sources b/sources index edda446..3f067b1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5c549724999ccca65ceaaecc4eb8cb98 libuser-0.60.tar.xz +d977dc59161272c1491edd9ca7ba22f2 libuser-0.61.tar.xz