Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2024-04-03 17:18:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new.1905 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp" Wed Apr 3 17:18:14 2024 rev:488 rq:1164139 version:17.32.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2024-03-25 21:08:15.637320540 +0100 +++ /work/SRC/openSUSE:Factory/.libzypp.new.1905/libzypp.changes 2024-04-03 17:18:26.229121521 +0200 @@ -1,0 +2,16 @@ +Tue Apr 2 16:08:58 CEST 2024 - m...@suse.de + +- Fixup New VendorSupportOption flag VendorSupportSuperseded + (jsc#OBS-301, jsc#PED-8014) + Fixed the name of the keyword to "support_superseded" as it was + agreed on in jsc#OBS-301. +- version 17.32.2 (32) + +------------------------------------------------------------------- +Thu Mar 28 17:56:04 CET 2024 - m...@suse.de + +- Add resolver option 'removeUnneeded' to file weak remove jobs + for unneeded packages (bsc#1175678) +- version 17.32.1 (32) + +------------------------------------------------------------------- Old: ---- libzypp-17.32.0.tar.bz2 New: ---- libzypp-17.32.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.NSA0SB/_old 2024-04-03 17:18:28.085189910 +0200 +++ /var/tmp/diff_new_pack.NSA0SB/_new 2024-04-03 17:18:28.089190058 +0200 @@ -42,7 +42,7 @@ %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper Name: libzypp -Version: 17.32.0 +Version: 17.32.2 Release: 0 License: GPL-2.0-or-later URL: https://github.com/openSUSE/libzypp ++++++ libzypp-17.32.0.tar.bz2 -> libzypp-17.32.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/VERSION.cmake new/libzypp-17.32.2/VERSION.cmake --- old/libzypp-17.32.0/VERSION.cmake 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/VERSION.cmake 2024-04-02 16:09:36.000000000 +0200 @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "17") SET(LIBZYPP_COMPATMINOR "32") SET(LIBZYPP_MINOR "32") -SET(LIBZYPP_PATCH "0") +SET(LIBZYPP_PATCH "2") # -# LAST RELEASED: 17.32.0 (32) +# LAST RELEASED: 17.32.2 (32) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/package/libzypp.changes new/libzypp-17.32.2/package/libzypp.changes --- old/libzypp-17.32.0/package/libzypp.changes 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/package/libzypp.changes 2024-04-02 16:09:36.000000000 +0200 @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Tue Apr 2 16:08:58 CEST 2024 - m...@suse.de + +- Fixup New VendorSupportOption flag VendorSupportSuperseded + (jsc#OBS-301, jsc#PED-8014) + Fixed the name of the keyword to "support_superseded" as it was + agreed on in jsc#OBS-301. +- version 17.32.2 (32) + +------------------------------------------------------------------- +Thu Mar 28 17:56:04 CET 2024 - m...@suse.de + +- Add resolver option 'removeUnneeded' to file weak remove jobs + for unneeded packages (bsc#1175678) +- version 17.32.1 (32) + +------------------------------------------------------------------- Fri Mar 22 18:16:32 CET 2024 - m...@suse.de - Add resolver option 'removeOrphaned' for distupgrade diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/po/sk.po new/libzypp-17.32.2/po/sk.po --- old/libzypp-17.32.0/po/sk.po 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/po/sk.po 2024-03-23 20:13:08.000000000 +0100 @@ -6,10 +6,10 @@ "Project-Id-Version: libzypp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-22 18:16+0100\n" -"PO-Revision-Date: 2023-09-21 19:15+0000\n" +"PO-Revision-Date: 2024-03-23 18:42+0000\n" "Last-Translator: Ferdinand Galko <galko.ferdin...@gmail.com>\n" -"Language-Team: Slovak <https://l10n.opensuse.org/projects/libzypp/master/sk/" -">\n" +"Language-Team: Slovak <https://l10n.opensuse.org/projects/libzypp/master/sk/>" +"\n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3796,7 +3796,7 @@ #: zypp/VendorSupportOptions.cc:31 msgid "Discontinued and superseded by a different package" -msgstr "" +msgstr "UkonÄené a nahradené iným balÃkom" #: zypp/VendorSupportOptions.cc:33 msgid "invalid" @@ -3850,7 +3850,7 @@ msgid "" "The package was discontinued and has been superseded by a new package with a " "different name." -msgstr "" +msgstr "BalÃk bol ukonÄený a nahradil ho nový balÃk s iným názvom." #: zypp/VendorSupportOptions.cc:60 msgid "Unknown support option. Description not available" @@ -3937,58 +3937,59 @@ #: zypp/ng/workflows/checksumwf.cc:117 #, c-format, boost-format msgid "No digest for file %s." -msgstr "" +msgstr "Žiadny prehľad pre súbor %s." #: zypp/ng/workflows/checksumwf.cc:123 #, c-format, boost-format msgid "Unknown digest %s for file %s." -msgstr "" +msgstr "Neznámy prehľad %s pre súbor %s." #: zypp/ng/workflows/checksumwf.cc:129 #, c-format, boost-format msgid "Digest verification failed for file '%s'" -msgstr "" +msgstr "Overenie prehľadu zlyhalo pre súbor '%s'" #. TranslatorExplanation: speaking of a file #: zypp/ng/workflows/keyringwf.cc:358 #, c-format, boost-format msgid "File '%s' is unsigned, continue?" -msgstr "" +msgstr "Súbor '%s' nie je podpÃsaný, pokraÄovaÅ¥?" #. TranslatorExplanation: speaking of a file #: zypp/ng/workflows/keyringwf.cc:362 #, c-format, boost-format msgid "File '%s' from repository '%s' is unsigned, continue?" -msgstr "" +msgstr "Súbor '%s' z repozitára '%s' nie je podpÃsaný. PokraÄovaÅ¥?" #: zypp/ng/workflows/keyringwf.cc:374 msgid "Do you want to reject the key, trust temporarily, or trust always?" -msgstr "" +msgstr "Prajete si tento kÄ¾ÃºÄ odmietnuÅ¥, prijaÅ¥ doÄasne alebo prijaÅ¥ natrvalo?" #: zypp/ng/workflows/keyringwf.cc:383 #, boost-format msgid "Key Name: %1%" -msgstr "" +msgstr "Názov kľúÄa: %1%" #: zypp/ng/workflows/keyringwf.cc:389 #, boost-format msgid "Received %1% new package signing key from repository \"%2%\":" msgid_plural "Received %1% new package signing keys from repository \"%2%\":" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Bol prijatý %1% nový podpisový kÄ¾ÃºÄ balÃkov z repozitára \"%2%\":" +msgstr[1] "Boli prijaté %1% nové podpisové kľúÄe balÃkov z repozitára \"%2%\":" msgstr[2] "" +"Bolo prijatých %1% nových podpisových kľúÄov balÃkov z repozitára \"%2%\":" #. translator: %1% is a file name #: zypp/ng/workflows/keyringwf.cc:400 #, boost-format msgid "Signature verification failed for file '%1%'." -msgstr "" +msgstr "Overenie podpisu súboru '%1%' zlyhalo." #. translator: %1% is a file name, %2% a repositories na me #: zypp/ng/workflows/keyringwf.cc:403 #, boost-format msgid "Signature verification failed for file '%1%' from repository '%2%'." -msgstr "" +msgstr "Overenie podpisu súboru '%1%' z repozitára '%2%' zlyhalo." #. @TODO use a centralized Continue string! #: zypp/ng/workflows/keyringwf.cc:406 zypp-tui/output/Out.h:57 @@ -3999,7 +4000,7 @@ #: zypp/ng/workflows/keyringwf.cc:419 #, c-format, boost-format msgid "File '%s' is signed with an unknown key '%s'. Continue?" -msgstr "" +msgstr "Súbor '%s' je podpÃsaný neznámym kľúÄom '%s'. PokraÄovaÅ¥?" #. translators: the last %s is gpg key ID #: zypp/ng/workflows/keyringwf.cc:423 @@ -4007,6 +4008,7 @@ msgid "" "File '%s' from repository '%s' is signed with an unknown key '%s'. Continue?" msgstr "" +"Súbor '%s' z repozitára '%s' je podpÃsaný neznámym kľúÄom '%s'. PokraÄovaÅ¥?" #. translator: %1% is a repositories name #: zypp/ng/workflows/repoinfowf.cc:77 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/tests/repo/yum/data/extensions/repodata/repomd.xml new/libzypp-17.32.2/tests/repo/yum/data/extensions/repodata/repomd.xml --- old/libzypp-17.32.0/tests/repo/yum/data/extensions/repodata/repomd.xml 2024-03-21 21:13:12.000000000 +0100 +++ new/libzypp-17.32.2/tests/repo/yum/data/extensions/repodata/repomd.xml 2024-04-02 16:09:36.000000000 +0200 @@ -30,7 +30,7 @@ <data type="susedata"> <location href="repodata/susedata.xml.gz"/> - <checksum type="sha">2a9ad2b0e86106172b08b453b4d2c42b07adfb41</checksum> + <checksum type="sha">2950f8a880455d7b7e96d3bddd5859bd4db38524</checksum> <timestamp>1227279057.0</timestamp> <open-checksum type="sha">b17c055bef95bca397faffdf028cfa91dd1b24bc</open-checksum> </data> Binary files old/libzypp-17.32.0/tests/repo/yum/data/extensions/repodata/susedata.xml.gz and new/libzypp-17.32.2/tests/repo/yum/data/extensions/repodata/susedata.xml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/zypp/Package.cc new/libzypp-17.32.2/zypp/Package.cc --- old/libzypp-17.32.0/zypp/Package.cc 2024-03-21 21:13:12.000000000 +0100 +++ new/libzypp-17.32.2/zypp/Package.cc 2024-04-02 16:09:36.000000000 +0200 @@ -38,7 +38,7 @@ static const IdString support_l1( "support_l1" ); static const IdString support_l2( "support_l2" ); static const IdString support_l3( "support_l3" ); - static const IdString support_superseded( "support_superseded_by" ); // opt. followed by "(PKGNAME)" + static const IdString support_superseded( "support_superseded" ); // opt. followed by "(PKGNAME)" GetVendorSupportOptionReturn ret { VendorSupportUnknown, std::nullopt }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/zypp/Resolver.cc new/libzypp-17.32.2/zypp/Resolver.cc --- old/libzypp-17.32.0/zypp/Resolver.cc 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/zypp/Resolver.cc 2024-03-28 18:00:09.000000000 +0100 @@ -105,6 +105,9 @@ void Resolver::setRemoveOrphaned( bool yesno_r ) { return _pimpl->setRemoveOrphaned( yesno_r ); } bool Resolver::removeOrphaned() const { return _pimpl->removeOrphaned(); } + void Resolver::setRemoveUnneeded( bool yesno_r ) { return _pimpl->setRemoveUnneeded( yesno_r ); } + bool Resolver::removeUnneeded() const { return _pimpl->removeUnneeded(); } + void Resolver::setSystemVerification( bool yesno_r ) { _pimpl->setVerifyingMode( yesno_r ); } void Resolver::setDefaultSystemVerification() { _pimpl->setVerifyingMode( indeterminate ); } bool Resolver::systemVerification() const { return _pimpl->isVerifyingMode(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/zypp/Resolver.h new/libzypp-17.32.2/zypp/Resolver.h --- old/libzypp-17.32.0/zypp/Resolver.h 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/zypp/Resolver.h 2024-03-28 18:00:09.000000000 +0100 @@ -240,6 +240,22 @@ void setRemoveOrphaned( bool yesno_r ); bool removeOrphaned() const; + /** + * File weak remove jobs for unneeded installed packages. + * + * \Note There needs to be one (even if empty) solver run before + * unneeded installed packages are determined. So this does not + * contribute to the very first solver run. + * + * \Note In order to tailor the \c unneeded classification one needs + * to be able to control the \c autoinstalled property of a package. + * Only autoinstalled packages can be unneeded. So switching the + * autoinstalled property is the way to (potentially) add or (surely) + * remove a package from the unneeded set. + */ + void setRemoveUnneeded( bool yesno_r ); + bool removeUnneeded() const; + /** \name Solver flags (non DUP modes) * Default for all flags is \c false unless overwritten by zypp.conf. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/zypp/solver/detail/Resolver.cc new/libzypp-17.32.2/zypp/solver/detail/Resolver.cc --- old/libzypp-17.32.0/zypp/solver/detail/Resolver.cc 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/zypp/solver/detail/Resolver.cc 2024-03-28 18:00:09.000000000 +0100 @@ -143,6 +143,9 @@ void Resolver::setRemoveOrphaned( bool yesno_r ) { _satResolver->_removeOrphaned = yesno_r; } bool Resolver::removeOrphaned() const { return _satResolver->_removeOrphaned; } +void Resolver::setRemoveUnneeded( bool yesno_r ) { _satResolver->_removeUnneeded = yesno_r; } +bool Resolver::removeUnneeded() const { return _satResolver->_removeUnneeded; } + #define ZOLV_FLAG_TRIBOOL( ZSETTER, ZGETTER, ZVARDEFAULT, ZVARNAME ) \ void Resolver::ZSETTER( TriBool state_r ) \ { _applyDefault_##ZGETTER = indeterminate(state_r); \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/zypp/solver/detail/Resolver.h new/libzypp-17.32.2/zypp/solver/detail/Resolver.h --- old/libzypp-17.32.0/zypp/solver/detail/Resolver.h 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/zypp/solver/detail/Resolver.h 2024-03-28 18:00:09.000000000 +0100 @@ -200,6 +200,9 @@ void setRemoveOrphaned( bool yesno_r ); bool removeOrphaned() const; + void setRemoveUnneeded( bool yesno_r ); + bool removeUnneeded() const; + void setFocus( ResolverFocus focus_r ); ResolverFocus focus() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/zypp/solver/detail/SATResolver.cc new/libzypp-17.32.2/zypp/solver/detail/SATResolver.cc --- old/libzypp-17.32.0/zypp/solver/detail/SATResolver.cc 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/zypp/solver/detail/SATResolver.cc 2024-03-28 18:00:09.000000000 +0100 @@ -305,6 +305,7 @@ , _ignorealreadyrecommended(true) , _distupgrade(false) , _removeOrphaned(false) + , _removeUnneeded(false) , _dup_allowdowngrade ( ZConfig::instance().solver_dupAllowDowngrade() ) , _dup_allownamechange ( ZConfig::instance().solver_dupAllowNameChange() ) , _dup_allowarchchange ( ZConfig::instance().solver_dupAllowArchChange() ) @@ -636,10 +637,23 @@ if (_distupgrade) { queue_push( &(_jobQueue), SOLVER_DISTUPGRADE|SOLVER_SOLVABLE_ALL); queue_push( &(_jobQueue), 0 ); + // By now libsolv supports orphan handling just in dup. + // We keep it here in _distupgrade to make sure nothing bad happens + // in case libsolv changes and it's used in remove commands which + // have no repos enabled. I.e. everything would be orphaned. + if (_removeOrphaned) { + queue_push( &(_jobQueue), SOLVER_DROP_ORPHANED|SOLVER_SOLVABLE_ALL); + queue_push( &(_jobQueue), 0 ); + } } - if (_removeOrphaned) { - queue_push( &(_jobQueue), SOLVER_DROP_ORPHANED|SOLVER_SOLVABLE_ALL); - queue_push( &(_jobQueue), 0 ); + if (_removeUnneeded) { + invokeOnEach ( _pool.begin(), _pool.end(), [this]( const PoolItem & pi_r ) { + if ( pi_r.status().isUnneeded() ) { + queue_push( &(_jobQueue), SOLVER_ERASE | SOLVER_SOLVABLE_NAME | SOLVER_WEAK | MAYBE_CLEANDEPS ); + queue_push( &(_jobQueue), pi_r.ident().id() ); + } + return true; + } ); } solverSetFocus( *_satSolver, _focus ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.32.0/zypp/solver/detail/SATResolver.h new/libzypp-17.32.2/zypp/solver/detail/SATResolver.h --- old/libzypp-17.32.0/zypp/solver/detail/SATResolver.h 2024-03-22 18:20:08.000000000 +0100 +++ new/libzypp-17.32.2/zypp/solver/detail/SATResolver.h 2024-03-28 18:00:09.000000000 +0100 @@ -100,6 +100,7 @@ bool _ignorealreadyrecommended:1; // true: ignore recommended packages that were already recommended by the installed packages bool _distupgrade:1; bool _removeOrphaned:1; + bool _removeUnneeded:1; bool _dup_allowdowngrade:1; // dup mode: allow one to downgrade installed solvable bool _dup_allownamechange:1; // dup mode: allow one to change name of installed solvable bool _dup_allowarchchange:1; // dup mode: allow one to change architecture of installed solvables