Imported Upstream version 17.29.7 upstream/17.29.7
authorDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 20 Sep 2022 06:40:54 +0000 (15:40 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 20 Sep 2022 06:40:54 +0000 (15:40 +0900)
15 files changed:
VERSION.cmake
package/libzypp.changes
po/ca.po
po/es.po
po/fi.po
po/ja.po
po/nl.po
po/ru.po
po/sk.po
po/zh_CN.po
tests/zyppng/io/AsyncDataSource_test.cc
zypp-core/zyppng/io/asyncdatasource.cpp
zypp-core/zyppng/io/asyncdatasource.h
zypp-media/mount.cc
zypp/target/TargetImpl.cc

index d1d09c9..ac0296b 100644 (file)
@@ -61,8 +61,8 @@
 SET(LIBZYPP_MAJOR "17")
 SET(LIBZYPP_COMPATMINOR "22")
 SET(LIBZYPP_MINOR "29")
-SET(LIBZYPP_PATCH "6")
+SET(LIBZYPP_PATCH "7")
 #
-# LAST RELEASED: 17.29.6 (22)
+# LAST RELEASED: 17.29.7 (22)
 # (The number in parenthesis is LIBZYPP_COMPATMINOR)
 #=======
index 82f97a7..44269c4 100644 (file)
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Mon Mar 21 09:04:36 CET 2022 - ma@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 - ma@suse.de
 
 - Fix package signature check (bsc#184501)
index 1d68340..59caa06 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: 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 <medipas@gmail.com>\n"
 "Language-Team: Catalan <https://l10n.opensuse.org/projects/libzypp/master/ca/"
 ">\n"
@@ -5004,11 +5004,11 @@ msgstr "Ha fallat suprimir la clau pública %1%"
 
 #: 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.
index 16a0e00..e767391 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -17,8 +17,8 @@ msgstr ""
 "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 <antonio@trans-mission.com>\n"
+"PO-Revision-Date: 2022-03-19 02:12+0000\n"
+"Last-Translator: Matías Silva Bustos <matiasasb@gmail.com>\n"
 "Language-Team: Spanish <https://l10n.opensuse.org/projects/libzypp/master/es/"
 ">\n"
 "Language: es\n"
@@ -4644,11 +4644,11 @@ msgstr "Error al eliminar la clave pública %1%"
 
 #: 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
index 3502f0d..89a25f6 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -20,7 +20,7 @@ msgstr ""
 "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 <software@legisign.org>\n"
 "Language-Team: Finnish <https://l10n.opensuse.org/projects/libzypp/master/fi/"
 ">\n"
@@ -4816,11 +4816,11 @@ msgstr "Julkisen avaimen %1% poisto epäonnistui"
 
 #: 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.
index 32c3f0b..19a65ac 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: 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 <belphegor@belbel.or.jp>\n"
 "Language-Team: Japanese <https://l10n.opensuse.org/projects/libzypp/master/"
 "ja/>\n"
@@ -4612,11 +4612,11 @@ msgstr "公開鍵 %1% を削除することができませんでした"
 
 #: 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.
index 09665ac..dbfefce 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -16,10 +16,10 @@ msgstr ""
 "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 <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"
@@ -4628,11 +4628,11 @@ msgstr "Verwijderen van publieke sleutel %1% is mislukt"
 
 #: 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.
index 41b08f2..63942ab 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -14,8 +14,8 @@ msgstr ""
 "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 <alex239@gmail.com>\n"
+"PO-Revision-Date: 2022-03-16 00:12+0000\n"
+"Last-Translator: Sergey Mashkov <cy6ergn0m@gmail.com>\n"
 "Language-Team: Russian <https://l10n.opensuse.org/projects/libzypp/master/ru/"
 ">\n"
 "Language: ru\n"
@@ -24,7 +24,7 @@ msgstr ""
 "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 @@ msgstr "В репозитории нет URL-адреса."
 #, 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 @@ msgid ""
 "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 @@ msgstr "проблема с некоторыми зависимостями"
 #: 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 @@ msgstr "запрос не поддерживается"
 #: 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 @@ msgid ""
 "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 @@ msgstr "поставщики, не подлежащие установке: "
 #: 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 @@ msgstr "игнорировать предупреждение о поврежд
 #: 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 @@ msgstr "установить %1%, хоть он и в чёрном списке"
 #: 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 @@ msgid ""
 "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 @@ msgid ""
 "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 @@ msgstr "Новое сообщение об обновлении"
 
 #: 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 @@ msgstr "Не удалось удалить открытый ключ %1%"
 
 #: 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 @@ msgstr "Команда завершилась с неизвестной ошиб
 #: 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 @@ msgstr "Невозможно выполнить fork (%s)."
 #: 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
index 1b88462..01d94da 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,10 +6,10 @@ msgstr ""
 "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.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"
@@ -4607,11 +4607,11 @@ msgstr "Nepodarilo zmazať verejný kľúč %1%"
 
 #: 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.
index fa26a73..df9ac80 100644 (file)
@@ -12,7 +12,7 @@ msgstr ""
 "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 @@ msgstr "移除公钥 %1% 失败"
 
 #: 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.
index 9012509..570a60e 100644 (file)
@@ -29,6 +29,7 @@ BOOST_AUTO_TEST_CASE ( pipe_read_close )
 
   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 @@ BOOST_AUTO_TEST_CASE ( pipe_read_close )
   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 );
index a836c71..23de01b 100644 (file)
@@ -239,8 +239,8 @@ namespace zyppng {
       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 @@ namespace zyppng {
   {
     return d_func()->_sigBytesWritten;
   }
+
+  bool AsyncDataSource::readFdOpen() const
+  {
+    return ( d_func()->_readNotifier && d_func()->_readFd >= 0 );
+  }
 }
index 20c2179..73bbc53 100644 (file)
@@ -54,6 +54,11 @@ namespace zyppng {
      */
     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;
index 12f3238..6e69d77 100644 (file)
@@ -122,7 +122,7 @@ void Mount::umount( const std::string & path )
   unsigned numRetry = 2;
   do {
     if ( doRetry ) {
-      if ( --numRetry ) {
+      if ( numRetry-- ) {
         WAR << "umount " << path << ": " << exitCode << ": " << err << " - retrying in 1 sec." << endl;
         sleep( 1 );
         err.clear();
index 7dad015..9f3c308 100644 (file)
@@ -2162,7 +2162,7 @@ namespace zypp
           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 );