Imported Upstream version 17.28.1 upstream/17.28.1
authorJinWang An <jinwang.an@samsung.com>
Mon, 27 Dec 2021 00:31:38 +0000 (09:31 +0900)
committerJinWang An <jinwang.an@samsung.com>
Mon, 27 Dec 2021 00:31:38 +0000 (09:31 +0900)
17 files changed:
VERSION.cmake
package/libzypp.changes
po/ca.po
po/cs.po
po/it.po
po/ja.po
po/nl.po
po/pt_BR.po
po/sk.po
po/zh_CN.po
tests/zypp/RpmPkgSigCheck_test.cc
tools/zypp-rpm/errorcodes.h
tools/zypp-rpm/main.cc
zypp-core/base/LogControl.cc
zypp/target/TargetImpl.cc
zypp/zyppng/media/medianetworkserver.cc
zypp/zyppng/media/private/medianetworkserver_p.h

index 85ecdf9..dffcf46 100644 (file)
@@ -61,8 +61,8 @@
 SET(LIBZYPP_MAJOR "17")
 SET(LIBZYPP_COMPATMINOR "22")
 SET(LIBZYPP_MINOR "28")
-SET(LIBZYPP_PATCH "0")
+SET(LIBZYPP_PATCH "1")
 #
-# LAST RELEASED: 17.28.0 (22)
+# LAST RELEASED: 17.28.1 (22)
 # (The number in parenthesis is LIBZYPP_COMPATMINOR)
 #=======
index 0ea7193..ed38d0e 100644 (file)
@@ -1,4 +1,10 @@
 -------------------------------------------------------------------
+Mon Aug 23 08:39:15 CEST 2021 - ma@suse.de
+
+- Fix crashes in logging code when shutting down (bsc#1189031)
+- version 17.28.1 (22)
+
+-------------------------------------------------------------------
 Mon Jul 26 11:48:28 CEST 2021 - ma@suse.de
 
 - Rephrase vendor conflict message in case 2 packages are
index 664e93c..66eb308 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-05-01 01:58+0000\n"
+"PO-Revision-Date: 2021-07-26 20:11+0000\n"
 "Last-Translator: David Medina <medipas@gmail.com>\n"
 "Language-Team: Catalan <https://l10n.opensuse.org/projects/libzypp/master/ca/"
 ">\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.6\n"
+"X-Generator: Weblate 4.7.1\n"
 
 #: zypp/CountryCode.cc:50
 msgid "Unknown country: "
@@ -5054,6 +5054,8 @@ msgid ""
 "install %1% from vendor %2%\n"
 "  replacing %3% from vendor %4%"
 msgstr ""
+"instal·la %1% del proveïdor %2%\n"
+"  i reemplaça %3% del proveïdor %4%"
 
 #: zypp/solver/detail/SATResolver.cc:1507
 #, boost-format
@@ -5114,7 +5116,7 @@ msgstr "Nou missatge d'actualització"
 
 #: zypp/target/TargetImpl.cc:2619
 msgid "Executing the transaction failed because of the following problems:"
-msgstr ""
+msgstr "No s'ha pogut executar la transacció a causa dels problemes següents:"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
@@ -5388,11 +5390,11 @@ msgstr "L'ordre s'ha executat sense que hi hagués cap error conegut."
 #: zypp-core/zyppng/io/forkspawnengine.cc:111
 #: zypp-core/zyppng/io/forkspawnengine.cc:359
 msgid "Invalid spawn arguments given."
-msgstr ""
+msgstr "S'han donat arguments de generació no vàlids."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:174
 msgid "Unable to create control pipe."
-msgstr ""
+msgstr "No es pot crear la canonada de control."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:240
 #, c-format, boost-format
@@ -5424,22 +5426,22 @@ msgstr "No es pot bifurcar (%s)."
 #: zypp-core/zyppng/io/forkspawnengine.cc:306
 #, c-format, boost-format
 msgid "Can't exec '%s', chdir failed (%s)."
-msgstr ""
+msgstr "No es pot executar %s, ha fallat l'ordre chdir (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:309
 #, c-format, boost-format
 msgid "Can't exec '%s', chroot failed (%s)."
-msgstr ""
+msgstr "No es pot executar %s, ha fallat l'ordre chroot (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:312
 #, c-format, boost-format
 msgid "Can't exec '%s', exec failed (%s)."
-msgstr ""
+msgstr "No es pot executar %s, ha fallat l'ordre exec (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:316
 #, c-format, boost-format
 msgid "Can't exec '%s', unexpected error."
-msgstr ""
+msgstr "No es pot executar %s, error inesperat."
 
 #~ msgid "%s does not belong to a distupgrade repository"
 #~ msgstr "%s no pertany a un repositori d'actualització de la distribució"
index a189be8..6405e1a 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -20,16 +20,16 @@ msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-05-31 22:00+0000\n"
+"PO-Revision-Date: 2021-07-26 20:11+0000\n"
 "Last-Translator: Aleš Kastner <alkas@volny.cz>\n"
-"Language-Team: Czech <https://l10n.opensuse.org/projects/libzypp/master/cs/"
-">\n"
+"Language-Team: Czech <https://l10n.opensuse.org/projects/libzypp/master/cs/>"
+"\n"
 "Language: cs\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==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.6.2\n"
+"X-Generator: Weblate 4.7.1\n"
 
 #: zypp/CountryCode.cc:50
 msgid "Unknown country: "
@@ -1356,7 +1356,7 @@ msgstr "Britské Panenské ostrovy"
 #. :VGB:092:
 #: zypp/CountryCode.cc:394
 msgid "Virgin Islands, U.S."
-msgstr "Panenské ostrovy (U.S.)"
+msgstr "Panenské ostrovy, U.S."
 
 # VN
 # fuzzy
@@ -4865,6 +4865,8 @@ msgid ""
 "install %1% from vendor %2%\n"
 "  replacing %3% from vendor %4%"
 msgstr ""
+"instalovat %1% od dodavatele %2%\n"
+"  nahradit %3% od dodavatele %4%"
 
 #: zypp/solver/detail/SATResolver.cc:1507
 #, boost-format
@@ -4924,7 +4926,7 @@ msgstr "Nová zpráva o aktualizaci"
 
 #: zypp/target/TargetImpl.cc:2619
 msgid "Executing the transaction failed because of the following problems:"
-msgstr ""
+msgstr "Provedení transakce se nezdařilo kvůli následujícím problémům:"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
@@ -5193,11 +5195,11 @@ msgstr "Příkaz skončil s neznámou chybou."
 #: zypp-core/zyppng/io/forkspawnengine.cc:111
 #: zypp-core/zyppng/io/forkspawnengine.cc:359
 msgid "Invalid spawn arguments given."
-msgstr ""
+msgstr "Zadány neplatné argumenty spawn."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:174
 msgid "Unable to create control pipe."
-msgstr ""
+msgstr "Nelze vytvořit řídicí kanál."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:240
 #, c-format, boost-format
@@ -5231,22 +5233,22 @@ msgstr "Nelze forknout (%s)."
 #: zypp-core/zyppng/io/forkspawnengine.cc:306
 #, c-format, boost-format
 msgid "Can't exec '%s', chdir failed (%s)."
-msgstr ""
+msgstr "Nelze spustit '%s', chyba chdir (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:309
 #, c-format, boost-format
 msgid "Can't exec '%s', chroot failed (%s)."
-msgstr ""
+msgstr "Nelze spustit '%s', chyba chroot (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:312
 #, c-format, boost-format
 msgid "Can't exec '%s', exec failed (%s)."
-msgstr ""
+msgstr "Nelze spustit '%s', chyba exec (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:316
 #, c-format, boost-format
 msgid "Can't exec '%s', unexpected error."
-msgstr ""
+msgstr "Nelze spustit '%s', neočekávaná chyba."
 
 #~ msgid "%s does not belong to a distupgrade repository"
 #~ msgstr "%s nenáleží do repozitáře pro aktualizaci distribuce"
index 7622395..6778319 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -15,7 +15,7 @@ msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-06-11 16:59+0000\n"
+"PO-Revision-Date: 2021-07-26 20:11+0000\n"
 "Last-Translator: Paolo Za <zapaolo@email.it>\n"
 "Language-Team: Italian <https://l10n.opensuse.org/projects/libzypp/master/it/"
 ">\n"
@@ -24,7 +24,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.6.2\n"
+"X-Generator: Weblate 4.7.1\n"
 "X-Poedit-Bookmarks: 370,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
 
 #: zypp/CountryCode.cc:50
@@ -4654,6 +4654,8 @@ msgid ""
 "install %1% from vendor %2%\n"
 "  replacing %3% from vendor %4%"
 msgstr ""
+"installa %1 dal fornitore %2\n"
+"  sostituzione di %3% del fornitore %4%"
 
 #: zypp/solver/detail/SATResolver.cc:1507
 #, boost-format
@@ -4715,6 +4717,7 @@ msgstr "Nuovo messaggio di aggiornamento"
 #: zypp/target/TargetImpl.cc:2619
 msgid "Executing the transaction failed because of the following problems:"
 msgstr ""
+"L'esecuzione della transazione non è riuscita a causa dei seguenti problemi:"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
@@ -5026,12 +5029,12 @@ msgstr "Impossibile eseguire il comando fork (%s)."
 #: zypp-core/zyppng/io/forkspawnengine.cc:306
 #, c-format, boost-format
 msgid "Can't exec '%s', chdir failed (%s)."
-msgstr ""
+msgstr "Impossibile eseguire '%s', chdir non riuscito (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:309
 #, c-format, boost-format
 msgid "Can't exec '%s', chroot failed (%s)."
-msgstr ""
+msgstr "Impossibile eseguire '%s', chroot non riuscito (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:312
 #, c-format, boost-format
@@ -5041,7 +5044,7 @@ msgstr ""
 #: zypp-core/zyppng/io/forkspawnengine.cc:316
 #, c-format, boost-format
 msgid "Can't exec '%s', unexpected error."
-msgstr ""
+msgstr "Impossibile eseguire '%s', errore inaspettato."
 
 #~ msgid "%s does not belong to a distupgrade repository"
 #~ msgstr ""
index 05d1a02..5cbdbc7 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-06-07 11:00+0000\n"
+"PO-Revision-Date: 2021-07-27 01:10+0000\n"
 "Last-Translator: Yasuhiko Kamata <belphegor@belbel.or.jp>\n"
 "Language-Team: Japanese <https://l10n.opensuse.org/projects/libzypp/master/"
 "ja/>\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.6.2\n"
+"X-Generator: Weblate 4.7.1\n"
 
 #: zypp/CountryCode.cc:50
 msgid "Unknown country: "
@@ -4663,6 +4663,8 @@ msgid ""
 "install %1% from vendor %2%\n"
 "  replacing %3% from vendor %4%"
 msgstr ""
+"ベンダ %4% からの %3% を\n"
+"  ベンダ %2% からの %1% に置き換えてインストールします"
 
 #: zypp/solver/detail/SATResolver.cc:1507
 #, boost-format
@@ -4722,7 +4724,7 @@ msgstr "新しい更新メッセージ"
 
 #: zypp/target/TargetImpl.cc:2619
 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
@@ -4992,11 +4994,11 @@ msgstr "コマンドは不明なエラーで終了しました。"
 #: zypp-core/zyppng/io/forkspawnengine.cc:111
 #: zypp-core/zyppng/io/forkspawnengine.cc:359
 msgid "Invalid spawn arguments given."
-msgstr ""
+msgstr "正しくない実行パラメータが指定されました。"
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:174
 msgid "Unable to create control pipe."
-msgstr ""
+msgstr "制御パイプを作成できませんでした。"
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:240
 #, c-format, boost-format
@@ -5029,22 +5031,22 @@ msgstr "fork (%s)することができません。"
 #: zypp-core/zyppng/io/forkspawnengine.cc:306
 #, c-format, boost-format
 msgid "Can't exec '%s', chdir failed (%s)."
-msgstr ""
+msgstr "'%s' を実行できません。 chdir が失敗しました (%s) 。"
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:309
 #, c-format, boost-format
 msgid "Can't exec '%s', chroot failed (%s)."
-msgstr ""
+msgstr "'%s' を実行できません。 chroot が失敗しました (%s) 。"
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:312
 #, c-format, boost-format
 msgid "Can't exec '%s', exec failed (%s)."
-msgstr ""
+msgstr "'%s' を実行できません。 exec が失敗しました (%s) 。"
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:316
 #, c-format, boost-format
 msgid "Can't exec '%s', unexpected error."
-msgstr ""
+msgstr "'%s' を実行できません。予期しないエラーです。"
 
 #~ msgid "%s does not belong to a distupgrade repository"
 #~ msgstr "%s はdistupgradeのリポジトリに属していません"
index 27fdd35..c1251bd 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -16,16 +16,16 @@ msgstr ""
 "Project-Id-Version: zypp.nl\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-05-01 01:58+0000\n"
+"PO-Revision-Date: 2021-07-26 20:11+0000\n"
 "Last-Translator: Freek de Kruijf <freek@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"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.6\n"
+"X-Generator: Weblate 4.7.1\n"
 
 #: zypp/CountryCode.cc:50
 msgid "Unknown country: "
@@ -4734,7 +4734,7 @@ msgstr "Bericht over een nieuw element voor bijwerken"
 
 #: zypp/target/TargetImpl.cc:2619
 msgid "Executing the transaction failed because of the following problems:"
-msgstr ""
+msgstr "Uitvoeren van de transactie is mislukt vanwege de volgende problemen:"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
@@ -5008,11 +5008,11 @@ msgstr "Opdracht beëindigd met onbekende fout."
 #: zypp-core/zyppng/io/forkspawnengine.cc:111
 #: zypp-core/zyppng/io/forkspawnengine.cc:359
 msgid "Invalid spawn arguments given."
-msgstr ""
+msgstr "Ongeldige afsplits argumenten gegeven."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:174
 msgid "Unable to create control pipe."
-msgstr ""
+msgstr "Pipe voor besturing maken lukt niet."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:240
 #, c-format, boost-format
@@ -5044,22 +5044,22 @@ msgstr "Kan geen fork (%s) uitvoeren."
 #: zypp-core/zyppng/io/forkspawnengine.cc:306
 #, c-format, boost-format
 msgid "Can't exec '%s', chdir failed (%s)."
-msgstr ""
+msgstr "Kan '%s' niet uitvoeren, chdir is mislukt (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:309
 #, c-format, boost-format
 msgid "Can't exec '%s', chroot failed (%s)."
-msgstr ""
+msgstr "'%s' uitvoeren lukt niet, chroot is mislukt (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:312
 #, c-format, boost-format
 msgid "Can't exec '%s', exec failed (%s)."
-msgstr ""
+msgstr "'%s' uitvoeren lukt niet, exec is mislukt (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:316
 #, c-format, boost-format
 msgid "Can't exec '%s', unexpected error."
-msgstr ""
+msgstr "'%s' uitvoeren lukt niet, onverwachte fout."
 
 #~ msgid "%s does not belong to a distupgrade repository"
 #~ msgstr "%s behoort niet tot een opslagruimte voor distributie-upgrade"
index 68a98ec..06a4c7b 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-05-03 16:57+0000\n"
-"Last-Translator: Luiz Fernando Ranghetti <elchevive68@gmail.com>\n"
+"PO-Revision-Date: 2021-07-26 20:11+0000\n"
+"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://l10n.opensuse.org/projects/"
 "libzypp/master/pt_BR/>\n"
 "Language: pt_BR\n"
@@ -23,7 +23,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.6\n"
+"X-Generator: Weblate 4.7.1\n"
 "X-Poedit-Language: Portuguese\n"
 "X-Poedit-Country: BRAZIL\n"
 "X-Poedit-SourceCharset: utf-8\n"
@@ -1213,7 +1213,7 @@ msgstr "Ilhas Virgens Britânicas"
 #. :VGB:092:
 #: zypp/CountryCode.cc:394
 msgid "Virgin Islands, U.S."
-msgstr "Ilhas Virgens Americanas"
+msgstr "Ilhas Virgens, EUA."
 
 #. :VIR:850:
 #: zypp/CountryCode.cc:395
@@ -4665,6 +4665,8 @@ msgid ""
 "install %1% from vendor %2%\n"
 "  replacing %3% from vendor %4%"
 msgstr ""
+"instale% 1% do fornecedor% 2%\n"
+"   substituindo% 3% do fornecedor% 4%"
 
 #: zypp/solver/detail/SATResolver.cc:1507
 #, boost-format
@@ -4724,7 +4726,7 @@ msgstr "Nova mensagem de atualização"
 
 #: zypp/target/TargetImpl.cc:2619
 msgid "Executing the transaction failed because of the following problems:"
-msgstr ""
+msgstr "A execução da transação falhou devido aos seguintes problemas:"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
@@ -4993,11 +4995,11 @@ msgstr "O comando encerrou com erro desconhecido."
 #: zypp-core/zyppng/io/forkspawnengine.cc:111
 #: zypp-core/zyppng/io/forkspawnengine.cc:359
 msgid "Invalid spawn arguments given."
-msgstr ""
+msgstr "Argumentos de geração inválidos fornecidos."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:174
 msgid "Unable to create control pipe."
-msgstr ""
+msgstr "Incapaz de criar o tubo de controle."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:240
 #, c-format, boost-format
@@ -5029,22 +5031,22 @@ msgstr "Não foi possível dividir (%s)."
 #: zypp-core/zyppng/io/forkspawnengine.cc:306
 #, c-format, boost-format
 msgid "Can't exec '%s', chdir failed (%s)."
-msgstr ""
+msgstr "Impossível executar '%s', chdir falhou (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:309
 #, c-format, boost-format
 msgid "Can't exec '%s', chroot failed (%s)."
-msgstr ""
+msgstr "Impossível executar '%s', chroot falhou (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:312
 #, c-format, boost-format
 msgid "Can't exec '%s', exec failed (%s)."
-msgstr ""
+msgstr "Impossível executar '%s', exec falhou (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:316
 #, c-format, boost-format
 msgid "Can't exec '%s', unexpected error."
-msgstr ""
+msgstr "Impossível executar '%s', erro inesperado."
 
 #~ msgid "%s does not belong to a distupgrade repository"
 #~ msgstr "%s não pertence a um repositório de atualização da distribuição"
index 1a5febe..231ebe8 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,16 +6,16 @@ msgstr ""
 "Project-Id-Version: libzypp\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-04-30 19:57+0000\n"
+"PO-Revision-Date: 2021-08-03 19:11+0000\n"
 "Last-Translator: Ferdinand Galko <galko.ferdinand@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"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.6\n"
+"X-Generator: Weblate 4.7.1\n"
 
 #: zypp/CountryCode.cc:50
 msgid "Unknown country: "
@@ -4619,7 +4619,7 @@ msgstr "inštalovať %1% z vylúčeného repozitára"
 #: zypp/solver/detail/SATResolver.cc:1449
 #, boost-format
 msgid "install %1% although it has been retracted"
-msgstr "inštalovať %1%, aj keď bol stiahnutý"
+msgstr "inštalovať %1%, aj keď bol stiahnutý späť"
 
 #. translator: %1% is a package name
 #: zypp/solver/detail/SATResolver.cc:1452
@@ -4658,6 +4658,8 @@ msgid ""
 "install %1% from vendor %2%\n"
 "  replacing %3% from vendor %4%"
 msgstr ""
+"inštalovať %1% od dodávateľa %2%\n"
+"  nahradenie %3% od dodávateľa %4%"
 
 #: zypp/solver/detail/SATResolver.cc:1507
 #, boost-format
@@ -4717,7 +4719,7 @@ msgstr "Nová správa aktualizácie"
 
 #: zypp/target/TargetImpl.cc:2619
 msgid "Executing the transaction failed because of the following problems:"
-msgstr ""
+msgstr "Vykonanie transakcie zlyhalo z dôvodu nasledujúcich problémov:"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
@@ -4987,11 +4989,11 @@ msgstr "Príkaz skončil s neznámou chybou."
 #: zypp-core/zyppng/io/forkspawnengine.cc:111
 #: zypp-core/zyppng/io/forkspawnengine.cc:359
 msgid "Invalid spawn arguments given."
-msgstr ""
+msgstr "Zadané nesprávne argumenty spawn."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:174
 msgid "Unable to create control pipe."
-msgstr ""
+msgstr "Nie je možné vytvoriť riadiacu rúru."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:240
 #, c-format, boost-format
@@ -5023,22 +5025,22 @@ msgstr "Nemôžem spraviť rozdelenie programu (%s)."
 #: zypp-core/zyppng/io/forkspawnengine.cc:306
 #, c-format, boost-format
 msgid "Can't exec '%s', chdir failed (%s)."
-msgstr ""
+msgstr "Nemožno vykonať '%s', chdir zlyhal (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:309
 #, c-format, boost-format
 msgid "Can't exec '%s', chroot failed (%s)."
-msgstr ""
+msgstr "Nemožno vykonať '%s', chroot zlyhal (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:312
 #, c-format, boost-format
 msgid "Can't exec '%s', exec failed (%s)."
-msgstr ""
+msgstr "Nemožno vykonať '%s', exec zlyhal (%s)."
 
 #: zypp-core/zyppng/io/forkspawnengine.cc:316
 #, c-format, boost-format
 msgid "Can't exec '%s', unexpected error."
-msgstr ""
+msgstr "Nemožno vykonať '%s', neočakávaná chyba."
 
 #~ msgid "%s does not belong to a distupgrade repository"
 #~ msgstr "%s nepatrí do repozitára zvýšenia verzie distribúcie"
index f2ffa81..365f3c0 100644 (file)
@@ -12,8 +12,8 @@ msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-07-26 11:04+0200\n"
-"PO-Revision-Date: 2021-03-07 01:13+0000\n"
-"Last-Translator: Grace Yu <grace.yu@excel-gits.com>\n"
+"PO-Revision-Date: 2021-07-26 20:11+0000\n"
+"Last-Translator: Dingzhong Chen <wsxy162@gmail.com>\n"
 "Language-Team: Chinese (China) <https://l10n.opensuse.org/projects/libzypp/"
 "master/zh_CN/>\n"
 "Language: zh_CN\n"
@@ -21,7 +21,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.6.1\n"
+"X-Generator: Weblate 4.7.1\n"
 
 #: zypp/CountryCode.cc:50
 msgid "Unknown country: "
@@ -3671,7 +3671,7 @@ msgstr "将执行以下动作:"
 #. translators: an annotation to a gpg keys expiry date
 #: zypp/PublicKey.cc:63
 msgid "does not expire"
-msgstr "æ\9cª过期"
+msgstr "æ°¸ä¸\8d过期"
 
 #. translators: an annotation to a gpg keys expiry date: "expired: 1999-04-12"
 #: zypp/PublicKey.cc:68
@@ -3688,7 +3688,7 @@ msgstr "过期日期:%1%"
 #. translators: an annotation to a gpg keys expiry date
 #: zypp/PublicKey.cc:82
 msgid "(does not expire)"
-msgstr "ï¼\88æ\9cª过期)"
+msgstr "ï¼\88æ°¸ä¸\8d过期)"
 
 #. translators: an annotation to a gpg keys expiry date
 #: zypp/PublicKey.cc:91
@@ -3961,7 +3961,7 @@ msgstr "'%s' 需要认证"
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
-msgstr "访问 SUSE 客户中心检查您的注册是否有效且未过期。"
+msgstr "访问 SUSE 客户中心检查您的注册是否有效且未过期。"
 
 #: zypp/media/MediaCurl.cc:636
 #: zypp/zyppng/media/network/networkrequesterror.cc:129
index aff401b..d504ae8 100644 (file)
@@ -53,8 +53,13 @@ namespace
     if ( lhs.result != rhs.result )
       return false;
     // protect against reordered details:
-    if ( lhs.detail.size() != rhs.detail.size() )
-      return false;
+
+    // there seems to be a backporting of how rpm prints the signature check result
+    // breaking our tests here, instead of checking for exact equality we just require
+    // that all elements in the lhs are existant in the rhs instance.
+    //if ( lhs.detail.size() != rhs.detail.size() )
+    //  return false;
+
     for ( const auto & l : lhs.detail )
     {
       if ( std::find( rhs.detail.begin(), rhs.detail.end(), l ) == rhs.detail.end() )
index da8df68..ff1736f 100644 (file)
@@ -15,6 +15,7 @@ namespace zypprpm {
     FailedToAddStepToTransaction,
     RpmFinishedWithTransactionError, // we got explicit error problems from rpm
     RpmFinishedWithError,            // the transaction started but could not be finished)
+    RpmOrderFailed,                  // running rpmtsorder failed
     OtherError = 255
   };
 }
index 0190463..2919327 100644 (file)
@@ -402,8 +402,9 @@ int main( int, char ** )
     }
   }
 
-  int tsProbFilterFlags = RPMPROB_FILTER_NONE;
-
+  // those two cases are already handled by libzypp at the time a package set arrives here,
+  // we can safely filter those problems.
+  int tsProbFilterFlags = RPMPROB_FILTER_REPLACEPKG | RPMPROB_FILTER_OLDPACKAGE;
 
   if ( msg.ignorearch() )
     tsProbFilterFlags |= RPMPROB_FILTER_IGNOREARCH;
@@ -424,6 +425,15 @@ int main( int, char ** )
   if ( msg.flags() & RpmInstFlag::RPMINST_IGNORESIZE )
     tsProbFilterFlags |= RPMPROB_FILTER_DISKSPACE | RPMPROB_FILTER_DISKNODES;
 
+  const auto orderRes = rpmtsOrder( ts );
+  if ( orderRes ) {
+    std::cerr << zypp::str::Format( "Failed with error %1% while ordering transaction." )% orderRes << std::endl;
+    return RpmOrderFailed;
+  }
+
+  // clean up memory that is only used for dependency checks and ordering
+  rpmtsClean(ts);
+
   // transaction steps are set up lets execute it
   // the way how libRPM works is that it will try to install all packages even if some of them fail
   // we need to go over the rpm problem set to mark those steps that have failed, we get no other hint on wether
index cc5a9d6..c1ce824 100644 (file)
@@ -507,18 +507,18 @@ namespace zypp
       struct LogControlImpl;
 
       /*
-       * Horrible ugly hack to prevent the use of LogControlImpl when libzypp is shutting down.
+       * Ugly hack to prevent the use of LogControlImpl when libzypp is shutting down.
        * Due to the c++ std thread_local static instances are cleaned up before the first global static
        * destructor is called. So all classes that use logging after that point in time would crash the
        * application because its accessing a variable that has already been destroyed.
-       *
-       * This does not check if the current thread requesting a instance actually has one, it just keeps count
-       * of how many instances are still available. Usually only the main thread should run into the condition
-       * of getting a nullptr back.
        */
-      static std::atomic_int & logControlImplReg() {
-        static std::atomic_int instCount;
-        return instCount;
+      int &logControlValidFlag() {
+        // We are using a POD flag that does not have a destructor,
+        // to flag if the thread_local destructors were already executed.
+        // Since TLS data is stored in a segment that is available until the thread ceases to exist it should still be readable
+        // after thread_local c++ destructors were already executed. Or so I hope.
+        static thread_local int logControlValid = 0;
+        return logControlValid;
       }
 
       ///////////////////////////////////////////////////////////////////
@@ -669,7 +669,7 @@ namespace zypp
         , _excessive( getenv("ZYPP_FULLLOG") )
         , _lineFormater( new LogControl::LineFormater )
         {
-          logControlImplReg().fetch_add(1);
+          logControlValidFlag() = 1;
           std::call_once( flagReadEnvAutomatically, &LogControlImpl::readEnvVars, this);
         }
 
@@ -677,7 +677,7 @@ namespace zypp
 
         ~LogControlImpl()
         {
-          logControlImplReg().fetch_sub(1);
+          logControlValidFlag() = 0;
         }
 
         /** The LogControlImpl singleton
@@ -694,7 +694,7 @@ namespace zypp
       inline LogControlImpl *LogControlImpl::instance()
       {
         thread_local static LogControlImpl _instance;
-        if ( logControlImplReg().load() > 0 )
+        if ( logControlValidFlag() > 0 )
           return &_instance;
         return nullptr;
       }
index 4c35f17..658dc56 100644 (file)
@@ -1874,7 +1874,11 @@ namespace zypp
       // bsc#1181328: Some systemd tools require /proc to be mounted
       AssertProcMounted assertProcMounted( _root );
 
-      rpm::RpmInstFlags flags( policy_r.rpmInstFlags() );
+      // Why nodeps?
+      //
+      // Because zypp builds the transaction and the resolver asserts that
+      // everything is fine, or the user decided to ignore problems.
+      rpm::RpmInstFlags flags( policy_r.rpmInstFlags() | rpm::RPMINST_NODEPS  );
 
       zpt::Commit commit;
       commit.set_flags( flags );
@@ -2025,7 +2029,7 @@ namespace zypp
 
         // helper function that sends RPM output to the currently active report, writing a warning to the log
         // if there is none
-        const auto &sendRpmLineToReport = [&]( std::string line ){
+        const auto &sendRpmLineToReport = [&]( const std::string &line ){
 
           const auto &sendLogRep = [&]( auto &report, const auto &cType ){
             callback::UserData cmdout(cType);
@@ -2056,7 +2060,7 @@ namespace zypp
           }
           rpmmsg += line;
           if ( line.back() != '\n' )
-            line += '\n';
+            rpmmsg += '\n';
         };
 
 
@@ -2479,7 +2483,7 @@ namespace zypp
 
               // before killing the report we need to wait for the script end tag
               waitForScriptEnd();
-              (*scriptreport)->finish( makeResObject( steps[stepId].satSolvable() ), p.fatal() ? rpm::CommitScriptReportSA::CRITICAL : rpm::CommitScriptReportSA::WARN );
+              (*scriptreport)->finish( resPtr, p.fatal() ? rpm::CommitScriptReportSA::CRITICAL : rpm::CommitScriptReportSA::WARN );
 
               // manually reset the current report since we already sent the finish(), rest will be reset by the new start
               scriptreport.reset();
@@ -2644,6 +2648,9 @@ namespace zypp
           case zypprpm::FailedToAddStepToTransaction:
             ZYPP_THROW( rpm::RpmSubprocessException("zypp-rpm failed to build the transaction, check the logs for more informations.") );
             break;
+          case zypprpm::RpmOrderFailed:
+            ZYPP_THROW( rpm::RpmSubprocessException("zypp-rpm failed to order the transaction, check the logs for more informations.") );
+            break;
         }
 
         for( int stepId = 0; (ZYppCommitResult::TransactionStepList::size_type)stepId < steps.size() && !abort ; stepId++ ) {
index daadda0..ebe657c 100644 (file)
@@ -108,9 +108,11 @@ namespace zyppng {
   MediaNetworkConn::MediaNetworkConn( MediaNetworkServer &server, std::shared_ptr<Socket> &&socket ) : _server(server), _connection ( std::move( socket ) )
   {
     MIL_MEDIA << "Initializing Connection object " << std::endl;
-    _connection->Base::connect( &Socket::sigReadyRead, *this, &MediaNetworkConn::onReadyRead );
-    _connection->Base::connect( &Socket::sigDisconnected, *this, &MediaNetworkConn::onDisconnected );
-    _connection->Base::connect( &Socket::sigError, *this, &MediaNetworkConn::onError );
+    _socketSigConns.insert( _socketSigConns.end(), {
+      _connection->Base::connect( &Socket::sigReadyRead, *this, &MediaNetworkConn::onReadyRead ),
+      _connection->Base::connect( &Socket::sigDisconnected, *this, &MediaNetworkConn::onDisconnected ),
+      _connection->Base::connect( &Socket::sigError, *this, &MediaNetworkConn::onError )
+    } );
 
     //make sure we read possibly available data
     onReadyRead();
@@ -130,6 +132,10 @@ namespace zyppng {
       trackedDlFinished( *req );
     }
     MIL_MEDIA << "Closing connection done!" << std::endl;
+
+    // clean up our socket connections, otherwise we receive signals we do not want to handle anymore
+    std::for_each( _socketSigConns.begin(), _socketSigConns.end(), []( auto &conn){ conn.disconnect(); } );
+    _socketSigConns.clear();
   }
 
   SignalProxy<void ()> MediaNetworkConn::sigDisconnected()
index 15cddaf..a18e7c7 100644 (file)
@@ -88,6 +88,8 @@ namespace zyppng {
     std::shared_ptr<Socket> _connection;
     std::optional<int32_t> _pendingMessageSize;
     Signal<void()> _disconnected;
+
+    std::vector<sigc::connection> _socketSigConns;
   };
 
   class LIBZYPP_NG_NO_EXPORT MediaNetworkThread : public Base