Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2021-11-06 18:15:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp" Sat Nov 6 18:15:02 2021 rev:452 rq:929206 version:17.28.7 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2021-10-20 20:23:15.481340065 +0200 +++ /work/SRC/openSUSE:Factory/.libzypp.new.1890/libzypp.changes 2021-11-06 18:16:54.704849798 +0100 @@ -1,0 +2,9 @@ +Thu Nov 4 15:16:29 CET 2021 - m...@suse.de + +- Check log writer before accessing it (fixes #355, bsc#1192337) +- Save locks: Update an existing locks changed comment string. +- Allow uname-r format in purge kernels keepspec (fixes + openSUSE/zypper#418) +- version 17.28.7 (22) + +------------------------------------------------------------------- Old: ---- libzypp-17.28.6.tar.bz2 New: ---- libzypp-17.28.7.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.SIkJ2l/_old 2021-11-06 18:16:55.316850115 +0100 +++ /var/tmp/diff_new_pack.SIkJ2l/_new 2021-11-06 18:16:55.316850115 +0100 @@ -43,7 +43,7 @@ %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper Name: libzypp -Version: 17.28.6 +Version: 17.28.7 Release: 0 License: GPL-2.0-or-later URL: https://github.com/openSUSE/libzypp ++++++ libzypp-17.28.6.tar.bz2 -> libzypp-17.28.7.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/VERSION.cmake new/libzypp-17.28.7/VERSION.cmake --- old/libzypp-17.28.6/VERSION.cmake 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.28.7/VERSION.cmake 2021-11-04 15:19:20.000000000 +0100 @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "17") SET(LIBZYPP_COMPATMINOR "22") SET(LIBZYPP_MINOR "28") -SET(LIBZYPP_PATCH "6") +SET(LIBZYPP_PATCH "7") # -# LAST RELEASED: 17.28.6 (22) +# LAST RELEASED: 17.28.7 (22) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/doc/autoinclude/RepoVariables.doc new/libzypp-17.28.7/doc/autoinclude/RepoVariables.doc --- old/libzypp-17.28.6/doc/autoinclude/RepoVariables.doc 2018-10-01 14:31:07.000000000 +0200 +++ new/libzypp-17.28.7/doc/autoinclude/RepoVariables.doc 2021-10-27 10:01:34.000000000 +0200 @@ -6,7 +6,7 @@ \section zypp-repovars-intro Repository Variables -Within a \c .repo or \c .serivce file, the name and URLs are subject to variable substitution. +Within a \c .repo or \c .service file, the name and URLs are subject to variable substitution. Variables are e.g. usefull for related repositories like packman (<tt>http://ftp.gwdg.de/pub/linux/packman/suse/$releasever</tt>), which shall always fit the installed distribution, even after a distribution upgrade. To help performing a distribution upgrade, the value of \c $releasever can be overwritten in zypper using the \c --releasever global option. This way you can easily switch all repositories using \c $releasever to the new version (provided the server layouts did not change and new repos are already available). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/package/libzypp.changes new/libzypp-17.28.7/package/libzypp.changes --- old/libzypp-17.28.6/package/libzypp.changes 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.28.7/package/libzypp.changes 2021-11-04 15:19:20.000000000 +0100 @@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Thu Nov 4 15:16:29 CET 2021 - m...@suse.de + +- Check log writer before accessing it (fixes #355, bsc#1192337) +- Save locks: Update an existing locks changed comment string. +- Allow uname-r format in purge kernels keepspec (fixes + openSUSE/zypper#418) +- version 17.28.7 (22) + +------------------------------------------------------------------- Mon Oct 18 12:02:57 CEST 2021 - m...@suse.de - Zypper should keep cached files if transaction is aborted diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/tests/zypp/PurgeKernels_test.cc new/libzypp-17.28.7/tests/zypp/PurgeKernels_test.cc --- old/libzypp-17.28.6/tests/zypp/PurgeKernels_test.cc 2021-08-26 18:56:18.000000000 +0200 +++ new/libzypp-17.28.7/tests/zypp/PurgeKernels_test.cc 2021-10-20 07:16:25.000000000 +0200 @@ -292,6 +292,20 @@ //{ "kernel-default-base-5.7.8-3.1.1.1.x86_64" }, } }, + // same test set as before, but this time the user took the uname-r kernel output + // we should ignore the -flavor in the end and just use the edition part + TestSample { + TESTS_SRC_DIR"/zypp/data/PurgeKernels/kernel-base", + "5.7.8-3-default", + Arch("x86_64"), + "running, 5.7.8-2.1.1-default", + { + { "kernel-default-base-5.7.8-1.1.1.1.x86_64" }, + { "kernel-default-base-5.8.8-2.1.1.1.x86_64" }, + //{ "kernel-default-base-5.7.8-2.1.1.1.x86_64" }, + //{ "kernel-default-base-5.7.8-3.1.1.1.x86_64" }, + } + }, TestSample { TESTS_SRC_DIR"/zypp/data/PurgeKernels/flavour", "1-3-rt", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/zypp/Locks.cc new/libzypp-17.28.7/zypp/Locks.cc --- old/libzypp-17.28.6/zypp/Locks.cc 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.28.7/zypp/Locks.cc 2021-10-26 13:06:26.000000000 +0200 @@ -423,7 +423,7 @@ bool Locks::Impl::mergeList(callback::SendReport<SavingLocksReport>& report) { MIL << "merge list old: " << locks().size() - << " to add: " << toAdd.size() << "to remove: " << toRemove.size() << endl; + << " to add: " << toAdd.size() << " to remove: " << toRemove.size() << endl; for_(it,toRemove.begin(),toRemove.end()) { std::set<sat::Solvable> s(it->begin(),it->end()); @@ -433,7 +433,11 @@ if (!report->progress()) return false; - MANIPlocks().insert( toAdd.begin(), toAdd.end() ); + for ( const auto & q : toAdd ) { + const auto & [i,b] { MANIPlocks().insert( q ) }; + if ( not b && i->comment() != q.comment() ) + i->setComment( q.comment() ); // update comment if query already exists + } toAdd.clear(); toRemove.clear(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/zypp/PoolQuery.cc new/libzypp-17.28.7/zypp/PoolQuery.cc --- old/libzypp-17.28.6/zypp/PoolQuery.cc 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.28.7/zypp/PoolQuery.cc 2021-10-26 13:06:26.000000000 +0200 @@ -455,8 +455,8 @@ /** Kinds to search */ Kinds _kinds; - /** comments */ - std::string _comment; + /** Optional comment string for serialization. */ + mutable std::string _comment; //@} public: @@ -492,6 +492,7 @@ && _attrs.size() == 1 && _attrs.begin()->first == sat::SolvAttr::name ) ) { + // ma: Intentionally a different _comment is not considered. return ( _strings == rhs._strings && _attrs == rhs._attrs && _uncompiledPredicated == rhs._uncompiledPredicated @@ -870,8 +871,12 @@ void PoolQuery::addKind(const ResKind & kind) { _pimpl->_kinds.insert(kind); } + void PoolQuery::setComment(const std::string & comment) const + { _pimpl->_comment = comment; } +#if LEGACY(1722) void PoolQuery::setComment(const std::string & comment) { _pimpl->_comment = comment; } +#endif void PoolQuery::addString(const std::string & value) { _pimpl->_strings.insert(value); } @@ -1476,8 +1481,8 @@ str << "complex: "<< it->serialize() << delim; } - str << PoolQueryAttr::commentAttr.asString() << ": " - << comment() << delim ; + if ( const std::string & c { comment() }; not c.empty() ) + str << PoolQueryAttr::commentAttr.asString() << ": " << c << delim ; //separating delim - protection str << delim; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/zypp/PoolQuery.h new/libzypp-17.28.7/zypp/PoolQuery.h --- old/libzypp-17.28.6/zypp/PoolQuery.h 2021-08-26 18:56:18.000000000 +0200 +++ new/libzypp-17.28.7/zypp/PoolQuery.h 2021-10-26 13:06:26.000000000 +0200 @@ -159,8 +159,14 @@ * only the specified repo will be returned (multiple repos will be ORed). */ void addRepo(const std::string &repoalias); - void setComment(const std::string & comment); + /** Set an optional comment string describing the purpose of the query. + * Stored and retrieved when serializing the query. E.g. as lock. + */ + void setComment(const std::string & comment) const; +#if LEGACY(1722) + void setComment(const std::string & comment); +#endif /** Installed status filter setters. */ //@{ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/zypp/PurgeKernels.cc new/libzypp-17.28.7/zypp/PurgeKernels.cc --- old/libzypp-17.28.6/zypp/PurgeKernels.cc 2021-10-04 12:11:29.000000000 +0200 +++ new/libzypp-17.28.7/zypp/PurgeKernels.cc 2021-10-20 07:16:25.000000000 +0200 @@ -324,7 +324,18 @@ } else { str::smatch what; if ( !str::regex_match( word, what, specRegex ) ) { - _keepSpecificEditions.insert( Edition(word) ); + // Allow uname_r version numbers by cutting off any postfix that comes after a second dash, including the second dash. + // Github-Issue openSUSE/zypper#418 + std::string_view edition(word); + const auto firstDash = word.find_first_of ('-'); + if ( firstDash != std::string::npos ) { + const auto secondDash = word.find_first_of ('-', firstDash+1 ); + if ( secondDash != std::string::npos ) { + WAR << "Ignoring possible flavor postfix:'"<< word.substr (secondDash) <<"' in keep spec: " << word << std::endl; + edition = std::string_view( word.c_str (), secondDash ); + } + } + _keepSpecificEditions.insert( Edition(IdString(edition)) ); continue; } @@ -456,6 +467,7 @@ for ( Capability prov : solv.provides() ) { if ( prov.detail().name() == solv.name() && _keepSpecificEditions.count( prov.detail().ed() ) ) { markAsKeep( solv ); + break; } } }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.28.6/zypp-core/base/LogControl.cc new/libzypp-17.28.7/zypp-core/base/LogControl.cc --- old/libzypp-17.28.6/zypp-core/base/LogControl.cc 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.28.7/zypp-core/base/LogControl.cc 2021-11-03 16:36:33.000000000 +0100 @@ -252,7 +252,8 @@ // if we are in the same thread as the Log worker we can directly push our messages out, no need to use the socket if ( std::this_thread::get_id() == LogThread::instance().threadId() ) { auto writer = LogThread::instance().getLineWriter(); - writer->writeOut( msg ); + if ( writer ) + writer->writeOut( msg ); return; }