[packages/libzypp] - up to 17.28.0
qboosh
qboosh at pld-linux.org
Sat Aug 21 18:50:54 CEST 2021
commit 35c856268810aa3aeda498663ffdc8a347f1c77b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Aug 21 18:55:14 2021 +0200
- up to 17.28.0
libzypp-rpm5.patch | 216 +++++++++++++++++++++++++++++++++++++++++++++++++++++
libzypp.spec | 10 ++-
2 files changed, 224 insertions(+), 2 deletions(-)
---
diff --git a/libzypp.spec b/libzypp.spec
index d135933..2c2fa5d 100644
--- a/libzypp.spec
+++ b/libzypp.spec
@@ -7,13 +7,13 @@
Summary: Package management library
Summary(pl.UTF-8): Biblioteka do zarządzania pakietami
Name: libzypp
-Version: 17.25.8
+Version: 17.28.0
Release: 1
License: GPL v2+
Group: Libraries
#Source0Download: https://github.com/openSUSE/libzypp/releases
Source0: https://github.com/openSUSE/libzypp/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: c1913c5847fe481d595ed49c8ece8b60
+# Source0-md5: 2607d7d977f5995a89feb05d7a3530bd
Patch0: %{name}-rpm5.patch
Patch1: %{name}-link.patch
URL: https://en.opensuse.org/Portal:Libzypp
@@ -33,12 +33,14 @@ BuildRequires: libstdc++-devel >= 6:5
BuildRequires: libxml2-devel >= 2.0
BuildRequires: openssl-devel
BuildRequires: pkgconfig
+BuildRequires: protobuf-devel >= 3.8.0
%if %{with rpm5}
BuildRequires: rpm-devel >= 5
%else
BuildRequires: rpm-devel >= 1:4.15
%endif
BuildRequires: udev-devel
+BuildRequires: yaml-cpp-devel
%{?with_zchunk:BuildRequires: zchunk-devel}
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -97,6 +99,7 @@ install -d build
cd build
# MEDIABACKEND_TESTS require nginx+fcgi+fcgi++
%cmake .. \
+ -DCMAKE_INSTALL_LIBDIR=%{_lib} \
%{?with_apidocs:-DENABLE_BUILD_DOCS=ON} \
-DENABLE_BUILD_TRANS=ON \
-DDISABLE_MEDIABACKEND_TESTS=ON \
@@ -133,6 +136,8 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/zypp-NameReqPrv
%attr(755,root,root) %{_libdir}/libzypp.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libzypp.so.1722
+%dir %{_libexecdir}/zypp
+%attr(755,root,root) %{_libexecdir}/zypp/zypp-rpm
%{_datadir}/zypp
%{_mandir}/man1/zypp-CheckAccessDeleted.1*
%{_mandir}/man1/zypp-NameReqPrv.1*
@@ -142,6 +147,7 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libzypp.so
%{_includedir}/zypp
+%{_includedir}/zypp-core
%{_pkgconfigdir}/libzypp.pc
%{_datadir}/cmake/Modules/FindZypp.cmake
%{_datadir}/cmake/Modules/ZyppCommon.cmake
diff --git a/libzypp-rpm5.patch b/libzypp-rpm5.patch
index a9a4806..d37acbf 100644
--- a/libzypp-rpm5.patch
+++ b/libzypp-rpm5.patch
@@ -63,3 +63,219 @@
#else
::rpmtsSetVfyFlags( ts, RPMVSF_DEFAULT );
#endif
+--- libzypp-17.28.0/cmake/modules/FindRpm.cmake.orig 2021-08-20 17:36:11.046734423 +0200
++++ libzypp-17.28.0/cmake/modules/FindRpm.cmake 2021-08-20 17:41:02.701821059 +0200
+@@ -9,6 +9,7 @@ endif(RPM_INCLUDE_DIR AND RPM_LIBRARY)
+
+ set(RPM_LIBRARY)
+ set(RPMIO_LIBRARY)
++set(RPMDB_LIBRARY)
+ set(RPM_INCLUDE_DIR)
+
+ FIND_PATH(RPM_INCLUDE_DIR rpm/rpmdb.h
+@@ -40,6 +41,12 @@ FIND_LIBRARY(RPMIO_LIBRARY NAMES rpmio
+ PATHS
+ /usr/lib
+ /usr/local/lib
++)
++
++FIND_LIBRARY(RPMDB_LIBRARY NAMES rpmdb
++ PATHS
++ /usr/lib
++ /usr/local/lib
+ )
+
+
+@@ -49,7 +49,7 @@ if(RPM_INCLUDE_DIR AND RPM_LIBRARY AND R
+ if ( "${RPM_SUSPECT_VERSION}" STREQUAL "4.x" )
+ set( ZYPP_RPM_VERSION_INCL "rpm/rpmlib.h" )
+ else()
+- set( ZYPP_RPM_VERSION_INCL "rpm/rpmtag.h" )
++ set( ZYPP_RPM_VERSION_INCL "rpm/rpmversion.h" )
+ endif()
+
+ configure_file( "${CMAKE_CURRENT_LIST_DIR}/printrpmver.c.in"
+@@ -59,7 +59,7 @@ if(RPM_INCLUDE_DIR AND RPM_LIBRARY AND R
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp"
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/printrpmver.c"
+ LINK_LIBRARIES ${RPM_LIBRARY}
+- CMAKE_FLAGS -DINCLUDE_DIRECTORIES="${RPM_INCLUDE_DIR}"
++ CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${RPM_INCLUDE_DIR};${RPM_INCLUDE_DIR}/rpm"
+ COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+ COMPILE_OUTPUT_VARIABLE RPM_PRINTVER_COMPILE_OUTPUT
+ RUN_OUTPUT_VARIABLE RPM_LIB_VER
+--- libzypp-17.28.0/zypp/target/rpm/RpmHeader.cc.orig 2021-07-28 10:11:19.000000000 +0200
++++ libzypp-17.28.0/zypp/target/rpm/RpmHeader.cc 2021-08-20 23:16:04.966251078 +0200
+@@ -10,6 +10,13 @@
+ *
+ */
+ #include "librpm.h"
++extern "C" {
++#undef rpmtsFree
++rpmts rpmtsFree(rpmts _ts)
++{
++ return ((rpmts) rpmioFreePoolItem((rpmioItem)(_ts), __FUNCTION__, __FILE__, __LINE__));
++}
++}
+
+ #include <zypp/AutoDispose.h>
+
+--- libzypp-17.28.0/tools/zypp-rpm/BinHeader.h.orig 2021-08-21 08:09:53.426071355 +0200
++++ libzypp-17.28.0/tools/zypp-rpm/BinHeader.h 2021-08-21 08:10:04.702676931 +0200
+@@ -106,7 +106,7 @@ class BinHeader::intList : private zypp:
+ {
+ public:
+ intList()
+- : _type( RPM_NULL_TYPE )
++ : _type( static_cast<rpmTagType>(RPM_NULL_TYPE) )
+ {}
+
+ bool empty() const
+--- libzypp-17.28.0/tools/zypp-rpm/main.cc.orig 2021-07-28 10:11:19.000000000 +0200
++++ libzypp-17.28.0/tools/zypp-rpm/main.cc 2021-08-21 09:16:51.957634435 +0200
+@@ -19,6 +19,29 @@ extern "C"
+ {
+ #include <rpm/rpmcli.h>
+ #include <rpm/rpmlog.h>
++#include <rpm/rpm46compat.h>
++
++/* libzypp needs functions, not define wrappers */
++#undef headerFree
++Header headerFree(Header h)
++{
++ return ((Header)rpmioFreePoolItem((rpmioItem)(h), __FUNCTION__, __FILE__, __LINE__));
++}
++
++#undef rpmpsFree
++rpmps rpmpsFree(rpmps ps)
++{
++ return ((rpmps)rpmioFreePoolItem((rpmioItem)(ps), __FUNCTION__, __FILE__, __LINE__));
++}
++
++#undef rpmtsFree
++rpmts rpmtsFree(rpmts ts)
++{
++ return ((rpmts) rpmioFreePoolItem((rpmioItem)(ts), __FUNCTION__, __FILE__, __LINE__));
++}
++
++/* available in rpmts.h only with _RPMTS_INTERNAL, which requires more internal headers */
++void rpmtsSetScriptFd(rpmts ts, FD_t scriptFd);
+ }
+
+ #include "BinHeader.h"
+@@ -54,8 +65,9 @@ void rpmpsPrintToStream ( Stream &str, r
+
+ rpmProblem p;
+ zypp::AutoDispose<rpmpsi> psi ( ::rpmpsInitIterator(ps), ::rpmpsFreeIterator );
+- while ((p = rpmpsiNext(psi))) {
+- zypp::AutoFREE<char> msg( rpmProblemString(p) );
++ while (rpmpsNextIterator(psi) >= 0) {
++ p = rpmpsProblem(psi);
++ zypp::AutoFREE<char> msg( const_cast<char*>(rpmProblemString(p)) );
+ str << "\t" << msg << std::endl;
+ }
+ }
+@@ -100,8 +112,9 @@ bool pushTransactionErrorMessage ( rpmps
+
+ rpmProblem p;
+ zypp::AutoDispose<rpmpsi> psi ( ::rpmpsInitIterator(ps), ::rpmpsFreeIterator );
+- while ((p = rpmpsiNext(psi))) {
+- zypp::AutoFREE<char> msg( rpmProblemString(p) );
++ while (rpmpsNextIterator(psi) >= 0) {
++ p = rpmpsProblem(psi);
++ zypp::AutoFREE<char> msg( const_cast<char*>(rpmProblemString(p)) );
+
+ zypp::proto::target::TransactionProblemDesc desc;
+ desc.set_message( zypp::str::asString( msg.value() ) );
+@@ -145,7 +158,6 @@ std::pair<RpmHeader, int> readPackage( r
+ return std::make_pair( h, res );
+ }
+
+-
+ struct TransactionData {
+ zypp::proto::target::Commit &commitData;
+
+@@ -242,10 +254,10 @@ int main( int, char ** )
+ tsFlags |= RPMTRANS_FLAG_NOSCRIPTS;
+
+ // setup transaction settings
+- ::rpmtsSetFlags( ts, tsFlags );
++ ::rpmtsSetFlags( ts, static_cast<rpmtransFlags>(tsFlags) );
+
+ // set the verify flags so readPackage does the right thing
+- ::rpmtsSetVSFlags( ts, tsVerifyFlags );
++ ::rpmtsSetVSFlags( ts, static_cast<rpmVSFlags>(tsVerifyFlags) );
+
+ #ifdef HAVE_RPMTSSETVFYLEVEL
+ {
+@@ -437,7 +449,7 @@ int main( int, char ** )
+ // the way how libRPM works is that it will try to install all packages even if some of them fail
+ // we need to go over the rpm problem set to mark those steps that have failed, we get no other hint on wether
+ // it worked or not
+- const auto transRes = ::rpmtsRun( ts, nullptr, tsProbFilterFlags );
++ const auto transRes = ::rpmtsRun( ts, nullptr, static_cast<rpmprobFilterFlags>(tsProbFilterFlags) );
+ //data.finishCurrentStep( );
+
+ if ( transRes != 0 ) {
+@@ -545,13 +557,13 @@ void *rpmLibCallback( const void *h, con
+ fd = NULL;
+ }
+ } else
+- fd = fdLink(fd);
++ fd = fdLink(fd, NULL);
+ return (void *)fd;
+ break;
+ }
+
+ case RPMCALLBACK_INST_CLOSE_FILE:
+- fd = fdFree(fd);
++ fd = fdFree(fd, NULL);
+ if (fd != NULL) {
+ Fclose(fd);
+ fd = NULL;
+--- libzypp-17.28.0/tools/zypp-rpm/BinHeader.cc.orig 2021-07-28 10:11:19.000000000 +0200
++++ libzypp-17.28.0/tools/zypp-rpm/BinHeader.cc 2021-08-21 09:22:06.735929134 +0200
+@@ -10,15 +10,6 @@
+ *
+ */
+
+-extern "C"
+-{
+-#ifdef _RPM_5
+-#undef RPM_NULL_TYPE
+-#define RPM_NULL_TYPE rpmTagType(0)
+-typedef rpmuint32_t rpm_count_t;
+-#endif
+-}
+-
+ #include <iostream>
+
+ #include <zypp-core/base/Logger.h>
+@@ -28,6 +19,17 @@ typedef rpmuint32_t rpm_count_t;
+
+ #include "BinHeader.h"
+
++extern "C"
++{
++#include "rpm46compat.h"
++
++#ifdef _RPM_5
++#undef RPM_NULL_TYPE
++#define RPM_NULL_TYPE rpmTagType(0)
++typedef rpmuint32_t rpm_count_t;
++#endif
++}
++
+ using std::endl;
+ using namespace zypp;
+
+--- libzypp-17.28.0/tools/zypp-rpm/CMakeLists.txt.orig 2021-07-28 10:11:19.000000000 +0200
++++ libzypp-17.28.0/tools/zypp-rpm/CMakeLists.txt 2021-08-21 09:25:40.134773054 +0200
+@@ -37,6 +37,6 @@ target_link_libraries( ${PROJECT_NAME} z
+ target_link_libraries( ${PROJECT_NAME} zypp-protobuf )
+ target_link_libraries( ${PROJECT_NAME} util )
+ target_link_libraries( ${PROJECT_NAME} ${PROTOBUF_LITE_LIBRARIES} )
+-target_link_libraries( ${PROJECT_NAME} ${RPM_LIBRARY} ${RPMIO_LIBRARY} )
++target_link_libraries( ${PROJECT_NAME} ${RPM_LIBRARY} ${RPMIO_LIBRARY} ${RPMDB_LIBRARY})
+
+ INSTALL( TARGETS ${PROJECT_NAME} DESTINATION "${ZYPP_LIBEXEC_INSTALL_DIR}" )
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libzypp.git/commitdiff/35c856268810aa3aeda498663ffdc8a347f1c77b
More information about the pld-cvs-commit
mailing list