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;
       }
 

Reply via email to