Hello community, here is the log from the commit of package yast2-installation for openSUSE:Factory checked in at Tue Aug 2 17:09:41 CEST 2011.
-------- --- yast2-installation/yast2-installation.changes 2011-07-25 14:56:11.000000000 +0200 +++ /mounts/work_src_done/STABLE/yast2-installation/yast2-installation.changes 2011-08-02 13:49:30.000000000 +0200 @@ -1,0 +2,13 @@ +Tue Aug 2 13:37:03 CEST 2011 - loci...@suse.cz + +- Preserving the /dev/urandom state from inst-sys after the + installation (bnc#692799) +- Automatically enabling haveged service if installed (bnc#692799) +- 2.21.9 + +------------------------------------------------------------------- +Mon Aug 1 15:38:32 CEST 2011 - loci...@suse.cz + +- Added control.SLES-for-VMware into the SVN + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- yast2-installation-2.21.8.tar.bz2 New: ---- yast2-installation-2.21.9.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.XLCFm5/_old 2011-08-02 17:07:10.000000000 +0200 +++ /var/tmp/diff_new_pack.XLCFm5/_new 2011-08-02 17:07:10.000000000 +0200 @@ -19,11 +19,11 @@ Name: yast2-installation -Version: 2.21.8 +Version: 2.21.9 Release: 1 BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-installation-2.21.8.tar.bz2 +Source0: yast2-installation-2.21.9.tar.bz2 Prefix: /usr @@ -136,7 +136,7 @@ System installation code as present on installation media. %prep -%setup -n yast2-installation-2.21.8 +%setup -n yast2-installation-2.21.9 %build %{prefix}/bin/y2tool y2autoconf ++++++ yast2-installation-2.21.8.tar.bz2 -> yast2-installation-2.21.9.tar.bz2 ++++++ ++++ 3586 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.21.8/VERSION new/yast2-installation-2.21.9/VERSION --- old/yast2-installation-2.21.8/VERSION 2011-07-25 14:54:15.000000000 +0200 +++ new/yast2-installation-2.21.9/VERSION 2011-08-02 13:39:51.000000000 +0200 @@ -1 +1 @@ -2.21.8 +2.21.9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.21.8/configure.in new/yast2-installation-2.21.9/configure.in --- old/yast2-installation-2.21.8/configure.in 2011-07-25 14:54:40.000000000 +0200 +++ new/yast2-installation-2.21.9/configure.in 2011-08-02 13:46:59.000000000 +0200 @@ -3,7 +3,7 @@ dnl -- This file is generated by y2autoconf 2.18.11 - DO NOT EDIT! -- dnl (edit configure.in.in instead) -AC_INIT(yast2-installation, 2.21.8, http://bugs.opensuse.org/, yast2-installation) +AC_INIT(yast2-installation, 2.21.9, http://bugs.opensuse.org/, yast2-installation) dnl Check for presence of file 'RPMNAME' AC_CONFIG_SRCDIR([RPMNAME]) @@ -18,7 +18,7 @@ AM_INIT_AUTOMAKE(tar-ustar -Wno-portability) dnl Important YaST2 variables -VERSION="2.21.8" +VERSION="2.21.9" RPMNAME="yast2-installation" MAINTAINER="Jiří Suchomel <jsuch...@suse.cz>" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.21.8/src/clients/inst_finish.ycp new/yast2-installation-2.21.9/src/clients/inst_finish.ycp --- old/yast2-installation-2.21.8/src/clients/inst_finish.ycp 2011-03-31 10:23:21.000000000 +0200 +++ new/yast2-installation-2.21.9/src/clients/inst_finish.ycp 2011-08-02 13:40:49.000000000 +0200 @@ -6,7 +6,7 @@ * Arvin Schnell <ar...@suse.de> * Jiri Srain <jsr...@suse.de> * - * $Id: inst_finish.ycp 63672 2011-03-25 09:47:31Z jsuchome $ + * $Id: inst_finish.ycp 65127 2011-08-02 11:40:48Z locilka $ */ { @@ -142,6 +142,7 @@ "proxy", "pkg", "driver_update1", + "random", // bnc #340733 "system_settings", ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.21.8/src/clients/inst_system_analysis.ycp new/yast2-installation-2.21.9/src/clients/inst_system_analysis.ycp --- old/yast2-installation-2.21.8/src/clients/inst_system_analysis.ycp 2011-06-20 08:27:45.000000000 +0200 +++ new/yast2-installation-2.21.9/src/clients/inst_system_analysis.ycp 2011-07-29 11:14:50.000000000 +0200 @@ -5,7 +5,7 @@ * Authors: Jiri Srain <jsr...@suse.cz> * Lukas Ocilka <loci...@suse.cz> * - * $Id: inst_system_analysis.ycp 64383 2011-06-15 09:38:48Z jsuchome $ + * $Id: inst_system_analysis.ycp 65006 2011-07-26 09:32:24Z aschnell $ * */ @@ -119,7 +119,7 @@ } else { Report::Warning(_("No hard disks were found for the installation. During an automatic installation, they might be detected later. -(especially on s390 or iSCSI systems) +(especially on S/390 or iSCSI systems) ")); } } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.21.8/src/inst_finish/random_finish.ycp new/yast2-installation-2.21.9/src/inst_finish/random_finish.ycp --- old/yast2-installation-2.21.8/src/inst_finish/random_finish.ycp 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-2.21.9/src/inst_finish/random_finish.ycp 2011-08-02 11:32:03.000000000 +0200 @@ -0,0 +1,74 @@ +/** + * File: random_finish.ycp + * + * Module: Handle haveged service and preserve the current randomness state + * + * Authors: Lukas Ocilka <loci...@suse.cz> + * + * $Id$ + */ + +{ + textdomain "installation"; + + import "FileUtils"; + import "Service"; + + any ret = nil; + string func = ""; + map param = $[]; + + /** + * Calls a local command and returns if successful + */ + define boolean LocalCommand (string command) { + map cmd = (map) WFM::Execute (.local.bash_output, command); + y2milestone ("Command %1 returned: %2", command, cmd); + + if (cmd["exit"]:-1 == 0) { + return true; + } else { + if (cmd["stderr"]:"" != "") y2error ("Error: %1", cmd["stderr"]:""); + return false; + } + } + + if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) { + func = (string)WFM::Args(0); + if(size(WFM::Args()) > 1 && is(WFM::Args(1), map)) + param = (map)WFM::Args(1); + } + + y2milestone ("starting random_finish"); + y2debug("func=%1", func); + y2debug("param=%1", param); + + if (func == "Info") { + return (any) $[ + "steps" : 1, + // progress step title + "title" : _("Enabling random number generator..."), + "when" : [ `installation, `live_installation, `update, `autoinst ], + ]; + } else if (func == "Write") { + string init_path = "/etc/init.d/"; + string init_service = "haveged"; + + // The generator of randomness should be always enabled if possible + if (FileUtils::Exists (sformat ("%1/%2", init_path, init_service))) { + y2milestone ("Enabling service %1", init_service); + ret = Service::Enable (init_service); + } else { + y2warning ("Cannot enable service %1, %2 is not installed", + init_service, sformat ("%1/%2", init_path, init_service)); + } + } else { + y2error ("unknown function: %1", func); + ret = nil; + } + + y2debug("ret=%1", ret); + y2milestone("random_finish finished"); + + return ret; +} /* EOF */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.21.8/src/inst_finish/umount_finish.ycp new/yast2-installation-2.21.9/src/inst_finish/umount_finish.ycp --- old/yast2-installation-2.21.8/src/inst_finish/umount_finish.ycp 2011-02-07 14:41:22.000000000 +0100 +++ new/yast2-installation-2.21.9/src/inst_finish/umount_finish.ycp 2011-08-02 13:40:49.000000000 +0200 @@ -8,7 +8,7 @@ * Authors: * Jiri Srain <jsr...@suse.cz> * - * $Id: umount_finish.ycp 63232 2011-01-19 14:39:07Z jsrain $ + * $Id: umount_finish.ycp 65127 2011-08-02 11:40:48Z locilka $ * */ @@ -23,6 +23,7 @@ import "String"; import "Internet"; import "FileUtils"; +import "Mode"; any ret = nil; string func = ""; @@ -39,6 +40,43 @@ y2debug("func=%1", func); y2debug("param=%1", param); +/** + * Calls a local command and returns if successful + */ +define boolean LocalCommand (string command) { + map cmd = (map) WFM::Execute (.local.bash_output, command); + y2milestone ("Command %1 returned: %2", command, cmd); + + if (cmd["exit"]:-1 == 0) { + return true; + } else { + if (cmd["stderr"]:"" != "") y2error ("Error: %1", cmd["stderr"]:""); + return false; + } +} + +void preserve_randomness_state () { + string service_bin = "/sbin/haveged"; + string dev_path = "/dev"; + string random_path = sformat ("%1/urandom", dev_path); + + ret = true; + + // Preserve the current randomness state + if (!Mode::update() && Installation::destdir != "/") { + // stop the random number generator service + LocalCommand (sformat ("killproc -TERM %1", service_bin)); + + // copy the current state of random number generator to the installed system + if (LocalCommand (sformat ("cp -av '%1' '%2/%1'", String::Quote (random_path), String::Quote (Installation::destdir)))) { + y2milestone ("State of %1 has been successfully copied to %2", random_path, Installation::destdir); + } else { + y2milestone ("Cannot copy %1 to %2/%1", random_path, Installation::destdir); + ret = false; + } + } +} + if (func == "Info") { return (any)$[ @@ -137,6 +175,13 @@ { umountLength = umountLength - 1; string tmp = Installation::destdir + (string) (umountList[umountLength]:""); + + // This is the very last partition, actually "/" + if (umountLength == 0) { + // BNC #692799: Preserve the randomness state before umounting + preserve_randomness_state(); + } + y2milestone ("umount target: %1", tmp); boolean umount_status = (boolean) WFM::Execute (.local.umount, tmp); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org