Hello community, here is the log from the commit of package yast2-packager checked in at Tue May 2 15:30:24 CEST 2006. -------- --- yast2-packager/yast2-packager.changes 2006-04-28 09:58:00.000000000 +0200 +++ STABLE/yast2-packager/yast2-packager.changes 2006-05-02 15:09:07.000000000 +0200 @@ -1,0 +2,23 @@ +Tue May 2 15:08:42 CEST 2006 - locilka@suse.cz + +- Splitting inst_rpmcopy source code into smaller functions +- Calling first stage installation packages commit limited to first + media, unlimited in other cases (such as second stage + installation) (#170079) +- 2.13.106 + +------------------------------------------------------------------- +Tue May 2 14:43:30 CEST 2006 - mvidner@suse.cz + +- Reverted the redirection, ag_background will be changed instead + (#169648#c39). + +------------------------------------------------------------------- +Tue May 2 13:11:50 CEST 2006 - mvidner@suse.cz + +- Redirect rug stdout to null because it can block (#169648). +- Sometimes rug ping gives the exit code 0xff_ffff_ffff_ffff so + declare success if stderr is empty (#170549). +- 2.13.105 + +------------------------------------------------------------------- Old: ---- yast2-packager-2.13.104.tar.bz2 New: ---- yast2-packager-2.13.106.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-packager.spec ++++++ --- /var/tmp/diff_new_pack.9TUZ2t/_old 2006-05-02 15:27:26.000000000 +0200 +++ /var/tmp/diff_new_pack.9TUZ2t/_new 2006-05-02 15:27:26.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package yast2-packager (Version 2.13.104) +# spec file for package yast2-packager (Version 2.13.106) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -11,12 +11,12 @@ # norootforbuild Name: yast2-packager -Version: 2.13.104 -Release: 2 +Version: 2.13.106 +Release: 1 License: GPL Group: System/YaST BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-packager-2.13.104.tar.bz2 +Source0: yast2-packager-2.13.106.tar.bz2 prefix: /usr BuildRequires: docbook-xsl-stylesheets doxygen gcc-c++ libxcrypt-devel libxslt perl-XML-Writer sgml-skel update-desktop-files yast2 yast2-country yast2-devtools yast2-installation yast2-testsuite yast2-xml Requires: yast2 yast2-installation checkmedia yast2-country @@ -41,7 +41,7 @@ Arvin Schnell <arvin@suse.de> %prep -%setup -n yast2-packager-2.13.104 +%setup -n yast2-packager-2.13.106 %build %{prefix}/bin/y2tool y2autoconf @@ -78,6 +78,20 @@ %doc %{prefix}/share/doc/packages/yast2-packager %changelog -n yast2-packager +* Tue May 02 2006 - locilka@suse.cz +- Splitting inst_rpmcopy source code into smaller functions +- Calling first stage installation packages commit limited to first + media, unlimited in other cases (such as second stage + installation) (#170079) +- 2.13.106 +* Tue May 02 2006 - mvidner@suse.cz +- Reverted the redirection, ag_background will be changed instead + (#169648#c39). +* Tue May 02 2006 - mvidner@suse.cz +- Redirect rug stdout to null because it can block (#169648). +- Sometimes rug ping gives the exit code 0xff_ffff_ffff_ffff so + declare success if stderr is empty (#170549). +- 2.13.105 * Fri Apr 28 2006 - jsuchome@suse.cz - show reasonable error message when rug fails - 2.13.104 ++++++ yast2-packager-2.13.104.tar.bz2 -> yast2-packager-2.13.106.tar.bz2 ++++++ ++++ 2970 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-packager-2.13.104/Makefile.am new/yast2-packager-2.13.106/Makefile.am --- old/yast2-packager-2.13.104/Makefile.am 2006-04-07 11:33:00.000000000 +0200 +++ new/yast2-packager-2.13.106/Makefile.am 2006-05-02 15:10:39.000000000 +0200 @@ -8,6 +8,7 @@ #where devtools are PREFIX := $(shell pkg-config --print-errors --variable=prefix yast2-devtools) +Y2TOOL = $(PREFIX)/bin/y2tool VERSION = $(shell cat $(srcdir)/VERSION) RPMNAME = $(shell cat $(srcdir)/RPMNAME) @@ -95,7 +96,7 @@ done pot: - y2tool y2makepot -s $(srcdir) + $(Y2TOOL) y2makepot -s $(srcdir) install-pot: pot @POT_DST=`find -type d -name testsuite -prune , \ @@ -116,7 +117,7 @@ fi spellcheck: pot - y2tool pot-spellcheck + $(Y2TOOL) pot-spellcheck # all-local: $(if $(IS_DEVTOOLS),,$(POT_DST)) @@ -143,20 +144,20 @@ rm -f package/*.bak rm -f package/*.auto mv $(RPMNAME)-$(VERSION).tar.bz2 package/ - if ! test -x $(PREFIX)/bin/y2tool; then \ - echo "$(PREFIX)/bin/y2tool: not found."; \ + if ! test -x $(Y2TOOL); then \ + echo "$(Y2TOOL): not found."; \ echo "You have to install yast2-devtools to making a package"; \ false; \ fi here=`pwd`; \ cd $(srcdir) && for i in $(RPMNAME)*.spec.in; do \ newname="`echo "$$i" | sed "s/\.in$$//g"`"; \ - $(PREFIX)/bin/y2tool create-spec < $$i > $$here/package/$${newname} ; \ + $(Y2TOOL) create-spec < $$i > $$here/package/$${newname} ; \ done -package: check-up-to-date check-tagversion check-all-packages package-local +package: check-up-to-date check-tagversion check-all-packages check-textdomain package-local -TAGVERSION = $(PREFIX)/bin/y2tool tagversion +TAGVERSION = $(Y2TOOL) tagversion check-up-to-date check-cvs-up-to-date check-svn-up-to-date: if [ -d $(srcdir)/CVS ]; then \ @@ -199,10 +200,13 @@ false; \ fi +check-textdomain: + $(Y2TOOL) check-textdomain $(srcdir) + stable: checkin-stable checkin-stable: package - $(PREFIX)/bin/y2tool checkin-stable + $(Y2TOOL) checkin-stable # For po/ modules 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-packager-2.13.104/VERSION new/yast2-packager-2.13.106/VERSION --- old/yast2-packager-2.13.104/VERSION 2006-04-28 09:51:28.000000000 +0200 +++ new/yast2-packager-2.13.106/VERSION 2006-05-02 15:01:25.000000000 +0200 @@ -1 +1 @@ -2.13.104 +2.13.106 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-packager-2.13.104/configure.in new/yast2-packager-2.13.106/configure.in --- old/yast2-packager-2.13.104/configure.in 2006-04-07 11:33:00.000000000 +0200 +++ new/yast2-packager-2.13.106/configure.in 2006-05-02 15:10:39.000000000 +0200 @@ -1,9 +1,9 @@ dnl configure.in for yast2-packager dnl -dnl -- This file is generated by y2autoconf - DO NOT EDIT! -- +dnl -- This file is generated by y2autoconf 2.13.17 - DO NOT EDIT! -- dnl (edit configure.in.in instead) -AC_INIT(yast2-packager, 2.13.70, http://www.suse.de/feedback, yast2-packager) +AC_INIT(yast2-packager, 2.13.106, http://www.suse.de/feedback, yast2-packager) dnl Check for presence of file 'RPMNAME' AC_CONFIG_SRCDIR([RPMNAME]) @@ -17,7 +17,7 @@ AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs dnl Important YaST2 variables -VERSION="2.13.70" +VERSION="2.13.106" RPMNAME="yast2-packager" MAINTAINER="Jiri Srain <jsrain@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-packager-2.13.104/src/clients/inst_rpmcopy.ycp new/yast2-packager-2.13.106/src/clients/inst_rpmcopy.ycp --- old/yast2-packager-2.13.104/src/clients/inst_rpmcopy.ycp 2006-04-06 16:01:05.000000000 +0200 +++ new/yast2-packager-2.13.106/src/clients/inst_rpmcopy.ycp 2006-05-02 15:09:34.000000000 +0200 @@ -13,7 +13,7 @@ * Packages module : * "installed" * - * $Id: inst_rpmcopy.ycp 29756 2006-04-05 16:09:06Z mvidner $ + * $Id: inst_rpmcopy.ycp 30607 2006-05-02 13:09:30Z locilka $ */ { @@ -500,54 +500,50 @@ // end of installation source caching functions // ------------------------------------------------------------------------------------------------------ - Pkg::SetLocale (Language::language); - - SlideShow::SetLanguage (Language::language); - - // start target, create new rpmdb if none is existing - // FIXME error checking is missing all around here, initialization could actually fail! - //Pkg::TargetInit (Installation::destdir, true); - if(Pkg::TargetInit (Installation::destdir,true) != true) - { - // continue-cancel popup - if(Popup::ContinueCancel(_("Initializing the target directory failed")) == false) - { - return `abort; - } - } - + // ------------------------------------------------------------------------------------------------------ + // begin of commit installation functions + // ------------------------------------------------------------------------------------------------------ - if (Stage::cont ()) - { - // initialize the package agent in continue mode - Packages::Init( true ); - RestoreDiskCacheSettings (); - } + void InstallRemainingAndBinarySource () { + // second stage of package installation, re-read list of remaining binary and source + // packages - SlideShow::OpenSlideShowDialog (); + list<string> remaining = (list<string>) SCR::Read (.target.ycp, ["/var/lib/YaST2/remaining", []]); + if (remaining == nil) + remaining = []; - Pkg::TargetLogfile (Installation::destdir + Directory::logdir + "/y2logRPM"); + list<string> srcremaining = (list<string>) SCR::Read (.target.ycp, ["/var/lib/YaST2/srcremaining", []]); + if (srcremaining == nil) + srcremaining = []; + string backupPath = (string) SCR::Read(.target.string, [Installation::destdir + "/var/lib/YaST2/backup_path", ""]); + if ( backupPath != nil && backupPath != "") + { + y2milestone("create package backups in %1",backupPath); + Pkg::CreateBackups (true); + Pkg::SetBackupPath (backupPath); + } - if (Mode::autoinst () - && Stage::cont ()) - { - import "AutoinstSoftware"; + integer failed_packages = 0; + y2milestone ("%1 binary packages remaining", size (remaining)); + foreach (string pkg, remaining, ``{ + if (! Pkg::PkgInstall (pkg)) + failed_packages = failed_packages + 1; + }); - // post packages from autoinstall - map <string, any> res = Pkg::DoProvide (AutoinstSoftware::post_packages); - if (size (res) > 0) + y2milestone ("%1 source packages remaining", size (srcremaining)); + foreach (string pkg, srcremaining, ``{ + if (! Pkg::PkgSrcInstall (pkg)) + failed_packages = failed_packages + 1; + }); + if (failed_packages > 0) { - foreach (string s, any a, res, ``{ - y2warning ("Pkg::DoProvide failed for %1: %2", s, a); - }); + // error report, %1 is number + Report::Error (sformat(_("Failed to select %1 packages for installation"), failed_packages)); } - - Pkg::PkgSolve (false); } - if (Stage::initial ()) // initial mode, move download area, check for source caching - { + void InstInitAndInitialSourceCaching () { map spaces = Pkg::TargetGetDU (); list root_info = spaces["/tmp"]:spaces["/tmp/"]:spaces["/"]:[]; integer total = root_info[0]:0; @@ -620,83 +616,30 @@ } } } - else // continue mode, check for remaining packages - { - // second stage of package installation, re-read list of remaining binary and source - // packages - - list<string> remaining = (list<string>) SCR::Read (.target.ycp, ["/var/lib/YaST2/remaining", []]); - if (remaining == nil) - remaining = []; - - list<string> srcremaining = (list<string>) SCR::Read (.target.ycp, ["/var/lib/YaST2/srcremaining", []]); - if (srcremaining == nil) - srcremaining = []; - - string backupPath = (string) SCR::Read(.target.string, [Installation::destdir + "/var/lib/YaST2/backup_path", ""]); - if ( backupPath != nil && backupPath != "") - { - y2milestone("create package backups in %1",backupPath); - Pkg::CreateBackups (true); - Pkg::SetBackupPath (backupPath); - } - integer failed_packages = 0; - y2milestone ("%1 binary packages remaining", size (remaining)); - foreach (string pkg, remaining, ``{ - if (! Pkg::PkgInstall (pkg)) - failed_packages = failed_packages + 1; - }); + void AutoinstPostPackages () { + import "AutoinstSoftware"; - y2milestone ("%1 source packages remaining", size (srcremaining)); - foreach (string pkg, srcremaining, ``{ - if (! Pkg::PkgSrcInstall (pkg)) - failed_packages = failed_packages + 1; - }); - if (failed_packages > 0) + // post packages from autoinstall + map <string, any> res = Pkg::DoProvide (AutoinstSoftware::post_packages); + if (size (res) > 0) { - // error report, %1 is number - Report::Error (sformat(_("Failed to select %1 packages for installation"), failed_packages)); + foreach (string s, any a, res, ``{ + y2warning ("Pkg::DoProvide failed for %1: %2", s, a); + }); } - } - - // Install the software from Medium1 to Mediummax, but not the already - // installed base packages. - // This part is also used for installation in running system (Stage::cont ()) - integer maxnumbercds = 10; - integer current_cd_no = 1; - - if (Stage::initial ()) - { - maxnumbercds = 1; // only the first CD will be installed - } - else if (Mode::autoinst () && Stage::cont () && size( AutoinstSoftware::post_packages ) > 0) - { - // one more compatibility feature to old YaST, post-packages - // Simply install a list of package after initial installation (only - // makes sense with nfs installatons) - current_cd_no = 1; - } - else if (Stage::cont ()) - { - current_cd_no = 2; // continue with second CD but only in continue mode - } - else if (DirInstall::installing_into_dir) - { - current_cd_no = 1; + Pkg::PkgSolve (false); } - if (Packages::metadir_used) // all is in ramdisk - { - current_cd_no = 0; // we can install all sources now - maxnumbercds = 0; - } + symbol InstallPackagesFromMedia (integer current_cd_no, integer maxnumbercds) { + symbol result = `next; - symbol result = `next; + y2milestone("Installing packages from media %1 -> %2", current_cd_no, maxnumbercds); - while (current_cd_no <= maxnumbercds) - { + // 1->1 for default fist stage installation + // 0->0 for default second stage (or other) installation + while (current_cd_no <= maxnumbercds) { boolean go_on = true; list<map<string,any> > pkgs = Pkg::ResolvableProperties ("", `package, ""); pkgs = filter (map<string,any> p, pkgs, { @@ -758,8 +701,107 @@ break; current_cd_no = current_cd_no + 1; + } + return result; + } + + map <string, integer> CountStartingAndMaxMediaNumber () { + // Bugzilla #170079 + // Default - unrestricted + map <string, integer> ret = $["maxnumbercds" : 0, "current_cd_no" : 0]; + + if (Stage::initial ()) { + // only the first CD will be installed + ret["current_cd_no"] = 1; + ret["maxnumbercds"] = 1; + y2milestone("StartingAndMaxMediaNumber: Stage initial %1/%2", ret["current_cd_no"]:nil, ret["maxnumbercds"]:nil); + + // Four following cases have the same solution, CDstart = 0, CDfinish = 0 + // ZYPP should solve what it needs and when. + // Leaving it here as the backward compatibility if someone decides to change it back. + + } else if (Packages::metadir_used) { + // all is in ramdisk, we can install all sources now + ret["current_cd_no"] = 0; + ret["maxnumbercds"] = 0; + y2milestone("StartingAndMaxMediaNumber: MetaDir used %1/%2", ret["current_cd_no"]:nil, ret["maxnumbercds"]:nil); + } else if (Mode::autoinst () && Stage::cont () && size( AutoinstSoftware::post_packages ) > 0) { + // one more compatibility feature to old YaST, post-packages + // Simply install a list of package after initial installation (only + // makes sense with nfs installatons) + ret["current_cd_no"] = 0; // was 1 + ret["maxnumbercds"] = 0; // was 10 + y2milestone("StartingAndMaxMediaNumber: Autoinst in cont %1/%2", ret["current_cd_no"]:nil, ret["maxnumbercds"]:nil); + } else if (Stage::cont ()) { + // continue with second CD but only in continue mode + // bug #170079, let zypp solve needed CDs + ret["current_cd_no"] = 0; + ret["maxnumbercds"] = 0; + y2milestone("StartingAndMaxMediaNumber: Stage cont %1/%2", ret["current_cd_no"]:nil, ret["maxnumbercds"]:nil); + } else if (DirInstall::installing_into_dir) { + // All in one + ret["current_cd_no"] = 0; // was 1 + ret["maxnumbercds"] = 0; // was 10 + y2milestone("StartingAndMaxMediaNumber: Dir install %1/%2", ret["current_cd_no"]:nil, ret["maxnumbercds"]:nil); + } } + // ------------------------------------------------------------------------------------------------------ + // end of commit installation functions + // ------------------------------------------------------------------------------------------------------ + + Pkg::SetLocale (Language::language); + + SlideShow::SetLanguage (Language::language); + + // start target, create new rpmdb if none is existing + // FIXME error checking is missing all around here, initialization could actually fail! + //Pkg::TargetInit (Installation::destdir, true); + if(Pkg::TargetInit (Installation::destdir,true) != true) + { + // continue-cancel popup + if(Popup::ContinueCancel(_("Initializing the target directory failed")) == false) + { + return `abort; + } + } + + + if (Stage::cont ()) + { + // initialize the package agent in continue mode + Packages::Init( true ); + RestoreDiskCacheSettings (); + } + + SlideShow::OpenSlideShowDialog (); + + Pkg::TargetLogfile (Installation::destdir + Directory::logdir + "/y2logRPM"); + + + if (Mode::autoinst () && Stage::cont ()) { + AutoinstPostPackages(); + } + + // initial mode, move download area, check for source caching + if (Stage::initial ()) { + InstInitAndInitialSourceCaching(); + // continue mode, check for remaining packages + } else { + InstallRemainingAndBinarySource(); + } + + // Install the software from Medium1 to Mediummax, but not the already + // installed base packages. + // This part is also used for installation in running system (Stage::cont ()) + + map <string, integer> cdnumbers = CountStartingAndMaxMediaNumber(); + integer maxnumbercds = cdnumbers["maxnumbercds"]:10; + integer current_cd_no = cdnumbers["current_cd_no"]:1; + + // install packages from CD current_cd_no to CD maxnumbercds + symbol result = InstallPackagesFromMedia (current_cd_no, maxnumbercds); + // sync package manager FIXME if (result != `abort) { 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-packager-2.13.104/src/modules/PackageInstallation.ycp new/yast2-packager-2.13.106/src/modules/PackageInstallation.ycp --- old/yast2-packager-2.13.104/src/modules/PackageInstallation.ycp 2006-04-26 10:09:05.000000000 +0200 +++ new/yast2-packager-2.13.106/src/modules/PackageInstallation.ycp 2006-05-02 13:34:43.000000000 +0200 @@ -81,6 +81,8 @@ global define list CommitPackages (integer media_number, integer packages_installed) { + y2milestone("CommitPackages called: media nr. %1, packages %2", media_number, packages_installed); + if ( Mode::test () ) { FakePackager( [], 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-packager-2.13.104/src/modules/SourceManager.ycp new/yast2-packager-2.13.106/src/modules/SourceManager.ycp --- old/yast2-packager-2.13.104/src/modules/SourceManager.ycp 2006-04-28 09:50:35.000000000 +0200 +++ new/yast2-packager-2.13.106/src/modules/SourceManager.ycp 2006-05-02 15:07:42.000000000 +0200 @@ -7,7 +7,7 @@ * Martin Vidner <mvidner@suse.cz> * Status: Work in Progress * - * $Id: SourceManager.ycp 30549 2006-04-27 14:49:55Z mvidner $ + * $Id: SourceManager.ycp 30606 2006-05-02 12:46:47Z mvidner $ * * Representation of the configuration of source-manager. * Input and output routines. @@ -773,7 +773,8 @@ * @return map with out, err and ret_code */ global map RunDumbTimeout (string command, integer seconds) { - map ret = RunCommandWithTimeout ("TERM=dumb; " + command + "; exit $?", seconds); + // explicit export in case TERM was not in the environment + map ret = RunCommandWithTimeout ("export TERM=dumb; " + command + "; exit $?", seconds); if (ret == nil) ret = $[]; return ret; } @@ -803,7 +804,8 @@ string rug_command = "/usr/bin/rug"; map zmd_status = RunLong (rug_command + " ping >/dev/null"); y2milestone("ZMD status: %1, err: %2", zmd_status["exit"]:nil, zmd_status["stderr"]:[]); - return zmd_status["exit"]:nil == 0; + // Argh zis suks so mutch! #170549 + return zmd_status["exit"]:nil == 0 || zmd_status["stderr"]:[] == []; } /** ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...
participants (1)
-
root@suse.de