Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libstorage-ng for openSUSE:Factory checked in at 2024-03-01 23:35:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Fri Mar 1 23:35:51 2024 rev:264 rq:1154153 version:4.5.196 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2024-02-28 19:44:55.081015974 +0100 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.1770/libstorage-ng.changes 2024-03-01 23:36:00.838345375 +0100 @@ -1,0 +2,24 @@ +Fri Mar 1 15:41:31 UTC 2024 - aschn...@suse.com + +- Translated using Weblate (Portuguese (Brazil)) (bsc#1149754) +- 4.5.196 + +-------------------------------------------------------------------- +Fri Mar 1 15:31:19 UTC 2024 - aschn...@suse.com + +- Translated using Weblate (Italian) (bsc#1149754) + +-------------------------------------------------------------------- +Fri Mar 1 09:32:39 UTC 2024 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#989 +- simplify memory handling in SystemCmd class +- 4.5.195 + +-------------------------------------------------------------------- +Thu Feb 29 12:21:50 UTC 2024 - aschn...@suse.com + +- Translated using Weblate (German) (bsc#1149754) +- 4.5.194 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.5.193.tar.xz New: ---- libstorage-ng-4.5.196.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.OVJlVT/_old 2024-03-01 23:36:01.470368231 +0100 +++ /var/tmp/diff_new_pack.OVJlVT/_new 2024-03-01 23:36:01.474368376 +0100 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.5.193 +Version: 4.5.196 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.5.193.tar.xz -> libstorage-ng-4.5.196.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.193/VERSION new/libstorage-ng-4.5.196/VERSION --- old/libstorage-ng-4.5.193/VERSION 2024-02-28 12:13:01.000000000 +0100 +++ new/libstorage-ng-4.5.196/VERSION 2024-03-01 19:42:51.000000000 +0100 @@ -1 +1 @@ -4.5.193 +4.5.196 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.193/po/de.po new/libstorage-ng-4.5.196/po/de.po --- old/libstorage-ng-4.5.193/po/de.po 2024-02-28 12:13:01.000000000 +0100 +++ new/libstorage-ng-4.5.196/po/de.po 2024-03-01 19:42:51.000000000 +0100 @@ -14,10 +14,10 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-02-06 09:28+0100\n" -"PO-Revision-Date: 2023-05-13 02:15+0000\n" -"Last-Translator: Ettore Atalan <atalantt...@googlemail.com>\n" -"Language-Team: German <https://l10n.opensuse.org/projects/libstorage/ng-" -"master/de/>\n" +"PO-Revision-Date: 2024-02-29 14:42+0000\n" +"Last-Translator: Gemineo <vista...@gemineo.de>\n" +"Language-Team: German <https://l10n.opensuse.org/projects/libstorage/" +"ng-master/de/>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -354,9 +354,8 @@ msgstr "Bcache-Cacheset" #. TRANSLATORS: name of object -#, fuzzy msgid "Bcachefs" -msgstr "Bcache" +msgstr "Bcachefs" #. TRANSLATORS: name of object msgid "BitLocker" @@ -402,9 +401,9 @@ #. TRANSLATORS: displayed before action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Clear no-automount flag of partition %1$s" -msgstr "Boot-Flag der Partition %1$s reinigen" +msgstr "no-automount-Flag von Partition %1$s bereinigen" #. TRANSLATORS: displayed before action, #. %1$s is replaced by the subvolume path (e.g. var/log), @@ -449,9 +448,9 @@ #. TRANSLATORS: displayed during action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Clearing no-automount flag of partition %1$s" -msgstr "Boot-Flag von Partition %1$s wird gelöscht" +msgstr "no-automount-Flag von Partition %1$s wird bereinigt" #. TRANSLATORS: displayed during action, #. %1$s is replaced by the subvolume path (e.g. var/log), @@ -1682,7 +1681,7 @@ #. TRANSLATORS: Error message displayed during probing, #. %1$s is replaced by a list of device names joined by newlines (e.g. #. /dev/test/cached\n/dev/test/snapshot) -#, fuzzy, c-format +#, c-format msgid "" "Detected LVM logical volumes of unsupported types:\n" "\n" @@ -1691,7 +1690,7 @@ "These logical volumes are ignored. Operations on the\n" "corresponding volume groups may fail." msgstr "" -"Logische LVM-Volumes auf nicht unterstützten Gerätetypen erkannt:\n" +"Logische LVM-Volumes mit nicht unterstützten Typen erkannt:\n" "\n" "%1$s\n" "\n" @@ -2009,7 +2008,7 @@ #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2.00 GiB) -#, fuzzy, c-format +#, c-format msgid "Format partition %1$s (%2$s) as encrypted swap" msgstr "Partition %1$s (%2$s) als verschlüsselte swap formatieren" @@ -2998,9 +2997,9 @@ #. TRANSLATORS: displayed before action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Set no-automount flag of partition %1$s" -msgstr "Boot-Flag von Partition %1$s setzen" +msgstr "no-automount-Flag von Partition %1$s festlegen" #. TRANSLATORS: displayed before action, #. %1$s is replaced by the subvolume path (e.g. var/log), @@ -3117,9 +3116,9 @@ #. TRANSLATORS: displayed during action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Setting no-automount flag of partition %1$s" -msgstr "Boot-Flag von Partition %1$s wird gesetzt" +msgstr "no-automount-Flag von Partition %1$s wird festgelegt" #. TRANSLATORS: displayed during action, #. %1$s is replaced by the subvolume path (e.g. var/log), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.193/po/it.po new/libstorage-ng-4.5.196/po/it.po --- old/libstorage-ng-4.5.193/po/it.po 2024-02-28 12:13:01.000000000 +0100 +++ new/libstorage-ng-4.5.196/po/it.po 2024-03-01 19:42:51.000000000 +0100 @@ -13,10 +13,10 @@ "Project-Id-Version: libstorage\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-02-06 09:28+0100\n" -"PO-Revision-Date: 2023-02-07 14:14+0000\n" +"PO-Revision-Date: 2024-03-01 18:42+0000\n" "Last-Translator: Davide Aiello <davide.aie...@novilingulists.com>\n" -"Language-Team: Italian <https://l10n.opensuse.org/projects/libstorage/ng-" -"master/it/>\n" +"Language-Team: Italian <https://l10n.opensuse.org/projects/libstorage/" +"ng-master/it/>\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -363,9 +363,8 @@ msgstr "Set di cache Bcache" #. TRANSLATORS: name of object -#, fuzzy msgid "Bcachefs" -msgstr "Bcache" +msgstr "Bcachefs" #. TRANSLATORS: name of object msgid "BitLocker" @@ -411,9 +410,9 @@ #. TRANSLATORS: displayed before action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Clear no-automount flag of partition %1$s" -msgstr "Cancellare il flag di avvio della partizione %1$s" +msgstr "Cancellare il flag senza montaggio automatico della partizione %1$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by the subvolume path (e.g. var/log), @@ -460,9 +459,9 @@ #. TRANSLATORS: displayed during action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Clearing no-automount flag of partition %1$s" -msgstr "Cancellazione del flag di avvio della partizione %1$s" +msgstr "Cancellazione del flag senza montaggio automatico della partizione %1$s" #. TRANSLATORS: displayed during action, #. %1$s is replaced by the subvolume path (e.g. var/log), @@ -3073,9 +3072,9 @@ #. %1$s is replaced with the old logical volume name (e.g. foo), #. %2$s is replaced with the new logical volume name (e.g. bar), #. %3$s is replaced with the volume group name (e.g. system) -#, fuzzy, c-format +#, c-format msgid "Rename logical volume %1$s to %2$s on volume group %3$s" -msgstr "Creare il volume logico %1$s (%2$s) sul gruppo di volumi %3$s" +msgstr "Rinominare il volume logico %1$s (%2$s) sul gruppo di volumi %3$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by mount point (e.g. /home), @@ -3088,9 +3087,9 @@ #. TRANSLATORS: #. %1$s is replaced with the old volume group name (e.g. foo), #. %2$s is replaced with the new volume group name (e.g. bar) -#, fuzzy, c-format +#, c-format msgid "Rename volume group %1$s to %2$s" -msgstr "Creare il gruppo di volumi %1$s (%2$s)" +msgstr "RInominare il gruppo di volumi %1$s (%2$s)" #. TRANSLATORS: displayed during action, #. %1$s is replaced by device name (e.g. /dev/sda6), @@ -3214,9 +3213,9 @@ #. TRANSLATORS: displayed before action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Set no-automount flag of partition %1$s" -msgstr "Impostare il flag di avvio della partizione %1$s" +msgstr "Impostare il flag senza montaggio automamtico della partizione %1$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by the subvolume path (e.g. var/log), @@ -3335,9 +3334,9 @@ #. TRANSLATORS: displayed during action, #. %1$s is replaced by partition name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Setting no-automount flag of partition %1$s" -msgstr "Impostazione del flag di avvio della partizione %1$s" +msgstr "Impostazione del flag senza montaggio automatico della partizione %1$s" #. TRANSLATORS: displayed during action, #. %1$s is replaced by the subvolume path (e.g. var/log), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.193/po/pt_BR.po new/libstorage-ng-4.5.196/po/pt_BR.po --- old/libstorage-ng-4.5.193/po/pt_BR.po 2024-02-28 12:13:01.000000000 +0100 +++ new/libstorage-ng-4.5.196/po/pt_BR.po 2024-03-01 19:42:51.000000000 +0100 @@ -12,8 +12,8 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-02-06 09:28+0100\n" -"PO-Revision-Date: 2023-12-05 21:02+0000\n" -"Last-Translator: Luiz Fernando Ranghetti <elcheviv...@gmail.com>\n" +"PO-Revision-Date: 2024-03-01 18:42+0000\n" +"Last-Translator: Samanta Magalhaes <samanta_texttr...@outlook.com>\n" "Language-Team: Portuguese (Brazil) <https://l10n.opensuse.org/projects/" "libstorage/ng-master/pt_BR/>\n" "Language: pt_BR\n" @@ -354,9 +354,8 @@ msgstr "Conjunto de Caches Bcache" #. TRANSLATORS: name of object -#, fuzzy msgid "Bcachefs" -msgstr "Bcache" +msgstr "Bcachefs" #. TRANSLATORS: name of object msgid "BitLocker" @@ -1673,7 +1672,7 @@ #. TRANSLATORS: Error message displayed during probing, #. %1$s is replaced by a list of device names joined by newlines (e.g. #. /dev/test/cached\n/dev/test/snapshot) -#, fuzzy, c-format +#, c-format msgid "" "Detected LVM logical volumes of unsupported types:\n" "\n" @@ -2003,7 +2002,7 @@ #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2.00 GiB) -#, fuzzy, c-format +#, c-format msgid "Format partition %1$s (%2$s) as encrypted swap" msgstr "Formatar partição %1$s (%2$s) como swap criptografado" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.193/storage/Utils/SystemCmd.cc new/libstorage-ng-4.5.196/storage/Utils/SystemCmd.cc --- old/libstorage-ng-4.5.193/storage/Utils/SystemCmd.cc 2024-02-28 12:13:01.000000000 +0100 +++ new/libstorage-ng-4.5.196/storage/Utils/SystemCmd.cc 2024-03-01 19:42:51.000000000 +0100 @@ -300,32 +300,6 @@ /** - * Class to temporarily hold copies of args or env for execle() and execvpe(). - */ - class TmpForExec : boost::noncopyable - { - public: - - TmpForExec(const vector<char*>& values) : values(values) {} - ~TmpForExec(); - - char* const * get() const { return &values[0]; } - - private: - - vector<char*> values; - - }; - - - TmpForExec::~TmpForExec() - { - for (char* v : values) - free(v); - } - - - /** * Struct to hold information about failures of the child between fork and exec. The * struct is passed via a pipe from the client to the parent. The information is so * far only used for logging. @@ -369,14 +343,14 @@ * * Not asyncâsignalâsafe, see fork(2) and signal-safety(7). */ - TmpForExec make_args() const; + vector<const char*> make_args() const; /** * Constructs the environment for the child process. * * Not asyncâsignalâsafe, see fork(2) and signal-safety(7). */ - TmpForExec make_env() const; + vector<const char*> make_env() const; SystemCmd& system_cmd; @@ -437,8 +411,8 @@ const int max_fd = getdtablesize(); - const TmpForExec args_p(make_args()); - const TmpForExec env_p(make_env()); + const vector<const char*> args_p(make_args()); + const vector<const char*> env_p(make_env()); child_pid = fork(); if (child_pid == -1) @@ -478,10 +452,17 @@ for (int fd = 3; fd < max_fd; ++fd) fcntl(fd, F_SETFD, FD_CLOEXEC); + // The const_casts below should be fine since the exec functions do not modify + // "pointers and the strings to which those arrays point". Assume that also + // applies to GNU execvpe. + // https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html + if (system_cmd.args().empty()) - execle(SH_BIN, SH_BIN, "-c", system_cmd.command().c_str(), nullptr, env_p.get()); + execle(SH_BIN, SH_BIN, "-c", system_cmd.command().c_str(), nullptr, + const_cast<char* const *>(env_p.data())); else - execvpe(system_cmd.args()[0].c_str(), args_p.get(), env_p.get()); + execvpe(system_cmd.args()[0].c_str(), const_cast<char* const *>(args_p.data()), + const_cast<char* const *>(env_p.data())); // If we get here the exec has failed. Depending on errno we return an // error code like the shell does ('sh -c ...'). @@ -737,36 +718,28 @@ } - TmpForExec + vector<const char*> SystemCmd::Executor::make_args() const { - vector<char*> args; + vector<const char*> args; + args.reserve(system_cmd.options.args.size() + 1); for (const string& v : system_cmd.options.args) - { - char* p = strdup(v.c_str()); - ST_CHECK_NEW(p); - args.push_back(p); - } - + args.push_back(v.c_str()); args.push_back(nullptr); return args; } - TmpForExec + vector<const char*> SystemCmd::Executor::make_env() const { - vector<char*> envs; + vector<const char*> envs; + envs.reserve(system_cmd.options.envs.size() + 1); for (const string& v : system_cmd.options.envs) - { - char* p = strdup(v.c_str()); - ST_CHECK_NEW(p); - envs.push_back(p); - } - + envs.push_back(v.c_str()); envs.push_back(nullptr); return envs;