Hello community, here is the log from the commit of package yast2-installation checked in at Fri Mar 31 16:00:04 CEST 2006. -------- --- yast2-installation/yast2-installation.changes 2006-03-29 16:46:06.000000000 +0200 +++ yast2-installation/yast2-installation.changes 2006-03-30 19:36:24.000000000 +0200 @@ -1,0 +2,19 @@ +Wed Mar 29 17:57:35 CEST 2006 - jsrain@suse.de + +- prevent from installing one product multiple times (#159662) +- 2.13.54 + +------------------------------------------------------------------- +Thu Mar 30 13:42:35 CEST 2006 - mvidner@suse.cz + +- Reset zypp and release its lock before suse_register (#160319). + Therefore disabled the Back button. +- Don't run add-on.ycp if another process has the zypp lock (#160319). +- 2.13.53 + +------------------------------------------------------------------- +Thu Mar 30 12:31:49 CEST 2006 - jdsn@suse.de + +- included new desktop file in Makefile (162112) + +------------------------------------------------------------------- Old: ---- yast2-installation-2.13.52.tar.bz2 New: ---- yast2-installation-2.13.54.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.tH0cL9/_old 2006-03-31 15:59:23.000000000 +0200 +++ /var/tmp/diff_new_pack.tH0cL9/_new 2006-03-31 15:59:23.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package yast2-installation (Version 2.13.52) +# spec file for package yast2-installation (Version 2.13.54) # # 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-installation -Version: 2.13.52 +Version: 2.13.54 Release: 1 License: GPL Group: System/YaST BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-installation-2.13.52.tar.bz2 +Source0: yast2-installation-2.13.54.tar.bz2 prefix: /usr BuildRequires: docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer sgml-skel update-desktop-files yast2 yast2-country yast2-devtools yast2-testsuite Requires: yast2 yast2-update @@ -48,7 +48,7 @@ Arvin Schnell <arvin@suse.de> %prep -%setup -n yast2-installation-2.13.52 +%setup -n yast2-installation-2.13.54 %build %{prefix}/bin/y2tool y2autoconf @@ -106,6 +106,16 @@ /usr/X11R6/share/fvwm/ %changelog -n yast2-installation +* Thu Mar 30 2006 - mvidner@suse.cz +- Reset zypp and release its lock before suse_register (#160319). + Therefore disabled the Back button. +- Don't run add-on.ycp if another process has the zypp lock (#160319). +- 2.13.53 +* Thu Mar 30 2006 - jdsn@suse.de +- included new desktop file in Makefile (162112) +* Wed Mar 29 2006 - jsrain@suse.de +- prevent from installing one product multiple times (#159662) +- 2.13.54 * Wed Mar 29 2006 - locilka@suse.cz - Fixed adding SLP-based Add-On product (#161270) - SLP-based Add-On product handling moved to separate function ++++++ yast2-installation-2.13.52.tar.bz2 -> yast2-installation-2.13.54.tar.bz2 ++++++ ++++ 13926 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.13.52/VERSION new/yast2-installation-2.13.54/VERSION --- old/yast2-installation-2.13.52/VERSION 2006-03-29 16:46:14.000000000 +0200 +++ new/yast2-installation-2.13.54/VERSION 2006-03-30 19:18:01.000000000 +0200 @@ -1 +1 @@ -2.13.52 +2.13.54 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.13.52/configure.in new/yast2-installation-2.13.54/configure.in --- old/yast2-installation-2.13.52/configure.in 2006-03-29 16:48:15.000000000 +0200 +++ new/yast2-installation-2.13.54/configure.in 2006-03-30 19:33:05.000000000 +0200 @@ -3,7 +3,7 @@ dnl -- This file is generated by y2autoconf - DO NOT EDIT! -- dnl (edit configure.in.in instead) -AC_INIT(yast2-installation, 2.13.52, http://www.suse.de/feedback, yast2-installation) +AC_INIT(yast2-installation, 2.13.54, http://www.suse.de/feedback, yast2-installation) 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.52" +VERSION="2.13.54" RPMNAME="yast2-installation" 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-installation-2.13.52/control/docs/control-doc.xml new/yast2-installation-2.13.54/control/docs/control-doc.xml --- old/yast2-installation-2.13.52/control/docs/control-doc.xml 2006-02-03 08:52:08.000000000 +0100 +++ new/yast2-installation-2.13.54/control/docs/control-doc.xml 2006-02-02 19:55:05.000000000 +0100 @@ -28,7 +28,7 @@ 0.1 </revnumber> <date> - $Date: 2004-10-27 16:25:24 +0200 (Wed, 27 Oct 2004) $ + $Date: 2004-10-27 08:25:24 -0600 (Wed, 27 Oct 2004) $ </date> <revremark>Initial Release as PDF</revremark> </revision> 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.13.52/src/clients/add-on.ycp new/yast2-installation-2.13.54/src/clients/add-on.ycp --- old/yast2-installation-2.13.52/src/clients/add-on.ycp 2006-03-22 18:33:10.000000000 +0100 +++ new/yast2-installation-2.13.54/src/clients/add-on.ycp 2006-03-30 19:17:03.000000000 +0200 @@ -10,6 +10,8 @@ textdomain "installation"; import "AddOnProduct"; +import "Confirm"; +import "PackageLock"; import "Report"; import "Wizard"; import "Pkg"; @@ -20,6 +22,14 @@ Wizard::SetDesktopIcon("vendor"); Wizard::HideBackButton(); +// check whether running as root +// and having the packager for ourselves +if (! Confirm::MustBeRoot () || ! PackageLock::Check ()) +{ + UI::CloseDialog (); + return `abort; +} + // Initialize current sources Read(); symbol ret = RunWizard(); 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.13.52/src/clients/inst_suse_register.ycp new/yast2-installation-2.13.54/src/clients/inst_suse_register.ycp --- old/yast2-installation-2.13.52/src/clients/inst_suse_register.ycp 2006-03-29 16:14:50.000000000 +0200 +++ new/yast2-installation-2.13.54/src/clients/inst_suse_register.ycp 2006-03-30 19:17:03.000000000 +0200 @@ -452,8 +452,10 @@ // check if we are in installation workflow or running independently if (Mode::normal()) Wizard::CreateDialog(); + // disable back once zypp forgets the caches and lock by Init + boolean enable_back = false; // GetInstArgs::enable_back() // we always need the next button - Wizard::SetContents (title, contents, help, GetInstArgs::enable_back(), true); + Wizard::SetContents (title, contents, help, enable_back, true); y2debug ("%1", UI::DumpWidgetTree()); @@ -470,6 +472,11 @@ /* -------------------------------- PROGRAM LOGIC START ----------------------------------------------------------- */ + // before calling suse_register, which calls zmd, + // forget zypp caches and also release the zypp lock! + // reinitalize ZYpp while rug is adding the source for us + Pkg::Init (); + repeat { ret = Wizard::UserInput(); 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.13.52/src/config/Makefile.am new/yast2-installation-2.13.54/src/config/Makefile.am --- old/yast2-installation-2.13.52/src/config/Makefile.am 2006-03-06 19:47:43.000000000 +0100 +++ new/yast2-installation-2.13.54/src/config/Makefile.am 2006-03-30 19:17:03.000000000 +0200 @@ -1,6 +1,6 @@ # Makefile.am for installation/vendor -desktop_DATA = vendor.desktop release_notes.desktop add-on.desktop +desktop_DATA = vendor.desktop release_notes.desktop add-on.desktop suse_register.desktop fvwmdir = $(prefix)/X11R6/share/fvwm/ fvwm_DATA = \ 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.13.52/src/config/suse_register.desktop new/yast2-installation-2.13.54/src/config/suse_register.desktop --- old/yast2-installation-2.13.52/src/config/suse_register.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-2.13.54/src/config/suse_register.desktop 2006-03-29 16:33:09.000000000 +0200 @@ -0,0 +1,14 @@ +[Desktop Entry] +X-SuSE-translate=true +Type=Application +Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Misc; + +X-SuSE-YaST-Call=inst_suse_register +X-SuSE-YaST-RootOnly=false +X-SuSE-YaST-Group=Software + +Icon=yast-product-registration +Exec=/sbin/yast2 inst_suse_register + +Name=Product Registration +GenericName=Product Registration 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.13.52/src/include/add-on-workflow.ycp new/yast2-installation-2.13.54/src/include/add-on-workflow.ycp --- old/yast2-installation-2.13.52/src/include/add-on-workflow.ycp 2006-03-29 16:41:42.000000000 +0200 +++ new/yast2-installation-2.13.54/src/include/add-on-workflow.ycp 2006-03-30 19:17:03.000000000 +0200 @@ -360,7 +360,8 @@ Report::Error (_("Failed to initialize the catalog.")); return `finish; } - +/* +// moved below, in order to check whether the product has been installed first // Display /media.1/info.txt if such file exists // Display license and wait for agreement boolean license_ret = AddOnProduct::AcceptedLicenseAndInfoFile(src_id); @@ -369,7 +370,7 @@ Pkg::SourceDelete(src_id); return `finish; } - +*/ AddOnProduct::src_id = src_id; SourceManager::newSources = [src_id]; y2milestone ("Only one source available - skipping dialog"); @@ -462,15 +463,6 @@ return `finish; } - // Display /media.1/info.txt if such file exists - // Display license and wait for agreement - boolean license_ret = AddOnProduct::AcceptedLicenseAndInfoFile(selected); - if (license_ret != true) { - y2milestone("Removing the current source ID %1", selected); - Pkg::SourceDelete(selected); - return `finish; - } - AddOnProduct::src_id = selected; SourceManager::newSources = [selected]; } @@ -480,12 +472,27 @@ symbol ProductSelect () { list<map<string,any> > products = Pkg::ResolvableProperties ("", `product, ""); + list<map<string,any> > installed_products = filter (map<string,any> p, products, { + return p["status"]:nil == `selected || p["status"]:nil == `installed; + }); + y2milestone ("Already installed/selected products: %1", installed_products); products = filter (map<string,any> p, products, { return p["source"]:-1 == AddOnProduct::src_id; }); + y2milestone ("Products on the media: %1", products); if (size (products) == 0) { y2milestone ("No poduct found on the media, but anyway, using it :-)"); + // Display /media.1/info.txt if such file exists + // Display license and wait for agreement + // FIXME the same code is below + boolean license_ret = AddOnProduct::AcceptedLicenseAndInfoFile(AddOnProduct::src_id); + if (license_ret != true) { + y2milestone("Removing the current source ID %1", AddOnProduct::src_id); + Pkg::SourceDelete(AddOnProduct::src_id); + return `finish; + } + map data = Pkg::SourceGeneralData (AddOnProduct::src_id); string url = data["url"]:""; string product_dir = data["product_dir"]:""; @@ -498,6 +505,41 @@ ]); return `next; } + products = filter (map<string,any> prod, products, { + boolean installed = false; + find (map<string,any> p, installed_products, { + if (p["name"]:"" == prod["name"]:"" && p["version"]:"" == prod["version"]:"") + { + installed = true; + y2milestone ("Product %1 installed", p); + return true; + } + return false; + }); + if (installed) + { + y2milestone ("Removing %1 from the list of available products", prod); + return false; + } + return true; + }); + if (size (products) == 0) + { + // message popup + Popup::Message (_("The product on the media is already installed +or selected for installation.")); + AddOnProduct::last_ret = `back; + return `back; + } + // Display /media.1/info.txt if such file exists + // Display license and wait for agreement + // FIXME the same code is above + boolean license_ret = AddOnProduct::AcceptedLicenseAndInfoFile(AddOnProduct::src_id); + if (license_ret != true) { + y2milestone("Removing the current source ID %1", AddOnProduct::src_id); + Pkg::SourceDelete(AddOnProduct::src_id); + return `finish; + } if (size (products) == 1) { y2milestone ("Only one product available - skipping dialog"); @@ -508,6 +550,7 @@ Pkg::ResolvableRemove (prod["name"]:"", `product); // message popup Popup::Message (_("Dependencies of the add-on product cannot be fullfilled.")); + AddOnProduct::last_ret = `back; return `back; } map data = Pkg::SourceGeneralData (AddOnProduct::src_id); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...
participants (1)
-
root@suse.de