From b04efa0f8cca11c0ddf6bae2121a9576b68989cd Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Tue, 1 Nov 2016 11:12:25 +0900 Subject: [PATCH] Imported Upstream version 16.0.5 Change-Id: If6dcc391ac42e73ac0da52d806b9f09c28aeb244 Signed-off-by: DongHun Kwak --- VERSION.cmake | 4 +- package/libzypp.changes | 8 ++ po/ru.po | 33 ++++---- po/sv.po | 202 +++++++++++++++++++++++---------------------- po/uk.po | 17 ++-- po/zh_CN.po | 26 +++--- zypp.conf | 14 ++++ zypp/ResolverProblem.cc | 30 ++++++- zypp/ZConfig.cc | 12 +++ zypp/ZConfig.h | 10 +++ zypp/media/MediaHandler.cc | 39 ++++----- 11 files changed, 233 insertions(+), 162 deletions(-) diff --git a/VERSION.cmake b/VERSION.cmake index 95a2094..86fcf87 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -61,8 +61,8 @@ SET(LIBZYPP_MAJOR "16") SET(LIBZYPP_COMPATMINOR "0") SET(LIBZYPP_MINOR "0") -SET(LIBZYPP_PATCH "4") +SET(LIBZYPP_PATCH "5") # -# LAST RELEASED: 16.0.4 (0) +# LAST RELEASED: 16.0.5 (0) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff --git a/package/libzypp.changes b/package/libzypp.changes index 0afd0a0..64c609d 100644 --- a/package/libzypp.changes +++ b/package/libzypp.changes @@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Tue Jun 21 11:11:03 CEST 2016 - ma@suse.de + +- Filter duplicate resolver solutions (bsc#985674) +- zypp.conf: Add download.media_mountdir: Path where media are + preferably mounted or downloaded (FATE#319462) +- version 16.0.5 (0) + +------------------------------------------------------------------- Wed Jun 15 12:36:27 CEST 2016 - ma@suse.de - Fix bug in removeRepository which may keep an empty .repo file diff --git a/po/ru.po b/po/ru.po index 89c581f..fcf81e0 100644 --- a/po/ru.po +++ b/po/ru.po @@ -14,16 +14,17 @@ msgstr "" "Project-Id-Version: zypp.ru\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-05-03 15:55+0200\n" -"PO-Revision-Date: 2015-11-17 22:10+0300\n" -"Last-Translator: Aleksandr Melentev \n" -"Language-Team: Russian \n" +"PO-Revision-Date: 2016-06-17 21:06+0000\n" +"Last-Translator: SLE Merge Robot \n" +"Language-Team: Russian " +"\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: Lokalize 2.0\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" #: zypp/target/hal/HalException.h:46 zypp/target/hal/HalException.h:55 #: zypp/target/hal/HalException.h:64 @@ -32,12 +33,12 @@ msgstr "Исключение Hal" #: zypp/Url.cc:114 msgid "Invalid LDAP URL query string" -msgstr "Неверная строка запроса LDAP в URL-адресе" +msgstr "Недопустимая строка запроса LDAP в URL-адресе" #: zypp/Url.cc:153 #, c-format, boost-format msgid "Invalid LDAP URL query parameter '%s'" -msgstr "Неверный параметр запроса LDAP в URL-адресе: '%s'" +msgstr "Недопустимый параметр запроса LDAP в URL-адресе: '%s'" #: zypp/Url.cc:300 msgid "Unable to clone Url object" @@ -45,7 +46,7 @@ msgstr "Не удалось создать клон объекта URL" #: zypp/Url.cc:313 msgid "Invalid empty Url object reference" -msgstr "Неверная ссылка на пустой объект URL" +msgstr "Недопустимая ссылка на пустой объект URL" #: zypp/Url.cc:326 zypp/Url.cc:340 msgid "Unable to parse Url components" @@ -115,11 +116,11 @@ msgstr "Подозрительный тип '%s' байта номер %u кон #: zypp/target/TargetImpl.cc:310 msgid " executed" -msgstr "выполнено" +msgstr " выполнено" #: zypp/target/TargetImpl.cc:332 msgid " execution failed" -msgstr "сбой выполнения" +msgstr " сбой при выполнении" #. translators: We may find the same script content in files with different names. #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line @@ -131,7 +132,7 @@ msgstr "%s уже выполнен как %s)" #: zypp/target/TargetImpl.cc:459 msgid " execution skipped while aborting" -msgstr "выполнение пропущено при прерывании" +msgstr " выполнение пропущено во время прерывания работы" #: zypp/target/TargetImpl.cc:514 zypp/target/TargetImpl.cc:534 #: zypp/target/TargetImpl.cc:562 zypp/target/TargetImpl.cc:599 @@ -643,7 +644,7 @@ msgstr "" #: zypp/VendorSupportOptions.cc:56 msgid "Unknown support option. Description not available" -msgstr "Неизвестный вариант поддержки. Описание недоступно." +msgstr "Неизвестный вариант поддержки. Описание недоступно" #: zypp/CountryCode.cc:50 msgid "Unknown country: " @@ -692,7 +693,7 @@ msgstr "Армения" #. :ARM:051: #: zypp/CountryCode.cc:165 msgid "Netherlands Antilles" -msgstr "Нидерландские Антильские острова " +msgstr "Нидерландские Антильские острова" #. :ANT:530: #: zypp/CountryCode.cc:166 @@ -4399,7 +4400,7 @@ msgstr "" #. translators: 'uninstallable' == 'not installable' #: zypp/solver/detail/SATResolver.cc:1084 msgid "uninstallable providers: " -msgstr "неустанавливаемые поставщики:" +msgstr "поставщики, не подлежащие установке: " #: zypp/solver/detail/SATResolver.cc:1141 #, c-format, boost-format @@ -4702,7 +4703,7 @@ msgstr "Расположение '%s' временно недоступно." #, c-format, boost-format msgid " SSL certificate problem, verify that the CA cert is OK for '%s'." msgstr "" -"Проблема с сертификатом SSL, проверьте, всё ли в порядке с удостоверяющим " +" Проблема с сертификатом SSL, проверьте, всё ли в порядке с удостоверяющим " "центром сертификата '%s'." #: zypp/media/MediaException.cc:231 diff --git a/po/sv.po b/po/sv.po index 3a28187..18141e7 100644 --- a/po/sv.po +++ b/po/sv.po @@ -14,10 +14,10 @@ msgstr "" "Project-Id-Version: zypp.sv\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-05-03 15:55+0200\n" -"PO-Revision-Date: 2016-05-23 07:52+0000\n" +"PO-Revision-Date: 2016-06-20 21:36+0000\n" "Last-Translator: Jonas Svensson \n" -"Language-Team: Swedish " -"\n" +"Language-Team: Swedish " +"\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,7 +37,7 @@ msgstr "Ogiltig LDAP URL-frågesträng" #: zypp/Url.cc:153 #, c-format, boost-format msgid "Invalid LDAP URL query parameter '%s'" -msgstr "Ogiltig LDAP URL-frågeparameter %s" +msgstr "Ogiltig LDAP URL-frågeparameter '%s'" #: zypp/Url.cc:300 msgid "Unable to clone Url object" @@ -111,7 +111,7 @@ msgstr "Kompletterar" #: zypp/CheckSum.cc:136 #, c-format, boost-format msgid "Dubious type '%s' for %u byte checksum '%s'" -msgstr "Den tvivelaktiga typen %s för %u-bytekontrollsumma %s" +msgstr "Den tvivelaktiga typen '%s' för %u-bytekontrollsumma '%s'" #: zypp/target/TargetImpl.cc:310 msgid " executed" @@ -283,7 +283,7 @@ msgstr "Signaturens offentliga nyckel är inte tillgänglig" #. 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 "Filen existerar inte eller dess signatur kan inte kontrolleras" +msgstr "Filen finns inte eller signaturen kan inte kontrolleras" #: zypp/ProblemSolution.cc:114 msgid "Following actions will be done:" @@ -304,11 +304,11 @@ msgstr "Det gick inte att läsa katalogen '%s'" #: zypp/RepoManager.cc:315 #, boost-format msgid "Cannot read repo file '%1%': Permission denied" -msgstr "Kan inte läsa förrådsfilen (repo file) '%1%': Åtkomst nekad" +msgstr "Kan inte läsa förrådsfilen '%1%': Åtkomst nekad" #: zypp/RepoManager.cc:338 msgid "Repository alias cannot start with dot." -msgstr "Förrådets (repots) alias får inte inledas med en punkt." +msgstr "Aliaset för ett förråd kan inte inledas med en punkt." #: zypp/RepoManager.cc:349 msgid "Service alias cannot start with dot." @@ -327,7 +327,7 @@ msgstr "Kan inte skriva till filen '%s'." #: zypp/RepoManager.cc:849 #, boost-format msgid "Unknown service '%1%': Removing orphaned service repository '%2%'" -msgstr "Okänd tjänst '%1%': Tar bort den föräldrarlösa tjänstens förråd '%2%'" +msgstr "Okänd tjänst '%1%': Tar bort övergivet förråd '%2%'" #. we will throw this later if no URL checks out fine #: zypp/RepoManager.cc:1082 @@ -343,22 +343,22 @@ msgstr "Kan inte skapa %s" #: zypp/RepoManager.cc:1140 msgid "Can't create metadata cache directory." -msgstr "Kan inte skapa metadata och katalog för cache." +msgstr "Kan inte att skapa cachekatalog för metadata." #: zypp/RepoManager.cc:1282 #, c-format, boost-format msgid "Building repository '%s' cache" -msgstr "Bygger cache för förrådet '%s'" +msgstr "Cache för förrådet '%s' byggs" #: zypp/RepoManager.cc:1302 #, c-format, boost-format msgid "Can't create cache at %s - no writing permissions." -msgstr "Kan inte skapa cache i %s - inga skrivrättigheter." +msgstr "Kan inte att skapa cache på %s - ingen skrivrättighet." #: zypp/RepoManager.cc:1366 #, c-format, boost-format msgid "Failed to cache repo (%d)." -msgstr "Misslyckades att cachlagra förråd (repo) %d." +msgstr "Misslyckades att cachlagra förråd (%d)." #: zypp/RepoManager.cc:1377 msgid "Unhandled repository type" @@ -373,13 +373,13 @@ msgstr "Kan inte hantera förrådstypen" #: zypp/RepoManager.cc:1414 zypp/RepoManager.cc:2464 #, c-format, boost-format msgid "Error trying to read from '%s'" -msgstr "Fel vid försök att läsa från '%s'" +msgstr "Det gick inte att läsa från '%s'" #. TranslatorExplanation '%s' is an URL #: zypp/RepoManager.cc:1467 zypp/RepoManager.cc:2472 #, c-format, boost-format msgid "Unknown error reading from '%s'" -msgstr "Obekant fel vid läsning från '%s'" +msgstr "Ett okänt fel uppstod vid läsning från '%s'" #: zypp/RepoManager.cc:1611 #, c-format, boost-format @@ -390,16 +390,16 @@ msgstr "Lägger till förrådet '%s'" #: zypp/RepoManager.cc:1701 #, c-format, boost-format msgid "Invalid repo file name at '%s'" -msgstr "Ogiltigt namn på förråd (repo) '%s'" +msgstr "Ogiltigt namn på förråd '%s'" #: zypp/RepoManager.cc:1740 #, c-format, boost-format msgid "Removing repository '%s'" -msgstr "Tar bort förrådet '%s'" +msgstr "Förrådet '%s' tas bort" #: zypp/RepoManager.cc:1759 zypp/RepoManager.cc:1835 msgid "Can't figure out where the repo is stored." -msgstr "Kan inte identifiera var förrådet (repo) är sparat." +msgstr "Kan inte identifiera var förrådet är lagrat." #. TranslatorExplanation '%s' is a filename #: zypp/RepoManager.cc:1771 zypp/RepoManager.cc:1963 @@ -511,7 +511,7 @@ msgstr "Kan inte ändra roten (chroot) till '%s' (%s)." #: zypp/ExternalProgram.cc:360 #, c-format, boost-format msgid "Can't chdir to '%s' inside chroot '%s' (%s)." -msgstr "Kan inte ändra katalogen (chdir) till '%s' i en chroot '%s' (%s)." +msgstr "Kan inte ändra katalogen (chdir) till '%s' i chroot '%s' (%s)." #: zypp/ExternalProgram.cc:361 #, c-format, boost-format @@ -532,12 +532,12 @@ msgstr "Kan inte dela upp (%s)." #: zypp/ExternalProgram.cc:507 #, c-format, boost-format msgid "Command exited with status %d." -msgstr "Kommandot avslutades med status %d." +msgstr "Kommandot avslutades med statusen %d." #: zypp/ExternalProgram.cc:527 #, c-format, boost-format msgid "Command was killed by signal %d (%s)." -msgstr "Kommandot dödades med signal %d (%s)." +msgstr "Kommandot avbröts av signalen %d (%s)." #: zypp/ExternalProgram.cc:532 msgid "Command exited with unknown error." @@ -546,7 +546,7 @@ msgstr "Kommandot avslutades med ett okänt fel." #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:116 msgid "(does not expire)" -msgstr "(upphör inte)" +msgstr "(går inte ut)" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:125 @@ -556,7 +556,7 @@ msgstr "(UTGÅNGEN)" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:129 msgid "(expires within 24h)" -msgstr "(upphör inom 24 timmar)" +msgstr "(går ut inom 24 timmar)" #. translators: an annotation to a gpg keys expiry date #: zypp/PublicKey.cc:133 @@ -639,7 +639,7 @@ msgstr "Ytterligare ett kundavtal behövs för att kunna ge support." #: zypp/VendorSupportOptions.cc:56 msgid "Unknown support option. Description not available" -msgstr "Okänt supportalternativ. Beskrivningen är inte tillgänglig" +msgstr "Okänt supportalternativ. Beskrivning är inte tillgänglig" #: zypp/CountryCode.cc:50 msgid "Unknown country: " @@ -4404,7 +4404,7 @@ msgstr "Försökte importera icke existerande nyckel %s till nyckelringen %s" #: zypp/KeyRing.cc:566 msgid "Failed to delete key." -msgstr "Misslyckades att radera nyckel." +msgstr "Det gick inte att ta bort nyckeln." #: zypp/KeyRing.cc:575 #, c-format, boost-format @@ -4414,11 +4414,11 @@ msgstr "Signaturfilen %s hittas inte" #: zypp/repo/RepoProvideFile.cc:259 #, c-format, boost-format msgid "Can't provide file '%s' from repository '%s'" -msgstr "Kan inte tillhandahålla filen %s från förrådet '%s'" +msgstr "Det går inte att hämta filen %s från förrådet %s" #: zypp/repo/RepoProvideFile.cc:265 msgid "No url in repository." -msgstr "Det finns Ingen URL i förrådet." +msgstr "Det finns ingen URL i förrådet." #: zypp/repo/RepoException.cc:129 msgid "Service plugin does not support changing an attribute." @@ -4431,8 +4431,8 @@ msgid "" "Package %s seems to be corrupted during transfer. Do you want to retry " "retrieval?" msgstr "" -"Paketet %s ser ut att ha skadats under överföringen. Vill försöka hämta den " -"på nytt?" +"Paketet %s verkar ha skadats under överföringen. Vill du försöka överföra " +"det på nytt?" # %s is either BOOTP or DHCP #: zypp/repo/PackageProvider.cc:216 @@ -4443,7 +4443,9 @@ msgstr "Signaturen kunde inte verifieras" #: zypp/repo/PackageProvider.cc:386 #, c-format, boost-format msgid "Failed to provide Package %s. Do you want to retry retrieval?" -msgstr "Misslyckades att tillhandahålla paket %s. Vill du göra ett nytt försök?" +msgstr "" +"Det gick inte att tillhandahålla paketet %s. Vill du försöka hämta det på " +"nytt?" #: zypp/repo/PackageProvider.cc:515 msgid "applydeltarpm check failed." @@ -4465,7 +4467,7 @@ msgstr "" #: zypp/solver/detail/SATResolver.cc:975 #, c-format, boost-format msgid "%s does not belong to a distupgrade repository" -msgstr "%s tillhör inte ett \"distupgrade\" förråd (repo)" +msgstr "%s tillhör inte ett distupgrade-förråd" #: zypp/solver/detail/SATResolver.cc:979 #, c-format, boost-format @@ -4492,7 +4494,7 @@ msgstr "inget tillhandahåller begärda %s" #: zypp/solver/detail/SATResolver.cc:993 zypp/solver/detail/SATResolver.cc:997 msgid "Have you enabled all requested repositories?" -msgstr "Har du aktiverat alla begärda förråd (repos)?" +msgstr "Har du aktiverat alla begärda förråd?" #: zypp/solver/detail/SATResolver.cc:996 #, c-format, boost-format @@ -4506,7 +4508,7 @@ msgstr "begäran stöds inte" #: zypp/solver/detail/SATResolver.cc:1003 #, c-format, boost-format msgid "%s is provided by the system and cannot be erased" -msgstr "%s tillhandahålls av systemet och kan inte tas bort" +msgstr "%s kommer från systemet och kan inte tas bort" #: zypp/solver/detail/SATResolver.cc:1007 #, c-format, boost-format @@ -4516,7 +4518,7 @@ msgstr "%s går inte att installera" #: zypp/solver/detail/SATResolver.cc:1012 #, c-format, boost-format msgid "nothing provides %s needed by %s" -msgstr "inget tillhandahåller %s som behövs av %s" +msgstr "inget tillhandahåller %s som behövs i %s" #: zypp/solver/detail/SATResolver.cc:1017 #, c-format, boost-format @@ -4536,12 +4538,12 @@ msgstr "%s gör %s inaktuell som kommer från %s" #: zypp/solver/detail/SATResolver.cc:1032 #, c-format, boost-format msgid "installed %s obsoletes %s provided by %s" -msgstr "%s gör %s tillhandahållen av %s inaktuell" +msgstr "%s gör %s som kommer från %s inaktuell" #: zypp/solver/detail/SATResolver.cc:1036 #, c-format, boost-format msgid "solvable %s conflicts with %s provided by itself" -msgstr "lösbara %s är i konflikt med %s tillhandahållen av sig själv" +msgstr "lösbara %s är i konflikt med %s som kommer från sig själv" #: zypp/solver/detail/SATResolver.cc:1068 #, c-format, boost-format @@ -4564,7 +4566,7 @@ msgstr "" #. translators: 'uninstallable' == 'not installable' #: zypp/solver/detail/SATResolver.cc:1084 msgid "uninstallable providers: " -msgstr "oinstallerbara leverantörer: " +msgstr "leverantörer som inte går att installera: " #: zypp/solver/detail/SATResolver.cc:1141 #, c-format, boost-format @@ -4591,12 +4593,12 @@ msgstr "ta bort lås så att %s kan installeras" #: zypp/solver/detail/SATResolver.cc:1217 #: zypp/solver/detail/SATResolver.cc:1238 msgid "This request will break your system!" -msgstr "Denna begäran kommer att skada ditt system!" +msgstr "Denna begäran kommer att knäcka systemet!" #: zypp/solver/detail/SATResolver.cc:1218 #: zypp/solver/detail/SATResolver.cc:1239 msgid "ignore the warning of a broken system" -msgstr "ignorera varningen om ett skadat system" +msgstr "ignorera varningen om ett trasigt system" #: zypp/solver/detail/SATResolver.cc:1223 #, c-format, boost-format @@ -4631,7 +4633,7 @@ msgstr "behåll föråldrad version av %s" #: zypp/solver/detail/SATResolver.cc:1298 #, c-format, boost-format msgid "install %s from excluded repository" -msgstr "installera %s från undantaget förråd (repo)" +msgstr "installera %s från undantaget arkiv" #: zypp/solver/detail/SATResolver.cc:1318 #, c-format, boost-format @@ -4649,7 +4651,7 @@ msgid "" "install %s (with vendor change)\n" " %s --> %s" msgstr "" -"installera %s (med byte av leverantör)\n" +"installera %s (med ändrad leverantör)\n" " %s --> %s" #: zypp/solver/detail/SATResolver.cc:1343 @@ -4666,21 +4668,21 @@ msgstr "avinstallation av %s" #: zypp/solver/detail/ProblemSolutionIgnore.cc:42 #, c-format, boost-format msgid "break %s by ignoring some of its dependencies" -msgstr "bryt '%s' genom att ignorera några av beroendena" +msgstr "bryt %s genom att ignorera vissa beroenden" #: zypp/solver/detail/ProblemSolutionIgnore.cc:48 msgid "generally ignore of some dependencies" -msgstr "ignorera generellt vissa beroende" +msgstr "ignorera generellt några beroende" #: zypp/parser/RepoindexFileReader.cc:197 #, c-format, boost-format msgid "Required attribute '%s' is missing." -msgstr "Det obligatoriska attributet '%s' saknas." +msgstr "Det nödvändiga attributet '%s' saknas." #: zypp/parser/RepoindexFileReader.cc:209 #, c-format, boost-format msgid "One or both of '%s' or '%s' attributes is required." -msgstr "Ett eller båda av attributen '%s' och/eller '%s' är obligatoriska." +msgstr "Ett av eller båda attributen '%s' och '%s' krävs." #: zypp/base/InterProcessMutex.cc:83 #, c-format, boost-format @@ -4689,7 +4691,7 @@ msgstr "Kan inte öppna låsfilen: %s" #: zypp/base/InterProcessMutex.cc:143 msgid "This action is being run by another program already." -msgstr "Denna åtgärd körs redan av ett annat program." +msgstr "Åtgärden körs redan av ett annat program." #. TranslatorExplanation followed by the list of error messages that lead to this exception #: zypp/base/Exception.cc:107 @@ -4699,12 +4701,12 @@ msgstr "Historik:" #: zypp/base/StrMatcher.cc:152 #, c-format, boost-format msgid "Unknown match mode '%s'" -msgstr "Obekant matchningsläge '%s'" +msgstr "Okänt matchningsläge '%s'" #: zypp/base/StrMatcher.cc:153 #, c-format, boost-format msgid "Unknown match mode '%s' for pattern '%s'" -msgstr "Obekant matchningsläge '%s' för mönstret '%s'" +msgstr "Okänt matchningsläge '%s' för mönstret '%s'" #: zypp/base/StrMatcher.cc:157 #, c-format, boost-format @@ -4714,7 +4716,7 @@ msgstr "Ogiltigt reguljärt uttryck '%s': regcomp returnerade %d" #: zypp/base/StrMatcher.cc:158 #, c-format, boost-format msgid "Invalid regular expression '%s'" -msgstr "Ogiltigt reguljärt uttryck: '%s'" +msgstr "Ogiltigt reguljärt uttryck '%s'" #: zypp/misc/CheckAccessDeleted.cc:242 msgid "Please install package 'lsof' first." @@ -4724,12 +4726,12 @@ msgstr "Installera paketet 'lsof' först." #: zypp/media/MediaCIFS.cc:430 zypp/media/MediaCurl.cc:1692 #, c-format, boost-format msgid "Authentication required for '%s'" -msgstr "Autentisering krävs för \"%s\"" +msgstr "Autentisering krävs för '%s'" #: zypp/media/MediaException.cc:31 #, c-format, boost-format msgid "Failed to mount %s on %s" -msgstr "Misslyckades att notera %s vid %s" +msgstr "Misslyckades att montera %s på %s" #: zypp/media/MediaException.cc:41 #, c-format, boost-format @@ -4744,7 +4746,7 @@ msgstr "Ogiltigt filnamn: %s" #: zypp/media/MediaException.cc:53 #, c-format, boost-format msgid "Medium not opened when trying to perform action '%s'." -msgstr "Mediet inte öppet vid försök att utföra åtgärden %s." +msgstr "Mediet öppnades inte när åtgärden '%s' skulle utföras." #: zypp/media/MediaException.cc:60 #, c-format, boost-format @@ -4754,7 +4756,7 @@ msgstr "Filen '%s' kunde inte hittas på mediet '%s'" #: zypp/media/MediaException.cc:67 #, c-format, boost-format msgid "Cannot write file '%s'." -msgstr "Kan inte skriva till filen '%s'." +msgstr "Kan inte skriva filen '%s'." #: zypp/media/MediaException.cc:72 msgid "Medium not attached" @@ -4762,44 +4764,44 @@ msgstr "Mediet är inte anslutet" #: zypp/media/MediaException.cc:77 msgid "Bad media attach point" -msgstr "Ogiltigt media på anslutningspunkten" +msgstr "Felaktig anslutningspunkt för media" #. TranslatorExplanation: curl is the name of a library, don't translate #: zypp/media/MediaException.cc:84 #, c-format, boost-format msgid "Download (curl) initialization failed for '%s'" -msgstr "Initieringen för nedladdningen (curl) misslyckades för '%s'" +msgstr "Initieringen av hämtningen (curl) misslyckades för '%s'" #: zypp/media/MediaException.cc:91 #, c-format, boost-format msgid "System exception '%s' on medium '%s'." -msgstr "System exception '%s' på mediet '%s'." +msgstr "Systemundantaget '%s' uppstod för mediet '%s'." #: zypp/media/MediaException.cc:98 #, c-format, boost-format msgid "Path '%s' on medium '%s' is not a file." -msgstr "Sökvägen '%s' på mediet '%s' leder inte till en fil." +msgstr "Sökvägen '%s' på mediet '%s' är inte en fil." #: zypp/media/MediaException.cc:106 #, c-format, boost-format msgid "Path '%s' on medium '%s' is not a directory." -msgstr "Sökvägen '%s' på mediet '%s' leder inte till en katalog." +msgstr "Sökvägen '%s' på mediet '%s' är inte en katalog." #: zypp/media/MediaException.cc:115 msgid "Malformed URI" -msgstr "Felaktigt utformad URI" +msgstr "Felaktigt format för URI" #: zypp/media/MediaException.cc:125 msgid "Empty host name in URI" -msgstr "Inget värdnamn angivet i URI" +msgstr "Tomt värdnamn i URI" #: zypp/media/MediaException.cc:130 msgid "Empty filesystem in URI" -msgstr "Inget filsystem angivet i URI" +msgstr "Tomt filsystem i URI" #: zypp/media/MediaException.cc:135 msgid "Empty destination in URI" -msgstr "Inget mål angiven i URI" +msgstr "Tomt mål i URI" #: zypp/media/MediaException.cc:140 #, c-format, boost-format @@ -4808,7 +4810,7 @@ msgstr "URI-schemat i '%s' stöds inte." #: zypp/media/MediaException.cc:145 msgid "Operation not supported by medium" -msgstr "Operationen stöds inte av mediet" +msgstr "Åtgärden stöds inte av mediet" #: zypp/media/MediaException.cc:152 #, c-format, boost-format @@ -4817,7 +4819,7 @@ msgid "" "Error code: %s\n" "Error message: %s\n" msgstr "" -"Nedladdningsfel (curl) för '%s':\n" +"Ett hämtningsfel (curl) uppstod för '%s'.\n" "Felkod: %s\n" "Felmeddelande: %s\n" @@ -4826,12 +4828,12 @@ msgstr "" #, c-format, boost-format msgid "Error occurred while setting download (curl) options for '%s':" msgstr "" -"Ett fel uppstod vid inställning av alternativ för nedladdning (curl) av '%s':" +"Ett fel uppstod när alternativ för hämtning (curl) skulle anges för '%s':" #: zypp/media/MediaException.cc:169 #, c-format, boost-format msgid "Media source '%s' does not contain the desired medium" -msgstr "Mediakällan '%s' innehåller inte det önskade mediet" +msgstr "Mediekällan '%s' innehåller inte önskat medium" #: zypp/media/MediaException.cc:175 #, c-format, boost-format @@ -4840,56 +4842,56 @@ msgstr "Mediet '%s' används av en annan instans" #: zypp/media/MediaException.cc:182 msgid "Cannot eject any media" -msgstr "Kan inte mata ut media" +msgstr "Kan inte mata ut något medium" #: zypp/media/MediaException.cc:184 #, c-format, boost-format msgid "Cannot eject media '%s'" -msgstr "Kan inte mata ut media '%s'" +msgstr "Kan inte mata ut mediet '%s'" #: zypp/media/MediaException.cc:199 #, c-format, boost-format msgid "Permission to access '%s' denied." -msgstr "Åtkomst nekas för '%s '." +msgstr "Behörighet för åtkomst till '%s' nekad." #: zypp/media/MediaException.cc:207 #, c-format, boost-format msgid "Timeout exceeded when accessing '%s'." -msgstr "Timeout vid åtkomst av '%s'" +msgstr "Tidsgränsen överskreds vid försök att nå '%s'." #: zypp/media/MediaException.cc:215 #, c-format, boost-format msgid "Location '%s' is temporarily unaccessible." -msgstr "Platsen '%s' är tillfälligt oåtkomlig." +msgstr "Platsen '%s' är för tillfället oåtkomlig." #: zypp/media/MediaException.cc:223 #, c-format, boost-format msgid " SSL certificate problem, verify that the CA cert is OK for '%s'." -msgstr "" -"SSL-certifikatsproblem, kontrollera att CA-certifikatet för '%s' är OK." +msgstr " SSL-certifikatsproblem, verifiera att CA-certifikatet för '%s' är OK." #: zypp/media/MediaException.cc:231 #, c-format, boost-format msgid "Cannot find available loop device to mount the image file from '%s'" msgstr "" -"Kan inte hitta ett tillgängligt loop device att montera image-filen från '%s'" +"Det gick inte att hitta en tillgänglig loop-enhet för montering av bildfilen " +"från '%s'" #: zypp/media/MediaUserAuth.cc:136 #, c-format, boost-format msgid "Unsupported HTTP authentication method '%s'" -msgstr "HTTP-autentiseringsmetod \"%s\" stöds inte" +msgstr "Det finns inte stöd för HTTP-autentiseringsmetoden '%s'" #: zypp/media/MediaCurl.cc:1008 msgid "" "Visit the Novell Customer Center to check whether your registration is valid " "and has not expired." msgstr "" -"Besök Novell Customer Center för att kontrollera att din reigistering är " -"giltig och inte löpt ut." +"Besök Novells kundcenter och kontrollera att din registrering är giltig och " +"fortfarande gäller." #: zypp/sat/detail/PoolImpl.cc:184 msgid "Can not create sat-pool." -msgstr "Kan inte skapa sat-pool" +msgstr "Kan inte skapa sat-pool." #. [lhs][rhs] 0 = installed; 1 = to be installed #. TranslatorExplanation %1%(filename) %2%(package1) %3%(package2) @@ -4902,10 +4904,10 @@ msgid "" " conflicts with file from package\n" " %3%" msgstr "" -"Filen %1%\n" -" från källpaketet\n" +"Fil %1%\n" +" från paketet\n" " %2%\n" -" står i konflikt med filen från källpaketet\n" +" står i konflikt med fil från paketet\n" " %3%" #. TranslatorExplanation %1%(filename) %2%(package1) %3%(package2) @@ -4918,10 +4920,10 @@ msgid "" " conflicts with file from install of\n" " %3%" msgstr "" -"Filen %1%\n" -" från källpaketet\n" +"Fil %1%\n" +" från paketet\n" " %2%\n" -" står i konflikt med filen från installationen av\n" +" står i konflikt med fil från installationen av\n" " %3%" #. TranslatorExplanation %1%(filename) %2%(package1) %3%(package2) @@ -4934,10 +4936,10 @@ msgid "" " conflicts with file from package\n" " %3%" msgstr "" -"Filen %1%\n" +"Fil %1%\n" " från installationen av\n" " %2%\n" -" står i konflikt med filen från källpaketet\n" +" står i konflikt med fil från paketet\n" " %3%" #. TranslatorExplanation %1%(filename) %2%(package1) %3%(package2) @@ -4950,10 +4952,10 @@ msgid "" " conflicts with file from install of\n" " %3%" msgstr "" -"Filen %1%\n" +"Fil %1%\n" " från installationen av\n" " %2%\n" -" står i konflikt med filen från installationen av\n" +" står i konflikt med fil från installationen av\n" " %3%" #. [lhs][rhs] 0 = installed; 1 = to be installed @@ -4969,12 +4971,12 @@ msgid "" " from package\n" " %4%" msgstr "" -"Filen %1%\n" -" från källpaketet\n" +"Fil %1%\n" +" från paketet\n" " %2%\n" -" står i konflikt med filen\n" +" står i konflikt med fil\n" " %3%\n" -" från källpaketet\n" +" från paketet\n" " %4%" #. TranslatorExplanation %1%(filename1) %2%(package1) %3%(filename2) %4%(package2) @@ -4989,10 +4991,10 @@ msgid "" " from install of\n" " %4%" msgstr "" -"Filen %1%\n" -" från källpaketet\n" +"Fil %1%\n" +" från paketet\n" " %2%\n" -" står i konflikt med filen\n" +" står i konflikt med fil\n" " %3%\n" " från installationen av\n" " %4%" @@ -5009,12 +5011,12 @@ msgid "" " from package\n" " %4%" msgstr "" -"Filen %1%\n" +"Fil %1%\n" " från installationen av\n" " %2%\n" -" står i konflikt med filen\n" +" står i konflikt med fil\n" " %3%\n" -" från källpaketet\n" +" från paketet\n" " %4%" #. TranslatorExplanation %1%(filename1) %2%(package1) %3%(filename2) %4%(package2) @@ -5029,10 +5031,10 @@ msgid "" " from install of\n" " %4%" msgstr "" -"Filen %1%\n" +"Fil %1%\n" " från installationen av\n" " %2%\n" -" står i konflikt med filen\n" +" står i konflikt med fil\n" " %3%\n" " från installationen av\n" " %4%" diff --git a/po/uk.po b/po/uk.po index d559bd1..c6ced65 100644 --- a/po/uk.po +++ b/po/uk.po @@ -14,16 +14,17 @@ msgstr "" "Project-Id-Version: zypp.uk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-05-03 15:55+0200\n" -"PO-Revision-Date: 2015-11-18 10:09+0200\n" +"PO-Revision-Date: 2016-06-14 18:12+0000\n" "Last-Translator: Andriy Bandura \n" -"Language-Team: Ukrainian <>\n" +"Language-Team: Ukrainian " +"\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: Lokalize 2.0\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" #: zypp/target/hal/HalException.h:46 zypp/target/hal/HalException.h:55 #: zypp/target/hal/HalException.h:64 @@ -644,7 +645,7 @@ msgstr "Для отримання підтримки потрібний дода #: zypp/VendorSupportOptions.cc:56 msgid "Unknown support option. Description not available" -msgstr "Невідомий параметр підтримки. Немає опису." +msgstr "Невідомий параметр підтримки. Немає опису" #: zypp/CountryCode.cc:50 msgid "Unknown country: " @@ -1943,7 +1944,7 @@ msgstr "Віргінські острови (Британія)" #. :VGB:092: #: zypp/CountryCode.cc:394 msgid "Virgin Islands, U.S." -msgstr "Фінляндія" +msgstr "Віргінські острови, США" # VN # fuzzy @@ -4522,7 +4523,7 @@ msgstr "непідтримуваний запит" #: zypp/solver/detail/SATResolver.cc:1003 #, c-format, boost-format msgid "%s is provided by the system and cannot be erased" -msgstr "%s надано системою і його неможливо прибрати." +msgstr "%s надано системою і його неможливо прибрати" #: zypp/solver/detail/SATResolver.cc:1007 #, c-format, boost-format diff --git a/po/zh_CN.po b/po/zh_CN.po index bc45356..069d63a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -12,8 +12,8 @@ msgstr "" "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-06-07 09:12+0000\n" -"Last-Translator: SLE Merge Robot \n" +"PO-Revision-Date: 2016-06-17 01:38+0000\n" +"Last-Translator: Marguerite Su \n" "Language-Team: Chinese (China) " "\n" "Language: zh_CN\n" @@ -188,7 +188,7 @@ msgstr "不是 CDROM 驱动器" #: zypp/target/rpm/RpmDb.cc:848 zypp/target/rpm/RpmDb.cc:2043 #: zypp/target/rpm/RpmDb.cc:2189 msgid "RPM failed: " -msgstr "RPM 失败:" +msgstr "RPM 失败: " #. TranslatorExplanation first %s is file name, second is error message #: zypp/target/rpm/RpmDb.cc:1124 @@ -207,7 +207,7 @@ msgstr "移除公钥 %s 失败:%s" #: zypp/target/rpm/RpmDb.cc:1848 #, c-format, boost-format msgid "Changed configuration files for %s:" -msgstr "%s 的有改动的配置文件:" +msgstr "%s 配置文件有变化:" #. %s = filenames #: zypp/target/rpm/RpmDb.cc:2024 @@ -265,7 +265,7 @@ msgstr "未知签名类型" #. translators: possible rpm package signature check result [brief] #: zypp/target/rpm/RpmDb.cc:2369 msgid "Signature does not verify" -msgstr "无法核实签名" +msgstr "无法校验签名" #. translators: possible rpm package signature check result [brief] #: zypp/target/rpm/RpmDb.cc:2371 @@ -316,7 +316,7 @@ msgstr "服务别名不能以点开头。" #: zypp/RepoManager.cc:1789 zypp/RepoManager.cc:1854 zypp/RepoManager.cc:1975 #, c-format, boost-format msgid "Can't open file '%s' for writing." -msgstr "无法打开并写入 '%s' 文件。" +msgstr "无法打开 '%s' 文件进行写入。" #. translators: Cleanup a repository previously owned by a meanwhile unknown (deleted) service. #. %1% = service name @@ -635,7 +635,7 @@ msgstr "未知支持选项。描述不可用" #: zypp/CountryCode.cc:50 msgid "Unknown country: " -msgstr "未知国家或地区:" +msgstr "未知国家或地区: " #. Defined CountryCode constants #. Defined LanguageCode constants @@ -1867,7 +1867,7 @@ msgstr "津巴布韦" #: zypp/LanguageCode.cc:49 msgid "Unknown language: " -msgstr "未知语言:" +msgstr "未知语言: " #. language code: aar aa #: zypp/LanguageCode.cc:161 @@ -4370,7 +4370,7 @@ msgstr "%s 依赖 %s,但无法提供此依赖" #: zypp/solver/detail/SATResolver.cc:1070 msgid "deleted providers: " -msgstr "删除的提供者:" +msgstr "已删除提供者: " #. translators: 'uninstallable' == 'not installable' #: zypp/solver/detail/SATResolver.cc:1081 @@ -4379,12 +4379,12 @@ msgid "" "uninstallable providers: " msgstr "" "\n" -"不可安装的提供者:" +"无法安装的提供者: " #. translators: 'uninstallable' == 'not installable' #: zypp/solver/detail/SATResolver.cc:1084 msgid "uninstallable providers: " -msgstr "不可安装的提供者:" +msgstr "无法安装的提供者: " #: zypp/solver/detail/SATResolver.cc:1141 #, c-format, boost-format @@ -4486,7 +4486,7 @@ msgstr "卸载 %s" #: zypp/solver/detail/ProblemSolutionIgnore.cc:42 #, c-format, boost-format msgid "break %s by ignoring some of its dependencies" -msgstr "通过忽略一些依赖关系来破坏 %s " +msgstr "通过忽略一些依赖关系来断开 %s" #: zypp/solver/detail/ProblemSolutionIgnore.cc:48 msgid "generally ignore of some dependencies" @@ -4569,7 +4569,7 @@ msgstr "当试图执行动作 '%s' 时,介质没有打开。" #: zypp/media/MediaException.cc:60 #, c-format, boost-format msgid "File '%s' not found on medium '%s'" -msgstr "文件 '%s' 未在介质 '%s' 上找到。" +msgstr "文件 '%s' 未在介质 '%s' 上找到" #: zypp/media/MediaException.cc:67 #, c-format, boost-format diff --git a/zypp.conf b/zypp.conf index 45e1725..62c6eb9 100644 --- a/zypp.conf +++ b/zypp.conf @@ -228,6 +228,20 @@ ## download.media_preference = download ## +## Path where media are preferably mounted or downloaded +## +## Valid values: A (writable) directory +## Default value: /var/adm/mount +## +## The media backend will try to organize media mount points and download areas +## below this directory, unless a different location is requested by the application. +## +## If the directory is not accessible and read/writable for a specific user, +## the fallback is to use /var/tmp. +## +## download.media_mountdir = /var/adm/mount + +## ## Signature checking (repodata and rpm packages) ## ## boolean gpgcheck (default: on) diff --git a/zypp/ResolverProblem.cc b/zypp/ResolverProblem.cc index 3fe1b9b..980c77e 100644 --- a/zypp/ResolverProblem.cc +++ b/zypp/ResolverProblem.cc @@ -33,6 +33,25 @@ namespace zypp { IMPL_PTR_TYPE(ResolverProblem); + ///////////////////////////////////////////////////////////////////////// + namespace + { + // HACK for bsc#985674: filter duplicate solutions + // + inline bool solutionInList( const ProblemSolutionList & solutions_r, const ProblemSolution_Ptr & solution_r ) + { + for ( const ProblemSolution_Ptr & solution : solutions_r ) + { + if ( solution->description() == solution_r->description() + && solution->details() == solution_r->details() + && solution->actions().size() == solution_r->actions().size() ) + return true; + } + return false; + } + } // namespace + ///////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////// /// \class ResolverProblem::Impl /// \brief ResolverProblem implementation. @@ -97,10 +116,13 @@ namespace zypp void ResolverProblem::addSolution( ProblemSolution_Ptr solution, bool inFront ) { - if (inFront) - { _pimpl->_solutions.push_front( solution ); } - else - { _pimpl->_solutions.push_back( solution ); } + if ( ! solutionInList( _pimpl->_solutions, solution ) ) // bsc#985674: filter duplicate solutions + { + if (inFront) + { _pimpl->_solutions.push_front( solution ); } + else + { _pimpl->_solutions.push_back( solution ); } + } } diff --git a/zypp/ZConfig.cc b/zypp/ZConfig.cc index 6f8c709..bb67043 100644 --- a/zypp/ZConfig.cc +++ b/zypp/ZConfig.cc @@ -316,6 +316,7 @@ namespace zypp , download_use_deltarpm ( true ) , download_use_deltarpm_always ( false ) , download_media_prefer_download( true ) + , download_mediaMountdir ( "/var/adm/mount" ) , download_max_concurrent_connections( 5 ) , download_min_download_speed ( 0 ) , download_max_download_speed ( 0 ) @@ -437,6 +438,12 @@ namespace zypp { download_media_prefer_download.restoreToDefault( str::compareCI( value, "volatile" ) != 0 ); } + + else if ( entry == "download.media_mountdir" ) + { + download_mediaMountdir.restoreToDefault( Pathname(value) ); + } + else if ( entry == "download.max_concurrent_connections" ) { str::strtonum(value, download_max_concurrent_connections); @@ -634,6 +641,7 @@ namespace zypp bool download_use_deltarpm; bool download_use_deltarpm_always; DefaultOption download_media_prefer_download; + DefaultOption download_mediaMountdir; int download_max_concurrent_connections; int download_min_download_speed; @@ -985,6 +993,10 @@ namespace zypp long ZConfig::download_transfer_timeout() const { return _pimpl->download_transfer_timeout; } + Pathname ZConfig::download_mediaMountdir() const { return _pimpl->download_mediaMountdir; } + void ZConfig::set_download_mediaMountdir( Pathname newval_r ) { _pimpl->download_mediaMountdir.set( std::move(newval_r) ); } + void ZConfig::set_default_download_mediaMountdir() { _pimpl->download_mediaMountdir.restoreToDefault(); } + DownloadMode ZConfig::commit_downloadMode() const { return _pimpl->commit_downloadMode; } diff --git a/zypp/ZConfig.h b/zypp/ZConfig.h index bacccc9..cbda6fb 100644 --- a/zypp/ZConfig.h +++ b/zypp/ZConfig.h @@ -258,6 +258,16 @@ namespace zypp */ void set_default_download_media_prefer_download(); + /** Path where media are preferably mounted or downloaded. + * Config option download.media_mountdir (/var/adm/mount) + * Needs to be a (writable) directory, otherwise /var/tmp is fallback. + */ + Pathname download_mediaMountdir() const; + /** Set alternate value. */ + void set_download_mediaMountdir( Pathname newval_r ); + /** Reset to zypp.cong default. */ + void set_default_download_mediaMountdir(); + /** * Commit download policy to use as default. */ diff --git a/zypp/media/MediaHandler.cc b/zypp/media/MediaHandler.cc index 3569ba1..e0520a4 100644 --- a/zypp/media/MediaHandler.cc +++ b/zypp/media/MediaHandler.cc @@ -14,6 +14,7 @@ #include #include +#include "zypp/ZConfig.h" #include "zypp/TmpPath.h" #include "zypp/Date.h" #include "zypp/base/LogTools.h" @@ -340,34 +341,34 @@ MediaHandler::setAttachPrefix(const Pathname &attach_prefix) Pathname MediaHandler::createAttachPoint() const { - ///////////////////////////////////////////////////////////////// - // provide a default (temporary) attachpoint - ///////////////////////////////////////////////////////////////// - const char * defmounts[] = { - "/var/adm/mount", filesystem::TmpPath::defaultLocation().c_str(), /**/NULL/**/ - }; - + Pathname aroot; Pathname apoint; - Pathname aroot( MediaHandler::_attachPrefix); + { + aroot = MediaHandler::_attachPrefix; // explicit request + if ( ! aroot.empty() ) + apoint = createAttachPoint( aroot ); + } - if( !aroot.empty()) + if ( apoint.empty() ) // fallback to config value { - apoint = createAttachPoint(aroot); + aroot = ZConfig::instance().download_mediaMountdir(); + if ( ! aroot.empty() ) + apoint = createAttachPoint( aroot ); } - for ( const char ** def = defmounts; *def && apoint.empty(); ++def ) { - aroot = *def; - if( aroot.empty()) - continue; - apoint = createAttachPoint(aroot); + if ( apoint.empty() ) // fall back to temp space + { + aroot = filesystem::TmpPath::defaultLocation(); + if ( ! aroot.empty() ) + apoint = createAttachPoint( aroot ); } - if ( aroot.empty() ) { + if ( apoint.empty() ) + { ERR << "Create attach point: Can't find a writable directory to create an attach point" << std::endl; - return aroot; } - - if ( !apoint.empty() ) { + else + { MIL << "Created default attach point " << apoint << std::endl; } return apoint; -- 2.7.4