Add platform-python subpackage
This commit is contained in:
parent
d884f857bc
commit
41be9f6ac7
@ -0,0 +1,28 @@
|
|||||||
|
From a69d7fdf52561db56f7c9451872b919db23ee529 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lumir Balhar <lbalhar@redhat.com>
|
||||||
|
Date: Thu, 10 Aug 2017 18:15:42 +0200
|
||||||
|
Subject: [PATCH] Use `python -m nose` instead of nosetests-<python_version> to
|
||||||
|
run tests.
|
||||||
|
|
||||||
|
This change enables us to build libdnf with various Python version
|
||||||
|
even with nose available only as a module without binaries.
|
||||||
|
---
|
||||||
|
python/hawkey/tests/tests/run_nosetests.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/python/hawkey/tests/tests/run_nosetests.in b/python/hawkey/tests/tests/run_nosetests.in
|
||||||
|
index 7b23cca..1361b59 100755
|
||||||
|
--- a/python/hawkey/tests/tests/run_nosetests.in
|
||||||
|
+++ b/python/hawkey/tests/tests/run_nosetests.in
|
||||||
|
@@ -17,7 +17,7 @@ def fatal(msg):
|
||||||
|
|
||||||
|
childenv = dict(os.environ)
|
||||||
|
childenv['PYTHONPATH'] = '${CMAKE_BINARY_DIR}/python/hawkey'
|
||||||
|
-subprocess.check_call(['nosetests-${PYTHON_MAJOR_DOT_MINOR_VERSION}',
|
||||||
|
+subprocess.check_call(['${PYTHON_EXECUTABLE}', '-m', 'nose',
|
||||||
|
'--with-xunit', '--xunit-file=xunit.xml',
|
||||||
|
'-s', '-v', '${CMAKE_CURRENT_SOURCE_DIR}'],
|
||||||
|
env=childenv)
|
||||||
|
--
|
||||||
|
2.13.4
|
||||||
|
|
79
libdnf.spec
79
libdnf.spec
@ -16,17 +16,21 @@
|
|||||||
%bcond_with rhsm
|
%bcond_with rhsm
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%bcond_without python2
|
||||||
|
%bcond_without platform_python
|
||||||
|
|
||||||
%global _cmake_opts \\\
|
%global _cmake_opts \\\
|
||||||
-DENABLE_RHSM_SUPPORT=%{?with_rhsm:ON}%{!?with_rhsm:OFF} \\\
|
-DENABLE_RHSM_SUPPORT=%{?with_rhsm:ON}%{!?with_rhsm:OFF} \\\
|
||||||
%{nil}
|
%{nil}
|
||||||
|
|
||||||
Name: libdnf
|
Name: libdnf
|
||||||
Version: 0.9.3
|
Version: 0.9.3
|
||||||
Release: 6%{?dist}
|
Release: 7%{?dist}
|
||||||
Summary: Library providing simplified C and Python API to libsolv
|
Summary: Library providing simplified C and Python API to libsolv
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://github.com/rpm-software-management/libdnf
|
URL: https://github.com/rpm-software-management/libdnf
|
||||||
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Patch0: 0001-Use-python-m-nose-instead-of-nosetests-python_versio.patch
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
@ -57,6 +61,7 @@ Requires: libsolv-devel%{?_isa} >= %{libsolv_version}
|
|||||||
%description devel
|
%description devel
|
||||||
Development files for %{name}.
|
Development files for %{name}.
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
%package -n python2-hawkey
|
%package -n python2-hawkey
|
||||||
Summary: Python 2 bindings for the hawkey library
|
Summary: Python 2 bindings for the hawkey library
|
||||||
%{?python_provide:%python_provide python2-hawkey}
|
%{?python_provide:%python_provide python2-hawkey}
|
||||||
@ -74,11 +79,11 @@ Conflicts: python-dnf < %{dnf_conflict}
|
|||||||
|
|
||||||
%description -n python2-hawkey
|
%description -n python2-hawkey
|
||||||
Python 2 bindings for the hawkey library.
|
Python 2 bindings for the hawkey library.
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%package -n python3-hawkey
|
%package -n python3-hawkey
|
||||||
Summary: Python 3 bindings for the hawkey library
|
Summary: Python 3 bindings for the hawkey library
|
||||||
%{?system_python_abi}
|
|
||||||
%{?python_provide:%python_provide python3-hawkey}
|
%{?python_provide:%python_provide python3-hawkey}
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-nose
|
BuildRequires: python3-nose
|
||||||
@ -91,18 +96,40 @@ Conflicts: python3-dnf < %{dnf_conflict}
|
|||||||
Python 3 bindings for the hawkey library.
|
Python 3 bindings for the hawkey library.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with platform_python}
|
||||||
|
%package -n platform-python-hawkey
|
||||||
|
Summary: Platform Python bindings for the hawkey library
|
||||||
|
BuildRequires: platform-python-devel
|
||||||
|
BuildRequires: platform-python-nose
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
# Fix problem with hawkey - dnf version incompatibility
|
||||||
|
# Can be deleted for distros where only platform-python-dnf >= 2.0.0
|
||||||
|
Conflicts: platform-python-dnf < %{dnf_conflict}
|
||||||
|
|
||||||
|
%description -n platform-python-hawkey
|
||||||
|
Platform Python bindings for the hawkey library.
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup
|
%autosetup -p1
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
mkdir build-py2
|
mkdir build-py2
|
||||||
|
%endif
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
mkdir build-py3
|
mkdir build-py3
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with platform_python}
|
||||||
|
mkdir build-platform_python
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%if %{with python2}
|
||||||
pushd build-py2
|
pushd build-py2
|
||||||
%cmake -DWITH_MAN=OFF ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts}
|
%cmake -DWITH_MAN=OFF ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts}
|
||||||
%make_build
|
%make_build
|
||||||
popd
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
pushd build-py3
|
pushd build-py3
|
||||||
@ -111,6 +138,22 @@ pushd build-py3
|
|||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with platform_python}
|
||||||
|
pushd build-platform_python
|
||||||
|
export python_so=%{_libdir}/`%{__platform_python} -c 'import sysconfig; print(sysconfig.get_config_var("LDLIBRARY"))'`
|
||||||
|
export python_include=`%{__platform_python} -c 'import sysconfig; print(sysconfig.get_path("include"))'`
|
||||||
|
%cmake \
|
||||||
|
-DPYTHON_EXECUTABLE:FILEPATH=%{__platform_python} \
|
||||||
|
-DPYTHON_LIBRARY=$python_so \
|
||||||
|
-DPYTHON_INCLUDE_DIR=$python_include \
|
||||||
|
-DPYTHON_DESIRED:str=3 \
|
||||||
|
-DWITH_GIR=1 \
|
||||||
|
-DWITH_MAN=0 \
|
||||||
|
-Dgtkdoc=0 ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts}
|
||||||
|
%make_build
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
if [ "$(id -u)" == "0" ] ; then
|
if [ "$(id -u)" == "0" ] ; then
|
||||||
cat <<ERROR 1>&2
|
cat <<ERROR 1>&2
|
||||||
@ -119,9 +162,12 @@ Please build the package as non-root user.
|
|||||||
ERROR
|
ERROR
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
%if %{with python2}
|
||||||
pushd build-py2
|
pushd build-py2
|
||||||
make ARGS="-V" test
|
make ARGS="-V" test
|
||||||
popd
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
# Run just the Python tests, not all of them, since
|
# Run just the Python tests, not all of them, since
|
||||||
# we have coverage of the core from the first build
|
# we have coverage of the core from the first build
|
||||||
@ -130,16 +176,33 @@ pushd build-py3/python/hawkey/tests
|
|||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with platform_python}
|
||||||
|
# Run just the Python tests, not all of them, since
|
||||||
|
# we have coverage of the core from the first build
|
||||||
|
pushd build-platform_python/python/hawkey/tests
|
||||||
|
make ARGS="-V" test
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
%if %{with python2}
|
||||||
pushd build-py2
|
pushd build-py2
|
||||||
%make_install
|
%make_install
|
||||||
popd
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
pushd build-py3
|
pushd build-py3
|
||||||
%make_install
|
%make_install
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with platform_python}
|
||||||
|
pushd build-platform_python
|
||||||
|
%make_install
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
@ -156,15 +219,25 @@ popd
|
|||||||
%{_includedir}/%{name}/
|
%{_includedir}/%{name}/
|
||||||
%{_datadir}/gir-1.0/Dnf-*.gir
|
%{_datadir}/gir-1.0/Dnf-*.gir
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
%files -n python2-hawkey
|
%files -n python2-hawkey
|
||||||
%{python2_sitearch}/hawkey/
|
%{python2_sitearch}/hawkey/
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%files -n python3-hawkey
|
%files -n python3-hawkey
|
||||||
%{python3_sitearch}/hawkey/
|
%{python3_sitearch}/hawkey/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with platform_python}
|
||||||
|
%files -n platform-python-hawkey
|
||||||
|
%{platform_python_sitearch}/hawkey/
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 15 2017 Lumír Balhar <lbalhar@redhat.com> - 0.9.3-7
|
||||||
|
- Add platform-python subpackage
|
||||||
|
|
||||||
* Fri Aug 11 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.9.3-6
|
* Fri Aug 11 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.9.3-6
|
||||||
- Rebuilt after RPM update (№ 3)
|
- Rebuilt after RPM update (№ 3)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user