Hello community,

here is the log from the commit of package libzypp for openSUSE:Factory checked 
in at 2016-08-26 23:12:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libzypp (Old)
 and      /work/SRC/openSUSE:Factory/.libzypp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libzypp"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes  2016-08-03 
11:37:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libzypp.new/libzypp.changes     2016-08-26 
23:12:37.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Aug 10 17:10:41 CEST 2016 - [email protected]
+
+- Report numeric curl error if code is unrecognized (bsc#992302)
+- multicurl: propagate proxy settings stored in repo url (bsc#933839)
+- version 16.2.2 (0)
+
+-------------------------------------------------------------------

Old:
----
  libzypp-16.2.1.tar.bz2

New:
----
  libzypp-16.2.2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libzypp.spec ++++++
--- /var/tmp/diff_new_pack.IhA0n2/_old  2016-08-26 23:12:38.000000000 +0200
+++ /var/tmp/diff_new_pack.IhA0n2/_new  2016-08-26 23:12:38.000000000 +0200
@@ -19,7 +19,7 @@
 %define force_gcc_46 0
 
 Name:           libzypp
-Version:        16.2.1
+Version:        16.2.2
 Release:        0
 Url:            git://gitorious.org/opensuse/libzypp.git
 Summary:        Package, Patch, Pattern, and Product Management

++++++ libzypp-16.2.1.tar.bz2 -> libzypp-16.2.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-16.2.1/VERSION.cmake 
new/libzypp-16.2.2/VERSION.cmake
--- old/libzypp-16.2.1/VERSION.cmake    2016-07-21 13:13:04.000000000 +0200
+++ new/libzypp-16.2.2/VERSION.cmake    2016-08-10 17:15:13.000000000 +0200
@@ -61,8 +61,8 @@
 SET(LIBZYPP_MAJOR "16")
 SET(LIBZYPP_COMPATMINOR "0")
 SET(LIBZYPP_MINOR "2")
-SET(LIBZYPP_PATCH "1")
+SET(LIBZYPP_PATCH "2")
 #
-# LAST RELEASED: 16.2.1 (0)
+# LAST RELEASED: 16.2.2 (0)
 # (The number in parenthesis is LIBZYPP_COMPATMINOR)
 #=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-16.2.1/package/libzypp.changes 
new/libzypp-16.2.2/package/libzypp.changes
--- old/libzypp-16.2.1/package/libzypp.changes  2016-07-21 13:13:04.000000000 
+0200
+++ new/libzypp-16.2.2/package/libzypp.changes  2016-08-10 17:15:13.000000000 
+0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Wed Aug 10 17:10:41 CEST 2016 - [email protected]
+
+- Report numeric curl error if code is unrecognized (bsc#992302)
+- multicurl: propagate proxy settings stored in repo url (bsc#933839)
+- version 16.2.2 (0)
+
+-------------------------------------------------------------------
 Thu Jul 21 13:09:33 CEST 2016 - [email protected]
 
 - Rebuild .solv-files not matching the parsers LIBSOLV_TOOLVERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-16.2.1/zypp/Product.h 
new/libzypp-16.2.2/zypp/Product.h
--- old/libzypp-16.2.1/zypp/Product.h   2016-07-18 16:41:07.000000000 +0200
+++ new/libzypp-16.2.2/zypp/Product.h   2016-08-10 13:01:08.000000000 +0200
@@ -43,7 +43,7 @@
      */
     sat::Solvable referencePackage() const;
 
-    /** For installed products the name of the coddesponding
+    /** For installed products the name of the corresponding
      * \c /etc/products.d entry.
     .*/
     std::string referenceFilename() const;
@@ -157,7 +157,7 @@
     /***/
     class UrlList;
 
-    /** Rerieve urls flagged with \c key_r for this product.
+    /** Retrieve URLs flagged with \c key_r for this product.
      *
      * This is the most common interface. There are convenience methods for
      * wellknown flags like \c "releasenotes", \c "register", \c "updateurls",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-16.2.1/zypp/base/Xml.h 
new/libzypp-16.2.2/zypp/base/Xml.h
--- old/libzypp-16.2.1/zypp/base/Xml.h  2016-02-11 17:22:14.000000000 +0100
+++ new/libzypp-16.2.2/zypp/base/Xml.h  2016-08-12 18:13:05.000000000 +0200
@@ -112,24 +112,46 @@
       /** Dtor wrting end tag */
       ~Node()
       {
-       if ( _name.empty() )
-         _out << "-->";
-       else
+       if ( !_name.empty() )
        {
-         if ( _hasContent )
-           _out << "</" << _name << ">";
+         if ( isComment() )
+           _out << "-->";
          else
-           _out << "/>";
+         {
+           if ( _hasContent )
+             _out << "</" << _name << ">";
+           else
+             _out << "/>";
+         }
        }
       }
 
+      /** Exception type thrown if attributes are added to a closed start 
node. */
+      struct HasContentException{};
+
+       /** Add additional attributes (requires OptionalContentType)
+       * \throw HasContentException If start node is already closed
+       */
+      Node & addAttr( const std::initializer_list<Attr> & attrs_r = {} )
+      {
+       if ( _hasContent )
+         throw HasContentException();
+       printAttr( attrs_r );
+       return *this;
+      }
+
+      /** \overload for one */
+      Node & addAttr( const Attr & attr_r )
+      { return addAttr( { attr_r } ); }
+
+
       /** Return the output stream */
       std::ostream & operator*()
       {
        if ( ! _hasContent )
        {
          _hasContent = true;
-         if ( _name.empty() )
+         if ( isComment() )
            _out << "|";
          else
            _out << ">";
@@ -143,17 +165,26 @@
        if ( _name.empty() || _name[0] == '!' )
        {
          _out << "<!--" << _name;
-         _name.clear();
+         _name = "!";  // a comment
        }
        else
          _out << "<" << _name;
 
-       for ( const auto & pair : attrs_r )
-         _out << " " << pair.first << "=\"" << xml::escape( pair.second ) << 
"\"";
+       printAttr( attrs_r );
 
-       if ( ! _name.empty() && _hasContent )
+       if ( isComment() && _hasContent )
          _out << ">";
       }
+
+      void printAttr( const std::initializer_list<Attr> & attrs_r )
+      {
+       for ( const auto & pair : attrs_r )
+         _out << " " << pair.first << "=\"" << xml::escape( pair.second ) << 
"\"";
+      }
+
+      bool isComment() const
+      { return( _name == "!" );  }
+
     private:
       std::ostream & _out;
       std::string _name;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-16.2.1/zypp/media/MediaCurl.cc 
new/libzypp-16.2.2/zypp/media/MediaCurl.cc
--- old/libzypp-16.2.1/zypp/media/MediaCurl.cc  2016-03-01 12:20:48.000000000 
+0100
+++ new/libzypp-16.2.2/zypp/media/MediaCurl.cc  2016-08-10 13:01:08.000000000 
+0200
@@ -1062,7 +1062,7 @@
         break;
       case CURLE_SSL_PEER_CERTIFICATE:
       default:
-        err = "Unrecognized error";
+        err = "Curl error " + str::numstring( code );
         break;
       }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-16.2.1/zypp/media/MediaMultiCurl.cc 
new/libzypp-16.2.2/zypp/media/MediaMultiCurl.cc
--- old/libzypp-16.2.1/zypp/media/MediaMultiCurl.cc     2016-02-11 
17:22:14.000000000 +0100
+++ new/libzypp-16.2.2/zypp/media/MediaMultiCurl.cc     2016-07-27 
12:05:04.000000000 +0200
@@ -1476,6 +1476,22 @@
   DBG << "done: " << PathInfo(dest) << endl;
 }
 
+///////////////////////////////////////////////////////////////////
+namespace {
+  // bsc#933839: propagate proxy settings passed in the repo URL
+  inline Url propagateQueryParams( Url url_r, const Url & template_r )
+  {
+    for ( std::string param : { "proxy", "proxyport", "proxyuser", 
"proxypass"} )
+    {
+      const std::string & value( template_r.getQueryParam( param ) );
+      if ( ! value.empty() )
+       url_r.setQueryParam( param, value );
+    }
+    return url_r;
+  }
+}
+///////////////////////////////////////////////////////////////////
+
 void MediaMultiCurl::multifetch(const Pathname & filename, FILE *fp, 
std::vector<Url> *urllist, callback::SendReport<DownloadProgressReport> 
*report, MediaBlockList *blklist, off_t filesize) const
 {
   Url baseurl(getFileUrl(filename));
@@ -1514,7 +1530,7 @@
          if (scheme == "http" || scheme == "https" || scheme == "ftp" || 
scheme == "tftp")
            {
              checkProtocol(*urliter);
-             myurllist.push_back(*urliter);
+             myurllist.push_back(propagateQueryParams(*urliter, _url));
            }
        }
       catch (...)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-16.2.1/zypp/parser/xml/Reader.h 
new/libzypp-16.2.2/zypp/parser/xml/Reader.h
--- old/libzypp-16.2.1/zypp/parser/xml/Reader.h 2016-02-11 17:22:14.000000000 
+0100
+++ new/libzypp-16.2.2/zypp/parser/xml/Reader.h 2016-08-12 18:13:05.000000000 
+0200
@@ -49,7 +49,7 @@
      *
      * \code
      * // Consume a node.
-     * bool consumeNode( XML::Reader & reader_r )
+     * bool consumeNode( xml::Reader & reader_r )
      * {
      *   DBG << *reader_r << endl;
      *   return true;
@@ -60,7 +60,7 @@
      * {
      *   try
      *     {
-     *       XML::Reader reader( "/Local/repodata/repomd.xml" );
+     *       xml::Reader reader( "/Local/repodata/repomd.xml" );
      *       reader.foreachNode( consumeNode );
      *     }
      *   catch ( const Exception & )
@@ -70,19 +70,19 @@
      *
      * \code
      * // Consume a node.
-     * bool consumeNodeAndAttribute( XML::Reader & reader_r )
+     * bool consumeNodeAndAttribute( xml::Reader & reader_r )
      * {
      *   consumeNode( reader_r );
      *   return reader_r.foreachNodeAttribute( consumeNode );
      * }
      *
-     * // Consume all nodes and thair attributes.
+     * // Consume all nodes and their attributes.
      * void example()
      * {
      *   Pathname repodata( "/Local/repodata/repomd.xml" );
      *   try
      *     {
-     *       XML::Reader reader( "/Local/repodata/repomd.xml" );
+     *       xml::Reader reader( "/Local/repodata/repomd.xml" );
      *       reader.foreachNode( consumeNodeAndAttribute );
      *       // or:
      *       // reader.foreachNodeOrAttribute( consumeNode )
@@ -105,7 +105,7 @@
     public:
 
       /**
-       *  If the curent node is not empty, advances the reader to the next
+       *  If the current node is not empty, advances the reader to the next
        *  node, and returns the value
        *
        * \note if the node has a xml subtree you will probably jump to that 
node


Reply via email to