X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Flibzypp.git;a=blobdiff_plain;f=libzypp.spec.cmake;h=b149f0cfb63da0c6810cf0845979cbae21a476f4;hp=80583897c37f9f820db5b1ad1ebba9920d44183b;hb=HEAD;hpb=0eb707d708643b1ae67a250ecc856b708987250d diff --git a/libzypp.spec.cmake b/libzypp.spec.cmake index 8058389..cf444d5 100644 --- a/libzypp.spec.cmake +++ b/libzypp.spec.cmake @@ -1,112 +1,129 @@ # # spec file for package libzypp # -# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. -# This file and all modifications and additions to the pristine -# package are under the same license as the package itself. +# Copyright (c) 2005-2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild +%if 0%{?is_opensuse} && (0%{?sle_version} >= 150100 || 0%{?suse_version} > 1500) +%bcond_without zchunk +%else +%bcond_with zchunk +%endif -Name: @PACKAGE@ -License: GPLv2 -Group: System/Packages -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Summary: Package, Patch, Pattern, and Product Management +%bcond_without mediabackend_tests + +Name: libzypp Version: @VERSION@ Release: 0 +License: GPL-2.0+ +Url: https://github.com/openSUSE/libzypp +Summary: Library for package, patch, pattern and product management +Group: System/Packages +BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: %{name}-%{version}.tar.bz2 Source1: %{name}-rpmlintrc Provides: yast2-packagemanager Obsoletes: yast2-packagemanager + +# Features we provide (update doc/autoinclude/FeatureTest.doc): +Provides: libzypp(plugin) = 0.1 +Provides: libzypp(plugin:appdata) = 0 +Provides: libzypp(plugin:commit) = 1 +Provides: libzypp(plugin:services) = 1 +Provides: libzypp(plugin:system) = 1 +Provides: libzypp(plugin:urlresolver) = 0 +Provides: libzypp(repovarexpand) = 1.1 + %if 0%{?suse_version} Recommends: logrotate +# lsof is used for 'zypper ps': +Recommends: lsof %endif -BuildRequires: cmake +BuildRequires: cmake >= 3.1 BuildRequires: openssl-devel -%if 0%{?suse_version} >= 1130 -BuildRequires: libudev-devel +BuildRequires: pkgconfig(libudev) +%if 0%{?suse_version} >= 1330 +BuildRequires: libboost_headers-devel +BuildRequires: libboost_program_options-devel +BuildRequires: libboost_test-devel +BuildRequires: libboost_thread-devel %else -BuildRequires: hal-devel -%endif BuildRequires: boost-devel +%endif BuildRequires: dejagnu BuildRequires: doxygen -BuildRequires: gcc-c++ +BuildRequires: gcc-c++ >= 7 BuildRequires: gettext-devel BuildRequires: graphviz BuildRequires: libxml2-devel +%if 0%{?suse_version} != 1110 +# No libproxy on SLES BuildRequires: libproxy-devel +%endif -BuildRequires: libsatsolver-devel >= 0.14.17 +%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} +BuildRequires: pkgconfig +%else +BuildRequires: pkg-config +%endif + +BuildRequires: libsolv-devel >= 0.7.11 %if 0%{?suse_version} >= 1100 -%requires_eq satsolver-tools +BuildRequires: libsolv-tools +%requires_eq libsolv-tools %else -Requires: satsolver-tools +Requires: libsolv-tools %endif -# required for testsuite, webrick -BuildRequires: ruby +BuildRequires: glib2-devel +BuildRequires: libsigc++2-devel -%if 0%{?suse_version} -BuildRequires: libexpat-devel -%else -BuildRequires: expat-devel +# required for testsuite +%if %{with mediabackend_tests} +BuildRequires: nginx %endif +Requires: rpm + %if 0%{?suse_version} -BuildRequires: rpm-devel -Requires: /usr/bin/uuidgen -%if 0%{?suse_version} > 1020 -BuildRequires: hicolor-icon-theme -%endif +BuildRequires: rpm-devel > 4.4 %endif -%if 0%{?fedora_version} -BuildRequires: glib2-devel +%if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600 BuildRequires: popt-devel -BuildRequires: rpm-devel +BuildRequires: rpm-devel > 4.4 %endif %if 0%{?mandriva_version} -BuildRequires: glib2-devel -BuildRequires: librpm-devel -# uuidgen -Requires: e2fsprogs +BuildRequires: librpm-devel > 4.4 %endif %if 0%{?suse_version} -Requires: gpg2 -%else -Requires: gnupg2 +BuildRequires: libgpgme-devel +#testsuite +%if %{with mediabackend_tests} +BuildRequires: FastCGI-devel %endif - -%define min_aria_version 1.1.2 -# --------------------------------------------------------------- -%if 0%{?suse_version} >= 1110 -# (almost) common codebase, but on SLES11-SP1 (according to Rudi -# suse_version == 1110) we have a patched libcurl-7.19.0-11.22, -# and no aria2. Furthermore SLE may use it's own set of .po files -# from po/sle-zypp-po.tar.bz2. - -# this check should use 7.19.0 if SLE and 7.19.4 if not (backported -# CURLOPT_REDIR_PROTOCOLS) -%define min_curl_version 7.19.0-11.22 -#%define min_curl_version 7.19.4 -%define use_translation_set sle-zypp -# No requirement, but as we'd use it in case it is present, -# check for a sufficient version: %else -# Code10 still has this define -%if 0%{?sles_version} -%define use_translation_set sle-zypp +BuildRequires: gpgme-devel +#testsuite +%if %{with mediabackend_tests} +BuildRequires: fcgi-devel %endif %endif -# --------------------------------------------------------------- - +%define min_curl_version 7.19.4 %if 0%{?suse_version} %if 0%{?suse_version} >= 1100 # Code11+ @@ -122,72 +139,86 @@ BuildRequires: libcurl-devel >= %{min_curl_version} Requires: libcurl >= %{min_curl_version} %endif +# required for documentation +%if 0%{?suse_version} >= 1330 +BuildRequires: rubygem(asciidoctor) +%else +BuildRequires: asciidoc +BuildRequires: libxslt-tools +%endif + +%if %{with zchunk} +BuildRequires: libzck-devel +%endif + %description -Package, Patch, Pattern, and Product Management - -Authors: --------- - Michael Andres - Jiri Srain - Stefan Schubert - Duncan Mac-Vicar - Klaus Kaempf - Marius Tomaschewski - Stanislav Visnovsky - Ladislav Slezak +libzypp is the package management library that powers applications +like YaST, zypper and the openSUSE/SLE implementation of PackageKit. + +libzypp provides functionality for a package manager: + + * An API for package repository management, supporting most common + repository metadata formats and signed repositories. + * An API for solving packages, products, patterns and patches + (installation, removal, update and distribution upgrade + operations) dependencies, with additional features like locking. + * An API for commiting the transaction to the system over a rpm + target. Supporting deltarpm calculation, media changing and + installation order calculation. + * An API for browsing available and installed software, with some + facilities for programs with an user interface. %package devel -Requires: libzypp = %{version} +Summary: Header files for libzypp, a library for package management +Group: Development/Libraries/C and C++ +Provides: yast2-packagemanager-devel +Obsoletes: yast2-packagemanager-devel +%if 0%{?suse_version} >= 1330 +Requires: libboost_headers-devel +Requires: libboost_program_options-devel +Requires: libboost_test-devel +Requires: libboost_thread-devel +%else +Requires: boost-devel +%endif +Requires: bzip2 +Requires: glibc-devel +Requires: libstdc++-devel Requires: libxml2-devel +Requires: libzypp = %{version} Requires: openssl-devel -Requires: rpm-devel -Requires: glibc-devel -Requires: zlib-devel -Requires: bzip2 Requires: popt-devel -Requires: boost-devel -Requires: libstdc++-devel -%if 0%{?suse_version} >= 1130 +Requires: rpm-devel > 4.4 +Requires: zlib-devel Requires: libudev-devel -%else -Requires: hal-devel -%endif -Requires: cmake %if 0%{?suse_version} %if 0%{?suse_version} >= 1100 # Code11+ -Requires: libcurl-devel >= %{min_curl_version} +Requires: libcurl-devel >= %{min_curl_version} %else # Code10 -Requires: curl-devel +Requires: curl-devel %endif %else # Other distros (Fedora) -Requires: libcurl-devel >= %{min_curl_version} +Requires: libcurl-devel >= %{min_curl_version} %endif %if 0%{?suse_version} >= 1100 -%requires_ge libsatsolver-devel +%requires_ge libsolv-devel %else -Requires: libsatsolver-devel +Requires: libsolv-devel %endif -Summary: Package, Patch, Pattern, and Product Management - developers files -Group: System/Packages -Provides: yast2-packagemanager-devel -Obsoletes: yast2-packagemanager-devel -%description -n libzypp-devel -Package, Patch, Pattern, and Product Management - developers files +%description devel +Development files for libzypp, a library for package, patch, pattern +and product management. -Authors: --------- - Michael Andres - Jiri Srain - Stefan Schubert - Duncan Mac-Vicar - Klaus Kaempf - Marius Tomaschewski - Stanislav Visnovsky - Ladislav Slezak +%package devel-doc +Summary: Developer documentation for libzypp +Group: Documentation/HTML + +%description devel-doc +Developer documentation for libzypp. %prep %setup -q @@ -195,54 +226,68 @@ Authors: %build mkdir build cd build -export CFLAGS="$RPM_OPT_FLAGS" -export CXXFLAGS="$RPM_OPT_FLAGS" +export CFLAGS="%{optflags}" +export CXXFLAGS="%{optflags}" +unset EXTRA_CMAKE_OPTIONS +# No libproxy on SLE11 +%if 0%{?suse_version} == 1110 +export EXTRA_CMAKE_OPTIONS="-DDISABLE_LIBPROXY=ON" +%endif + cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DENABLE_BUILD_DOCS=TRUE \ + -DENABLE_BUILD_TRANS=TRUE \ + -DENABLE_BUILD_TESTS=TRUE \ -DDOC_INSTALL_DIR=%{_docdir} \ -DLIB=%{_lib} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=1 \ - %{?use_translation_set:-DUSE_TRANSLATION_SET=%use_translation_set} \ + %{?with_zchunk:-DENABLE_ZCHUNK_COMPRESSION=1} \ + %{!?with_mediabackend_tests:-DDISABLE_MEDIABACKEND_TESTS=1} \ + ${EXTRA_CMAKE_OPTIONS} \ .. make %{?_smp_mflags} VERBOSE=1 -make -C doc/autodoc %{?_smp_mflags} -make -C po %{?_smp_mflags} translations - -%if 0%{?run_testsuite} - make -C tests %{?_smp_mflags} - pushd tests - LD_LIBRARY_PATH=$PWD/../zypp:$LD_LIBRARY_PATH ctest . - popd -%endif - -#make check %install -rm -rf "$RPM_BUILD_ROOT" cd build -make install DESTDIR=$RPM_BUILD_ROOT -make -C doc/autodoc install DESTDIR=$RPM_BUILD_ROOT -%if 0%{?fedora_version} -ln -s %{_sysconfdir}/yum.repos.d $RPM_BUILD_ROOT%{_sysconfdir}/zypp/repos.d +%make_install +%if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600 +ln -s %{_sysconfdir}/yum.repos.d %{buildroot}/%{_sysconfdir}/zypp/repos.d %else -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/zypp/repos.d +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/repos.d %endif -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/zypp/services.d -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/commit -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/services -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/system -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/urlresolver -mkdir -p $RPM_BUILD_ROOT%{_var}/lib/zypp -mkdir -p $RPM_BUILD_ROOT%{_var}/log/zypp -mkdir -p $RPM_BUILD_ROOT%{_var}/cache/zypp - -make -C po install DESTDIR=$RPM_BUILD_ROOT -# Create filelist with translations +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/services.d +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/systemCheck.d +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/vars.d +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/vendors.d +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/multiversion.d +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/needreboot.d +mkdir -p %{buildroot}/%{_sysconfdir}/zypp/credentials.d +mkdir -p %{buildroot}/%{_prefix}/lib/zypp +mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins +mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/appdata +mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/commit +mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/services +mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/system +mkdir -p %{buildroot}/%{_prefix}/lib/zypp/plugins/urlresolver +mkdir -p %{buildroot}/%{_var}/lib/zypp +mkdir -p %{buildroot}/%{_var}/log/zypp +mkdir -p %{buildroot}/%{_var}/cache/zypp + +# Default to 'solver.dupAllowVendorChange = false' on TW and post SLE12 +%if 0%{?suse_version} >= 1330 || "%{distribution}" == "openSUSE Tumbleweed" +sed -i "s|# solver.dupAllowVendorChange = true|solver.dupAllowVendorChange = false|g" %{buildroot}%{_sysconfdir}/zypp/zypp.conf +%endif + cd .. + +# Create filelist with translations %{find_lang} zypp +%check +pushd build/tests +LD_LIBRARY_PATH="$(pwd)/../zypp:$LD_LIBRARY_PATH" ctest --output-on-failure . +popd %post /sbin/ldconfig @@ -308,39 +353,49 @@ if is_old ${LOCKSFILE} done fi - %postun -p /sbin/ldconfig -%clean -rm -rf "$RPM_BUILD_ROOT" - %files -f zypp.lang %defattr(-,root,root) +%if 0%{?suse_version} >= 1500 +%license COPYING +%endif %dir %{_sysconfdir}/zypp -%if 0%{?fedora_version} +%if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600 %{_sysconfdir}/zypp/repos.d %else %dir %{_sysconfdir}/zypp/repos.d %endif %dir %{_sysconfdir}/zypp/services.d +%dir %{_sysconfdir}/zypp/systemCheck.d +%dir %{_sysconfdir}/zypp/vars.d +%dir %{_sysconfdir}/zypp/vendors.d +%dir %{_sysconfdir}/zypp/multiversion.d +%config(noreplace) %{_sysconfdir}/zypp/needreboot +%dir %{_sysconfdir}/zypp/needreboot.d +%dir %{_sysconfdir}/zypp/credentials.d %config(noreplace) %{_sysconfdir}/zypp/zypp.conf %config(noreplace) %{_sysconfdir}/zypp/systemCheck %config(noreplace) %{_sysconfdir}/logrotate.d/zypp-history.lr %dir %{_var}/lib/zypp -%dir %{_var}/log/zypp +%dir %attr(750,root,root) %{_var}/log/zypp %dir %{_var}/cache/zypp %{_prefix}/lib/zypp %{_datadir}/zypp %{_bindir}/* %{_libdir}/libzypp*so.* -%doc %{_mandir}/man5/locks.5.* +%doc %{_mandir}/man1/*.1.* +%doc %{_mandir}/man5/*.5.* %files devel %defattr(-,root,root) %{_libdir}/libzypp.so -%{_docdir}/%{name} %{_includedir}/zypp %{_datadir}/cmake/Modules/* %{_libdir}/pkgconfig/libzypp.pc +%files devel-doc +%defattr(-,root,root) +%{_docdir}/%{name} + %changelog