Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2016-08-03 11:37:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-07-21 07:53:58.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libzypp.new/libzypp.changes 2016-08-03 11:37:34.000000000 +0200 @@ -1,0 +2,13 @@ +Thu Jul 21 13:09:33 CEST 2016 - m...@suse.de + +- Rebuild .solv-files not matching the parsers LIBSOLV_TOOLVERSION +- BuildRequires: libsolv-devel >= 0.6.23 +- version 16.2.1 (0) + +------------------------------------------------------------------- +Mon Jul 18 16:36:25 CEST 2016 - m...@suse.de + +- Product: Offer tri-state hasEndOfLife details (FATE#320699) +- version 16.2.0 (0) + +------------------------------------------------------------------- Old: ---- libzypp-16.1.3.tar.bz2 New: ---- libzypp-16.2.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.R7QFeB/_old 2016-08-03 11:37:35.000000000 +0200 +++ /var/tmp/diff_new_pack.R7QFeB/_new 2016-08-03 11:37:35.000000000 +0200 @@ -19,7 +19,7 @@ %define force_gcc_46 0 Name: libzypp -Version: 16.1.3 +Version: 16.2.1 Release: 0 Url: git://gitorious.org/opensuse/libzypp.git Summary: Package, Patch, Pattern, and Product Management @@ -75,7 +75,7 @@ BuildRequires: pkg-config %endif -BuildRequires: libsolv-devel >= 0.6.19 +BuildRequires: libsolv-devel >= 0.6.23 %if 0%{?suse_version} >= 1100 BuildRequires: libsolv-tools %requires_eq libsolv-tools ++++++ libzypp-16.1.3.tar.bz2 -> libzypp-16.2.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/VERSION.cmake new/libzypp-16.2.1/VERSION.cmake --- old/libzypp-16.1.3/VERSION.cmake 2016-07-14 19:05:04.000000000 +0200 +++ new/libzypp-16.2.1/VERSION.cmake 2016-07-21 13:13:04.000000000 +0200 @@ -60,9 +60,9 @@ # SET(LIBZYPP_MAJOR "16") SET(LIBZYPP_COMPATMINOR "0") -SET(LIBZYPP_MINOR "1") -SET(LIBZYPP_PATCH "3") +SET(LIBZYPP_MINOR "2") +SET(LIBZYPP_PATCH "1") # -# LAST RELEASED: 16.1.3 (0) +# LAST RELEASED: 16.2.1 (0) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/libzypp.spec.cmake new/libzypp-16.2.1/libzypp.spec.cmake --- old/libzypp-16.1.3/libzypp.spec.cmake 2016-06-09 18:53:03.000000000 +0200 +++ new/libzypp-16.2.1/libzypp.spec.cmake 2016-07-20 15:41:07.000000000 +0200 @@ -75,7 +75,7 @@ BuildRequires: pkg-config %endif -BuildRequires: libsolv-devel >= 0.6.19 +BuildRequires: libsolv-devel >= 0.6.23 %if 0%{?suse_version} >= 1100 BuildRequires: libsolv-tools %requires_eq libsolv-tools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/package/libzypp.changes new/libzypp-16.2.1/package/libzypp.changes --- old/libzypp-16.1.3/package/libzypp.changes 2016-07-14 19:05:04.000000000 +0200 +++ new/libzypp-16.2.1/package/libzypp.changes 2016-07-21 13:13:04.000000000 +0200 @@ -1,4 +1,17 @@ ------------------------------------------------------------------- +Thu Jul 21 13:09:33 CEST 2016 - m...@suse.de + +- Rebuild .solv-files not matching the parsers LIBSOLV_TOOLVERSION +- BuildRequires: libsolv-devel >= 0.6.23 +- version 16.2.1 (0) + +------------------------------------------------------------------- +Mon Jul 18 16:36:25 CEST 2016 - m...@suse.de + +- Product: Offer tri-state hasEndOfLife details (FATE#320699) +- version 16.2.0 (0) + +------------------------------------------------------------------- Thu Jul 14 19:02:57 CEST 2016 - m...@suse.de - use more user friendly command names for "zypper ps" (bsc#980541) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/po/CMakeLists.txt new/libzypp-16.2.1/po/CMakeLists.txt --- old/libzypp-16.1.3/po/CMakeLists.txt 2016-05-20 14:36:58.000000000 +0200 +++ new/libzypp-16.2.1/po/CMakeLists.txt 2016-07-21 14:41:05.000000000 +0200 @@ -56,13 +56,13 @@ SET( SOURCE_POT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${POT_NAME}.pot ) ADD_CUSTOM_TARGET( translations ALL - COMMAND diff -u -I ^\#: -I ^.POT-Creation-Date: ${SOURCE_POT_FILE} ${POT_FILE} | grep '^[+-][^\#]' || true + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/PotfileDiff.sh ${SOURCE_POT_FILE} ${POT_FILE} | grep '^[+-][^+-]' || true DEPENDS ${GMO_FILES} + COMMENT ".pot file diff..." ) ADD_CUSTOM_TARGET( potfile_update - COMMAND diff -q -I ^\#: -I ^.POT-Creation-Date: ${SOURCE_POT_FILE} ${POT_FILE} - || ./PotfileUpadte.sh ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ./PotfileDiff.sh ${SOURCE_POT_FILE} ${POT_FILE} -q || ./PotfileUpadte.sh ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS translations COMMENT "Checking for uncommitted changes to the .pot file..." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/po/PotfileDiff.sh new/libzypp-16.2.1/po/PotfileDiff.sh --- old/libzypp-16.1.3/po/PotfileDiff.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/libzypp-16.2.1/po/PotfileDiff.sh 2016-07-21 14:41:05.000000000 +0200 @@ -0,0 +1,14 @@ +#! /bin/bash +set -e +function extract() { grep '^\(msgid\|"\)' "$1" | grep -v "POT-Creation-Date" | sort -u; } + +OLDTMP=$(mktemp) +trap " [ -f \"$OLDTMP\" ] && /bin/rm -f -- \"$OLDTMP\" " 0 1 2 3 13 15 +extract "$1" >"$OLDTMP" + +NEWTMP=$(mktemp) +trap " [ -f \"$NEWTMP\" ] && /bin/rm -f -- \"$NEWTMP\" " 0 1 2 3 13 15 +extract "$2" >"$NEWTMP" + +shift 2 # additional args for diff +diff -u0 "$@" "$OLDTMP" "$NEWTMP" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/po/ar.po new/libzypp-16.2.1/po/ar.po --- old/libzypp-16.1.3/po/ar.po 2016-07-11 20:01:06.000000000 +0200 +++ new/libzypp-16.2.1/po/ar.po 2016-07-17 15:01:05.000000000 +0200 @@ -13,7 +13,7 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-05-03 15:55+0200\n" -"PO-Revision-Date: 2016-07-11 15:29+0000\n" +"PO-Revision-Date: 2016-07-17 10:30+0000\n" "Last-Translator: George Yacoub <george.yac...@arabize.com>\n" "Language-Team: Arabic <https://l10n.opensuse.org/projects/libzypp/master/ar/>" "\n" @@ -676,7 +676,7 @@ #. :AFG:004: #: zypp/CountryCode.cc:161 msgid "Antigua and Barbuda" -msgstr "أنتيغوا و باربودا" +msgstr "أنتيغوا وباربودا" #. :ATG:028: #: zypp/CountryCode.cc:162 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/po/el.po new/libzypp-16.2.1/po/el.po --- old/libzypp-16.1.3/po/el.po 2016-07-11 04:01:05.000000000 +0200 +++ new/libzypp-16.2.1/po/el.po 2016-07-16 16:01:05.000000000 +0200 @@ -19,7 +19,7 @@ "Project-Id-Version: zypp.el\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-05-03 15:55+0200\n" -"PO-Revision-Date: 2016-07-10 23:49+0000\n" +"PO-Revision-Date: 2016-07-16 11:02+0000\n" "Last-Translator: Michail Vourlakos <mvourla...@gmail.com>\n" "Language-Team: Greek <https://l10n.opensuse.org/projects/libzypp/master/el/>" "\n" @@ -4488,7 +4488,7 @@ #: zypp/solver/detail/SATResolver.cc:1318 #, c-format, boost-format msgid "downgrade of %s to %s" -msgstr "υποβάθμιση του %s από %s" +msgstr "υποβάθμιση του %s σε %s" #: zypp/solver/detail/SATResolver.cc:1325 #, c-format, boost-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/po/pt_BR.po new/libzypp-16.2.1/po/pt_BR.po --- old/libzypp-16.1.3/po/pt_BR.po 2016-07-14 04:01:06.000000000 +0200 +++ new/libzypp-16.2.1/po/pt_BR.po 2016-07-19 21:01:07.000000000 +0200 @@ -14,7 +14,7 @@ "Project-Id-Version: zypp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-05-03 15:55+0200\n" -"PO-Revision-Date: 2016-07-13 23:30+0000\n" +"PO-Revision-Date: 2016-07-19 16:17+0000\n" "Last-Translator: Marcos Teofilo <mteof...@tesbrasil.com>\n" "Language-Team: Portuguese (Brazil) " "<https://l10n.opensuse.org/projects/libzypp/master/pt_BR/>\n" @@ -52,7 +52,7 @@ #: zypp/Url.cc:326 zypp/Url.cc:340 msgid "Unable to parse Url components" -msgstr "Não foi possível analisar os componentes do URL" +msgstr "Não foi possível analisar os componentes da URL" #: zypp/thread/Mutex.cc:33 msgid "Can't initialize mutex attributes" @@ -114,7 +114,7 @@ #: zypp/CheckSum.cc:136 #, c-format, boost-format msgid "Dubious type '%s' for %u byte checksum '%s'" -msgstr "Tipo '%s' duvidoso da checksum '%s' de %u byte(s)" +msgstr "Tipo '%s' duvidoso da soma de verificação '%s' de %u byte(s)" #: zypp/target/TargetImpl.cc:310 msgid " executed" @@ -134,7 +134,7 @@ #: zypp/target/TargetImpl.cc:459 msgid " execution skipped while aborting" -msgstr " execução ignorada durante a interrupção" +msgstr " execução ignorada durante o cancelamento" #: zypp/target/TargetImpl.cc:514 zypp/target/TargetImpl.cc:534 #: zypp/target/TargetImpl.cc:562 zypp/target/TargetImpl.cc:599 @@ -154,7 +154,8 @@ #: zypp/target/hal/HalContext.cc:24 msgid "Sorry, but this version of libzypp was built without HAL support." -msgstr "Esta versão do libzypp foi criada sem o suporte ao HAL." +msgstr "" +"Desculpe, mas esta versão do libzypp foi compilada sem o suporte ao HAL." #: zypp/target/hal/HalContext.cc:117 msgid "HalContext not connected" @@ -220,7 +221,7 @@ #: zypp/target/rpm/RpmDb.cc:2024 #, c-format, boost-format msgid "rpm saved %s as %s, but it was impossible to determine the difference" -msgstr "o rpm salvou %s como %s, mas não foi possível determinar a diferença" +msgstr "o RPM salvou %s como %s, mas não foi possível determinar a diferença" #. %s = filenames #: zypp/target/rpm/RpmDb.cc:2026 @@ -282,12 +283,12 @@ #. translators: possible rpm package signature check result [brief] #: zypp/target/rpm/RpmDb.cc:2373 msgid "Signatures public key is not available" -msgstr "A chave de assinatura pública não está disponível" +msgstr "Chave pública das assinaturas não disponível" #. translators: possible rpm package signature check result [brief] #: zypp/target/rpm/RpmDb.cc:2375 msgid "File does not exist or signature can't be checked" -msgstr "O arquivo não existe ou a assinatura não pôde ser verificada" +msgstr "O arquivo não existe ou a assinatura não pode ser verificada" #: zypp/ProblemSolution.cc:114 msgid "Following actions will be done:" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/zypp/Product.cc new/libzypp-16.2.1/zypp/Product.cc --- old/libzypp-16.1.3/zypp/Product.cc 2016-02-11 17:22:14.000000000 +0100 +++ new/libzypp-16.2.1/zypp/Product.cc 2016-07-18 16:41:07.000000000 +0200 @@ -214,6 +214,19 @@ Date Product::endOfLife() const { return Date( lookupNumAttribute( sat::SolvAttr::productEndOfLife ) );} + bool Product::hasEndOfLife() const + { return( lookupNumAttribute( sat::SolvAttr::productEndOfLife, -1 ) != -1 ); } + + bool Product::hasEndOfLife( Date & value ) const + { + Date res( lookupNumAttribute( sat::SolvAttr::productEndOfLife, -1 ) ); + if ( res == -1 ) + return false; + // else: + value = res; + return true; + } + std::vector<Repository::ContentIdentifier> Product::updateContentIdentifier() const { std::vector<Repository::ContentIdentifier> ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/zypp/Product.h new/libzypp-16.2.1/zypp/Product.h --- old/libzypp-16.1.3/zypp/Product.h 2016-02-11 17:22:14.000000000 +0100 +++ new/libzypp-16.2.1/zypp/Product.h 2016-07-18 16:41:07.000000000 +0200 @@ -97,9 +97,25 @@ /** The product flags */ std::list<std::string> flags() const; - /** The date when this Product goes out of support as indicated by it's medadata. */ + /** The date when this Product goes out of support as indicated by it's medadata. + * Use \ref hasEOfLife if it's important to distinguish whether the value + * is not defined in the metadata, or defined but empty/invalid/TBD. + */ Date endOfLife() const; + /** Return whether an EndOfLife value is actually defined in the metadata. + * A missing value (\c false) usually indicates that there will be no EOL, + * while an empty/invalid value indicates that there will be an EOL date, + * but it's not yet known (FATE#320699). + */ + bool hasEndOfLife() const; + /** \overload additionally returning the date (0 if TBD) + * false, ( unchanged ) : no EOL + * true, ( 0 ) : EOL is still TBD + * true, ( !=0 ) : a valid EOL date + */ + bool hasEndOfLife( Date & value ) const; + /** ContentIdentifier of required update repositories. */ std::vector<Repository::ContentIdentifier> updateContentIdentifier() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/zypp/RepoManager.cc new/libzypp-16.2.1/zypp/RepoManager.cc --- old/libzypp-16.1.3/zypp/RepoManager.cc 2016-06-15 12:37:04.000000000 +0200 +++ new/libzypp-16.2.1/zypp/RepoManager.cc 2016-07-21 13:13:04.000000000 +0200 @@ -18,6 +18,8 @@ #include <map> #include <algorithm> +#include <solv/solvversion.h> + #include "zypp/base/InputStream.h" #include "zypp/base/LogTools.h" #include "zypp/base/Gettext.h" @@ -1574,19 +1576,13 @@ { Repository repo = sat::Pool::instance().addRepoSolv( solvfile, info ); // test toolversion in order to rebuild solv file in case - // it was written by an old libsolv-tool parser. - // - // Known version strings used: - // - <no string> - // - "1.0" - // - sat::LookupRepoAttr toolversion( sat::SolvAttr::repositoryToolVersion, repo ); - if ( toolversion.begin().asString().empty() ) + // it was written by a different libsolv-tool parser. + const std::string & toolversion( sat::LookupRepoAttr( sat::SolvAttr::repositoryToolVersion, repo ).begin().asString() ); + if ( toolversion != LIBSOLV_TOOLVERSION ) { repo.eraseFromPool(); - ZYPP_THROW(Exception("Solv-file was created by old parser.")); + ZYPP_THROW(Exception(str::Str() << "Solv-file was created by '"<<toolversion<<"'-parser (want "<<LIBSOLV_TOOLVERSION<<").")); } - // else: up-to-date (or even newer). } catch ( const Exception & exp ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/zypp/base/String.h new/libzypp-16.2.1/zypp/base/String.h --- old/libzypp-16.1.3/zypp/base/String.h 2016-06-21 14:33:05.000000000 +0200 +++ new/libzypp-16.2.1/zypp/base/String.h 2016-07-21 15:37:05.000000000 +0200 @@ -1027,14 +1027,23 @@ /** Return whether \a str_r has prefix \a prefix_r. */ inline bool hasPrefix( const C_Str & str_r, const C_Str & prefix_r ) { return( ::strncmp( str_r, prefix_r, prefix_r.size() ) == 0 ); } + /** \overload Case insensitive */ + inline bool hasPrefixCI( const C_Str & str_r, const C_Str & prefix_r ) + { return( ::strncasecmp( str_r, prefix_r, prefix_r.size() ) == 0 ); } /** Strip a \a prefix_r from \a str_r and return the resulting string. */ inline std::string stripPrefix( const C_Str & str_r, const C_Str & prefix_r ) { return( hasPrefix( str_r, prefix_r ) ? str_r + prefix_r.size() : str_r.c_str() ); } + /** \overload Case insensitive */ + inline std::string stripPrefixCI( const C_Str & str_r, const C_Str & prefix_r ) + { return( hasPrefixCI( str_r, prefix_r ) ? str_r + prefix_r.size() : str_r.c_str() ); } /** Return whether \a str_r has suffix \a suffix_r. */ inline bool hasSuffix( const C_Str & str_r, const C_Str & suffix_r ) { return( str_r.size() >= suffix_r.size() && ::strncmp( str_r + str_r.size() - suffix_r.size() , suffix_r, suffix_r.size() ) == 0 ); } + /** \overload Case insensitive */ + inline bool hasSuffixCI( const C_Str & str_r, const C_Str & suffix_r ) + { return( str_r.size() >= suffix_r.size() && ::strncasecmp( str_r + str_r.size() - suffix_r.size() , suffix_r, suffix_r.size() ) == 0 ); } /** Strip a \a suffix_r from \a str_r and return the resulting string. */ inline std::string stripSuffix( const C_Str & str_r, const C_Str & suffix_r ) @@ -1043,6 +1052,14 @@ return std::string( str_r, str_r.size() - suffix_r.size() ); return str_r.c_str(); } + /** \overload Case insensitive */ + inline std::string stripSuffixCI( const C_Str & str_r, const C_Str & suffix_r ) + { + if ( hasSuffixCI( str_r, suffix_r ) ) + return std::string( str_r, str_r.size() - suffix_r.size() ); + return str_r.c_str(); + } + /** Return size of the common prefix of \a lhs and \a rhs. */ inline std::string::size_type commonPrefix( const C_Str & lhs, const C_Str & rhs ) { @@ -1053,13 +1070,31 @@ { ++lp, ++rp, ++ret; } return ret; } + /** \overload Case insensitive */ + inline std::string::size_type commonPrefixCI( const C_Str & lhs, const C_Str & rhs ) + { + const char * lp = lhs.c_str(); + const char * rp = rhs.c_str(); + std::string::size_type ret = 0; + while ( tolower(*lp) == tolower(*rp) && *lp != '\0' ) + { ++lp, ++rp, ++ret; } + return ret; + } + /** alias for \ref hasPrefix */ inline bool startsWith( const C_Str & str_r, const C_Str & prefix_r ) { return hasPrefix( str_r, prefix_r ); } + /** \overload Case insensitive */ + inline bool startsWithCI( const C_Str & str_r, const C_Str & prefix_r ) + { return hasPrefixCI( str_r, prefix_r ); } + /** alias for \ref hasSuffix */ inline bool endsWith( const C_Str & str_r, const C_Str & prefix_r ) { return hasSuffix( str_r, prefix_r ); } + /** \overload Case insensitive */ + inline bool endsWithCI( const C_Str & str_r, const C_Str & prefix_r ) + { return hasSuffixCI( str_r, prefix_r ); } //@} } // namespace str /////////////////////////////////////////////////////////////////// diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/zypp/sat/Solvable.cc new/libzypp-16.2.1/zypp/sat/Solvable.cc --- old/libzypp-16.1.3/zypp/sat/Solvable.cc 2016-02-11 17:22:14.000000000 +0100 +++ new/libzypp-16.2.1/zypp/sat/Solvable.cc 2016-07-18 16:41:07.000000000 +0200 @@ -155,6 +155,12 @@ return ::solvable_lookup_num( _solvable, attr.id(), 0 ); } + unsigned long long Solvable::lookupNumAttribute( const SolvAttr & attr, unsigned long long notfound_r ) const + { + NO_SOLVABLE_RETURN( notfound_r ); + return ::solvable_lookup_num( _solvable, attr.id(), notfound_r ); + } + bool Solvable::lookupBoolAttribute( const SolvAttr & attr ) const { NO_SOLVABLE_RETURN( false ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/zypp/sat/Solvable.h new/libzypp-16.2.1/zypp/sat/Solvable.h --- old/libzypp-16.1.3/zypp/sat/Solvable.h 2016-02-11 17:22:14.000000000 +0100 +++ new/libzypp-16.2.1/zypp/sat/Solvable.h 2016-07-18 16:41:07.000000000 +0200 @@ -337,6 +337,8 @@ * or 0 if it does not exists. */ unsigned long long lookupNumAttribute( const SolvAttr & attr ) const; + /** \overload returning custom notfound_r value */ + unsigned long long lookupNumAttribute( const SolvAttr & attr, unsigned long long notfound_r ) const; /** * returns the boolean attribute value for \ref attr diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.1.3/zypp/sat/SolvableType.h new/libzypp-16.2.1/zypp/sat/SolvableType.h --- old/libzypp-16.1.3/zypp/sat/SolvableType.h 2016-02-11 17:22:14.000000000 +0100 +++ new/libzypp-16.2.1/zypp/sat/SolvableType.h 2016-07-18 16:41:07.000000000 +0200 @@ -133,6 +133,7 @@ bool lookupBoolAttribute( const SolvAttr & attr ) const { return satSolvable().lookupBoolAttribute( attr ); } detail::IdType lookupIdAttribute( const SolvAttr & attr ) const { return satSolvable().lookupIdAttribute( attr ); } unsigned long long lookupNumAttribute( const SolvAttr & attr ) const { return satSolvable().lookupNumAttribute( attr ); } + unsigned long long lookupNumAttribute( const SolvAttr & attr, unsigned long long notfound_r ) const { return satSolvable().lookupNumAttribute( attr, notfound_r ); } CheckSum lookupCheckSumAttribute( const SolvAttr & attr ) const { return satSolvable().lookupCheckSumAttribute( attr ); } OnMediaLocation lookupLocation() const { return satSolvable().lookupLocation(); } Solvable::IdType id() const { return satSolvable().id(); }