Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2017-10-21 20:20:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp" Sat Oct 21 20:20:37 2017 rev:390 rq:533723 version:16.17.3 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2017-09-25 13:49:55.762922722 +0200 +++ /work/SRC/openSUSE:Factory/.libzypp.new/libzypp.changes 2017-10-21 20:20:39.234152571 +0200 @@ -1,0 +2,12 @@ +Thu Oct 12 18:04:38 CEST 2017 - [email protected] + +- Fix media handling in presence of a repo path prefix (bsc#1062561) +- version 16.17.3 (0) + +------------------------------------------------------------------- +Wed Oct 11 16:29:48 CEST 2017 - [email protected] + +- Fix RepoProvideFile ignoring a repo path prefix (bsc#1062561) +- version 16.17.2 (0) + +------------------------------------------------------------------- Old: ---- libzypp-16.17.1.tar.bz2 New: ---- libzypp-16.17.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.j5VdeO/_old 2017-10-21 20:20:41.114064540 +0200 +++ /var/tmp/diff_new_pack.j5VdeO/_new 2017-10-21 20:20:41.118064352 +0200 @@ -19,7 +19,7 @@ %define force_gcc_46 0 Name: libzypp -Version: 16.17.1 +Version: 16.17.3 Release: 0 Url: git://gitorious.org/opensuse/libzypp.git Summary: Package, Patch, Pattern, and Product Management ++++++ libzypp-16.17.1.tar.bz2 -> libzypp-16.17.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/VERSION.cmake new/libzypp-16.17.3/VERSION.cmake --- old/libzypp-16.17.1/VERSION.cmake 2017-09-22 12:21:10.000000000 +0200 +++ new/libzypp-16.17.3/VERSION.cmake 2017-10-12 18:16:06.000000000 +0200 @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "16") SET(LIBZYPP_COMPATMINOR "0") SET(LIBZYPP_MINOR "17") -SET(LIBZYPP_PATCH "1") +SET(LIBZYPP_PATCH "3") # -# LAST RELEASED: 16.17.1 (0) +# LAST RELEASED: 16.17.3 (0) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/package/libzypp.changes new/libzypp-16.17.3/package/libzypp.changes --- old/libzypp-16.17.1/package/libzypp.changes 2017-09-22 12:21:10.000000000 +0200 +++ new/libzypp-16.17.3/package/libzypp.changes 2017-10-12 18:16:06.000000000 +0200 @@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Thu Oct 12 18:04:38 CEST 2017 - [email protected] + +- Fix media handling in presence of a repo path prefix (bsc#1062561) +- version 16.17.3 (0) + +------------------------------------------------------------------- +Wed Oct 11 16:29:48 CEST 2017 - [email protected] + +- Fix RepoProvideFile ignoring a repo path prefix (bsc#1062561) +- version 16.17.2 (0) + +------------------------------------------------------------------- Fri Sep 22 12:16:34 CEST 2017 - [email protected] - Default to 'solver.dupAllowVendorChange = false' on SLE15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/po/id.po new/libzypp-16.17.3/po/id.po --- old/libzypp-16.17.1/po/id.po 2017-09-07 12:31:10.000000000 +0200 +++ new/libzypp-16.17.3/po/id.po 2017-10-10 12:48:09.000000000 +0200 @@ -8,16 +8,16 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-07 12:25+0200\n" -"PO-Revision-Date: 2017-07-17 22:37+0000\n" -"Last-Translator: M. Edwin Zakaria <[email protected]>\n" -"Language-Team: Indonesian <https://l10n.opensuse.org/projects/libzypp/master/" -"id/>\n" +"PO-Revision-Date: 2017-10-03 15:55+0700\n" +"Last-Translator: Kukuh Syafaat <[email protected]>\n" +"Language-Team: Indonesian " +"<https://l10n.opensuse.org/projects/libzypp/master/id/>\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 2.13.1\n" +"X-Generator: Poedit 2.0.3\n" #: zypp/target/hal/HalException.h:46 zypp/target/hal/HalException.h:55 #: zypp/target/hal/HalException.h:64 @@ -4163,21 +4163,20 @@ #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:60 -#, fuzzy msgid "does not expire" -msgstr "(Tidak berakhir)" +msgstr "tidak kedaluwarsa" #. translators: an annotation to a gpg keys expiry date: "expired: 1999-04-12" #: zypp/PublicKey.cc:65 #, boost-format msgid "expired: %1%" -msgstr "" +msgstr "kedaluwarsa: %1%" #. translators: an annotation to a gpg keys expiry date: "expires: 2111-04-12" #: zypp/PublicKey.cc:70 #, boost-format msgid "expires: %1%" -msgstr "" +msgstr "kedaluwarsa: %1%" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:79 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/po/it.po new/libzypp-16.17.3/po/it.po --- old/libzypp-16.17.1/po/it.po 2017-09-07 12:31:10.000000000 +0200 +++ new/libzypp-16.17.3/po/it.po 2017-10-10 12:48:09.000000000 +0200 @@ -15,10 +15,10 @@ "Project-Id-Version: zypp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-07 12:25+0200\n" -"PO-Revision-Date: 2017-07-28 15:35+0000\n" +"PO-Revision-Date: 2017-09-27 07:32+0000\n" "Last-Translator: Alessio Adamo <[email protected]>\n" -"Language-Team: Italian <https://l10n.opensuse.org/projects/libzypp/master/it/" -">\n" +"Language-Team: Italian " +"<https://l10n.opensuse.org/projects/libzypp/master/it/>\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3734,21 +3734,20 @@ #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:60 -#, fuzzy msgid "does not expire" -msgstr "(non scade)" +msgstr "non scade" #. translators: an annotation to a gpg keys expiry date: "expired: 1999-04-12" #: zypp/PublicKey.cc:65 #, boost-format msgid "expired: %1%" -msgstr "" +msgstr "scaduta: %1%" #. translators: an annotation to a gpg keys expiry date: "expires: 2111-04-12" #: zypp/PublicKey.cc:70 #, boost-format msgid "expires: %1%" -msgstr "" +msgstr "scade: %1%" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:79 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/po/nl.po new/libzypp-16.17.3/po/nl.po --- old/libzypp-16.17.1/po/nl.po 2017-09-07 12:31:10.000000000 +0200 +++ new/libzypp-16.17.3/po/nl.po 2017-10-10 12:48:09.000000000 +0200 @@ -16,10 +16,10 @@ "Project-Id-Version: zypp.nl\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-07 12:25+0200\n" -"PO-Revision-Date: 2017-08-28 21:35+0000\n" -"Last-Translator: Freek de Kruijf <[email protected]>\n" -"Language-Team: Dutch <https://l10n.opensuse.org/projects/libzypp/master/nl/" -">\n" +"PO-Revision-Date: 2017-10-09 10:19+0000\n" +"Last-Translator: Nathan Follens <[email protected]>\n" +"Language-Team: Dutch <https://l10n.opensuse.org/projects/libzypp/master/nl/>" +"\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -36,7 +36,7 @@ #: zypp/CheckSum.cc:136 #, c-format, boost-format msgid "Dubious type '%s' for %u byte checksum '%s'" -msgstr "Twijfelachtig type '%s' voor %u bytes checksum '%s'" +msgstr "Twijfelachtig type '%s' voor %u bytes controlesom '%s'" #: zypp/CountryCode.cc:50 msgid "Unknown country: " @@ -4838,12 +4838,12 @@ #: zypp/url/UrlBase.cc:173 #, c-format, boost-format msgid "Invalid %s component '%s'" -msgstr "Ongeldige %s component '%s'" +msgstr "Ongeldige %s-component '%s'" #: zypp/url/UrlBase.cc:180 #, c-format, boost-format msgid "Invalid %s component" -msgstr "Ongeldige %s component" +msgstr "Ongeldige %s-component" #: zypp/url/UrlBase.cc:786 zypp/url/UrlBase.cc:1231 msgid "Query string parsing not supported for this URL" @@ -4851,7 +4851,7 @@ #: zypp/url/UrlBase.cc:824 msgid "Url scheme is a required component" -msgstr "URL-schema is een vereist component" +msgstr "URL-schema is een vereiste component" #: zypp/url/UrlBase.cc:830 #, c-format, boost-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/po/ru.po new/libzypp-16.17.3/po/ru.po --- old/libzypp-16.17.1/po/ru.po 2017-09-07 12:31:10.000000000 +0200 +++ new/libzypp-16.17.3/po/ru.po 2017-10-10 12:48:09.000000000 +0200 @@ -14,17 +14,17 @@ "Project-Id-Version: zypp.ru\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-07 12:25+0200\n" -"PO-Revision-Date: 2016-12-14 04:56+0000\n" +"PO-Revision-Date: 2017-10-09 20:13+0000\n" "Last-Translator: Alex Minton <[email protected]>\n" -"Language-Team: Russian <https://l10n.opensuse.org/projects/libzypp/master/ru/" -">\n" +"Language-Team: Russian " +"<https://l10n.opensuse.org/projects/libzypp/master/ru/>\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.6\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 2.13.1\n" #: zypp/target/hal/HalException.h:46 zypp/target/hal/HalException.h:55 #: zypp/target/hal/HalException.h:64 @@ -3730,21 +3730,20 @@ #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:60 -#, fuzzy msgid "does not expire" -msgstr "(не истекает)" +msgstr "не истекает" #. translators: an annotation to a gpg keys expiry date: "expired: 1999-04-12" #: zypp/PublicKey.cc:65 #, boost-format msgid "expired: %1%" -msgstr "" +msgstr "истёк: %1%" #. translators: an annotation to a gpg keys expiry date: "expires: 2111-04-12" #: zypp/PublicKey.cc:70 #, boost-format msgid "expires: %1%" -msgstr "" +msgstr "истекает: %1%" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:79 @@ -4716,7 +4715,7 @@ #: zypp/target/rpm/RpmDb.cc:1568 msgid "Package is not signed!" -msgstr "" +msgstr "Пакет не подписан!" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. @@ -4801,7 +4800,7 @@ #. translators: possible rpm package signature check result [brief] #: zypp/target/rpm/RpmDb.cc:2397 msgid "File is unsigned" -msgstr "" +msgstr "Файл не подписан" #: zypp/thread/Mutex.cc:33 msgid "Can't initialize mutex attributes" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/po/sk.po new/libzypp-16.17.3/po/sk.po --- old/libzypp-16.17.1/po/sk.po 2017-09-07 12:31:10.000000000 +0200 +++ new/libzypp-16.17.3/po/sk.po 2017-10-10 12:48:09.000000000 +0200 @@ -6,10 +6,10 @@ "Project-Id-Version: libzypp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-07 12:25+0200\n" -"PO-Revision-Date: 2017-07-17 17:12+0000\n" +"PO-Revision-Date: 2017-10-05 11:44+0000\n" "Last-Translator: Ferdinand Galko <[email protected]>\n" -"Language-Team: Slovak <https://l10n.opensuse.org/projects/libzypp/master/sk/" -">\n" +"Language-Team: Slovak <https://l10n.opensuse.org/projects/libzypp/master/sk/>" +"\n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3721,21 +3721,20 @@ #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:60 -#, fuzzy msgid "does not expire" -msgstr "(nevyprší)" +msgstr "nevyprší" #. translators: an annotation to a gpg keys expiry date: "expired: 1999-04-12" #: zypp/PublicKey.cc:65 #, boost-format msgid "expired: %1%" -msgstr "" +msgstr "vypršal: %1%" #. translators: an annotation to a gpg keys expiry date: "expires: 2111-04-12" #: zypp/PublicKey.cc:70 #, boost-format msgid "expires: %1%" -msgstr "" +msgstr "vyprší: %1%" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:79 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/po/uk.po new/libzypp-16.17.3/po/uk.po --- old/libzypp-16.17.1/po/uk.po 2017-09-07 12:31:10.000000000 +0200 +++ new/libzypp-16.17.3/po/uk.po 2017-10-10 12:48:09.000000000 +0200 @@ -14,17 +14,17 @@ "Project-Id-Version: zypp.uk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-07 12:25+0200\n" -"PO-Revision-Date: 2016-11-26 10:57+0000\n" +"PO-Revision-Date: 2017-09-30 05:38+0000\n" "Last-Translator: Andriy Bandura <[email protected]>\n" -"Language-Team: Ukrainian <https://l10n.opensuse.org/projects/libzypp/master/" -"uk/>\n" +"Language-Team: Ukrainian " +"<https://l10n.opensuse.org/projects/libzypp/master/uk/>\n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.6\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 2.13.1\n" #: zypp/target/hal/HalException.h:46 zypp/target/hal/HalException.h:55 #: zypp/target/hal/HalException.h:64 @@ -3913,7 +3913,6 @@ #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:60 -#, fuzzy msgid "does not expire" msgstr "(не минає)" @@ -3921,13 +3920,13 @@ #: zypp/PublicKey.cc:65 #, boost-format msgid "expired: %1%" -msgstr "" +msgstr "минув: %1%" #. translators: an annotation to a gpg keys expiry date: "expires: 2111-04-12" #: zypp/PublicKey.cc:70 #, boost-format msgid "expires: %1%" -msgstr "" +msgstr "минає: %1%" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:79 @@ -4893,7 +4892,7 @@ #: zypp/target/rpm/RpmDb.cc:1568 msgid "Package is not signed!" -msgstr "" +msgstr "Пакунок не підписаний!" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. @@ -4978,7 +4977,7 @@ #. translators: possible rpm package signature check result [brief] #: zypp/target/rpm/RpmDb.cc:2397 msgid "File is unsigned" -msgstr "" +msgstr "Файл не підписаний" #: zypp/thread/Mutex.cc:33 msgid "Can't initialize mutex attributes" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/zypp/OnMediaLocation.h new/libzypp-16.17.3/zypp/OnMediaLocation.h --- old/libzypp-16.17.1/zypp/OnMediaLocation.h 2016-11-29 11:31:52.000000000 +0100 +++ new/libzypp-16.17.3/zypp/OnMediaLocation.h 2017-10-11 16:31:06.000000000 +0200 @@ -149,6 +149,10 @@ OnMediaLocation & changeFilename( const Pathname & val_r ) { _filename = val_r; return *this; } + /** Prepend the filename with \a prefix_r */ + OnMediaLocation & prependPath( const Pathname & prefix_r ) + { if ( !prefix_r.emptyOrRoot() ) changeFilename( prefix_r / filename() ); return *this; } + private: unsigned _medianr; Pathname _filename; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/zypp/Package.cc new/libzypp-16.17.3/zypp/Package.cc --- old/libzypp-16.17.1/zypp/Package.cc 2017-05-11 17:57:02.000000000 +0200 +++ new/libzypp-16.17.3/zypp/Package.cc 2017-10-12 18:16:06.000000000 +0200 @@ -36,7 +36,7 @@ // here and from SrcPackage.cc Pathname cachedLocation( const OnMediaLocation & loc_r, const RepoInfo & repo_r ) { - PathInfo pi( repo_r.packagesPath() / loc_r.filename() ); + PathInfo pi( repo_r.packagesPath() / repo_r.path() / loc_r.filename() ); if ( ! pi.isExist() ) return Pathname(); // no file in cache @@ -48,7 +48,7 @@ return Pathname(); // same name but no checksum to verify // for local repos compare with the checksum in repo - if ( CheckSum( CheckSum::md5Type(), std::ifstream( (url.getPathName() / loc_r.filename()).c_str() ) ) + if ( CheckSum( CheckSum::md5Type(), std::ifstream( (url.getPathName() / repo_r.path() / loc_r.filename()).c_str() ) ) != CheckSum( CheckSum::md5Type(), std::ifstream( pi.c_str() ) ) ) return Pathname(); // same name but wrong checksum } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/zypp/Pathname.h new/libzypp-16.17.3/zypp/Pathname.h --- old/libzypp-16.17.1/zypp/Pathname.h 2016-11-29 11:31:52.000000000 +0100 +++ new/libzypp-16.17.3/zypp/Pathname.h 2017-10-11 16:31:06.000000000 +0200 @@ -116,6 +116,9 @@ /** Test for a relative path. */ bool relative() const { return !( absolute() || empty() ); } + /** Test for "" or "/". */ + bool emptyOrRoot() const { return( _name.empty() || _name == "/" ); } + /** Return all but the last component od this path. */ Pathname dirname() const { return dirname( *this ); } static Pathname dirname( const Pathname & name_r ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/zypp/Url.cc new/libzypp-16.17.3/zypp/Url.cc --- old/libzypp-16.17.1/zypp/Url.cc 2016-11-29 11:31:52.000000000 +0100 +++ new/libzypp-16.17.3/zypp/Url.cc 2017-10-11 16:31:06.000000000 +0200 @@ -776,6 +776,11 @@ } // ----------------------------------------------------------------- + + void Url::appendPathName( const Pathname & path_r, EEncoding eflag_r ) + { if ( ! path_r.emptyOrRoot() ) setPathName( Pathname(getPathName( eflag_r )) / path_r, eflag_r ); } + + // ----------------------------------------------------------------- void Url::setPathParams(const std::string ¶ms) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/zypp/Url.h new/libzypp-16.17.3/zypp/Url.h --- old/libzypp-16.17.1/zypp/Url.h 2016-11-29 11:31:52.000000000 +0100 +++ new/libzypp-16.17.3/zypp/Url.h 2017-10-11 16:31:06.000000000 +0200 @@ -688,6 +688,11 @@ EEncoding eflag = zypp::url::E_DECODED); /** + * \brief Extend the path name. + */ + void appendPathName( const Pathname & path_r, EEncoding eflag_r = zypp::url::E_DECODED ); + + /** * \brief Set the path parameters. * \param params The new encoded path parameter string. * \throws url::UrlBadComponentException if the path \p params diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/zypp/repo/PackageProvider.cc new/libzypp-16.17.3/zypp/repo/PackageProvider.cc --- old/libzypp-16.17.1/zypp/repo/PackageProvider.cc 2017-07-21 13:31:07.000000000 +0200 +++ new/libzypp-16.17.3/zypp/repo/PackageProvider.cc 2017-10-12 18:16:06.000000000 +0200 @@ -269,11 +269,11 @@ const OnMediaLocation & loc( _package->location() ); if ( ! loc.checksum().empty() ) // no cache hit without checksum { - PathInfo pi( topCache.repoPackagesCachePath / info.packagesPath().basename() / loc.filename() ); + PathInfo pi( topCache.repoPackagesCachePath / info.packagesPath().basename() / info.path() / loc.filename() ); if ( pi.isExist() && loc.checksum() == CheckSum( loc.checksum().type(), std::ifstream( pi.c_str() ) ) ) { report()->start( _package, pi.path().asFileUrl() ); - const Pathname & dest( info.packagesPath() / loc.filename() ); + const Pathname & dest( info.packagesPath() / info.path() / loc.filename() ); if ( filesystem::assert_dir( dest.dirname() ) == 0 && filesystem::hardlinkCopy( pi.path(), dest ) == 0 ) { ret = ManagedFile( dest ); @@ -551,7 +551,7 @@ } // build the package and put it into the cache - Pathname destination( _package->repoInfo().packagesPath() / _package->location().filename() ); + Pathname destination( _package->repoInfo().packagesPath() / _package->repoInfo().path() / _package->location().filename() ); if ( ! applydeltarpm::provide( delta, destination, bind( &RpmPackageProvider::progressDeltaApply, this, _1 ) ) ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-16.17.1/zypp/repo/RepoProvideFile.cc new/libzypp-16.17.3/zypp/repo/RepoProvideFile.cc --- old/libzypp-16.17.1/zypp/repo/RepoProvideFile.cc 2016-12-14 12:26:08.000000000 +0100 +++ new/libzypp-16.17.3/zypp/repo/RepoProvideFile.cc 2017-10-12 18:16:06.000000000 +0200 @@ -246,10 +246,12 @@ { return _impl->_defaultPolicy; } ManagedFile RepoMediaAccess::provideFile( RepoInfo repo_r, - const OnMediaLocation & loc_r, + const OnMediaLocation & loc_rx, const ProvideFilePolicy & policy_r ) { - MIL << loc_r << endl; + const OnMediaLocation locWithPath( OnMediaLocation(loc_rx).prependPath( repo_r.path() ) ); + + MIL << locWithPath << endl; // Arrange DownloadFileReportHack to recieve the source::DownloadFileReport // and redirect download progress triggers to call the ProvideFilePolicy // callback. @@ -257,7 +259,7 @@ RepoException repo_excpt(repo_r, str::form(_("Can't provide file '%s' from repository '%s'"), - loc_r.filename().c_str(), + locWithPath.filename().c_str(), repo_r.alias().c_str() ) ); if ( repo_r.baseUrlsEmpty() ) @@ -305,11 +307,11 @@ MIL << "Providing file of repo '" << repo_r.alias() << "' from " << url << endl; shared_ptr<MediaSetAccess> access = _impl->mediaAccessForUrl( url, repo_r ); - fetcher.enqueue( loc_r ); + fetcher.enqueue( locWithPath ); fetcher.start( destinationDir, *access ); // reached if no exception has been thrown, so this is the correct file - ManagedFile ret( destinationDir + loc_r.filename() ); + ManagedFile ret( destinationDir + locWithPath.filename() ); if ( !repo_r.keepPackages() ) { ret.setDispose( filesystem::unlink );
