libsolv/libsolv.spec
2020-08-04 18:53:10 +08:00

170 lines
5.2 KiB
RPMSpec

%bcond_without perl_bindings
%bcond_without ruby_bindings
%bcond_without python3_bindings
%bcond_without appdata
%bcond_without comps
%bcond_without complex_deps
%bcond_without helix_repo
%bcond_without suse_repo
%bcond_without debian_repo
%bcond_without arch_repo
%bcond_without multi_semantics
%bcond_with zchunk
%bcond_without zstd
Name: libsolv
Version: 0.7.14
Release: 2
Summary: Package dependency solver
License: BSD
URL: https://github.com/openSUSE/libsolv
Source: https://github.com/openSUSE/libsolv/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: cmake gcc-c++ ninja-build pkgconfig(rpm) zlib-devel
BuildRequires: libxml2-devel xz-devel bzip2-devel libzstd-devel
Requires: %{_bindir}/find %{_bindir}/curl %{_bindir}/gpg2
Provides: libsolv-tools libsolv-demo
Obsoletes: libsolv-tools < %{version}-%{release}
Obsoletes: libsolv-demo < %{version}-%{release}
Requires: rpm
%description
A free package dependency solver using a satisfiability algorithm. The
library is based on two major, but independent, blocks:
- Using a dictionary approach to store and retrieve package
and dependency information.
- Using satisfiability, a well known and researched topic, for
resolving package dependencies.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release} rpm-devel
%description devel
Development files for %{name}.
%package -n perl-solv
Summary: Perl bindings for the %{name} library
BuildRequires: swig perl-devel perl-generators
Requires: %{name} = %{version}-%{release}
%description -n perl-solv
Perl bindings for the %{name} library.
%package -n ruby-solv
Summary: Ruby bindings for the %{name} library
BuildRequires: swig ruby-devel
Requires: %{name} = %{version}-%{release}
%description -n ruby-solv
Ruby bindings for the %{name} library.
%package -n python3-solv
Summary: Python bindings for the %{name} library
%{?python_provide:%python_provide python3-solv}
BuildRequires: swig python3-devel
Requires: %{name} = %{version}-%{release}
%description -n python3-solv
Python bindings for the %{name} library.
Python 3 version.
%package_help
%prep
%autosetup -p1
%build
%cmake . -B"%{_vpath_builddir}" -GNinja \
-DFEDORA=1 \
-DENABLE_RPMDB=ON \
-DENABLE_RPMDB_BYRPMHEADER=ON \
-DENABLE_RPMDB_LIBRPM=ON \
-DENABLE_RPMPKG_LIBRPM=ON \
-DENABLE_RPMMD=ON \
%{?with_comps:-DENABLE_COMPS=ON} \
%{?with_appdata:-DENABLE_APPDATA=ON} \
-DUSE_VENDORDIRS=ON \
-DWITH_LIBXML2=ON \
-DENABLE_LZMA_COMPRESSION=ON \
-DENABLE_BZIP2_COMPRESSION=ON \
%{?with_zstd:-DENABLE_ZSTD_COMPRESSION=ON} \
%if %{with zchunk}
-DENABLE_ZCHUNK_COMPRESSION=ON \
-DWITH_SYSTEM_ZCHUNK=ON \
%endif
%{?with_helix_repo:-DENABLE_HELIXREPO=ON} \
%{?with_suse_repo:-DENABLE_SUSEREPO=ON} \
%{?with_debian_repo:-DENABLE_DEBIAN=ON} \
%{?with_arch_repo:-DENABLE_ARCHREPO=ON} \
%{?with_multi_semantics:-DMULTI_SEMANTICS=ON} \
%{?with_complex_deps:-DENABLE_COMPLEX_DEPS=1} \
%{?with_perl_bindings:-DENABLE_PERL=ON} \
%{?with_ruby_bindings:-DENABLE_RUBY=ON} \
%if %{with python3_bindings}
-DENABLE_PYTHON3=ON \
-DPYTHON_EXECUTABLE=%{__python3} \
%endif
%{nil}
%ninja_build -C "%{_vpath_builddir}"
%install
%ninja_install -C "%{_vpath_builddir}"
%check
%ninja_test -C "%{_vpath_builddir}"
%if %{undefined ldconfig_scriptlets}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%else
%ldconfig_scriptlets
%endif
%files
%license LICENSE*
%{_libdir}/%{name}.so.*
%{_libdir}/%{name}ext.so.*
%{_bindir}/{solv,dumpsolv,installcheck,mergesolv,rpmdb2solv}
%{_bindir}/{rpms2solv,testsolv,repo2solv,comps2solv,appdata2solv,deb2solv}
%{_bindir}/{archpkgs2solv,archrepo2solv,helix2solv,repomdxml2solv}
%{_bindir}/{deltainfoxml2solv,updateinfoxml2solv,rpmmd2solv,susetags2solv}
%files devel
%{_libdir}/%{name}.so
%{_libdir}/%{name}ext.so
%{_includedir}/solv/
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{name}ext.pc
%dir %{_datadir}/cmake/Modules/
%{_datadir}/cmake/Modules/FindLibSolv.cmake
%files -n perl-solv
%{perl_vendorarch}/solv.pm
%{perl_vendorarch}/solv.so
%files -n ruby-solv
%{ruby_vendorarchdir}/solv.so
%files -n python3-solv
%{python3_sitearch}/_solv.so
%{python3_sitearch}/solv.py
%{python3_sitearch}/__pycache__/solv.*
%files help
%doc README
%{_mandir}/man1/*
%{_mandir}/man3/%{name}*.3*
%changelog
* Tue Aug 4 2020 linwei<linwei54@huawei.com> - 0.7.14-2
- modify spec for requires
* Wed Jul 29 2020 linwei<linwei54@huawei.com> - 0.7.14-1
- Update libsolv to 0.7.14
* Tue Jan 7 2020 openEuler Buildteam <buildteam@openeuler.org> - 0.7.7-2
- Pakcage init