Hello community, here is the log from the commit of package snapper for openSUSE:Factory checked in at 2018-09-26 16:02:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/snapper (Old) and /work/SRC/openSUSE:Factory/.snapper.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "snapper" Wed Sep 26 16:02:21 2018 rev:102 rq:637266 version:0.5.6 Changes: -------- --- /work/SRC/openSUSE:Factory/snapper/snapper.changes 2018-07-26 10:17:54.835884092 +0200 +++ /work/SRC/openSUSE:Factory/.snapper.new/snapper.changes 2018-09-26 16:02:24.544391099 +0200 @@ -1,0 +2,5 @@ +Fri Sep 14 12:13:05 CEST 2018 - [email protected] + +- avoid setenv after fork (bsc#1107587) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ debian.tar.gz ++++++ ++++++ snapper-0.5.6.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.5.6/dbus/Makefile.am new/snapper-0.5.6/dbus/Makefile.am --- old/snapper-0.5.6/dbus/Makefile.am 2018-07-25 02:00:00.000000000 +0200 +++ new/snapper-0.5.6/dbus/Makefile.am 2018-09-16 02:00:00.000000000 +0200 @@ -12,4 +12,4 @@ DBusMainLoop.cc DBusMainLoop.h libdbus_la_LIBADD = $(DBUS_LIBS) - +libdbus_la_LDFLAGS = -lboost_system -lboost_thread diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.5.6/dbus/Makefile.in new/snapper-0.5.6/dbus/Makefile.in --- old/snapper-0.5.6/dbus/Makefile.in 2018-07-25 02:00:00.000000000 +0200 +++ new/snapper-0.5.6/dbus/Makefile.in 2018-09-16 02:00:00.000000000 +0200 @@ -112,6 +112,9 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = +libdbus_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(libdbus_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -345,6 +348,7 @@ DBusMainLoop.cc DBusMainLoop.h libdbus_la_LIBADD = $(DBUS_LIBS) +libdbus_la_LDFLAGS = -lboost_system -lboost_thread all: all-am .SUFFIXES: @@ -391,7 +395,7 @@ } libdbus.la: $(libdbus_la_OBJECTS) $(libdbus_la_DEPENDENCIES) $(EXTRA_libdbus_la_DEPENDENCIES) - $(AM_V_CXXLD)$(CXXLINK) $(libdbus_la_OBJECTS) $(libdbus_la_LIBADD) $(LIBS) + $(AM_V_CXXLD)$(libdbus_la_LINK) $(libdbus_la_OBJECTS) $(libdbus_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.5.6/po/da.po new/snapper-0.5.6/po/da.po --- old/snapper-0.5.6/po/da.po 2018-07-25 02:00:00.000000000 +0200 +++ new/snapper-0.5.6/po/da.po 2018-09-16 02:00:00.000000000 +0200 @@ -7,7 +7,7 @@ "Project-Id-Version: snapper\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-04-20 14:05+0200\n" -"PO-Revision-Date: 2018-06-07 13:01+0000\n" +"PO-Revision-Date: 2018-09-16 10:02+0000\n" "Last-Translator: scootergrisen <[email protected]>\n" "Language-Team: Danish <https://l10n.opensuse.org/projects/snapper/master/da/>" "\n" @@ -31,16 +31,17 @@ msgstr "\t--command <kommando>\tKør kommando og opret præ- og post-øjebliksbilleder." msgid "\t--config, -c <name>\t\tSet name of config to use." -msgstr "\t--config, -c <name>\t\tAngiv navn på konfiguration der skal bruges." +msgstr "\t--config, -c <navn>\t\tAngiv navn på konfiguration der skal bruges." msgid "\t--description, -d <description>\tDescription for snapshot." -msgstr "\t--description, -d <description>\tBeskrivelse af øjebliksbillede." +msgstr "\t--description, -d <beskrivelse>\tBeskrivelse af øjebliksbillede." msgid "\t--description, -d <description>\tDescription for snapshots." -msgstr "\t--description, -d <description>\tBeskrivelse af øjebliksbilleder." +msgstr "\t--description, -d <beskrivelse>\tBeskrivelse af øjebliksbilleder." msgid "\t--diff-cmd <command>\t\tCommand used for comparing files." -msgstr "\t--diff-cmd <command>\t\tKommando som bruges til at sammenligne filer." +msgstr "" +"\t--diff-cmd <kommando>\t\tKommando som bruges til at sammenligne filer." msgid "\t--extensions, -x <options>\tExtra options passed to the diff command." msgstr "\t--extensions, -x <tilvalg>\tEkstra tilvalg som sendes til diff-kommandoen." @@ -49,10 +50,11 @@ msgstr "\t--fstype, -f <fstype>\t\tAngiv type af filsystem manuelt." msgid "\t--input, -i <file>\t\tRead files for which to undo changes from file." -msgstr "\t--input, -i <file>\t\tLæs filer for hvilke ændringer fra fil skal fortrydes." +msgstr "" +"\t--input, -i <fil>\t\tLæs filer for hvilke ændringer fra fil skal fortrydes." msgid "\t--input, -i <file>\t\tRead files to diff from file." -msgstr "\t--input, -i <file>\t\tLæs filer til diff fra fil." +msgstr "\t--input, -i <fil>\t\tLæs filer til diff fra fil." msgid "\t--iso\t\t\t\tDisplay dates and times in ISO format." msgstr "\t--iso\t\t\t\tVis datoer og tidspunkter i ISO-format." @@ -64,7 +66,7 @@ msgstr "\t--output, -o <file>\t\tGem status til fil." msgid "\t--pre-number <number>\t\tNumber of corresponding pre snapshot." -msgstr "\t--pre-number <number>\t\tAntal tilsvarende præ-øjebliksbillede." +msgstr "\t--pre-number <nummer>\t\tAntal tilsvarende præ-øjebliksbillede." msgid "\t--print-number, -p\t\tPrint number of created snapshot." msgstr "\t--print-number, -p\t\tSkriv nummer for oprettet øjebliksbillede." @@ -82,7 +84,7 @@ msgstr "\t--sync, -s\t\t\tSynkroniser efter sletning." msgid "\t--table-style, -t <style>\tTable style (integer)." -msgstr "\t--table-style, -t <style>\tTabelstil (heltal)." +msgstr "\t--table-style, -t <stil>\tTabelstil (heltal)." msgid "\t--template, -t <name>\t\tName of config template to use." msgstr "\t--template, -t <name>\t\tNavn på konfigurationsskabelon der skal bruges." @@ -94,10 +96,10 @@ msgstr "\t--type, -t <type>\t\tType af øjebliksbilleder der skal oplistes." msgid "\t--userdata, -u <userdata>\tUserdata for snapshot." -msgstr "\t--userdata, -u <userdata>\tBrugerdata for øjebliksbillede." +msgstr "\t--userdata, -u <brugerdata>\tBrugerdata for øjebliksbillede." msgid "\t--userdata, -u <userdata>\tUserdata for snapshots." -msgstr "\t--userdata, -u <userdata>\tBrugerdata for øjebliksbilleder." +msgstr "\t--userdata, -u <brugerdata>\tBrugerdata for øjebliksbilleder." msgid "\t--utc\t\t\t\tDisplay dates and times in UTC." msgstr "\t--utc\t\t\t\tVis datoer og tidspunkter i UTC." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.5.6/snapper/SystemCmd.cc new/snapper-0.5.6/snapper/SystemCmd.cc --- old/snapper-0.5.6/snapper/SystemCmd.cc 2018-07-25 02:00:00.000000000 +0200 +++ new/snapper-0.5.6/snapper/SystemCmd.cc 2018-09-16 02:00:00.000000000 +0200 @@ -1,5 +1,6 @@ /* * Copyright (c) [2004-2011] Novell, Inc. + * Copyright (c) 2018 SUSE LLC * * All Rights Reserved. * @@ -30,6 +31,8 @@ #include <string> #include <boost/algorithm/string.hpp> +extern char **environ; + #include "snapper/Log.h" #include "snapper/AppUtil.h" #include "snapper/SystemCmd.h" @@ -205,11 +208,12 @@ } } y2deb("sout:" << pfds[0].fd << " serr:" << (Combine_b?-1:pfds[1].fd)); + + const vector<const char*> env = make_env(); + switch( (Pid_i=fork()) ) { case 0: - setenv( "LC_ALL", "C", 1 ); - setenv( "LANGUAGE", "C", 1 ); if( dup2( sout[1], STDOUT_FILENO )<0 ) { y2err("dup2 stdout child failed errno:" << errno << " (" << stringerror(errno) << ")"); @@ -231,8 +235,7 @@ y2err("close child failed errno:" << errno << " (" << stringerror(errno) << ")"); } closeOpenFds(); - Ret_i = execl( Shell_Ci.c_str(), Shell_Ci.c_str(), "-c", - Cmd.c_str(), NULL ); + Ret_i = execle(Shell_Ci.c_str(), Shell_Ci.c_str(), "-c", Cmd.c_str(), nullptr, &env[0]); y2err("SHOULD NOT HAPPEN \"" << Shell_Ci << "\" Ret:" << Ret_i); break; case -1: @@ -567,6 +570,27 @@ } + vector<const char*> + SystemCmd::make_env() const + { + vector<const char*> env; + + for (char** v = environ; *v != NULL; ++v) + { + if (strncmp(*v, "LC_ALL=", strlen("LC_ALL=")) != 0 && + strncmp(*v, "LANGUAGE=", strlen("LANGUAGE=")) != 0) + env.push_back(*v); + } + + env.push_back("LC_ALL=C"); + env.push_back("LANGUAGE=C"); + + env.push_back(nullptr); + + return env; + } + + string SystemCmd::quote(const string& str) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.5.6/snapper/SystemCmd.h new/snapper-0.5.6/snapper/SystemCmd.h --- old/snapper-0.5.6/snapper/SystemCmd.h 2018-07-25 02:00:00.000000000 +0200 +++ new/snapper-0.5.6/snapper/SystemCmd.h 2018-09-16 02:00:00.000000000 +0200 @@ -1,5 +1,6 @@ /* * Copyright (c) [2004-2014] Novell, Inc. + * Copyright (c) 2018 SUSE LLC * * All Rights Reserved. * @@ -101,6 +102,16 @@ void logOutput() const; + /** + * Constructs the environment for the child process. + * + * Must not be called after exec since allocating the memory + * for the vector is not allowed then (in a multithreaded + * program), see fork(2) and signal-safety(7). So simply call + * it right before fork. + */ + vector<const char*> make_env() const; + FILE* File_aC[2]; std::vector<string> Lines_aC[2]; std::vector<string*> SelLines_aC[2]; ++++++ snapper-Debian_7.0.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.524389400 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.524389400 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-Debian_8.0.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.544389366 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.544389366 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-Debian_9.0.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.564389331 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.568389324 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_14.04.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.584389296 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.588389289 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_14.10.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.604389262 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.604389262 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_15.04.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.624389227 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.624389227 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_15.10.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.640389199 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.640389199 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_16.04.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.660389165 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.660389165 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_16.10.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.680389130 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.680389130 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_17.04.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.696389102 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.704389088 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_17.10.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.724389053 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.724389053 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2 ++++++ snapper-xUbuntu_18.04.dsc ++++++ --- /var/tmp/diff_new_pack.zfwEiJ/_old 2018-09-26 16:02:25.748389012 +0200 +++ /var/tmp/diff_new_pack.zfwEiJ/_new 2018-09-26 16:02:25.752389005 +0200 @@ -11,4 +11,4 @@ # 423a20ae6e882d44e65a4eff97f2269f 630905 snapper-0.2.8.tar.gz # Files: -50146aaaa28c5f2100efe0c7364b116d 580047 snapper-0.5.6.tar.bz2 +4804ef2d9bc61c44e7f814644f8ec572 580256 snapper-0.5.6.tar.bz2
