Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2022-11-26 18:45:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp" Sat Nov 26 18:45:13 2022 rev:467 rq:1038212 version:17.31.6 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2022-11-09 12:56:49.192139699 +0100 +++ /work/SRC/openSUSE:Factory/.libzypp.new.1597/libzypp.changes 2022-11-26 18:45:18.579161731 +0100 @@ -1,0 +2,13 @@ +Fri Nov 25 13:41:55 CET 2022 - [email protected] + +- Avoid calling getsockopt when we know the info already. + This patch hopefully fixes logging on WSL, getsockopt seems to + not be fully supported but the code required it when accepting + new socket connections. (for bsc#1178233) +- Enhance yaml-cpp detection (fixes #428) +- No need to redirect 'history.logfile=/dev/null' into the target. +- MultiCurl: Make sure to reset the progress function when + falling back. +- version 17.31.6 (22) + +------------------------------------------------------------------- Old: ---- libzypp-17.31.5.tar.bz2 New: ---- libzypp-17.31.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.PnVa9e/_old 2022-11-26 18:45:19.131165003 +0100 +++ /var/tmp/diff_new_pack.PnVa9e/_new 2022-11-26 18:45:19.135165027 +0100 @@ -43,7 +43,7 @@ %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper Name: libzypp -Version: 17.31.5 +Version: 17.31.6 Release: 0 License: GPL-2.0-or-later URL: https://github.com/openSUSE/libzypp ++++++ libzypp-17.31.5.tar.bz2 -> libzypp-17.31.6.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.31.5/CMakeLists.txt new/libzypp-17.31.6/CMakeLists.txt --- old/libzypp-17.31.5/CMakeLists.txt 2022-08-24 15:08:49.000000000 +0200 +++ new/libzypp-17.31.6/CMakeLists.txt 2022-11-11 09:09:24.000000000 +0100 @@ -219,6 +219,10 @@ MESSAGE( FATAL_ERROR " yaml-cpp not found" ) ELSE ( NOT YAML-CPP_FOUND) INCLUDE_DIRECTORIES(${YAML_CPP_INCLUDE_DIR}) + IF ( NOT YAML_CPP_LIBRARIES ) + # Must have been found by config insted of module, use target instead. + SET( YAML_CPP_LIBRARIES "yaml-cpp" ) + ENDIF ( NOT YAML_CPP_LIBRARIES ) ENDIF( NOT YAML-CPP_FOUND) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.31.5/VERSION.cmake new/libzypp-17.31.6/VERSION.cmake --- old/libzypp-17.31.5/VERSION.cmake 2022-11-07 13:14:43.000000000 +0100 +++ new/libzypp-17.31.6/VERSION.cmake 2022-11-25 13:46:33.000000000 +0100 @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "17") SET(LIBZYPP_COMPATMINOR "22") SET(LIBZYPP_MINOR "31") -SET(LIBZYPP_PATCH "5") +SET(LIBZYPP_PATCH "6") # -# LAST RELEASED: 17.31.5 (22) +# LAST RELEASED: 17.31.6 (22) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.31.5/package/libzypp.changes new/libzypp-17.31.6/package/libzypp.changes --- old/libzypp-17.31.5/package/libzypp.changes 2022-11-07 13:14:43.000000000 +0100 +++ new/libzypp-17.31.6/package/libzypp.changes 2022-11-25 13:46:33.000000000 +0100 @@ -1,4 +1,17 @@ ------------------------------------------------------------------- +Fri Nov 25 13:41:55 CET 2022 - [email protected] + +- Avoid calling getsockopt when we know the info already. + This patch hopefully fixes logging on WSL, getsockopt seems to + not be fully supported but the code required it when accepting + new socket connections. (for bsc#1178233) +- Enhance yaml-cpp detection (fixes #428) +- No need to redirect 'history.logfile=/dev/null' into the target. +- MultiCurl: Make sure to reset the progress function when + falling back. +- version 17.31.6 (22) + +------------------------------------------------------------------- Mon Nov 7 13:09:46 CET 2022 - [email protected] - Create '.no_auto_prune' in the package cache dir to prevent auto diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.31.5/zypp/HistoryLog.cc new/libzypp-17.31.6/zypp/HistoryLog.cc --- old/libzypp-17.31.5/zypp/HistoryLog.cc 2022-07-07 14:19:45.000000000 +0200 +++ new/libzypp-17.31.6/zypp/HistoryLog.cc 2022-11-10 12:10:40.000000000 +0100 @@ -168,7 +168,9 @@ if ( _refcnt ) closeLog(); - _fname = rootdir / ZConfig::instance().historyLogFile(); + _fname = ZConfig::instance().historyLogFile(); + if ( _fname != "/dev/null" ) // no need to redirect /dev/null into the target + _fname = rootdir / _fname; filesystem::assert_dir( _fname.dirname() ); MIL << "installation log file " << _fname << endl; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.31.5/zypp/target/TargetImpl.cc new/libzypp-17.31.6/zypp/target/TargetImpl.cc --- old/libzypp-17.31.5/zypp/target/TargetImpl.cc 2022-07-29 11:57:20.000000000 +0200 +++ new/libzypp-17.31.6/zypp/target/TargetImpl.cc 2022-11-10 12:10:40.000000000 +0100 @@ -244,13 +244,13 @@ { root_r /= "/proc"; if ( ! PathInfo(root_r/"self").isDir() ) { - MIL << "Try to make sure proc is mounted at" << _mountpoint << endl; + MIL << "Try to make sure proc is mounted at" << root_r << endl; if ( filesystem::assert_dir(root_r) == 0 && execute({ "mount", "-t", "proc", "proc", root_r.asString() }) == 0 ) { _mountpoint = std::move(root_r); // so we'll later unmount it } else { - WAR << "Mounting proc at " << _mountpoint << " failed" << endl; + WAR << "Mounting proc at " << root_r << " failed" << endl; } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.31.5/zypp-core/zyppng/io/private/socket_p.h new/libzypp-17.31.6/zypp-core/zyppng/io/private/socket_p.h --- old/libzypp-17.31.5/zypp-core/zyppng/io/private/socket_p.h 2022-07-07 14:19:45.000000000 +0200 +++ new/libzypp-17.31.6/zypp-core/zyppng/io/private/socket_p.h 2022-11-25 13:31:35.000000000 +0100 @@ -36,6 +36,8 @@ _protocol( protocol ) { } + static Socket::Ptr wrapSocket( int fd, int domain, int type, int protocol, Socket::SocketState state ); + bool initSocket () ; void setError ( Socket::SocketError error, std::string &&err, bool emit = true ); bool handleConnectError ( int error ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.31.5/zypp-core/zyppng/io/socket.cc new/libzypp-17.31.6/zypp-core/zyppng/io/socket.cc --- old/libzypp-17.31.5/zypp-core/zyppng/io/socket.cc 2022-07-07 14:19:45.000000000 +0200 +++ new/libzypp-17.31.6/zypp-core/zyppng/io/socket.cc 2022-11-25 13:31:35.000000000 +0100 @@ -413,6 +413,25 @@ return std::visit([]( const auto &s ) constexpr { return s.type(); }, _state ); } + Socket::Ptr SocketPrivate::wrapSocket(int fd, int domain, int type, int protocol, Socket::SocketState state) + { + // from here on the Socket instance owns the fd, no need to manually close it + // in case of error + auto sptr = Socket::create( domain, type, protocol ); + sptr->d_func()->_socket = fd; + + // make sure the socket is non blocking + if ( !sptr->setBlocking( false ) ) { + DBG << "Failed to unblock socket." << std::endl; + return nullptr; + } + + if( sptr->d_func()->transition( state ) ) + return sptr; + + return nullptr; + } + ZYPP_IMPL_PRIVATE(Socket) Socket::Socket( int domain, int type, int protocol ) @@ -537,7 +556,7 @@ } } - return Socket::fromSocket( res, Socket::ConnectedState ); + return SocketPrivate::wrapSocket( res, d->_domain, d->_type, d->_protocol, Socket::ConnectedState ); } Socket::Ptr Socket::fromSocket( int fd, Socket::SocketState state ) @@ -553,7 +572,7 @@ } int protocol; - optlen = sizeof(domain); + optlen = sizeof(protocol); res = getsockopt( fd, SOL_SOCKET, SO_PROTOCOL, &protocol, &optlen ); if ( res < 0 ) { DBG << "Error querying socket protocol: " << strerr_cxx() << std::endl; @@ -562,7 +581,7 @@ } int type; - optlen = sizeof(domain); + optlen = sizeof(type); res = getsockopt( fd, SOL_SOCKET, SO_TYPE, &type, &optlen ); if ( res < 0 ) { DBG << "Error querying socket type: " << strerr_cxx() << std::endl; @@ -570,21 +589,7 @@ return nullptr; } - // from here on the Socket instance owns the fd, no need to manually close it - // in case of error - auto sptr = Socket::create( domain, type, protocol ); - sptr->d_func()->_socket = fd; - - // make sure the socket is non blocking - if ( !sptr->setBlocking( false ) ) { - DBG << "Failed to unblock socket." << std::endl; - return nullptr; - } - - if( sptr->d_func()->transition( state ) ) - return sptr; - - return nullptr; + return SocketPrivate::wrapSocket( fd, domain, type, protocol, state ); } bool Socket::setBlocking( const bool set )
