Hello community, here is the log from the commit of package libzypp for openSUSE:12.1:Update:Test checked in at 2012-03-16 18:23:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.1:Update:Test/libzypp (Old) and /work/SRC/openSUSE:12.1:Update:Test/.libzypp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:12.1:Update:Test/libzypp/libzypp.changes 2012-01-18 18:54:01.000000000 +0100 +++ /work/SRC/openSUSE:12.1:Update:Test/.libzypp.new/libzypp.changes 2012-03-16 18:23:32.000000000 +0100 @@ -1,0 +2,12 @@ +Tue Mar 13 12:45:59 CET 2012 - [email protected] + +- Force libproxy into using "/etc/sysconfig/proxy" if it exists (bnc#679322) +- version 10.3.9 (3) + +------------------------------------------------------------------- +Thu Mar 1 17:53:01 CET 2012 - [email protected] + +- Apply soft locks by name and not per package (bnc#749418) +- version 10.3.8 (3) + +------------------------------------------------------------------- Old: ---- libzypp-10.3.7.tar.bz2 New: ---- libzypp-10.3.9.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.JCuNAR/_old 2012-03-16 18:23:33.000000000 +0100 +++ /var/tmp/diff_new_pack.JCuNAR/_new 2012-03-16 18:23:33.000000000 +0100 @@ -23,7 +23,7 @@ Group: System/Packages BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: Package, Patch, Pattern, and Product Management -Version: 10.3.7 +Version: 10.3.9 Release: 1 Source: %{name}-%{version}.tar.bz2 Source1: %{name}-rpmlintrc ++++++ libzypp-10.3.7.tar.bz2 -> libzypp-10.3.9.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/VERSION.cmake new/libzypp-10.3.9/VERSION.cmake --- old/libzypp-10.3.7/VERSION.cmake 2012-01-16 17:16:07.000000000 +0100 +++ new/libzypp-10.3.9/VERSION.cmake 2012-03-13 12:52:14.000000000 +0100 @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "10") SET(LIBZYPP_COMPATMINOR "3") SET(LIBZYPP_MINOR "3") -SET(LIBZYPP_PATCH "7") +SET(LIBZYPP_PATCH "9") # -# LAST RELEASED: 10.3.7 (3) +# LAST RELEASED: 10.3.9 (3) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/package/libzypp.changes new/libzypp-10.3.9/package/libzypp.changes --- old/libzypp-10.3.7/package/libzypp.changes 2012-01-16 17:16:07.000000000 +0100 +++ new/libzypp-10.3.9/package/libzypp.changes 2012-03-13 12:52:14.000000000 +0100 @@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Tue Mar 13 12:45:59 CET 2012 - [email protected] + +- Force libproxy into using "/etc/sysconfig/proxy" if it exists (bnc#679322) +- version 10.3.9 (3) + +------------------------------------------------------------------- +Thu Mar 1 17:53:01 CET 2012 - [email protected] + +- Apply soft locks by name and not per package (bnc#749418) +- version 10.3.8 (3) + +------------------------------------------------------------------- Mon Jan 16 16:28:50 CET 2012 - [email protected] - CheckAccessDeleted: avoid duplicate entries for the same PID (bnc#716972) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/zypp/media/MediaCurl.cc new/libzypp-10.3.9/zypp/media/MediaCurl.cc --- old/libzypp-10.3.7/zypp/media/MediaCurl.cc 2012-01-16 17:16:06.000000000 +0100 +++ new/libzypp-10.3.9/zypp/media/MediaCurl.cc 2012-03-13 12:52:14.000000000 +0100 @@ -21,7 +21,6 @@ #include "zypp/base/Gettext.h" #include "zypp/media/MediaCurl.h" -#include "zypp/media/proxyinfo/ProxyInfos.h" #include "zypp/media/ProxyInfo.h" #include "zypp/media/MediaUserAuth.h" #include "zypp/media/CredentialManager.h" @@ -328,11 +327,7 @@ */ void fillSettingsSystemProxy( const Url&url, TransferSettings &s ) { -#ifdef _WITH_LIBPROXY_SUPPORT_ - ProxyInfo proxy_info (ProxyInfo::ImplPtr(new ProxyInfoLibproxy())); -#else - ProxyInfo proxy_info (ProxyInfo::ImplPtr(new ProxyInfoSysconfig("proxy"))); -#endif + ProxyInfo proxy_info; if ( proxy_info.useProxyFor( url ) ) { // We must extract any 'user:pass' from the proxy url diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/zypp/media/ProxyInfo.cc new/libzypp-10.3.9/zypp/media/ProxyInfo.cc --- old/libzypp-10.3.7/zypp/media/ProxyInfo.cc 2012-01-16 17:16:07.000000000 +0100 +++ new/libzypp-10.3.9/zypp/media/ProxyInfo.cc 2012-03-13 12:52:14.000000000 +0100 @@ -16,6 +16,7 @@ #include "zypp/media/ProxyInfo.h" #include "zypp/media/proxyinfo/ProxyInfoImpl.h" +#include "zypp/media/proxyinfo/ProxyInfos.h" using namespace std; using namespace zypp::base; @@ -26,8 +27,13 @@ shared_ptr<ProxyInfo::Impl> ProxyInfo::Impl::_nullimpl; ProxyInfo::ProxyInfo() - : _pimpl( Impl::_nullimpl ) +#ifdef _WITH_LIBPROXY_SUPPORT_ + : _pimpl( new ProxyInfoLibproxy() ) +#else + : _pimpl( new ProxyInfoSysconfig("proxy") ) +#endif {} + ProxyInfo::ProxyInfo(ProxyInfo::ImplPtr pimpl_r) : _pimpl(pimpl_r) {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/zypp/media/ProxyInfo.h new/libzypp-10.3.9/zypp/media/ProxyInfo.h --- old/libzypp-10.3.7/zypp/media/ProxyInfo.h 2012-01-16 17:16:07.000000000 +0100 +++ new/libzypp-10.3.9/zypp/media/ProxyInfo.h 2012-03-13 12:52:14.000000000 +0100 @@ -37,10 +37,12 @@ /** Implementation */ struct Impl; typedef shared_ptr<Impl> ImplPtr; - /** Ctor */ + + /** Default Ctor: guess the best available implementation. */ ProxyInfo(); - /** Ctor */ - ProxyInfo(ProxyInfo::ImplPtr pimpl_r); + /** Ctor taking a specific implementation. */ + ProxyInfo( ProxyInfo::ImplPtr pimpl_r ); + bool enabled() const; std::string proxy(const Url & url) const; NoProxyList noProxy() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/zypp/media/proxyinfo/ProxyInfoLibproxy.cc new/libzypp-10.3.9/zypp/media/proxyinfo/ProxyInfoLibproxy.cc --- old/libzypp-10.3.7/zypp/media/proxyinfo/ProxyInfoLibproxy.cc 2012-01-16 17:16:06.000000000 +0100 +++ new/libzypp-10.3.9/zypp/media/proxyinfo/ProxyInfoLibproxy.cc 2012-03-13 12:52:14.000000000 +0100 @@ -15,6 +15,7 @@ #include "zypp/base/Logger.h" #include "zypp/base/String.h" +#include "zypp/base/WatchFile.h" #include "zypp/Pathname.h" #include "zypp/media/proxyinfo/ProxyInfoLibproxy.h" @@ -25,21 +26,68 @@ namespace zypp { namespace media { + struct TmpUnsetEnv + { + TmpUnsetEnv( const char * var_r ) + : _set( false ) + , _var( var_r ) + { + const char * val = getenv( _var.c_str() ); + if ( val ) + { + _set = true; + _val = val; + ::unsetenv( _var.c_str() ); + } + } + + ~TmpUnsetEnv() + { + if ( _set ) + { + setenv( _var.c_str(), _val.c_str(), 1 ); + } + } + + bool _set; + std::string _var; + std::string _val; + }; + + static pxProxyFactory * getProxyFactory() + { + static pxProxyFactory * proxyFactory = 0; + + // Force libproxy into using "/etc/sysconfig/proxy" + // if it exists. + static WatchFile sysconfigProxy( "/etc/sysconfig/proxy", WatchFile::NO_INIT ); + if ( sysconfigProxy.hasChanged() ) + { + MIL << "Build Libproxy Factory from /etc/sysconfig/proxy" << endl; + if ( proxyFactory ) + ::px_proxy_factory_free( proxyFactory ); + + TmpUnsetEnv env[] = { "KDE_FULL_SESSION", "GNOME_DESKTOP_SESSION_ID", "DESKTOP_SESSION" }; + proxyFactory = ::px_proxy_factory_new(); + } + else if ( ! proxyFactory ) + { + MIL << "Build Libproxy Factory" << endl; + proxyFactory = ::px_proxy_factory_new(); + } + + return proxyFactory; + } + ProxyInfoLibproxy::ProxyInfoLibproxy() : ProxyInfo::Impl() { - _factory = px_proxy_factory_new(); + _factory = getProxyFactory(); _enabled = !(_factory == NULL); } ProxyInfoLibproxy::~ProxyInfoLibproxy() - { - if (_enabled) { - px_proxy_factory_free(_factory); - _factory = NULL; - _enabled = false; - } - } + {} std::string ProxyInfoLibproxy::proxy(const Url & url_r) const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/zypp/media/proxyinfo/ProxyInfoSysconfig.cc new/libzypp-10.3.9/zypp/media/proxyinfo/ProxyInfoSysconfig.cc --- old/libzypp-10.3.7/zypp/media/proxyinfo/ProxyInfoSysconfig.cc 2012-01-16 17:16:06.000000000 +0100 +++ new/libzypp-10.3.9/zypp/media/proxyinfo/ProxyInfoSysconfig.cc 2012-03-13 12:52:14.000000000 +0100 @@ -50,7 +50,7 @@ } std::string ProxyInfoSysconfig::proxy(const Url & url_r) const - { + { map<string,string>::const_iterator it = _proxies.find(url_r.getScheme()); if (it != _proxies.end()) return it->second; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-10.3.7/zypp/solver/detail/SATResolver.cc new/libzypp-10.3.9/zypp/solver/detail/SATResolver.cc --- old/libzypp-10.3.7/zypp/solver/detail/SATResolver.cc 2012-01-16 17:16:06.000000000 +0100 +++ new/libzypp-10.3.9/zypp/solver/detail/SATResolver.cc 2012-03-13 12:52:14.000000000 +0100 @@ -630,7 +630,7 @@ // Add rules for parallel installable resolvables with different versions for_( it, sat::Pool::instance().multiversionBegin(), sat::Pool::instance().multiversionEnd() ) { - queue_push( &(_jobQueue), SOLVER_NOOBSOLETES | SOLVABLE_NAME ); + queue_push( &(_jobQueue), SOLVER_NOOBSOLETES | SOLVER_SOLVABLE_NAME ); queue_push( &(_jobQueue), it->id() ); } @@ -1384,7 +1384,7 @@ void SATResolver::setLocks() { - for (PoolItemList::const_iterator iter = _items_to_lock.begin(); iter != _items_to_lock.end(); iter++) { + for (PoolItemList::const_iterator iter = _items_to_lock.begin(); iter != _items_to_lock.end(); ++iter) { sat::detail::SolvableIdType ident( (*iter)->satSolvable().id() ); if (iter->status().isInstalled()) { MIL << "Lock installed item " << *iter << endl; @@ -1397,16 +1397,20 @@ } } - for (PoolItemList::const_iterator iter = _items_to_keep.begin(); iter != _items_to_keep.end(); iter++) { - sat::detail::SolvableIdType ident( (*iter)->satSolvable().id() ); + std::set<IdString> unifiedByName; + for (PoolItemList::const_iterator iter = _items_to_keep.begin(); iter != _items_to_keep.end(); ++iter) { if (iter->status().isInstalled()) { MIL << "Keep installed item " << *iter << endl; - queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVER_SOLVABLE | SOLVER_WEAK); - queue_push( &(_jobQueue), ident ); + queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVER_SOLVABLE | SOLVER_WEAK ); + queue_push( &(_jobQueue), (*iter)->satSolvable().id() ); } else { - MIL << "Keep NOT installed item " << *iter << ident << endl; - queue_push( &(_jobQueue), SOLVER_ERASE | SOLVER_SOLVABLE | SOLVER_WEAK | MAYBE_CLEANDEPS ); - queue_push( &(_jobQueue), ident ); + IdString ident( (*iter)->satSolvable().ident() ); + MIL << "Keep NOT installed name " << ident << " (" << *iter << ")" << endl; + if ( unifiedByName.insert( ident ).second ) + { + queue_push( &(_jobQueue), SOLVER_ERASE | SOLVER_SOLVABLE_NAME | SOLVER_WEAK | MAYBE_CLEANDEPS ); + queue_push( &(_jobQueue), ident.id() ); + } } } } @@ -1416,13 +1420,13 @@ CapabilitySet system_requires = SystemCheck::instance().requiredSystemCap(); CapabilitySet system_conflicts = SystemCheck::instance().conflictSystemCap(); - for (CapabilitySet::const_iterator iter = system_requires.begin(); iter != system_requires.end(); iter++) { + for (CapabilitySet::const_iterator iter = system_requires.begin(); iter != system_requires.end(); ++iter) { queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVER_SOLVABLE_PROVIDES ); queue_push( &(_jobQueue), iter->id() ); MIL << "SYSTEM Requires " << *iter << endl; } - for (CapabilitySet::const_iterator iter = system_conflicts.begin(); iter != system_conflicts.end(); iter++) { + for (CapabilitySet::const_iterator iter = system_conflicts.begin(); iter != system_conflicts.end(); ++iter) { queue_push( &(_jobQueue), SOLVER_ERASE | SOLVER_SOLVABLE_PROVIDES | MAYBE_CLEANDEPS ); queue_push( &(_jobQueue), iter->id() ); MIL << "SYSTEM Conflicts " << *iter << endl; @@ -1439,7 +1443,7 @@ if ( (*it)->isSystem() ) { Capability archrule( (*it)->arch(), rpm.c_str(), Capability::PARSED ); - queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVABLE_NAME | SOLVER_ESSENTIAL ); + queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVER_SOLVABLE_NAME | SOLVER_ESSENTIAL ); queue_push( &(_jobQueue), archrule.id() ); } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
