[packages/libzypp] - up to 17.38.15

qboosh qboosh at pld-linux.org
Mon Sep 21 19:45:23 CEST 2026


commit 65520aeb7f79d2cb6e9e86da2b1ee582b6928d8d
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Sep 21 19:45:37 2026 +0200

    - up to 17.38.15

 libzypp-ambiguous.patch | 275 ++++++++++++++++++++++++++++++++++++++++++++++++
 libzypp.spec            |  38 +++----
 2 files changed, 294 insertions(+), 19 deletions(-)
---
diff --git a/libzypp.spec b/libzypp.spec
index ef12509..0f2db62 100644
--- a/libzypp.spec
+++ b/libzypp.spec
@@ -8,17 +8,18 @@
 Summary:	Package management library
 Summary(pl.UTF-8):	Biblioteka do zarządzania pakietami
 Name:		libzypp
-Version:	17.35.10
+Version:	17.38.15
 Release:	1
 License:	GPL v2+
 Group:		Libraries
 #Source0Download: https://github.com/openSUSE/libzypp/tags
 Source0:	https://github.com/openSUSE/libzypp/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	e92b13fc5aed1ea44a68f71032c670b6
+# Source0-md5:	53ea04e7f007c3e3f17f411d8b2fa9a0
 Patch0:		%{name}-rpm5.patch
+Patch1:		%{name}-ambiguous.patch
 URL:		https://en.opensuse.org/Portal:Libzypp
 BuildRequires:	boost-devel
-BuildRequires:	cmake >= 3.1
+BuildRequires:	cmake >= 3.17
 BuildRequires:	curl-devel
 %{?with_apidocs:BuildRequires:	doxygen}
 BuildRequires:	expat-devel >= 1.95
@@ -33,7 +34,6 @@ 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
@@ -93,29 +93,30 @@ Dokumentacja API biblioteki Zypp.
 %if %{with rpm5}
 %patch -P0 -p1
 %endif
+%patch -P1 -p1
 
 %build
-install -d build
-cd build
 # MEDIABACKEND_TESTS require nginx+fcgi+fcgi++
-%cmake .. \
+%cmake -B build \
 	-DCMAKE_INSTALL_LIBDIR=%{_lib} \
 	%{?with_apidocs:-DENABLE_BUILD_DOCS=ON} \
 	-DENABLE_BUILD_TRANS=ON \
 	-DDISABLE_MEDIABACKEND_TESTS=ON \
 	%{?with_zchunk:-DENABLE_ZCHUNK_COMPRESSION=ON} \
-	%{?with_zstd:-DENABLE_ZSTD_COMPRESSION=ON}
+	%{?with_zstd:-DENABLE_ZSTD_COMPRESSION=ON} \
+	-DZYPPCONFDIR=%{_datadir}/zypp/etc
 
-%{__make}
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/zypp/zypp.conf.d
 
 %{__make} -C build install \
 	DESTDIR=$RPM_BUILD_ROOT
 
-%{__mv} $RPM_BUILD_ROOT%{_docdir}/packages/libzypp/libzypp/html $RPM_BUILD_ROOT%{_docdir}/libzypp-apidocs
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/packages/libzypp/libzypp/libzypp.doxytag
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/packages/libzypp/html $RPM_BUILD_ROOT%{_docdir}/libzypp-apidocs
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/packages/libzypp/libzypp.doxytag
 
 %find_lang zypp
 
@@ -131,31 +132,30 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_sysconfdir}/zypp
 %config(noreplace) %verify(not mtime md5 size) %{_sysconfdir}/zypp/needreboot
 %config(noreplace) %verify(not mtime md5 size) %{_sysconfdir}/zypp/systemCheck
-%config(noreplace) %verify(not mtime md5 size) %{_sysconfdir}/zypp/zypp.conf
+%dir %{_sysconfdir}/zypp/zypp.conf.d
 %config(noreplace) %verify(not mtime md5 size) /etc/logrotate.d/zypp-history.lr
-%attr(755,root,root) %{_bindir}/zypp-CheckAccessDeleted
 %attr(755,root,root) %{_bindir}/zypp-NameReqPrv
-%attr(755,root,root) %{_libdir}/libzypp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libzypp.so.1735
+%{_libdir}/libzypp.so.*.*.*
+%ghost %{_libdir}/libzypp.so.1735
 %dir %{_libexecdir}/zypp
 %attr(755,root,root) %{_libexecdir}/zypp/zypp-rpm
 %{_datadir}/zypp
-%{_mandir}/man1/zypp-CheckAccessDeleted.1*
 %{_mandir}/man1/zypp-NameReqPrv.1*
 %{_mandir}/man5/locks.5*
+%{_mandir}/man5/zypp.conf.5*
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libzypp.so
+%{_libdir}/libzypp.so
 %{_libdir}/libzypp-tui.a
 %{_includedir}/zypp
+%{_includedir}/zypp-common
 %{_includedir}/zypp-core
 %{_includedir}/zypp-curl
 %{_includedir}/zypp-media
 %{_includedir}/zypp-tui
 %{_pkgconfigdir}/libzypp.pc
-%{_datadir}/cmake/Modules/FindZypp.cmake
-%{_datadir}/cmake/Modules/ZyppCommon.cmake
+%{_libdir}/cmake/Zypp
 
 %if %{with apidocs}
 %files apidocs
diff --git a/libzypp-ambiguous.patch b/libzypp-ambiguous.patch
new file mode 100644
index 0000000..6970332
--- /dev/null
+++ b/libzypp-ambiguous.patch
@@ -0,0 +1,275 @@
+--- libzypp-17.38.15/zypp-logic/zypp-core/base/PtrTypes.h.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp-logic/zypp-core/base/PtrTypes.h	2026-09-20 14:44:23.872161711 +0200
+@@ -115,7 +115,7 @@ namespace zypp
+ } // namespace zypp
+ ///////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////
+-namespace std
++namespace zypp
+ { /////////////////////////////////////////////////////////////////
+ 
+   // namespace sub {
+@@ -156,7 +156,7 @@ namespace std
+   /** \overload specialize for void */
+   template<>
+   inline std::ostream & dumpOn( std::ostream & str, const zypp::shared_ptr<void> & obj )
+-  { return str << obj; }
++  { return zypp::operator<<(str, obj); }
+ 
+   /** relates: zypp::intrusive_ptr Stream output. */
+   template<class D>
+--- libzypp-17.38.15/zypp/zypp/repo/PackageProvider.cc.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp/zypp/repo/PackageProvider.cc	2026-09-20 15:53:15.953109640 +0200
+@@ -382,7 +382,7 @@ namespace zypp
+       ManagedFile ret( providePackageFromCache() );
+       if ( ! ret->empty() )
+       {
+-        MIL << "provided Package from cache " << _package << " at " << ret << endl;
++        zypp::operator<<(MIL << "provided Package from cache ", _package) << " at " << ret << endl;
+         report()->infoInCache( _package, ret );
+         return ret; // <-- cache hit
+       }
+@@ -409,7 +409,7 @@ namespace zypp
+                 if ( ! info.effectiveKeepPackages() )
+                   ret.setDispose( filesystem::unlink );
+ 
+-                MIL << "provided Package from toplevel cache " << _package << " at " << ret << endl;
++		zypp::operator<<(MIL << "provided Package from toplevel cache ", _package) << " at " << ret << endl;
+                 report()->finish( _package, repo::DownloadResolvableReport::NO_ERROR, std::string() );
+                 return ret; // <-- toplevel cache hit
+               }
+@@ -421,7 +421,7 @@ namespace zypp
+       if ( info.repoOriginsEmpty() )
+         ZYPP_THROW(Exception("No url in repository."));
+ 
+-      MIL << "provide Package " << _package << endl;
++      zypp::operator<<(MIL << "provide Package ", _package) << endl;
+       Url url = info.location();
+       try {
+       do {
+@@ -438,13 +438,13 @@ namespace zypp
+           }
+         catch ( const UserRequestException & excpt )
+           {
+-            ERR << "Failed to provide Package " << _package << endl;
++            zypp::operator<<(ERR << "Failed to provide Package ", _package) << endl;
+             if ( ! _retry )
+               ZYPP_RETHROW( excpt );
+           }
+         catch ( const RpmSigCheckException & excpt )
+           {
+-            ERR << "Failed to provide Package " << _package << endl;
++            zypp::operator<<(ERR << "Failed to provide Package ", _package) << endl;
+             if ( ! _retry )
+             {
+               // Signature verification error was already reported by the
+@@ -466,7 +466,7 @@ namespace zypp
+           }
+         catch ( const FileCheckException & excpt )
+           {
+-            ERR << "Failed to provide Package " << _package << endl;
++            zypp::operator<<(ERR << "Failed to provide Package ", _package) << endl;
+             if ( ! _retry )
+             {
+               const std::string & package_str = _package->asUserString();
+@@ -488,7 +488,7 @@ namespace zypp
+           }
+         catch ( const Exception & excpt )
+           {
+-            ERR << "Failed to provide Package " << _package << endl;
++            zypp::operator<<(ERR << "Failed to provide Package ", _package) << endl;
+             if ( ! _retry )
+             {
+                 // Aything else gets reported
+@@ -522,7 +522,7 @@ namespace zypp
+       }
+ 
+       report()->finish( _package, repo::DownloadResolvableReport::NO_ERROR, std::string() );
+-      MIL << "provided Package " << _package << " at " << ret << endl;
++      zypp::operator<<(MIL << "provided Package ", _package) << " at " << ret << endl;
+       return ret;
+     }
+ 
+--- libzypp-17.38.15/zypp/zypp/repo/DeltaCandidates.cc.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp/zypp/repo/DeltaCandidates.cc	2026-09-20 15:59:33.321065262 +0200
+@@ -80,7 +80,7 @@ namespace zypp
+     {
+       std::list<DeltaRpm> candidates;
+ 
+-      DBG << "package: " << package << endl;
++      zypp::operator<<(DBG << "package: ", package) << endl;
+       for_( rit, _pimpl->repos.begin(), _pimpl->repos.end() )
+       {
+         sat::LookupRepoAttr q( sat::SolvAttr::repositoryDeltaInfo, *rit );
+--- libzypp-17.38.15/zypp/zypp/target/rpm/BinHeader.cc.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp/zypp/target/rpm/BinHeader.cc	2026-09-20 16:08:13.174915639 +0200
+@@ -175,7 +175,7 @@ BinHeader::BinHeader( Header h_r )
+ //
+ BinHeader::BinHeader( BinHeader::Ptr & rhs )
+ {
+-  INT << "INJECT from " << rhs;
++  zypp::operator<<(INT << "INJECT from ", rhs);
+   if ( ! (rhs && rhs->_h) )
+   {
+     _h = 0;
+@@ -185,7 +185,7 @@ BinHeader::BinHeader( BinHeader::Ptr & r
+     _h = rhs->_h;  // ::headerLink already done in rhs
+     rhs->_h = 0;
+   }
+-  INT << ": " << *this << "   (" << rhs << ")" << endl;
++  zypp::operator<<(INT << ": " << *this << "   (", rhs) << ")" << endl;
+ }
+ 
+ ///////////////////////////////////////////////////////////////////
+--- libzypp-17.38.15/zypp/zypp/target/TargetImpl.cc.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp/zypp/target/TargetImpl.cc	2026-09-20 13:10:36.265982405 +0200
+@@ -1500,7 +1500,7 @@ namespace zypp
+           if ( ! patch ||patch->message().empty()  )
+             continue;
+ 
+-          MIL << "Show message for " << patch << endl;
++          zypp::operator<<(MIL << "Show message for ", patch) << endl;
+           callback::SendReport<target::PatchMessageReport> report;
+           if ( ! report->show( patch ) )
+           {
+@@ -1578,7 +1578,7 @@ namespace zypp
+                   ZYPP_CAUGHT( exp );
+                   it->stepStage( sat::Transaction::STEP_ERROR );
+                   miss = true;
+-                  WAR << "Skipping cache preload package " << pi->asKind<Package>() << " in commit" << endl;
++                  zypp::operator<<(WAR << "Skipping cache preload package ", pi->asKind<Package>()) << " in commit" << endl;
+                   continue;
+                 }
+                 catch ( const Exception & exp )
+@@ -1588,7 +1588,7 @@ namespace zypp
+                   ZYPP_CAUGHT( exp );
+                   it->stepStage( sat::Transaction::STEP_ERROR );
+                   miss = true;
+-                  INT << "Unexpected Error: Skipping cache preload package " << pi->asKind<Package>() << " in commit" << endl;
++                  zypp::operator<<(INT << "Unexpected Error: Skipping cache preload package ", pi->asKind<Package>()) << " in commit" << endl;
+                   continue;
+                 }
+               }
+@@ -1806,7 +1806,7 @@ namespace zypp
+             catch ( const SkipRequestException &e )
+             {
+               ZYPP_CAUGHT( e );
+-              WAR << "Skipping package " << p << " in commit" << endl;
++              zypp::operator<<(WAR << "Skipping package ", p) << " in commit" << endl;
+               step->stepStage( sat::Transaction::STEP_ERROR );
+               continue;
+             }
+@@ -1815,7 +1815,7 @@ namespace zypp
+               // bnc #395704: missing catch causes abort.
+               // TODO see if packageCache fails to handle errors correctly.
+               ZYPP_CAUGHT( e );
+-              INT << "Unexpected Error: Skipping package " << p << " in commit" << endl;
++              zypp::operator<<(INT << "Unexpected Error: Skipping package ", p) << " in commit" << endl;
+               step->stepStage( sat::Transaction::STEP_ERROR );
+               continue;
+             }
+@@ -1940,7 +1940,7 @@ namespace zypp
+                 break;
+               }
+               // else
+-              WAR << "removal of " << p << " failed";
++              zypp::operator<<(WAR << "removal of ", p) << " failed";
+               step->stepStage( sat::Transaction::STEP_ERROR );
+             }
+             if ( success && !policy_r.dryRun() )
+@@ -2179,7 +2179,7 @@ namespace zypp
+             catch ( const SkipRequestException &e )
+             {
+               ZYPP_CAUGHT( e );
+-              WAR << "Skipping package " << p << " in commit" << endl;
++              zypp::operator<<(WAR << "Skipping package ", p) << " in commit" << endl;
+               step.stepStage( sat::Transaction::STEP_ERROR );
+               continue;
+             }
+@@ -2188,7 +2188,7 @@ namespace zypp
+               // bnc #395704: missing catch causes abort.
+               // TODO see if packageCache fails to handle errors correctly.
+               ZYPP_CAUGHT( e );
+-              INT << "Unexpected Error: Skipping package " << p << " in commit" << endl;
++              zypp::operator<<(INT << "Unexpected Error: Skipping package ", p) << " in commit" << endl;
+               step.stepStage( sat::Transaction::STEP_ERROR );
+               continue;
+             }
+@@ -2219,7 +2219,7 @@ namespace zypp
+ 
+           }  catch ( const Exception &e ) {
+             ZYPP_CAUGHT( e );
+-            INT << "Unexpected Error: Skipping package " << p << " in commit" << endl;
++            zypp::operator<<(INT << "Unexpected Error: Skipping package ", p) << " in commit" << endl;
+             step.stepStage( sat::Transaction::STEP_ERROR );
+             continue;
+           }
+--- libzypp-17.38.15/zypp/zypp/ProblemSolution.cc.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp/zypp/ProblemSolution.cc	2026-09-20 13:23:25.648480969 +0200
+@@ -171,7 +171,7 @@ namespace zypp
+   std::ostream & operator<<( std::ostream & os, const ProblemSolutionList & obj )
+   {
+     for ( const auto & ptr: obj )
+-    { os << ptr; }
++    { zypp::operator<<(os, ptr); }
+     return os;
+   }
+ 
+--- libzypp-17.38.15/zypp-logic/zypp-core/base/LogTools.h.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp-logic/zypp-core/base/LogTools.h	2026-09-21 05:29:07.591249179 +0200
+@@ -358,6 +358,16 @@ namespace zypp
+   inline std::ostream & operator<<( std::ostream & str, MLSep & obj )
+   { if ( obj._first ) obj._first = false; else str << obj._sep; return str; }
+ 
++  class Product;
++  class ResolverProblem;
++  namespace ui { class Selectable; }
++  inline std::ostream & operator<<( std::ostream & str, const boost::intrusive_ptr<zypp::ResolverProblem> & obj )
++  { return zypp::operator<<(str, obj); }
++  inline std::ostream & operator<<( std::ostream & str, const boost::intrusive_ptr<const zypp::Product> & obj )
++  { return zypp::operator<<(str, obj); }
++  inline std::ostream & operator<<( std::ostream & str, const boost::intrusive_ptr<zypp::ui::Selectable> & obj )
++  { return zypp::operator<<(str, obj); }
++
+   /** Print range defined by iterators (multiline style).
+    * \code
+    * intro [ pfx ITEM [ { sep ITEM }+ ] sfx ] extro
+@@ -424,6 +434,7 @@ namespace zypp
+                               const std::string & sfx   = "\n",
+                               const std::string & extro = "}" )
+     {
++      using zypp::operator<<;
+       str << intro;
+       if ( begin != end )
+         {
+--- libzypp-17.38.15/zypp/tools/zypp-install.cc.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp/tools/zypp-install.cc	2026-09-21 17:02:03.699345388 +0200
+@@ -212,7 +212,7 @@ try {
+     for ( const ui::Selectable_Ptr & sel : zypp->pool().proxy() )
+     {
+       if ( sel->toModify() )
+-        cout << "  " << sel << endl;
++        zypp::operator<<(cout << "  ", sel) << endl;
+     }
+   }
+ 
+--- libzypp-17.38.15/zypp/tools/zypp-rpm/BinHeader.cc.orig	2026-09-04 16:30:36.000000000 +0200
++++ libzypp-17.38.15/zypp/tools/zypp-rpm/BinHeader.cc	2026-09-21 17:19:53.076885406 +0200
+@@ -160,7 +160,7 @@ BinHeader::BinHeader( Header h_r )
+ //
+ BinHeader::BinHeader( BinHeader::Ptr & rhs )
+ {
+-  INT << "INJECT from " << rhs;
++  zypp::operator<<(INT << "INJECT from ", rhs);
+   if ( ! (rhs && rhs->_h) )
+   {
+     _h = 0;
+@@ -170,7 +170,7 @@ BinHeader::BinHeader( BinHeader::Ptr & r
+     _h = rhs->_h;  // ::headerLink already done in rhs
+     rhs->_h = 0;
+   }
+-  INT << ": " << *this << "   (" << rhs << ")" << endl;
++  zypp::operator<<(INT << ": " << *this << "   (", rhs) << ")" << endl;
+ }
+ 
+ ///////////////////////////////////////////////////////////////////
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libzypp.git/commitdiff/65520aeb7f79d2cb6e9e86da2b1ee582b6928d8d



More information about the pld-cvs-commit mailing list