From 10b3abe36addb378bc7f4eb170eb083f017b3bd7 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 29 Sep 2016 10:21:59 +0200 Subject: [PATCH] Initial import Signed-off-by: Igor Gnatenko --- .gitignore | 1 + libdnf.spec | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 160 insertions(+) create mode 100644 libdnf.spec diff --git a/.gitignore b/.gitignore index e69de29..056e77d 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libdnf-179c0a6.tar.gz diff --git a/libdnf.spec b/libdnf.spec new file mode 100644 index 0000000..1eb0fa3 --- /dev/null +++ b/libdnf.spec @@ -0,0 +1,158 @@ +%global commit 179c0a64fdc73d491f9604eebc7966ea9d4d613f +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%global libsolv_version 0.6.21-1 +%global dnf_conflict 2.0.0 + +%bcond_with valgrind + +# Do not build bindings for python3 for RHEL <= 7 +%if 0%{?rhel} && 0%{?rhel} <= 7 +%bcond_with python3 +%else +%bcond_without python3 +%endif + +%global oldname libhif + +Name: libdnf +Version: 0.7.0 +Release: 0.1git%{shortcommit}%{?dist} +Summary: Library providing simplified C and Python API to libsolv +License: LGPLv2+ +URL: https://github.com/rpm-software-management/%{oldname} +Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: libsolv-devel >= %{libsolv_version} +BuildRequires: pkgconfig(librepo) +BuildRequires: pkgconfig(check) +%if %{with valgrind} +BuildRequires: valgrind +%endif +BuildRequires: pkgconfig(gio-unix-2.0) >= 2.44.0 +BuildRequires: pkgconfig(gtk-doc) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: rpm-devel >= 4.11.0 + +Requires: libsolv%{?_isa} >= %{libsolv_version} + +%description +A Library providing simplified C and Python API to libsolv. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: libsolv-devel%{?_isa} >= %{libsolv_version} +BuildRequires: python-nose + +%description devel +Development files for %{name}. + +%package -n python2-hawkey +Summary: Python 2 bindings for the hawkey library +%{?python_provide:%python_provide python2-hawkey} +BuildRequires: python2-devel +BuildRequires: python-nose +Requires: %{name}%{?_isa} = %{version}-%{release} +# Fix problem with hawkey - dnf version incompatibility +# Can be deleted for distros where only python2-dnf >= 2.0.0 +Conflicts: python2-dnf < %{dnf_conflict} +Conflicts: python-dnf < %{dnf_conflict} + +%description -n python2-hawkey +Python 2 bindings for the hawkey library. + +%if %{with python3} +%package -n python3-hawkey +Summary: Python 3 bindings for the hawkey library +%{?system_python_abi} +%{?python_provide:%python_provide python3-hawkey} +BuildRequires: python3-devel +BuildRequires: python3-nose +Requires: %{name}%{?_isa} = %{version}-%{release} +# Fix problem with hawkey - dnf version incompatibility +# Can be deleted for distros where only python3-dnf >= 2.0.0 +Conflicts: python3-dnf < %{dnf_conflict} + +%description -n python3-hawkey +Python 3 bindings for the hawkey library. +%endif + +%prep +%autosetup -n %{oldname}-%{commit} +mkdir build-py2 +%if %{with python3} +mkdir build-py3 +%endif + +%build +pushd build-py2 + %cmake -DWITH_MAN=OFF ../ %{!?_with_valgrind:-DDISABLE_VALGRIND=1} + %make_build +popd + +%if %{with python3} +pushd build-py3 + %cmake -DPYTHON_DESIRED:str=3 -DWITH_GIR=0 -DWITH_MAN=0 -Dgtkdoc=0 ../ %{!?_with_valgrind:-DDISABLE_VALGRIND=1} + %make_build +popd +%endif + +%check +if [ "$(id -u)" == "0" ] ; then + cat <&2 +Package tests cannot be run under superuser account. +Please build the package as non-root user. +ERROR + exit 1 +fi +pushd build-py2 + make ARGS="-V" test +popd +%if %{with python3} +# Run just the Python tests, not all of them, since +# we have coverage of the core from the first build +pushd build-py3/python/hawkey/tests + make ARGS="-V" test +popd +%endif + +%install +pushd build-py2 + %make_install +popd +%if %{with python3} +pushd build-py3 + %make_install +popd +%endif + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%license COPYING +%doc README.md AUTHORS NEWS +%{_libdir}/%{name}.so.* +%{_libdir}/girepository-1.0/Dnf-*.typelib + +%files devel +%doc %{_datadir}/gtk-doc/html/%{name}/ +%{_libdir}/%{name}.so +%{_libdir}/pkgconfig/%{name}.pc +%{_includedir}/%{name}/ +%{_datadir}/gir-1.0/Dnf-*.gir + +%files -n python2-hawkey +%{python2_sitearch}/hawkey/ + +%if %{with python3} +%files -n python3-hawkey +%{python3_sitearch}/hawkey/ +%endif + +%changelog +* Thu Sep 29 2016 Igor Gnatenko - 0.7.0-0.1git179c0a6 +- Initial package diff --git a/sources b/sources index e69de29..3920e6f 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +210c8ef1ce79b1ca1702a08d8b823d68 libdnf-179c0a6.tar.gz