re-organize spec file
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
This commit is contained in:
parent
78b212e337
commit
06911e8404
407
libsolv.spec
407
libsolv.spec
@ -1,61 +1,84 @@
|
|||||||
%{!?ruby_vendorarch: %global ruby_vendorarch %(ruby -r rbconfig -e "puts RbConfig::CONFIG['vendorarchdir'].nil? ? RbConfig::CONFIG['sitearchdir'] : RbConfig::CONFIG['vendorarchdir']")}
|
%global libname solv
|
||||||
%filter_provides_in %{perl_vendorarch}/.*\.so$
|
|
||||||
%filter_provides_in %{python2_sitearch}/.*\.so$
|
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
%bcond_without python3
|
%bcond_without perl_bindings
|
||||||
%filter_provides_in %{python3_sitearch}/.*\.so$
|
%bcond_without ruby_bindings
|
||||||
%global _cmake_opts \\\
|
%bcond_without python_bindings
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \\\
|
%if %{with python_bindings}
|
||||||
-DENABLE_PERL=1 \\\
|
%bcond_without python3
|
||||||
-DENABLE_PYTHON=1 \\\
|
%endif
|
||||||
-DENABLE_RUBY=1 \\\
|
%bcond_without comps
|
||||||
-DUSE_VENDORDIRS=1 \\\
|
%bcond_without appdata
|
||||||
-DFEDORA=1 \\\
|
%bcond_without debian_repo
|
||||||
-DENABLE_DEBIAN=1 \\\
|
%bcond_without arch_repo
|
||||||
-DENABLE_ARCHREPO=1 \\\
|
%bcond_without helix_repo
|
||||||
-DENABLE_LZMA_COMPRESSION=1 \\\
|
%bcond_without multi_symantics
|
||||||
-DMULTI_SEMANTICS=1 \\\
|
%bcond_without complex_deps
|
||||||
-DENABLE_COMPLEX_DEPS=1 \\\
|
|
||||||
%{nil}
|
|
||||||
%else
|
%else
|
||||||
%bcond_with python3
|
%bcond_with perl_bindings
|
||||||
%global _cmake_opts \\\
|
%bcond_with ruby_bindings
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \\\
|
%bcond_with python_bindings
|
||||||
-DFEDORA=1 \\\
|
%if %{with python_bindings}
|
||||||
-DENABLE_LZMA_COMPRESSION=1 \\\
|
%bcond_with python3
|
||||||
%{nil}
|
%endif
|
||||||
|
%bcond_with comps
|
||||||
|
%bcond_with appdata
|
||||||
|
%bcond_with debian_repo
|
||||||
|
%bcond_with arch_repo
|
||||||
|
%bcond_with helix_repo
|
||||||
|
%bcond_with multi_symantics
|
||||||
|
%bcond_with complex_deps
|
||||||
%endif
|
%endif
|
||||||
%filter_provides_in %{ruby_vendorarch}/.*\.so$
|
|
||||||
%filter_setup
|
|
||||||
|
|
||||||
Name: libsolv
|
%global _cmake_opts \\\
|
||||||
Version: 0.6.19
|
-DFEDORA=1 \\\
|
||||||
Release: 2%{?dist}
|
-DENABLE_RPMDB=ON \\\
|
||||||
License: BSD
|
-DENABLE_RPMDB_BYRPMHEADER=ON \\\
|
||||||
Url: https://github.com/openSUSE/libsolv
|
-DENABLE_RPMMD=ON \\\
|
||||||
Source: https://github.com/openSUSE/libsolv/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
%{?with_comps:-DENABLE_COMPS=ON} \\\
|
||||||
Patch0: 0001-ruby-make-compatible-with-ruby-2.2.patch
|
%{?with_appdata:-DENABLE_APPDATA=ON} \\\
|
||||||
Patch1: 0002-Add-repodata_lookup_dirstrarray_uninternalized-metho.patch
|
-DUSE_VENDORDIRS=ON \\\
|
||||||
Patch2: 0003-Do-not-create-a-checksum-hash-when-we-re-not-extendi.patch
|
-DENABLE_LZMA_COMPRESSION=ON \\\
|
||||||
Patch3: 0004-solv_hex2bin-don-t-eat-nibbles.patch
|
-DENABLE_BZIP2_COMPRESSION=ON \\\
|
||||||
Patch4: 0005-Use-less-memory-when-extending-packages.patch
|
%{?with_debian_repo:-DENABLE_DEBIAN=ON} \\\
|
||||||
Patch5: 0006-Fix-comments.patch
|
%{?with_arch_repo:-DENABLE_ARCHREPO=ON} \\\
|
||||||
Patch6: 0007-rpmmd-diskusage-prepend-a-to-the-dir-if-not-already-.patch
|
%{?with_helix_repo:-DENABLE_HELIXREPO=ON} \\\
|
||||||
Patch7: 0008-Split-diskusage-and-fileprovides-code-into-separate-.patch
|
%{?with_multi_symantics:-DMULTI_SYMANTICS=ON} \\\
|
||||||
Patch8: 0009-Make-_Pool_tmpspace-definition-internal.patch
|
%{?with_complex_deps:-DENABLE_COMPLEX_DEPS=1} \\\
|
||||||
Patch9: 0010-Rework-orphan-handling-in-dup-mode.patch
|
%{nil}
|
||||||
|
|
||||||
|
Name: lib%{libname}
|
||||||
|
Version: 0.6.19
|
||||||
|
Release: 3%{?dist}
|
||||||
|
Summary: Package dependency solver
|
||||||
|
|
||||||
|
License: BSD
|
||||||
|
URL: https://github.com/openSUSE/libsolv
|
||||||
|
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Patch0: 0001-ruby-make-compatible-with-ruby-2.2.patch
|
||||||
|
Patch1: 0002-Add-repodata_lookup_dirstrarray_uninternalized-metho.patch
|
||||||
|
Patch2: 0003-Do-not-create-a-checksum-hash-when-we-re-not-extendi.patch
|
||||||
|
Patch3: 0004-solv_hex2bin-don-t-eat-nibbles.patch
|
||||||
|
Patch4: 0005-Use-less-memory-when-extending-packages.patch
|
||||||
|
Patch5: 0006-Fix-comments.patch
|
||||||
|
Patch6: 0007-rpmmd-diskusage-prepend-a-to-the-dir-if-not-already-.patch
|
||||||
|
Patch7: 0008-Split-diskusage-and-fileprovides-code-into-separate-.patch
|
||||||
|
Patch8: 0009-Make-_Pool_tmpspace-definition-internal.patch
|
||||||
|
Patch9: 0010-Rework-orphan-handling-in-dup-mode.patch
|
||||||
|
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: pkgconfig(rpm)
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
BuildRequires: expat-devel
|
||||||
|
# -DFEDORA=1
|
||||||
|
# -DENABLE_RPMDB=ON
|
||||||
|
BuildRequires: libdb-devel
|
||||||
|
# -DENABLE_LZMA_COMPRESSION=ON
|
||||||
|
BuildRequires: xz-devel
|
||||||
|
# -DENABLE_BZIP2_COMPRESSION=ON
|
||||||
|
BuildRequires: bzip2-devel
|
||||||
|
|
||||||
Group: Development/Libraries
|
|
||||||
Summary: Package dependency solver
|
|
||||||
BuildRequires: cmake libdb-devel expat-devel rpm-devel zlib-devel
|
|
||||||
BuildRequires: swig
|
|
||||||
%if 0%{?fedora}
|
|
||||||
BuildRequires: perl perl-devel ruby rubypick rubygems ruby-devel python2-devel
|
|
||||||
%endif
|
|
||||||
%if %{with python3}
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
%endif
|
|
||||||
BuildRequires: xz-devel bzip2-devel
|
|
||||||
%description
|
%description
|
||||||
A free package dependency solver using a satisfiability algorithm. The
|
A free package dependency solver using a satisfiability algorithm. The
|
||||||
library is based on two major, but independent, blocks:
|
library is based on two major, but independent, blocks:
|
||||||
@ -67,173 +90,233 @@ library is based on two major, but independent, blocks:
|
|||||||
resolving package dependencies.
|
resolving package dependencies.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: A new approach to package dependency solving
|
Summary: Development files for %{name}
|
||||||
Group: Development/Libraries
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: libsolv-tools%{?_isa} = %{version}-%{release}
|
Requires: rpm-devel%{?_isa}
|
||||||
Requires: libsolv%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: rpm-devel%{?_isa}
|
|
||||||
Requires: cmake
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Development files for libsolv,
|
Development files for %{name}.
|
||||||
|
|
||||||
%package tools
|
%package tools
|
||||||
Summary: A new approach to package dependency solving
|
Summary: Package dependency solver tools
|
||||||
Group: Development/Libraries
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: gzip bzip2 coreutils
|
# repo2solv dependencies. All of those are used in shell-script.
|
||||||
Requires: libsolv%{?_isa} = %{version}-%{release}
|
Requires: /usr/bin/gzip
|
||||||
|
Requires: /usr/bin/bzip2
|
||||||
|
Requires: /usr/bin/lzma
|
||||||
|
Requires: /usr/bin/xz
|
||||||
|
Requires: /usr/bin/cat
|
||||||
|
Requires: /usr/bin/find
|
||||||
|
|
||||||
%description tools
|
%description tools
|
||||||
Package dependency solver tools.
|
Package dependency solver tools.
|
||||||
|
|
||||||
%package demo
|
%package demo
|
||||||
Summary: Applications demoing the libsolv library
|
Summary: Applications demoing the %{name} library
|
||||||
Group: Development/Libraries
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: curl gnupg2
|
# solv dependencies. Used as execlp() and system()
|
||||||
|
Requires: /usr/bin/curl
|
||||||
|
Requires: /usr/bin/gpg2
|
||||||
|
|
||||||
%description demo
|
%description demo
|
||||||
Applications demoing the libsolv library.
|
Applications demoing the %{name} library.
|
||||||
|
|
||||||
%if 0%{?fedora}
|
%if %{with perl_bindings}
|
||||||
%package -n ruby-solv
|
%package -n perl-%{libname}
|
||||||
Summary: Ruby bindings for the libsolv library
|
Summary: Perl bindings for the %{name} library
|
||||||
Group: Development/Languages
|
BuildRequires: swig
|
||||||
Requires: libsolv%{?_isa} = %{version}-%{release}
|
BuildRequires: perl-devel
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description -n ruby-solv
|
%description -n perl-%{libname}
|
||||||
Ruby bindings for sat solver.
|
Perl bindings for the %{name} library.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?fedora}
|
%if %{with ruby_bindings}
|
||||||
%package -n python2-solv
|
%package -n ruby-%{libname}
|
||||||
Summary: Python bindings for the libsolv library
|
Summary: Ruby bindings for the %{name} library
|
||||||
Group: Development/Languages
|
BuildRequires: swig
|
||||||
Requires: python2
|
BuildRequires: ruby-devel
|
||||||
Requires: libsolv%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
%{?python_provide:%python_provide python2-solv}
|
|
||||||
|
|
||||||
%description -n python2-solv
|
%description -n ruby-%{libname}
|
||||||
Python bindings for sat solver.
|
Ruby bindings for the %{name} library.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with python_bindings}
|
||||||
|
%package -n python2-%{libname}
|
||||||
|
Summary: Python bindings for the %{name} library
|
||||||
|
%{?python_provide:%python_provide python2-%{libname}}
|
||||||
|
BuildRequires: swig
|
||||||
|
BuildRequires: python2-devel
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python2-%{libname}
|
||||||
|
Python bindings for the %{name} library.
|
||||||
|
|
||||||
|
Python 2 version.
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%package -n python3-solv
|
%package -n python3-%{libname}
|
||||||
Summary: Python 3 bindings for the libsolv library
|
Summary: Python bindings for the %{name} library
|
||||||
Group: Development/Languages
|
%{?python_provide:%python_provide python3-%{libname}}
|
||||||
Requires: python3
|
BuildRequires: swig
|
||||||
Requires: libsolv%{?_isa} = %{version}-%{release}
|
BuildRequires: python3-devel
|
||||||
%{?python_provide:%python_provide python3-solv}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description -n python3-solv
|
%description -n python3-%{libname}
|
||||||
Python 3 bindings for sat solver.
|
Python bindings for the %{name} library.
|
||||||
|
|
||||||
|
Python 3 version.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?fedora}
|
|
||||||
%package -n perl-solv
|
|
||||||
Summary: Perl bindings for the libsolv library
|
|
||||||
Group: Development/Languages
|
|
||||||
Requires: perl
|
|
||||||
Requires: libsolv%{?_isa} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description -n perl-solv
|
|
||||||
Perl bindings for sat solver.
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
|
mkdir build build-py2 build-py3
|
||||||
%if %{with python3}
|
|
||||||
rm -rf %{py3dir}
|
|
||||||
cp -a . %{py3dir}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake %_cmake_opts \
|
pushd build
|
||||||
-DPythonLibs_FIND_VERSION=2 -DPythonLibs_FIND_VERSION_MAJOR=2 \
|
%cmake %_cmake_opts ../ \
|
||||||
-DENABLE_BZIP2_COMPRESSION=1
|
%{?with_perl_bindings:-DENABLE_PERL=ON} \
|
||||||
make %{?_smp_mflags}
|
%{?with_ruby_bindings:-DENABLE_RUBY=ON} \
|
||||||
|
%{nil}
|
||||||
|
%make_build
|
||||||
|
popd
|
||||||
|
|
||||||
|
%if %{with python_bindings}
|
||||||
|
pushd build-py2
|
||||||
|
%cmake %_cmake_opts ../ \
|
||||||
|
-DENABLE_PYTHON=ON \
|
||||||
|
-DPythonLibs_FIND_VERSION=2 \
|
||||||
|
-DPythonLibs_FIND_VERSION_MAJOR=2 \
|
||||||
|
%{nil}
|
||||||
|
make %{?_smp_mflags} bindings_python
|
||||||
|
popd
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
pushd %{py3dir}/
|
pushd build-py3
|
||||||
%cmake %_cmake_opts -DENABLE_PYTHON=1 \
|
%cmake %_cmake_opts ../ \
|
||||||
-DPythonLibs_FIND_VERSION=3 -DPythonLibs_FIND_VERSION_MAJOR=3 \
|
-DENABLE_PYTHON=ON \
|
||||||
-DENABLE_BZIP2_COMPRESSION=1
|
-DPythonLibs_FIND_VERSION=3 \
|
||||||
make %{?_smp_mflags}
|
-DPythonLibs_FIND_VERSION_MAJOR=3 \
|
||||||
|
%{nil}
|
||||||
|
make %{?_smp_mflags} bindings_python
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
pushd build
|
||||||
|
%make_install
|
||||||
|
popd
|
||||||
|
|
||||||
|
%if %{with python_bindings}
|
||||||
|
pushd build-py2
|
||||||
|
%make_install
|
||||||
|
popd
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
pushd %{py3dir}/
|
pushd build-py3
|
||||||
%make_install
|
%make_install
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
mv %{buildroot}%{_bindir}/repo2solv.sh %{buildroot}%{_bindir}/repo2solv
|
||||||
|
|
||||||
%check
|
%check
|
||||||
make ARGS="-V" test
|
pushd build
|
||||||
|
ctest -VV
|
||||||
|
popd
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc LICENSE* README BUGS
|
%license LICENSE*
|
||||||
%_libdir/libsolv.so.*
|
%doc README
|
||||||
%_libdir/libsolvext.so.*
|
%{_libdir}/%{name}.so.*
|
||||||
|
%{_libdir}/%{name}ext.so.*
|
||||||
%files tools
|
|
||||||
%if 0%{?fedora}
|
|
||||||
%_bindir/archpkgs2solv
|
|
||||||
%_bindir/archrepo2solv
|
|
||||||
%_bindir/deb2solv
|
|
||||||
%endif
|
|
||||||
%_bindir/deltainfoxml2solv
|
|
||||||
%_bindir/dumpsolv
|
|
||||||
%_bindir/installcheck
|
|
||||||
%_bindir/mergesolv
|
|
||||||
%_bindir/repo2solv.sh
|
|
||||||
%_bindir/repomdxml2solv
|
|
||||||
%_bindir/rpmdb2solv
|
|
||||||
%_bindir/rpmmd2solv
|
|
||||||
%_bindir/rpms2solv
|
|
||||||
%_bindir/testsolv
|
|
||||||
%_bindir/updateinfoxml2solv
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc examples/solv/
|
%{_libdir}/%{name}.so
|
||||||
%_libdir/libsolv.so
|
%{_libdir}/%{name}ext.so
|
||||||
%_libdir/libsolvext.so
|
%{_includedir}/%{libname}/
|
||||||
%_includedir/solv
|
|
||||||
%_datadir/cmake/Modules/FindLibSolv.cmake
|
|
||||||
%{_mandir}/man?/*
|
|
||||||
%{_libdir}/pkgconfig/%{name}.pc
|
%{_libdir}/pkgconfig/%{name}.pc
|
||||||
|
# Own directory because we don't want to depend on cmake
|
||||||
|
%dir %{_datadir}/cmake/Modules/
|
||||||
|
%{_datadir}/cmake/Modules/FindLibSolv.cmake
|
||||||
|
%{_mandir}/man3/%{name}*.3*
|
||||||
|
|
||||||
|
# Some small macro to list tools with mans
|
||||||
|
%global solv_tool() \
|
||||||
|
%{_bindir}/%{1}\
|
||||||
|
%{_mandir}/man1/%{1}.1*
|
||||||
|
|
||||||
|
%files tools
|
||||||
|
%solv_tool deltainfoxml2solv
|
||||||
|
%solv_tool dumpsolv
|
||||||
|
%solv_tool installcheck
|
||||||
|
%solv_tool mergesolv
|
||||||
|
%solv_tool repomdxml2solv
|
||||||
|
%solv_tool rpmdb2solv
|
||||||
|
%solv_tool rpmmd2solv
|
||||||
|
%solv_tool rpms2solv
|
||||||
|
%solv_tool testsolv
|
||||||
|
%solv_tool updateinfoxml2solv
|
||||||
|
%if %{with comps}
|
||||||
|
%solv_tool comps2solv
|
||||||
|
%endif
|
||||||
|
%if %{with appdata}
|
||||||
|
%solv_tool appdata2solv
|
||||||
|
%endif
|
||||||
|
%if %{with debian_repo}
|
||||||
|
%solv_tool deb2solv
|
||||||
|
%endif
|
||||||
|
%if %{with arch_repo}
|
||||||
|
%solv_tool archpkgs2solv
|
||||||
|
%solv_tool archrepo2solv
|
||||||
|
%endif
|
||||||
|
%if %{with helix_repo}
|
||||||
|
%solv_tool helix2solv
|
||||||
|
%endif
|
||||||
|
%{_bindir}/repo2solv
|
||||||
|
|
||||||
%files demo
|
%files demo
|
||||||
%_bindir/solv
|
%{_bindir}/solv
|
||||||
|
|
||||||
%if 0%{?fedora}
|
%if %{with perl_bindings}
|
||||||
%files -n perl-solv
|
%files -n perl-%{libname}
|
||||||
%doc examples/p5solv
|
%{perl_vendorarch}/%{libname}.pm
|
||||||
%{perl_vendorarch}/*
|
%{perl_vendorarch}/%{libname}.so
|
||||||
|
|
||||||
%files -n ruby-solv
|
|
||||||
%doc examples/rbsolv
|
|
||||||
%{ruby_vendorarch}/*
|
|
||||||
|
|
||||||
%files -n python2-solv
|
|
||||||
%doc examples/pysolv
|
|
||||||
%{python2_sitearch}/*
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with ruby_bindings}
|
||||||
|
%files -n ruby-%{libname}
|
||||||
|
%{ruby_vendorarchdir}/%{libname}.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with python_bindings}
|
||||||
|
%files -n python2-%{libname}
|
||||||
|
%{python2_sitearch}/_%{libname}.so
|
||||||
|
%{python2_sitearch}/%{libname}.py*
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%files -n python3-solv
|
%files -n python3-%{libname}
|
||||||
%doc examples/pysolv
|
%{python3_sitearch}/_%{libname}.so
|
||||||
%{python3_sitearch}/*
|
%{python3_sitearch}/%{libname}.py
|
||||||
|
%{python3_sitearch}/__pycache__/%{libname}.*
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Apr 05 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.6.19-3
|
||||||
|
- Reorganize spec file
|
||||||
|
- Enable helixrepo feature
|
||||||
|
- enable appdata feature
|
||||||
|
|
||||||
* Tue Mar 8 2016 Jaroslav Mracek <jmracek@redhat.com> - 0.6.19-2
|
* Tue Mar 8 2016 Jaroslav Mracek <jmracek@redhat.com> - 0.6.19-2
|
||||||
- Apply 9 patches from upstream
|
- Apply 9 patches from upstream
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user