Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2025-01-24 13:38:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new.2316 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp" Fri Jan 24 13:38:02 2025 rev:506 rq:1239629 version:17.35.19 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2025-01-21 21:10:04.705995710 +0100 +++ /work/SRC/openSUSE:Factory/.libzypp.new.2316/libzypp.changes 2025-01-24 13:38:05.060908111 +0100 @@ -1,0 +2,7 @@ +Wed Jan 22 16:09:09 CET 2025 - m...@suse.de + +- Create '.keep_packages' in the package cache dir to enforce + keeping downloaded packages of all repos cahed there (bsc#1232458) +- version 17.35.19 (35) + +------------------------------------------------------------------- Old: ---- libzypp-17.35.18.tar.bz2 New: ---- libzypp-17.35.19.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.BqUdlg/_old 2025-01-24 13:38:05.780937849 +0100 +++ /var/tmp/diff_new_pack.BqUdlg/_new 2025-01-24 13:38:05.784938013 +0100 @@ -57,7 +57,7 @@ %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper Name: libzypp -Version: 17.35.18 +Version: 17.35.19 Release: 0 License: GPL-2.0-or-later URL: https://github.com/openSUSE/libzypp ++++++ libzypp-17.35.18.tar.bz2 -> libzypp-17.35.19.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.35.18/VERSION.cmake new/libzypp-17.35.19/VERSION.cmake --- old/libzypp-17.35.18/VERSION.cmake 2025-01-20 17:20:09.000000000 +0100 +++ new/libzypp-17.35.19/VERSION.cmake 2025-01-22 16:27:38.000000000 +0100 @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "17") SET(LIBZYPP_COMPATMINOR "35") SET(LIBZYPP_MINOR "35") -SET(LIBZYPP_PATCH "18") +SET(LIBZYPP_PATCH "19") # -# LAST RELEASED: 17.35.18 (35) +# LAST RELEASED: 17.35.19 (35) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.35.18/package/libzypp.changes new/libzypp-17.35.19/package/libzypp.changes --- old/libzypp-17.35.18/package/libzypp.changes 2025-01-20 17:20:09.000000000 +0100 +++ new/libzypp-17.35.19/package/libzypp.changes 2025-01-22 16:27:38.000000000 +0100 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Wed Jan 22 16:09:09 CET 2025 - m...@suse.de + +- Create '.keep_packages' in the package cache dir to enforce + keeping downloaded packages of all repos cahed there (bsc#1232458) +- version 17.35.19 (35) + +------------------------------------------------------------------- Mon Jan 20 17:17:16 CET 2025 - m...@suse.de - Fix missing UID checks in repomanager workflow (fixes #603) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.35.18/zypp/RepoInfo.cc new/libzypp-17.35.19/zypp/RepoInfo.cc --- old/libzypp-17.35.18/zypp/RepoInfo.cc 2024-10-14 10:40:08.000000000 +0200 +++ new/libzypp-17.35.19/zypp/RepoInfo.cc 2025-01-22 16:10:10.000000000 +0100 @@ -590,6 +590,9 @@ bool RepoInfo::keepPackages() const { return indeterminate(_pimpl->keeppackages) ? false : (bool)_pimpl->keeppackages; } + bool RepoInfo::effectiveKeepPackages() const + { return keepPackages() || PathInfo(packagesPath().dirname()/".keep_packages").isExist(); } + Pathname RepoInfo::metadataPath() const { return _pimpl->metadataPath(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.35.18/zypp/RepoInfo.h new/libzypp-17.35.19/zypp/RepoInfo.h --- old/libzypp-17.35.18/zypp/RepoInfo.h 2024-06-28 17:40:08.000000000 +0200 +++ new/libzypp-17.35.19/zypp/RepoInfo.h 2025-01-22 16:10:10.000000000 +0100 @@ -426,6 +426,12 @@ */ void setKeepPackages( bool keep ); + /** \ref keepPackages unless the package cache itself enforces keeping the packages. + * This can be done by creating a file named \c .keep_packages in the package + * cache's toplevel directory (e.g. /var/cache/zypp/packages/.keep_packages) + */ + bool effectiveKeepPackages() const; + /** * Gets name of the service to which this repository belongs or empty string * if it has been added manually. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.35.18/zypp/repo/PackageProvider.cc new/libzypp-17.35.19/zypp/repo/PackageProvider.cc --- old/libzypp-17.35.18/zypp/repo/PackageProvider.cc 2024-06-04 11:50:11.000000000 +0200 +++ new/libzypp-17.35.19/zypp/repo/PackageProvider.cc 2025-01-22 16:10:10.000000000 +0100 @@ -141,7 +141,7 @@ ManagedFile providePackageFromCache() const override { ManagedFile ret( doProvidePackageFromCache() ); - if ( ! ( ret->empty() || _package->repoInfo().keepPackages() ) ) + if ( ! ( ret->empty() || _package->repoInfo().effectiveKeepPackages() ) ) ret.setDispose( filesystem::unlink ); return ret; } @@ -158,7 +158,7 @@ * * A cache hit will return a non empty ManagedFile and an empty one on cache miss. * - * \note File disposal depending on the repos keepPackages setting + * \note File disposal depending on the repos effectiveKeepPackages setting * are not set here, but in \ref providePackage or \ref providePackageFromCache. */ ManagedFile doProvidePackageFromCache() const @@ -405,7 +405,7 @@ if ( filesystem::assert_dir( dest.dirname() ) == 0 && filesystem::hardlinkCopy( pi.path(), dest ) == 0 ) { ret = ManagedFile( dest ); - if ( ! info.keepPackages() ) + if ( ! info.effectiveKeepPackages() ) ret.setDispose( filesystem::unlink ); MIL << "provided Package from toplevel cache " << _package << " at " << ret << endl;