Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2022-03-28 17:00:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new.1900 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp" Mon Mar 28 17:00:17 2022 rev:458 rq:964915 version:17.30.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2022-03-15 19:04:49.888944515 +0100 +++ /work/SRC/openSUSE:Factory/.libzypp.new.1900/libzypp.changes 2022-03-28 17:01:08.385016534 +0200 @@ -1,0 +2,13 @@ +Fri Mar 25 17:08:46 CET 2022 - m...@suse.de + +- ZConfig: Update solver settings if target changes (bsc#1196368) +- version 17.30.0 (22) + +------------------------------------------------------------------- +Mon Mar 21 09:04:36 CET 2022 - m...@suse.de + +- Fix possible hang in singletrans mode (bsc#1197134) +- Do 2 retries if mount is still busy. +- version 17.29.7 (22) + +------------------------------------------------------------------- @@ -4 +17 @@ -- Fix package signature check (bsc#184501) +- Fix package signature check (bsc#1184501) Old: ---- libzypp-17.29.6.tar.bz2 New: ---- libzypp-17.30.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.ruYcw3/_old 2022-03-28 17:01:08.985017349 +0200 +++ /var/tmp/diff_new_pack.ruYcw3/_new 2022-03-28 17:01:08.993017360 +0200 @@ -43,7 +43,7 @@ %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper Name: libzypp -Version: 17.29.6 +Version: 17.30.0 Release: 0 License: GPL-2.0-or-later URL: https://github.com/openSUSE/libzypp ++++++ libzypp-17.29.6.tar.bz2 -> libzypp-17.30.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/VERSION.cmake new/libzypp-17.30.0/VERSION.cmake --- old/libzypp-17.29.6/VERSION.cmake 2022-03-14 15:43:14.000000000 +0100 +++ new/libzypp-17.30.0/VERSION.cmake 2022-03-25 17:18:36.000000000 +0100 @@ -60,9 +60,9 @@ # SET(LIBZYPP_MAJOR "17") SET(LIBZYPP_COMPATMINOR "22") -SET(LIBZYPP_MINOR "29") -SET(LIBZYPP_PATCH "6") +SET(LIBZYPP_MINOR "30") +SET(LIBZYPP_PATCH "0") # -# LAST RELEASED: 17.29.6 (22) +# LAST RELEASED: 17.30.0 (22) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/package/libzypp.changes new/libzypp-17.30.0/package/libzypp.changes --- old/libzypp-17.29.6/package/libzypp.changes 2022-03-14 15:43:14.000000000 +0100 +++ new/libzypp-17.30.0/package/libzypp.changes 2022-03-25 17:18:36.000000000 +0100 @@ -1,7 +1,20 @@ ------------------------------------------------------------------- +Fri Mar 25 17:08:46 CET 2022 - m...@suse.de + +- ZConfig: Update solver settings if target changes (bsc#1196368) +- version 17.30.0 (22) + +------------------------------------------------------------------- +Mon Mar 21 09:04:36 CET 2022 - m...@suse.de + +- Fix possible hang in singletrans mode (bsc#1197134) +- Do 2 retries if mount is still busy. +- version 17.29.7 (22) + +------------------------------------------------------------------- Mon Mar 14 15:40:04 CET 2022 - m...@suse.de -- Fix package signature check (bsc#184501) +- Fix package signature check (bsc#1184501) Pay attention that header and payload are secured by a valid signature and report more detailed which signature is missing. - Retry umount if device is busy (bsc#1196061, closes #381) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/ca.po new/libzypp-17.30.0/po/ca.po --- old/libzypp-17.29.6/po/ca.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/ca.po 2022-03-14 23:14:06.000000000 +0100 @@ -9,7 +9,7 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2022-02-24 20:12+0000\n" +"PO-Revision-Date: 2022-03-14 22:12+0000\n" "Last-Translator: David Medina <medi...@gmail.com>\n" "Language-Team: Catalan <https://l10n.opensuse.org/projects/libzypp/master/ca/" ">\n" @@ -5004,11 +5004,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "La cap??alera del paquet no est?? signada!" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "El contingut del paquet no est?? signat!" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/es.po new/libzypp-17.30.0/po/es.po --- old/libzypp-17.29.6/po/es.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/es.po 2022-03-19 03:16:19.000000000 +0100 @@ -17,8 +17,8 @@ "Project-Id-Version: zypp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2022-03-03 20:12+0000\n" -"Last-Translator: Antonio Sim??n <anto...@trans-mission.com>\n" +"PO-Revision-Date: 2022-03-19 02:12+0000\n" +"Last-Translator: Mat??as Silva Bustos <matias...@gmail.com>\n" "Language-Team: Spanish <https://l10n.opensuse.org/projects/libzypp/master/es/" ">\n" "Language: es\n" @@ -4644,11 +4644,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "??Cabecera del paquete sin firmar!" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "??Contenido del paquete sin firmar!" # # modules/Mail.ycp:458 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/fi.po new/libzypp-17.30.0/po/fi.po --- old/libzypp-17.29.6/po/fi.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/fi.po 2022-03-16 01:13:39.000000000 +0100 @@ -20,7 +20,7 @@ "Project-Id-Version: zypp.fi\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2022-03-10 15:12+0000\n" +"PO-Revision-Date: 2022-03-16 00:12+0000\n" "Last-Translator: Tommi Nieminen <softw...@legisign.org>\n" "Language-Team: Finnish <https://l10n.opensuse.org/projects/libzypp/master/fi/" ">\n" @@ -4816,11 +4816,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "Paketin otsaketta ei ole allekirjoitettu!" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "Paketin sis??lt???? ei ole allekirjoitettu!" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/ja.po new/libzypp-17.30.0/po/ja.po --- old/libzypp-17.29.6/po/ja.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/ja.po 2022-03-15 13:16:32.000000000 +0100 @@ -11,7 +11,7 @@ "Project-Id-Version: zypp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2022-02-25 01:12+0000\n" +"PO-Revision-Date: 2022-03-15 12:12+0000\n" "Last-Translator: Yasuhiko Kamata <belphe...@belbel.or.jp>\n" "Language-Team: Japanese <https://l10n.opensuse.org/projects/libzypp/master/" "ja/>\n" @@ -4612,11 +4612,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "??????????????????????????????????????????????????????" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "????????????????????????????????????????????????????????????" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/nl.po new/libzypp-17.30.0/po/nl.po --- old/libzypp-17.29.6/po/nl.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/nl.po 2022-03-15 13:16:32.000000000 +0100 @@ -16,10 +16,10 @@ "Project-Id-Version: zypp.nl\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2022-02-25 01:12+0000\n" +"PO-Revision-Date: 2022-03-15 12:12+0000\n" "Last-Translator: Freek de Kruijf <fr...@opensuse.org>\n" -"Language-Team: Dutch <https://l10n.opensuse.org/projects/libzypp/master/nl/" -">\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" @@ -4628,11 +4628,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "Header van pakket is niet ondertekend!" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "Inhoud van pakket is niet ondertekend!" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/ru.po new/libzypp-17.30.0/po/ru.po --- old/libzypp-17.29.6/po/ru.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/ru.po 2022-03-16 01:13:39.000000000 +0100 @@ -14,8 +14,8 @@ "Project-Id-Version: zypp.ru\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2021-01-04 16:37+0000\n" -"Last-Translator: Alex Minton <alex...@gmail.com>\n" +"PO-Revision-Date: 2022-03-16 00:12+0000\n" +"Last-Translator: Sergey Mashkov <cy6erg...@gmail.com>\n" "Language-Team: Russian <https://l10n.opensuse.org/projects/libzypp/master/ru/" ">\n" "Language: ru\n" @@ -24,7 +24,7 @@ "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 3.6.1\n" +"X-Generator: Weblate 4.9.1\n" #: zypp/CountryCode.cc:50 msgid "Unknown country: " @@ -4053,6 +4053,8 @@ #, boost-format msgid "Expected medium %1%/%2% identified by file '%3%' with content:" msgstr "" +"?????????????????? ???????????????? %1%/%2% ???????????????????????????????????? ?? ?????????? '%3%' ???? ?????????????????? " +"????????????????????:" #. [lhs][rhs] 0 = installed; 1 = to be installed #. TranslatorExplanation %1%(filename) %2%(package1) %3%(package2) @@ -4220,27 +4222,30 @@ "the installed %1% does not belong to a distupgrade repository and must be " "replaced" msgstr "" +"?????????????????????????? ?????????? %1% ???? ???????????????????? ?? ?????????????????????? ???????????????????? ?? ???????????? ???????? " +"??????????????" #. just in case #: zypp/solver/detail/SATResolver.cc:1091 #, boost-format msgid "the to be installed %1% does not belong to a distupgrade repository" msgstr "" +"?????????????????????????? ?????????? %1% ???? ?????????????????????? ?????????????????????? ???????????????????? ????????????????????????" #: zypp/solver/detail/SATResolver.cc:1095 #, boost-format msgid "the installed %1% has inferior architecture" -msgstr "" +msgstr "?????????????????????????? %1% ?????????? ???????????? ??????????????????????" #: zypp/solver/detail/SATResolver.cc:1097 #, boost-format msgid "the to be installed %1% has inferior architecture" -msgstr "" +msgstr "?????????? ???????????????????? %1% ?? ???????????? ????????????????????????" #: zypp/solver/detail/SATResolver.cc:1100 #, boost-format msgid "problem with the installed %1%" -msgstr "" +msgstr "???????????????? ?? ?????????????????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1103 msgid "conflicting requests" @@ -4253,17 +4258,17 @@ #: zypp/solver/detail/SATResolver.cc:1109 #, boost-format msgid "nothing provides the requested '%1%'" -msgstr "" +msgstr "?????????? ???? ?????????????????????????? ?????????????????????? '%1%'" #: zypp/solver/detail/SATResolver.cc:1110 #: zypp/solver/detail/SATResolver.cc:1114 msgid "Have you enabled all the required repositories?" -msgstr "" +msgstr "???? ???????????????? ?????? ?????????????????????? ???????????????????????" #: zypp/solver/detail/SATResolver.cc:1113 #, boost-format msgid "the requested package %1% does not exist" -msgstr "" +msgstr "?????????????????????? ?????????? %1% ???? ????????????????????" #: zypp/solver/detail/SATResolver.cc:1117 msgid "unsupported request" @@ -4272,88 +4277,90 @@ #: zypp/solver/detail/SATResolver.cc:1120 #, boost-format msgid "'%1%' is provided by the system and cannot be erased" -msgstr "" +msgstr "'%1' ???????????????????????? ?????? ?????????? ?????????????? ?? ???? ?????????? ???????? ????????????" #: zypp/solver/detail/SATResolver.cc:1123 #, boost-format msgid "%1% is not installable" -msgstr "" +msgstr "%1% ???? ?????????? ???????? ????????????????????" #: zypp/solver/detail/SATResolver.cc:1128 #, boost-format msgid "nothing provides '%1%' needed by the installed %2%" -msgstr "" +msgstr "?????????? ???? ?????????????????????????? '%1' ?????????????????? ?????? ???????????????????????????? %2%" #: zypp/solver/detail/SATResolver.cc:1130 #, boost-format msgid "nothing provides '%1%' needed by the to be installed %2%" -msgstr "" +msgstr "?????????? ???? ?????????????????????????? '%1%' ?????????????????? ?????? ?????????????????? %2%" #: zypp/solver/detail/SATResolver.cc:1133 #, boost-format msgid "cannot install both %1% and %2%" -msgstr "" +msgstr "???????????????????? ???????????????????? ?????? %1% ?? %2%" #: zypp/solver/detail/SATResolver.cc:1138 #, boost-format msgid "the installed %1% conflicts with '%2%' provided by the installed %3%" -msgstr "" +msgstr "?????????????????????????? %1% ?????????????????????? ?? '%2%' ?????????????????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1140 #, boost-format msgid "" "the installed %1% conflicts with '%2%' provided by the to be installed %3%" -msgstr "" +msgstr "?????????????????????????? %1% ?????????????????????? ?? '%2%', ?????????????????? ?????? ?????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1144 #, boost-format msgid "" "the to be installed %1% conflicts with '%2%' provided by the installed %3%" msgstr "" +"?????????????????????????????? %1% ?????????????????????? ?? '%2%' ?????????????????? ?????? ???????????????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1146 #, boost-format msgid "" "the to be installed %1% conflicts with '%2%' provided by the to be installed " "%3%" -msgstr "" +msgstr "?????????????????????????????? %1% ?????????????????????? ?? '%2%' ?????????????????? ?????? ?????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1153 #, boost-format msgid "the installed %1% obsoletes '%2%' provided by the installed %3%" -msgstr "" +msgstr "?????????????????????????? %1% ???????????????? '%2%', ?????????????????? ?????? ???????????????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1155 #, boost-format msgid "the installed %1% obsoletes '%2%' provided by the to be installed %3%" -msgstr "" +msgstr "?????????????????????????? %1% ???????????????? '%2%' ?????????????????? ?????? ?????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1159 #, boost-format msgid "the to be installed %1% obsoletes '%2%' provided by the installed %3%" -msgstr "" +msgstr "?????????????????????????????? %1% ???????????????? '%2%' ?????????????????? ?????? ???????????????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1161 #, boost-format msgid "" "the to be installed %1% obsoletes '%2%' provided by the to be installed %3%" -msgstr "" +msgstr "?????????????????????????????? %1% ???????????????? %2% ?????????????????? ?????? ???????????????????????????? %3%" #: zypp/solver/detail/SATResolver.cc:1166 #, boost-format msgid "the installed %1% conflicts with '%2%' provided by itself" -msgstr "" +msgstr "?????????????????????????? %1% ?????????????????????? ?? '%2%' ?????????????????????????????? ?????????? ??????????" #: zypp/solver/detail/SATResolver.cc:1168 #, boost-format msgid "the to be installed %1% conflicts with '%2%' provided by itself" -msgstr "" +msgstr "?????????????????????????????? %1% ?????????????????????? ?? '%2%', ?????????????? ???????????????????? ??????" #: zypp/solver/detail/SATResolver.cc:1200 #, boost-format msgid "" "the installed %1% requires '%2%', but this requirement cannot be provided" msgstr "" +"?????????????????????????? %1% ?????????????? '%2%', ???? ?????? ???????????????????? ???? ?????????? ???????? ??????????????????" #: zypp/solver/detail/SATResolver.cc:1202 #, boost-format @@ -4361,6 +4368,7 @@ "the to be installed %1% requires '%2%', but this requirement cannot be " "provided" msgstr "" +"?????????????????????????????? %1% ?????????????? '%2%', ???? ?????? ???????????????????? ???? ?????????? ???????? ??????????????????" #: zypp/solver/detail/SATResolver.cc:1204 msgid "deleted providers: " @@ -4382,45 +4390,46 @@ #: zypp/solver/detail/SATResolver.cc:1253 #, boost-format msgid "%1% is not yet fully integrated into %2%." -msgstr "" +msgstr "%1% ?????? ???? ?????????????????? ???????????????????????? ?? %2%." #: zypp/solver/detail/SATResolver.cc:1254 msgid "" "Typically you want to keep the PTF and choose to not install the maintenance " "patches." msgstr "" +"???????????? ?????????? ???? ???????????????? ???????????????? PTF ?? ???????????? ???? ?????????????????????????? ??????????????????????." #. translator: %1% is the name of a PTF. #: zypp/solver/detail/SATResolver.cc:1259 #, boost-format msgid "The installed %1% blocks the desired action." -msgstr "" +msgstr "?????????????????????????? %1% ???? ?????????????????? ?????????????????? ???????????????? ????????????????." #: zypp/solver/detail/SATResolver.cc:1260 msgid "Typically you want to keep the PTF and choose to cancel the action." -msgstr "" +msgstr "???????????? ?????????? ???? ???????????? ???????????????? PTF ?? ???????????? ???????????????? ????????????????." #: zypp/solver/detail/SATResolver.cc:1316 #, boost-format msgid "remove lock to allow removal of %1%" -msgstr "" +msgstr "?????????? ???????????????????? ?????????? ?????????????????? ???????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1321 #: zypp/solver/detail/SATResolver.cc:1359 #, boost-format msgid "do not install %1%" -msgstr "" +msgstr "???? ?????????????????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1338 #: zypp/solver/detail/SATResolver.cc:1380 #, boost-format msgid "keep %1%" -msgstr "" +msgstr "???????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1343 #, boost-format msgid "remove lock to allow installation of %1%" -msgstr "" +msgstr "?????????? ???????????????????? ?????????? ?????????????????? ?????????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1394 #: zypp/solver/detail/SATResolver.cc:1415 @@ -4435,37 +4444,37 @@ #: zypp/solver/detail/SATResolver.cc:1400 #, boost-format msgid "do not ask to install a solvable providing %1%" -msgstr "" +msgstr "???? ?????????????? ???????????????????? ??????????????, ?????????????? ?????????????????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1422 #, boost-format msgid "do not ask to delete all solvables providing %1%" -msgstr "" +msgstr "???? ?????????????? ?????????????? ?????? ??????????????, ?????????????????????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1435 #, boost-format msgid "do not install most recent version of %1%" -msgstr "" +msgstr "???? ?????????????????????????? ?????????? ?????????????????? ???????????? %1" #: zypp/solver/detail/SATResolver.cc:1456 #, boost-format msgid "keep %1% despite the inferior architecture" -msgstr "" +msgstr "???????????????? %1% ???? ???????????? ???? ???????????? ??????????????????????" #: zypp/solver/detail/SATResolver.cc:1461 #, boost-format msgid "install %1% despite the inferior architecture" -msgstr "" +msgstr "???????????????????? %1% ???? ???????????? ???? ???????????? ??????????????????????" #: zypp/solver/detail/SATResolver.cc:1470 #, boost-format msgid "keep obsolete %1%" -msgstr "" +msgstr "???????????????? ???????????????????? %1%" #: zypp/solver/detail/SATResolver.cc:1475 #, boost-format msgid "install %1% from excluded repository" -msgstr "" +msgstr "???????????????????? %1% ???? ???????????????????????? ??????????????????????" #. translator: %1% is a package name #: zypp/solver/detail/SATResolver.cc:1489 @@ -4488,12 +4497,12 @@ #: zypp/solver/detail/SATResolver.cc:1515 #, boost-format msgid "downgrade of %1% to %2%" -msgstr "" +msgstr "???????????????? ???????????? %1% ???? %2%" #: zypp/solver/detail/SATResolver.cc:1522 #, boost-format msgid "architecture change of %1% to %2%" -msgstr "" +msgstr "???????????????? ?????????????????????? %1% ???? %2%" #. FIXME? Actually .ident() must be eq. But the more verbose 'else' isn't bad either. #: zypp/solver/detail/SATResolver.cc:1533 @@ -4502,6 +4511,8 @@ "install %1% (with vendor change)\n" " %2% --> %3%" msgstr "" +"???????????????????? %1% (???? ???????????? ????????????????????)\n" +" %2% --> %3%" #: zypp/solver/detail/SATResolver.cc:1538 #, boost-format @@ -4509,16 +4520,18 @@ "install %1% from vendor %2%\n" " replacing %3% from vendor %4%" msgstr "" +"???????????????????? %1% ???? ???????????????????? %2%\n" +" ???????????????????? %3% ???? ???????????????????? %4%" #: zypp/solver/detail/SATResolver.cc:1547 #, boost-format msgid "replacement of %1% with %2%" -msgstr "" +msgstr "???????????? %1% ???? %2%" #: zypp/solver/detail/SATResolver.cc:1558 #, boost-format msgid "deinstallation of %1%" -msgstr "" +msgstr "???????????????? %1%" #: zypp/target/RpmPostTransCollector.cc:98 #, boost-format @@ -4567,7 +4580,7 @@ #: zypp/target/TargetImpl.cc:2688 msgid "Executing the transaction failed because of the following problems:" -msgstr "" +msgstr "???????????????????? ???? ?????????????? ????-???? ?????????????????? ??????????????:" #. TranslatorExplanation after semicolon is error message #. TranslatorExplanation the colon is followed by an error message @@ -4590,11 +4603,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "?????????????????? ???????????? ???? ????????????????!" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "???????????????????? ???????????? ???? ??????????????????!" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. @@ -4824,11 +4837,11 @@ #: zypp-core/zyppng/io/forkspawnengine.cc:150 #: zypp-core/zyppng/io/forkspawnengine.cc:392 msgid "Invalid spawn arguments given." -msgstr "" +msgstr "???????????? ???????????????? ?????????????????? ??????????????." #: zypp-core/zyppng/io/forkspawnengine.cc:206 msgid "Unable to create control pipe." -msgstr "" +msgstr "???????????????????? ?????????????? ???????????????????????????? ??????????." #: zypp-core/zyppng/io/forkspawnengine.cc:272 #, c-format, boost-format @@ -4860,22 +4873,22 @@ #: zypp-core/zyppng/io/forkspawnengine.cc:338 #, c-format, boost-format msgid "Can't exec '%s', chdir failed (%s)." -msgstr "" +msgstr "???????????????????? ?????????????????? '%s', chdir ???? ?????????????? (%s)." #: zypp-core/zyppng/io/forkspawnengine.cc:341 #, c-format, boost-format msgid "Can't exec '%s', chroot failed (%s)." -msgstr "" +msgstr "???????????????????? ?????????????????? '%s', chroot ???? ?????????????? (%s)." #: zypp-core/zyppng/io/forkspawnengine.cc:344 #, c-format, boost-format msgid "Can't exec '%s', exec failed (%s)." -msgstr "" +msgstr "???????????????????? ?????????????????? '%s', exec ???? ???????????? (%s)." #: zypp-core/zyppng/io/forkspawnengine.cc:348 #, c-format, boost-format msgid "Can't exec '%s', unexpected error." -msgstr "" +msgstr "???????????????????? ?????????????????? '%s': ?????????????????????? ????????????." #: zypp-media/mediaexception.cc:33 #, c-format, boost-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/sk.po new/libzypp-17.30.0/po/sk.po --- old/libzypp-17.29.6/po/sk.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/sk.po 2022-03-14 18:15:22.000000000 +0100 @@ -6,10 +6,10 @@ "Project-Id-Version: libzypp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2022-02-25 21:12+0000\n" +"PO-Revision-Date: 2022-03-14 17:12+0000\n" "Last-Translator: Ferdinand Galko <galko.ferdin...@gmail.com>\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" @@ -4607,11 +4607,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "Hlavi??ka bal??ka nie je podp??san??!" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "Pr??loha bal??ka nie je podp??san??!" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/po/zh_CN.po new/libzypp-17.30.0/po/zh_CN.po --- old/libzypp-17.29.6/po/zh_CN.po 2022-03-14 15:26:34.000000000 +0100 +++ new/libzypp-17.30.0/po/zh_CN.po 2022-03-15 16:50:31.000000000 +0100 @@ -12,7 +12,7 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-14 15:21+0100\n" -"PO-Revision-Date: 2022-02-28 12:12+0000\n" +"PO-Revision-Date: 2022-03-15 15:12+0000\n" "Last-Translator: Marguerite Su <i...@marguerite.su>\n" "Language-Team: Chinese (China) <https://l10n.opensuse.org/projects/libzypp/" "master/zh_CN/>\n" @@ -4573,11 +4573,11 @@ #: zypp/target/rpm/RpmDb.cc:1271 msgid "Package header is not signed!" -msgstr "" +msgstr "???????????????????????????" #: zypp/target/rpm/RpmDb.cc:1273 msgid "Package payload is not signed!" -msgstr "" +msgstr "??????????????????????????????" #. Translator: %s = name of an rpm package. A list of diffs follows #. this message. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/tests/zyppng/io/AsyncDataSource_test.cc new/libzypp-17.30.0/tests/zyppng/io/AsyncDataSource_test.cc --- old/libzypp-17.29.6/tests/zyppng/io/AsyncDataSource_test.cc 2021-08-26 18:56:18.000000000 +0200 +++ new/libzypp-17.30.0/tests/zyppng/io/AsyncDataSource_test.cc 2022-03-21 08:56:20.000000000 +0100 @@ -29,6 +29,7 @@ BOOST_REQUIRE( dataSource->open( pipeFds[0] ) ); BOOST_REQUIRE( dataSource->canRead() ); + BOOST_REQUIRE( dataSource->readFdOpen() ); dataSource->connectFunc( &zyppng::AsyncDataSource::sigReadyRead, [&](){ std::cout <<"Got read"<<std::endl; @@ -49,6 +50,8 @@ loop->run(); writer.join(); + BOOST_REQUIRE ( !dataSource->readFdOpen() ); + ::close( pipeFds[0] ); BOOST_REQUIRE_EQUAL( std::string_view( readData.data(), readData.size() ), text ); BOOST_REQUIRE ( gotClosed ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/Resolver.cc new/libzypp-17.30.0/zypp/Resolver.cc --- old/libzypp-17.29.6/zypp/Resolver.cc 2021-08-26 18:56:18.000000000 +0200 +++ new/libzypp-17.30.0/zypp/Resolver.cc 2022-03-25 16:36:15.000000000 +0100 @@ -50,6 +50,9 @@ // Resolver interface forwarded to implementation // /////////////////////////////////////////////////////////////////// + void Resolver::setDefaultSolverFlags( bool all_r ) + { return _pimpl->setDefaultSolverFlags( all_r ); } + sat::detail::CSolver * Resolver::get() const { return _pimpl->get(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/Resolver.h new/libzypp-17.30.0/zypp/Resolver.h --- old/libzypp-17.29.6/zypp/Resolver.h 2022-01-05 14:06:20.000000000 +0100 +++ new/libzypp-17.30.0/zypp/Resolver.h 2022-03-25 16:36:15.000000000 +0100 @@ -51,6 +51,19 @@ virtual ~Resolver(); /** + * Reset all solver flags to the systems default (e.g. from zypp.conf). + * + * Call this to discard all settings you explicitly applied here. All flags + * are adjusted to follow the current systems default. If you want to reset + * just a specific flag, call its 'setDefault...' method. + * + * Calling the method with \a all_r is set to \c false, is used internally. + * It updates only those flags which were not explicitly changed. E.g after + * switching to a target which uses different defaults in its zypp.conf.. + */ + void setDefaultSolverFlags( bool all_r = true ); + + /** * Resolve package dependencies: * * Enter \ref systemVerification mode to monitor and repair dependencies diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/ZConfig.cc new/libzypp-17.30.0/zypp/ZConfig.cc --- old/libzypp-17.29.6/zypp/ZConfig.cc 2021-12-21 18:21:22.000000000 +0100 +++ new/libzypp-17.30.0/zypp/ZConfig.cc 2022-03-25 16:36:15.000000000 +0100 @@ -21,6 +21,7 @@ } #include <iostream> #include <fstream> +#include <optional> #include <zypp/base/LogTools.h> #include <zypp/base/IOStream.h> #include <zypp-core/base/InputStream> @@ -315,9 +316,85 @@ { typedef std::set<std::string> MultiversionSpec; + /// Settings that follow a changed Target + struct TargetDefaults + { + TargetDefaults() + : solver_focus ( ResolverFocus::Default ) + , solver_onlyRequires ( false ) + , solver_allowVendorChange ( false ) + , solver_dupAllowDowngrade ( true ) + , solver_dupAllowNameChange ( true ) + , solver_dupAllowArchChange ( true ) + , solver_dupAllowVendorChange ( true ) + , solver_cleandepsOnRemove ( false ) + , solver_upgradeTestcasesToKeep ( 2 ) + , solverUpgradeRemoveDroppedPackages ( true ) + {} + + bool consume( const std::string & entry, const std::string & value ) + { + if ( entry == "solver.focus" ) + { + fromString( value, solver_focus ); + } + else if ( entry == "solver.onlyRequires" ) + { + solver_onlyRequires.set( str::strToBool( value, solver_onlyRequires ) ); + } + else if ( entry == "solver.allowVendorChange" ) + { + solver_allowVendorChange.set( str::strToBool( value, solver_allowVendorChange ) ); + } + else if ( entry == "solver.dupAllowDowngrade" ) + { + solver_dupAllowDowngrade.set( str::strToBool( value, solver_dupAllowDowngrade ) ); + } + else if ( entry == "solver.dupAllowNameChange" ) + { + solver_dupAllowNameChange.set( str::strToBool( value, solver_dupAllowNameChange ) ); + } + else if ( entry == "solver.dupAllowArchChange" ) + { + solver_dupAllowArchChange.set( str::strToBool( value, solver_dupAllowArchChange ) ); + } + else if ( entry == "solver.dupAllowVendorChange" ) + { + solver_dupAllowVendorChange.set( str::strToBool( value, solver_dupAllowVendorChange ) ); + } + else if ( entry == "solver.cleandepsOnRemove" ) + { + solver_cleandepsOnRemove.set( str::strToBool( value, solver_cleandepsOnRemove ) ); + } + else if ( entry == "solver.upgradeTestcasesToKeep" ) + { + solver_upgradeTestcasesToKeep.set( str::strtonum<unsigned>( value ) ); + } + else if ( entry == "solver.upgradeRemoveDroppedPackages" ) + { + solverUpgradeRemoveDroppedPackages.restoreToDefault( str::strToBool( value, solverUpgradeRemoveDroppedPackages.getDefault() ) ); + } + else + return false; + + return true; + } + + ResolverFocus solver_focus; + Option<bool> solver_onlyRequires; + Option<bool> solver_allowVendorChange; + Option<bool> solver_dupAllowDowngrade; + Option<bool> solver_dupAllowNameChange; + Option<bool> solver_dupAllowArchChange; + Option<bool> solver_dupAllowVendorChange; + Option<bool> solver_cleandepsOnRemove; + Option<unsigned> solver_upgradeTestcasesToKeep; + DefaultOption<bool> solverUpgradeRemoveDroppedPackages; + }; + public: - Impl( const Pathname & override_r = Pathname() ) - : _parsedZyppConf ( override_r ) + Impl() + : _parsedZyppConf ( _autodetectZyppConfPath() ) , cfg_arch ( defaultSystemArchitecture() ) , cfg_textLocale ( defaultTextLocale() ) , cfg_cache_path { "/var/cache/zypp" } @@ -336,36 +413,10 @@ , gpgCheck ( true ) , repoGpgCheck ( indeterminate ) , pkgGpgCheck ( indeterminate ) - , solver_focus ( ResolverFocus::Default ) - , solver_onlyRequires ( false ) - , solver_allowVendorChange ( false ) - , solver_dupAllowDowngrade ( true ) - , solver_dupAllowNameChange ( true ) - , solver_dupAllowArchChange ( true ) - , solver_dupAllowVendorChange ( true ) - , solver_cleandepsOnRemove ( false ) - , solver_upgradeTestcasesToKeep ( 2 ) - , solverUpgradeRemoveDroppedPackages( true ) , apply_locks_file ( true ) , pluginsPath ( "/usr/lib/zypp/plugins" ) { MIL << "libzypp: " LIBZYPP_VERSION_STRING << endl; - // override_r has higest prio - // ZYPP_CONF might override /etc/zypp/zypp.conf - if ( _parsedZyppConf.empty() ) - { - _parsedZyppConf = _autodetectZyppConfPath(); - } - else - { - // Inject this into ZConfig. Be shure this is - // allocated via new. - // ma: override_r might not be needed anymore since the - // Vendor_test is now able to initialize VendorAttr directly. - INT << "Reconfigure to " << _parsedZyppConf << endl; - ZConfig::instance()._pimpl.reset( this ); - } - if ( PathInfo(_parsedZyppConf).isExist() ) { parser::IniDict dict( _parsedZyppConf ); @@ -388,6 +439,9 @@ //DBG << (*it).first << "=" << (*it).second << endl; if ( section == "main" ) { + if ( _initialTargetDefaults.consume( entry, value ) ) + continue; + if ( entry == "arch" ) { Arch carch( value ); @@ -492,46 +546,6 @@ { cfg_kernel_keep_spec = value; } - else if ( entry == "solver.focus" ) - { - fromString( value, solver_focus ); - } - else if ( entry == "solver.onlyRequires" ) - { - solver_onlyRequires.set( str::strToBool( value, solver_onlyRequires ) ); - } - else if ( entry == "solver.allowVendorChange" ) - { - solver_allowVendorChange.set( str::strToBool( value, solver_allowVendorChange ) ); - } - else if ( entry == "solver.dupAllowDowngrade" ) - { - solver_dupAllowDowngrade.set( str::strToBool( value, solver_dupAllowDowngrade ) ); - } - else if ( entry == "solver.dupAllowNameChange" ) - { - solver_dupAllowNameChange.set( str::strToBool( value, solver_dupAllowNameChange ) ); - } - else if ( entry == "solver.dupAllowArchChange" ) - { - solver_dupAllowArchChange.set( str::strToBool( value, solver_dupAllowArchChange ) ); - } - else if ( entry == "solver.dupAllowVendorChange" ) - { - solver_dupAllowVendorChange.set( str::strToBool( value, solver_dupAllowVendorChange ) ); - } - else if ( entry == "solver.cleandepsOnRemove" ) - { - solver_cleandepsOnRemove.set( str::strToBool( value, solver_cleandepsOnRemove ) ); - } - else if ( entry == "solver.upgradeTestcasesToKeep" ) - { - solver_upgradeTestcasesToKeep.set( str::strtonum<unsigned>( value ) ); - } - else if ( entry == "solver.upgradeRemoveDroppedPackages" ) - { - solverUpgradeRemoveDroppedPackages.restoreToDefault( str::strToBool( value, solverUpgradeRemoveDroppedPackages.getDefault() ) ); - } else if ( entry == "solver.checkSystemFile" ) { solver_checkSystemFile = Pathname(value); @@ -591,8 +605,6 @@ } } } - // - } else { @@ -616,6 +628,30 @@ ~Impl() {} + void notifyTargetChanged() + { + Pathname newRoot { _autodetectSystemRoot() }; + MIL << "notifyTargetChanged (" << newRoot << ")" << endl; + + if ( newRoot.emptyOrRoot() ) { + _currentTargetDefaults.reset(); // to initial settigns from / + } + else { + _currentTargetDefaults = TargetDefaults(); + + Pathname newConf { newRoot/_autodetectZyppConfPath() }; + if ( PathInfo(newConf).isExist() ) { + parser::IniDict dict( newConf ); + for ( const auto & [entry,value] : dict.entries( "main" ) ) { + (*_currentTargetDefaults).consume( entry, value ); + } + } + else { + MIL << _parsedZyppConf << " not found, using defaults." << endl; + } + } + } + public: /** Remember any parsed zypp.conf. */ Pathname _parsedZyppConf; @@ -660,17 +696,6 @@ DefaultOption<TriBool> repoGpgCheck; DefaultOption<TriBool> pkgGpgCheck; - ResolverFocus solver_focus; - Option<bool> solver_onlyRequires; - Option<bool> solver_allowVendorChange; - Option<bool> solver_dupAllowDowngrade; - Option<bool> solver_dupAllowNameChange; - Option<bool> solver_dupAllowArchChange; - Option<bool> solver_dupAllowVendorChange; - Option<bool> solver_cleandepsOnRemove; - Option<unsigned> solver_upgradeTestcasesToKeep; - DefaultOption<bool> solverUpgradeRemoveDroppedPackages; - Pathname solver_checkSystemFile; Pathname solver_checkSystemFileDir; @@ -690,6 +715,14 @@ /* Other config singleton instances */ MediaConfig &_mediaConf = MediaConfig::instance(); + + public: + const TargetDefaults & targetDefaults() const { return _currentTargetDefaults ? *_currentTargetDefaults : _initialTargetDefaults; } + TargetDefaults & targetDefaults() { return _currentTargetDefaults ? *_currentTargetDefaults : _initialTargetDefaults; } + private: + TargetDefaults _initialTargetDefaults; ///< Initial TargetDefaults from / + std::optional<TargetDefaults> _currentTargetDefaults; ///< TargetDefaults while --root + private: // HACK for bnc#906096: let pool re-evaluate multiversion spec // if target root changes. ZConfig returns data sensitive to @@ -812,10 +845,12 @@ ZConfig::~ZConfig( ) {} + void ZConfig::notifyTargetChanged() + { return _pimpl->notifyTargetChanged(); } + Pathname ZConfig::systemRoot() const { return _autodetectSystemRoot(); } - Pathname ZConfig::repoManagerRoot() const { return ( _pimpl->cfg_repo_mgr_root_path.empty() @@ -1074,21 +1109,21 @@ void ZConfig::resetRepoGpgCheck() { _pimpl->repoGpgCheck.restoreToDefault(); } void ZConfig::resetPkgGpgCheck() { _pimpl->pkgGpgCheck.restoreToDefault(); } - ResolverFocus ZConfig::solver_focus() const { return _pimpl->solver_focus; } - - bool ZConfig::solver_onlyRequires() const - { return _pimpl->solver_onlyRequires; } - bool ZConfig::solver_allowVendorChange() const - { return _pimpl->solver_allowVendorChange; } + ResolverFocus ZConfig::solver_focus() const { return _pimpl->targetDefaults().solver_focus; } + bool ZConfig::solver_onlyRequires() const { return _pimpl->targetDefaults().solver_onlyRequires; } + bool ZConfig::solver_allowVendorChange() const { return _pimpl->targetDefaults().solver_allowVendorChange; } + bool ZConfig::solver_dupAllowDowngrade() const { return _pimpl->targetDefaults().solver_dupAllowDowngrade; } + bool ZConfig::solver_dupAllowNameChange() const { return _pimpl->targetDefaults().solver_dupAllowNameChange; } + bool ZConfig::solver_dupAllowArchChange() const { return _pimpl->targetDefaults().solver_dupAllowArchChange; } + bool ZConfig::solver_dupAllowVendorChange() const { return _pimpl->targetDefaults().solver_dupAllowVendorChange; } + bool ZConfig::solver_cleandepsOnRemove() const { return _pimpl->targetDefaults().solver_cleandepsOnRemove; } + unsigned ZConfig::solver_upgradeTestcasesToKeep() const { return _pimpl->targetDefaults().solver_upgradeTestcasesToKeep; } + + bool ZConfig::solverUpgradeRemoveDroppedPackages() const { return _pimpl->targetDefaults().solverUpgradeRemoveDroppedPackages; } + void ZConfig::setSolverUpgradeRemoveDroppedPackages( bool val_r ) { _pimpl->targetDefaults().solverUpgradeRemoveDroppedPackages.set( val_r ); } + void ZConfig::resetSolverUpgradeRemoveDroppedPackages() { _pimpl->targetDefaults().solverUpgradeRemoveDroppedPackages.restoreToDefault(); } - bool ZConfig::solver_dupAllowDowngrade() const { return _pimpl->solver_dupAllowDowngrade; } - bool ZConfig::solver_dupAllowNameChange() const { return _pimpl->solver_dupAllowNameChange; } - bool ZConfig::solver_dupAllowArchChange() const { return _pimpl->solver_dupAllowArchChange; } - bool ZConfig::solver_dupAllowVendorChange() const { return _pimpl->solver_dupAllowVendorChange; } - - bool ZConfig::solver_cleandepsOnRemove() const - { return _pimpl->solver_cleandepsOnRemove; } Pathname ZConfig::solver_checkSystemFile() const { return ( _pimpl->solver_checkSystemFile.empty() @@ -1098,12 +1133,6 @@ { return ( _pimpl->solver_checkSystemFileDir.empty() ? (configPath()/"systemCheck.d") : _pimpl->solver_checkSystemFileDir ); } - unsigned ZConfig::solver_upgradeTestcasesToKeep() const - { return _pimpl->solver_upgradeTestcasesToKeep; } - - bool ZConfig::solverUpgradeRemoveDroppedPackages() const { return _pimpl->solverUpgradeRemoveDroppedPackages; } - void ZConfig::setSolverUpgradeRemoveDroppedPackages( bool val_r ) { _pimpl->solverUpgradeRemoveDroppedPackages.set( val_r ); } - void ZConfig::resetSolverUpgradeRemoveDroppedPackages() { _pimpl->solverUpgradeRemoveDroppedPackages.restoreToDefault(); } namespace { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/ZConfig.h new/libzypp-17.30.0/zypp/ZConfig.h --- old/libzypp-17.29.6/zypp/ZConfig.h 2022-01-05 14:06:20.000000000 +0100 +++ new/libzypp-17.30.0/zypp/ZConfig.h 2022-03-25 16:36:15.000000000 +0100 @@ -550,6 +550,8 @@ class Impl; /** Dtor */ ~ZConfig(); + void notifyTargetChanged(); ///< internal + private: friend class RepoManager; /** The builtin config file value. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/solver/detail/Resolver.cc new/libzypp-17.30.0/zypp/solver/detail/Resolver.cc --- old/libzypp-17.29.6/zypp/solver/detail/Resolver.cc 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.30.0/zypp/solver/detail/Resolver.cc 2022-03-25 17:18:36.000000000 +0100 @@ -79,13 +79,25 @@ : _pool(pool) , _satResolver(NULL) , _poolchanged(_pool.serial() ) - , _upgradeMode (false) - , _updateMode (false) - , _verifying (false) - , _onlyRequires ( ZConfig::instance().solver_onlyRequires() ) - , _solveSrcPackages ( false ) - , _cleandepsOnRemove ( ZConfig::instance().solver_cleandepsOnRemove() ) - , _ignoreAlreadyRecommended ( true ) + , _upgradeMode ( false ) + , _updateMode ( false ) + , _verifying ( false ) + , _onlyRequires ( ZConfig::instance().solver_onlyRequires() ) + , _solveSrcPackages ( false ) + , _cleandepsOnRemove ( ZConfig::instance().solver_cleandepsOnRemove() ) + , _ignoreAlreadyRecommended ( true ) + , _applyDefault_focus ( true ) + , _applyDefault_forceResolve ( true ) + , _applyDefault_cleandepsOnRemove ( true ) + , _applyDefault_onlyRequires ( true ) + , _applyDefault_allowDowngrade ( true ) + , _applyDefault_allowNameChange ( true ) + , _applyDefault_allowArchChange ( true ) + , _applyDefault_allowVendorChange ( true ) + , _applyDefault_dupAllowDowngrade ( true ) + , _applyDefault_dupAllowNameChange ( true ) + , _applyDefault_dupAllowArchChange ( true ) + , _applyDefault_dupAllowVendorChange ( true ) { sat::Pool satPool( sat::Pool::instance() ); _satResolver = new SATResolver(_pool, satPool.get()); @@ -100,44 +112,73 @@ sat::detail::CSolver * Resolver::get() const { return _satResolver->get(); } -//--------------------------------------------------------------------------- -// forward flags too SATResolver -void Resolver::setFocus( ResolverFocus focus_r ) { _satResolver->_focus = ( focus_r == ResolverFocus::Default ) ? ZConfig::instance().solver_focus() : focus_r; } -ResolverFocus Resolver::focus() const { return _satResolver->_focus; } - -#define ZOLV_FLAG_TRIBOOL( ZSETTER, ZGETTER, ZVARNAME, ZVARDEFAULT ) \ - void Resolver::ZSETTER( TriBool state_r ) \ - { _satResolver->ZVARNAME = indeterminate(state_r) ? ZVARDEFAULT : bool(state_r); } \ - bool Resolver::ZGETTER() const \ - { return _satResolver->ZVARNAME; } \ +void Resolver::setDefaultSolverFlags( bool all_r ) +{ + MIL << "setDefaultSolverFlags all=" << all_r << endl; -// NOTE: ZVARDEFAULT must be in sync with SATResolver ctor -ZOLV_FLAG_TRIBOOL( setForceResolve, forceResolve, _allowuninstall, false ) + if ( all_r || _applyDefault_focus ) setFocus( ResolverFocus::Default ); -ZOLV_FLAG_TRIBOOL( setAllowDowngrade, allowDowngrade, _allowdowngrade, false ) -ZOLV_FLAG_TRIBOOL( setAllowNameChange, allowNameChange, _allownamechange, true ) // bsc#1071466 -ZOLV_FLAG_TRIBOOL( setAllowArchChange, allowArchChange, _allowarchchange, false ) -ZOLV_FLAG_TRIBOOL( setAllowVendorChange, allowVendorChange, _allowvendorchange, ZConfig::instance().solver_allowVendorChange() ) - -ZOLV_FLAG_TRIBOOL( dupSetAllowDowngrade, dupAllowDowngrade, _dup_allowdowngrade, ZConfig::instance().solver_dupAllowDowngrade() ) -ZOLV_FLAG_TRIBOOL( dupSetAllowNameChange, dupAllowNameChange, _dup_allownamechange, ZConfig::instance().solver_dupAllowNameChange() ) -ZOLV_FLAG_TRIBOOL( dupSetAllowArchChange, dupAllowArchChange, _dup_allowarchchange, ZConfig::instance().solver_dupAllowArchChange() ) -ZOLV_FLAG_TRIBOOL( dupSetAllowVendorChange, dupAllowVendorChange, _dup_allowvendorchange, ZConfig::instance().solver_dupAllowVendorChange() ) +#define ZOLV_FLAG_DEFAULT( ZSETTER, ZGETTER ) \ + if ( all_r || _applyDefault_##ZGETTER ) ZSETTER( indeterminate ) + ZOLV_FLAG_DEFAULT( setForceResolve ,forceResolve ); + ZOLV_FLAG_DEFAULT( setCleandepsOnRemove ,cleandepsOnRemove ); + ZOLV_FLAG_DEFAULT( setOnlyRequires ,onlyRequires ); + ZOLV_FLAG_DEFAULT( setAllowDowngrade ,allowDowngrade ); + ZOLV_FLAG_DEFAULT( setAllowNameChange ,allowNameChange ); + ZOLV_FLAG_DEFAULT( setAllowArchChange ,allowArchChange ); + ZOLV_FLAG_DEFAULT( setAllowVendorChange ,allowVendorChange ); + ZOLV_FLAG_DEFAULT( dupSetAllowDowngrade ,dupAllowDowngrade ); + ZOLV_FLAG_DEFAULT( dupSetAllowNameChange ,dupAllowNameChange ); + ZOLV_FLAG_DEFAULT( dupSetAllowArchChange ,dupAllowArchChange ); + ZOLV_FLAG_DEFAULT( dupSetAllowVendorChange ,dupAllowVendorChange ); #undef ZOLV_FLAG_TRIBOOL +} //--------------------------------------------------------------------------- - -void Resolver::setOnlyRequires( TriBool state_r ) -{ - _onlyRequires = indeterminate(state_r) ? ZConfig::instance().solver_onlyRequires() : bool(state_r); +// forward flags too SATResolver +void Resolver::setFocus( ResolverFocus focus_r ) { + _applyDefault_focus = ( focus_r == ResolverFocus::Default ); + _satResolver->_focus = _applyDefault_focus ? ZConfig::instance().solver_focus() : focus_r; } +ResolverFocus Resolver::focus() const { return _satResolver->_focus; } -void Resolver::setCleandepsOnRemove( TriBool state_r ) -{ - _cleandepsOnRemove = indeterminate(state_r) ? ZConfig::instance().solver_cleandepsOnRemove() : bool(state_r); -} +#define ZOLV_FLAG_TRIBOOL( ZSETTER, ZGETTER, ZVARDEFAULT, ZVARNAME ) \ + void Resolver::ZSETTER( TriBool state_r ) \ + { _applyDefault_##ZGETTER = indeterminate(state_r); \ + bool newval = _applyDefault_##ZGETTER ? ZVARDEFAULT : bool(state_r); \ + if ( ZVARNAME != newval ) { \ + DBG << #ZGETTER << ": changed from " << (bool)ZVARNAME << " to " << newval << endl;\ + ZVARNAME = newval; \ + } \ + } \ + bool Resolver::ZGETTER() const \ + { return ZVARNAME; } \ + +// Flags stored here follow the naming convention,... +// TODO: But why do we need them here? Probably too many layers and they can +// go to _satResolver too. +#define ZOLV_FLAG_LOCALTB( ZSETTER, ZGETTER, ZVARDEFAULT ) \ + ZOLV_FLAG_TRIBOOL( ZSETTER, ZGETTER, ZVARDEFAULT, _##ZGETTER ) +// Flags down in _satResolver don't (yet). +#define ZOLV_FLAG_SATSOLV( ZSETTER, ZGETTER, ZVARDEFAULT, ZVARNAME ) \ + ZOLV_FLAG_TRIBOOL( ZSETTER, ZGETTER, ZVARDEFAULT, _satResolver->ZVARNAME ) +// NOTE: ZVARDEFAULT must be in sync with SATResolver ctor +ZOLV_FLAG_SATSOLV( setForceResolve ,forceResolve ,false ,_allowuninstall ) +ZOLV_FLAG_LOCALTB( setCleandepsOnRemove ,cleandepsOnRemove ,ZConfig::instance().solver_cleandepsOnRemove() ) +ZOLV_FLAG_LOCALTB( setOnlyRequires ,onlyRequires ,ZConfig::instance().solver_onlyRequires() ) +ZOLV_FLAG_SATSOLV( setAllowDowngrade ,allowDowngrade ,false ,_allowdowngrade ) +ZOLV_FLAG_SATSOLV( setAllowNameChange ,allowNameChange ,true /*bsc#1071466*/ ,_allownamechange ) +ZOLV_FLAG_SATSOLV( setAllowArchChange ,allowArchChange ,false ,_allowarchchange ) +ZOLV_FLAG_SATSOLV( setAllowVendorChange ,allowVendorChange ,ZConfig::instance().solver_allowVendorChange() ,_allowvendorchange ) +ZOLV_FLAG_SATSOLV( dupSetAllowDowngrade ,dupAllowDowngrade ,ZConfig::instance().solver_dupAllowDowngrade() ,_dup_allowdowngrade ) +ZOLV_FLAG_SATSOLV( dupSetAllowNameChange ,dupAllowNameChange ,ZConfig::instance().solver_dupAllowNameChange() ,_dup_allownamechange ) +ZOLV_FLAG_SATSOLV( dupSetAllowArchChange ,dupAllowArchChange ,ZConfig::instance().solver_dupAllowArchChange() ,_dup_allowarchchange ) +ZOLV_FLAG_SATSOLV( dupSetAllowVendorChange ,dupAllowVendorChange ,ZConfig::instance().solver_dupAllowVendorChange() ,_dup_allowvendorchange ) +#undef ZOLV_FLAG_SATSOLV +#undef ZOLV_FLAG_LOCALTB +#undef ZOLV_FLAG_TRIBOOL //--------------------------------------------------------------------------- ResPool Resolver::pool() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/solver/detail/Resolver.h new/libzypp-17.30.0/zypp/solver/detail/Resolver.h --- old/libzypp-17.29.6/zypp/solver/detail/Resolver.h 2021-08-26 18:56:18.000000000 +0200 +++ new/libzypp-17.30.0/zypp/solver/detail/Resolver.h 2022-03-25 17:18:36.000000000 +0100 @@ -77,16 +77,32 @@ /** \name Solver flags */ //@{ - bool _upgradeMode; // Resolver has been called with doUpgrade - bool _updateMode; // Resolver has been called with doUpdate - bool _verifying; // The system will be checked - bool _onlyRequires; // do install required resolvables only - // no recommended resolvables, language - // packages, hardware packages (modalias) - bool _solveSrcPackages; // whether to generate solver jobs for selected source packges. - bool _cleandepsOnRemove; // whether removing a package should also remove no longer needed requirements + bool _upgradeMode:1; // Resolver has been called with doUpgrade + bool _updateMode:1; // Resolver has been called with doUpdate + bool _verifying:1; // The system will be checked + bool _onlyRequires:1; // do install required resolvables only + bool _solveSrcPackages:1; // whether to generate solver jobs for selected source packges. + bool _cleandepsOnRemove:1; // whether removing a package should also remove no longer needed requirements + bool _ignoreAlreadyRecommended:1; // ignore recommended packages that have already been recommended by the installed packages + //@} - bool _ignoreAlreadyRecommended; //ignore recommended packages that have already been recommended by the installed packages + /** \name applyDefaults + * Remember whether global default or explicit settings are applied to SATResolver. + * Global defaults may change with the Target, explicit settings not. + */ + //@{ + bool _applyDefault_focus:1; + bool _applyDefault_forceResolve:1; + bool _applyDefault_cleandepsOnRemove:1; + bool _applyDefault_onlyRequires:1; + bool _applyDefault_allowDowngrade:1; + bool _applyDefault_allowNameChange:1; + bool _applyDefault_allowArchChange:1; + bool _applyDefault_allowVendorChange:1; + bool _applyDefault_dupAllowDowngrade:1; + bool _applyDefault_dupAllowNameChange:1; + bool _applyDefault_dupAllowArchChange:1; + bool _applyDefault_dupAllowVendorChange:1; //@} // Additional QueueItems which has to be regarded by the solver @@ -127,6 +143,17 @@ ResPool pool() const; void setPool( const ResPool & pool ) { _pool = pool; } + /** + * Reset all solver flags to the systems default (e.g. from zypp.conf). + * + * The information whether a \ref SATResolver setting was explicitly set or follows + * the targets default (zypp.conf) is stored here in the \ref Resolver. + * If \a all_r is \c false, only those settings are updated, which still follow + * the target defaults (e.g. after the target has changed). Otherwise all explicit + * settings are discarded and the defaults are applied. + */ + void setDefaultSolverFlags( bool all_r ); + void addUpgradeRepo( Repository repo_r ) { if ( repo_r && ! repo_r.isSystemRepo() ) _upgradeRepos.insert( repo_r ); } bool upgradingRepo( Repository repo_r ) const { return( _upgradeRepos.find( repo_r ) != _upgradeRepos.end() ); } void removeUpgradeRepo( Repository repo_r ) { _upgradeRepos.erase( repo_r ); } @@ -159,9 +186,6 @@ bool ignoreAlreadyRecommended() const { return _ignoreAlreadyRecommended; } void setIgnoreAlreadyRecommended( bool yesno_r ) { _ignoreAlreadyRecommended = yesno_r; } - bool onlyRequires () const { return _onlyRequires; } - void setOnlyRequires( TriBool state_r ); - bool isUpgradeMode() const { return _upgradeMode; }// Resolver has been called with doUpgrade void setUpgradeMode( bool yesno_r ) { _upgradeMode = yesno_r; } @@ -173,9 +197,6 @@ bool solveSrcPackages() const { return _solveSrcPackages; } void setSolveSrcPackages( TriBool state_r ) { _solveSrcPackages = indeterminate(state_r) ? false : bool(state_r); } - - bool cleandepsOnRemove() const { return _cleandepsOnRemove; } - void setCleandepsOnRemove( TriBool state_r ); //@} void setFocus( ResolverFocus focus_r ); @@ -185,18 +206,17 @@ void ZSETTER( TriBool state_r ); \ bool ZGETTER() const; \ - ZOLV_FLAG_TRIBOOL( setForceResolve, forceResolve ) - - ZOLV_FLAG_TRIBOOL( setAllowDowngrade, allowDowngrade ) - ZOLV_FLAG_TRIBOOL( setAllowNameChange, allowNameChange ) - ZOLV_FLAG_TRIBOOL( setAllowArchChange, allowArchChange ) - ZOLV_FLAG_TRIBOOL( setAllowVendorChange, allowVendorChange ) - - ZOLV_FLAG_TRIBOOL( dupSetAllowDowngrade, dupAllowDowngrade ) - ZOLV_FLAG_TRIBOOL( dupSetAllowNameChange, dupAllowNameChange ) - ZOLV_FLAG_TRIBOOL( dupSetAllowArchChange, dupAllowArchChange ) - ZOLV_FLAG_TRIBOOL( dupSetAllowVendorChange, dupAllowVendorChange ) - + ZOLV_FLAG_TRIBOOL( setForceResolve ,forceResolve ) + ZOLV_FLAG_TRIBOOL( setCleandepsOnRemove ,cleandepsOnRemove ) + ZOLV_FLAG_TRIBOOL( setOnlyRequires ,onlyRequires ) + ZOLV_FLAG_TRIBOOL( setAllowDowngrade ,allowDowngrade ) + ZOLV_FLAG_TRIBOOL( setAllowNameChange ,allowNameChange ) + ZOLV_FLAG_TRIBOOL( setAllowArchChange ,allowArchChange ) + ZOLV_FLAG_TRIBOOL( setAllowVendorChange ,allowVendorChange ) + ZOLV_FLAG_TRIBOOL( dupSetAllowDowngrade ,dupAllowDowngrade ) + ZOLV_FLAG_TRIBOOL( dupSetAllowNameChange ,dupAllowNameChange ) + ZOLV_FLAG_TRIBOOL( dupSetAllowArchChange ,dupAllowArchChange ) + ZOLV_FLAG_TRIBOOL( dupSetAllowVendorChange ,dupAllowVendorChange ) #undef ZOLV_FLAG_TRIBOOL ResolverProblemList problems() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/target/TargetImpl.cc new/libzypp-17.30.0/zypp/target/TargetImpl.cc --- old/libzypp-17.29.6/zypp/target/TargetImpl.cc 2022-03-10 15:31:24.000000000 +0100 +++ new/libzypp-17.30.0/zypp/target/TargetImpl.cc 2022-03-21 08:56:20.000000000 +0100 @@ -2162,7 +2162,7 @@ processDataFromScriptFd(); // end of script is always sent by zypp-rpm, we need to wait for it to keep order - while ( scriptSource->canRead() && !gotEndOfScript ) { + while ( scriptSource->readFdOpen() && scriptSource->canRead() && !gotEndOfScript ) { // readyRead will trigger processDataFromScriptFd so no need to call it again // we still got nothing, lets wait for more scriptSource->waitForReadyRead( 100 ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/target/TargetImpl.h new/libzypp-17.30.0/zypp/target/TargetImpl.h --- old/libzypp-17.29.6/zypp/target/TargetImpl.h 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.30.0/zypp/target/TargetImpl.h 2022-03-25 16:36:15.000000000 +0100 @@ -134,9 +134,7 @@ /** Overload to realize stream output. */ virtual std::ostream & dumpOn( std::ostream & str ) const - { - return str << "TargetImpl"; - } + { return str << "Target(" << root() << ")"; } /** The RPM database */ rpm::RpmDb & rpm(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/zypp_detail/ZYppImpl.cc new/libzypp-17.30.0/zypp/zypp_detail/ZYppImpl.cc --- old/libzypp-17.29.6/zypp/zypp_detail/ZYppImpl.cc 2021-10-18 12:19:44.000000000 +0200 +++ new/libzypp-17.30.0/zypp/zypp_detail/ZYppImpl.cc 2022-03-25 16:36:15.000000000 +0100 @@ -116,7 +116,14 @@ if (! _target) ZYPP_THROW(Exception("Target not initialized.")); return _target; - } + } + + void ZYppImpl::changeTargetTo( Target_Ptr newtarget_r ) + { + _target = newtarget_r; + ZConfig::instance().notifyTargetChanged(); + resolver()->setDefaultSolverFlags( /*all_r*/false ); // just changed defaults + } void ZYppImpl::initializeTarget( const Pathname & root, bool doRebuild_r ) { @@ -126,11 +133,9 @@ MIL << "Repeated call to initializeTarget()" << endl; return; } - _target->unload(); - } - _target = new Target( root, doRebuild_r ); + changeTargetTo( new Target( root, doRebuild_r ) ); _target->buildCache(); } @@ -139,7 +144,7 @@ if (_target) _target->unload(); - _target = nullptr; + changeTargetTo( nullptr ); } //------------------------------------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp/zypp_detail/ZYppImpl.h new/libzypp-17.30.0/zypp/zypp_detail/ZYppImpl.h --- old/libzypp-17.29.6/zypp/zypp_detail/ZYppImpl.h 2021-08-26 18:56:18.000000000 +0200 +++ new/libzypp-17.30.0/zypp/zypp_detail/ZYppImpl.h 2022-03-25 16:36:15.000000000 +0100 @@ -109,6 +109,10 @@ void setPartitions(const DiskUsageCounter::MountPointSet &mp); DiskUsageCounter::MountPointSet getPartitions() const; + public: + /** Hook for actions to trigger if the Target changes (initialize/finish) */ + void changeTargetTo( Target_Ptr newtarget_r ); + private: /** */ Target_Ptr _target; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp-core/zyppng/io/asyncdatasource.cpp new/libzypp-17.30.0/zypp-core/zyppng/io/asyncdatasource.cpp --- old/libzypp-17.29.6/zypp-core/zyppng/io/asyncdatasource.cpp 2021-08-26 18:56:18.000000000 +0200 +++ new/libzypp-17.30.0/zypp-core/zyppng/io/asyncdatasource.cpp 2022-03-21 08:56:20.000000000 +0100 @@ -239,8 +239,8 @@ gotRR = true; }) ); - // we can only wait if we are open for reading - while ( canRead() && !gotRR ) { + // we can only wait if we are open for reading and still have a valid fd + while ( readFdOpen() && canRead() && !gotRR ) { int rEvents = 0; if ( EventDispatcher::waitForFdEvent( d->_readFd, AbstractEventSource::Read | AbstractEventSource::Error , rEvents, timeout ) ) { //simulate signal from read notifier @@ -267,4 +267,9 @@ { return d_func()->_sigBytesWritten; } + + bool AsyncDataSource::readFdOpen() const + { + return ( d_func()->_readNotifier && d_func()->_readFd >= 0 ); + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp-core/zyppng/io/asyncdatasource.h new/libzypp-17.30.0/zypp-core/zyppng/io/asyncdatasource.h --- old/libzypp-17.29.6/zypp-core/zyppng/io/asyncdatasource.h 2021-12-10 09:26:26.000000000 +0100 +++ new/libzypp-17.30.0/zypp-core/zyppng/io/asyncdatasource.h 2022-03-21 08:56:20.000000000 +0100 @@ -54,6 +54,11 @@ */ SignalProxy< void (std::size_t)> sigBytesWritten (); + /*! + * Returns true as long as the read channel was not closed ( e.g. sigReadFdClosed was emitted ) + */ + bool readFdOpen () const; + protected: AsyncDataSource ( ); off_t writeData(const char *data, off_t count) override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-17.29.6/zypp-media/mount.cc new/libzypp-17.30.0/zypp-media/mount.cc --- old/libzypp-17.29.6/zypp-media/mount.cc 2022-03-11 19:53:13.000000000 +0100 +++ new/libzypp-17.30.0/zypp-media/mount.cc 2022-03-15 16:50:31.000000000 +0100 @@ -122,7 +122,7 @@ unsigned numRetry = 2; do { if ( doRetry ) { - if ( --numRetry ) { + if ( numRetry-- ) { WAR << "umount " << path << ": " << exitCode << ": " << err << " - retrying in 1 sec." << endl; sleep( 1 ); err.clear();