Hello community,
here is the log from the commit of package yast2-packager for openSUSE:Factory
checked in at Thu Jan 7 13:06:03 CET 2010.
--------
--- yast2-packager/yast2-packager.changes 2009-12-14 15:28:44.000000000 +0100
+++ /mounts/work_src_done/STABLE/yast2-packager/yast2-packager.changes 2010-01-06 20:11:15.000000000 +0100
@@ -1,0 +2,12 @@
+Wed Jan 6 17:48:18 UTC 2010 - lslezak@suse.cz
+
+- do not reselect patterns which have been deselected by user
+ (bnc#450786, bnc#471340)
+- 2.19.2
+
+-------------------------------------------------------------------
+Mon Jan 4 16:18:08 CET 2010 - locilka@suse.cz
+
+- Fixed accepting/declining the multilicense agreement.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-packager-2.19.1.tar.bz2
New:
----
yast2-packager-2.19.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.aPiSSG/_old 2010-01-07 13:05:57.000000000 +0100
+++ /var/tmp/diff_new_pack.aPiSSG/_new 2010-01-07 13:05:57.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package yast2-packager (Version 2.19.1)
+# spec file for package yast2-packager (Version 2.19.2)
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,10 +19,10 @@
Name: yast2-packager
-Version: 2.19.1
+Version: 2.19.2
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-packager-2.19.1.tar.bz2
+Source0: yast2-packager-2.19.2.tar.bz2
Prefix: /usr
Group: System/YaST
License: GPLv2+
@@ -79,7 +79,7 @@
(webpin) and installing them via OneClickInstall
%prep
-%setup -n yast2-packager-2.19.1
+%setup -n yast2-packager-2.19.2
%build
%{prefix}/bin/y2tool y2autoconf
++++++ yast2-packager-2.19.1.tar.bz2 -> yast2-packager-2.19.2.tar.bz2 ++++++
++++ 5453 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.19.1/VERSION new/yast2-packager-2.19.2/VERSION
--- old/yast2-packager-2.19.1/VERSION 2009-12-08 14:00:14.000000000 +0100
+++ new/yast2-packager-2.19.2/VERSION 2010-01-06 20:09:39.000000000 +0100
@@ -1 +1 @@
-2.19.1
+2.19.2
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.19.1/configure.in new/yast2-packager-2.19.2/configure.in
--- old/yast2-packager-2.19.1/configure.in 2009-07-31 12:53:46.000000000 +0200
+++ new/yast2-packager-2.19.2/configure.in 2010-01-06 20:10:38.000000000 +0100
@@ -1,9 +1,9 @@
dnl configure.in for yast2-packager
dnl
-dnl -- This file is generated by y2autoconf 2.18.9 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.18.11 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-packager, 2.18.9, http://bugs.opensuse.org/, yast2-packager)
+AC_INIT(yast2-packager, 2.19.2, http://bugs.opensuse.org/, yast2-packager)
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.18.9"
+VERSION="2.19.2"
RPMNAME="yast2-packager"
MAINTAINER="Ladislav Slezak "
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.19.1/missing new/yast2-packager-2.19.2/missing
--- old/yast2-packager-2.19.1/missing 2009-07-31 12:53:51.000000000 +0200
+++ new/yast2-packager-2.19.2/missing 2010-01-06 20:10:43.000000000 +0100
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2006-05-10.23
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see http://www.gnu.org/licenses/.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -89,6 +87,9 @@
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
Send bug reports to ."
exit $?
;;
@@ -106,15 +107,22 @@
esac
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
-# the program).
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
case $1 in
- lex|yacc)
+ lex*|yacc*)
# Not GNU programs, they don't have --version.
;;
- tar)
+ tar*)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
@@ -138,7 +146,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case $1 in
+case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -148,7 +156,7 @@
touch aclocal.m4
;;
- autoconf)
+ autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@@ -157,7 +165,7 @@
touch configure
;;
- autoheader)
+ autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@@ -187,7 +195,7 @@
while read f; do touch "$f"; done
;;
- autom4te)
+ autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@@ -210,7 +218,7 @@
fi
;;
- bison|yacc)
+ bison*|yacc*)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
@@ -240,7 +248,7 @@
fi
;;
- lex|flex)
+ lex*|flex*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
@@ -263,7 +271,7 @@
fi
;;
- help2man)
+ help2man*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
@@ -277,11 +285,11 @@
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
- exit 1
+ exit $?
fi
;;
- makeinfo)
+ makeinfo*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -310,7 +318,7 @@
touch $file
;;
- tar)
+ tar*)
shift
# We have already tried tar in the generic part.
@@ -363,5 +371,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
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.19.1/src/clients/inst_kickoff.ycp new/yast2-packager-2.19.2/src/clients/inst_kickoff.ycp
--- old/yast2-packager-2.19.1/src/clients/inst_kickoff.ycp 2009-06-24 12:53:07.000000000 +0200
+++ new/yast2-packager-2.19.2/src/clients/inst_kickoff.ycp 2010-01-05 13:45:45.000000000 +0100
@@ -5,7 +5,7 @@
*
* Purpose: Do various tasks before starting with installation of rpms.
*
- * $Id: inst_kickoff.ycp 52946 2008-11-05 16:17:47Z locilka $
+ * $Id: inst_kickoff.ycp 60099 2009-12-14 15:44:01Z aschnell $
*
*/
@@ -317,10 +317,6 @@
}
}
- // special logging function for Rendivm
- void eat2minestrone (string entry) {
- y2milestone (entry);
- }
/**
* Load all network modules. The package sysconfig requires this during
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.19.1/src/modules/Packages.ycp new/yast2-packager-2.19.2/src/modules/Packages.ycp
--- old/yast2-packager-2.19.1/src/modules/Packages.ycp 2009-06-24 12:53:07.000000000 +0200
+++ new/yast2-packager-2.19.2/src/modules/Packages.ycp 2010-01-06 20:10:26.000000000 +0100
@@ -3,7 +3,7 @@
* Package: Package selections
* Authors: Anas Nashif
*
- * $Id: Packages.ycp 56846 2009-04-20 10:21:38Z locilka $
+ * $Id: Packages.ycp 60245 2010-01-06 19:10:25Z lslezak $
*/
{
@@ -1649,7 +1649,15 @@
{
y2milestone ("Selecting system patterns %1", system_patterns);
foreach (string p, system_patterns, {
- Pkg::ResolvableInstall (p, `pattern);
+ map prop = Pkg::ResolvableProperties(p, `pattern, "")[0]:$[];
+ if (prop["status"]:nil == `available && prop["transact_by"]:nil == `user)
+ {
+ y2milestone("Ignoring deselected pattern '%1'", p);
+ }
+ else
+ {
+ Pkg::ResolvableInstall (p, `pattern);
+ }
});
}
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-packager-2.19.1/src/modules/ProductLicense.ycp new/yast2-packager-2.19.2/src/modules/ProductLicense.ycp
--- old/yast2-packager-2.19.1/src/modules/ProductLicense.ycp 2009-12-14 15:27:57.000000000 +0100
+++ new/yast2-packager-2.19.2/src/modules/ProductLicense.ycp 2010-01-05 13:45:45.000000000 +0100
@@ -139,7 +139,7 @@
return license_file;
}
-global term GetLicenseContent (string lic_lang, map & licenses) {
+global term GetLicenseContent (string lic_lang, map & licenses, string id) {
string license_file = WhichLicenceFile (lic_lang, licenses);
string license_text = (string) SCR::Read(.target.string, license_file);
@@ -152,13 +152,13 @@
// License is HTML (or RichText)
if (regexpmatch(license_text, ""))
- rt = `MinWidth (80, `RichText(`id (`welcome_text),
+ rt = `MinWidth (80, `RichText(`id (sformat("welcome_text_%1", id)),
license_text
));
// License is plain text
// details in BNC #449188
else
- rt = `MinWidth (80, `RichText(`id (`welcome_text),
+ rt = `MinWidth (80, `RichText(`id (sformat("welcome_text_%1", id)),
"<pre>" + String::EscapeTags (license_text) + "</pre>"
));
@@ -171,7 +171,7 @@
term GetLicenseDialogTerm (list<string> languages, string license_language, map & licenses, string id) {
string license_text = "";
- term rt = GetLicenseContent (license_language, licenses);
+ term rt = GetLicenseContent (license_language, licenses, id);
// bug #204791, no more "languages.ycp" client
map lang_names_orig = Language::GetLanguagesMap (false);
@@ -285,29 +285,22 @@
}
}
-/**
- * Displays License with Help and ( ) Yes / ( ) No radio buttons
- * @param string file with the license
- */
-void DisplayLicenseDialog (list<string> languages, boolean back, string license_language, map & licenses, string id) {
+term GetLicenseDialog (list<string> languages, string license_language, map & licenses, string id, boolean spare_space) {
map display = UI::GetDisplayInfo();
integer space = display["TextMode"]:true ? 1 : 3;
- // dialog caption
- string caption = _("License Agreement");
-
term license_buttons = `VBox (
- `VSpacing (2),
- `RadioButtonGroup(`id(`eula),
+ `VSpacing ((spare_space ? 0:2)),
+ `RadioButtonGroup(`id (sformat ("eula_%1", id)),
`HBox(
`HSpacing (2*space),
`VBox(
- `Left(`RadioButton(`id(`yes),
+ `Left(`RadioButton(`id (sformat("yes_%1", id)),
`opt(`notify),
// radio button
_("&Yes, I Agree to the License Agreement")
)),
- `Left(`RadioButton(`id(`no),
+ `Left(`RadioButton(`id (sformat("no_%1", id)),
`opt(`notify),
// radio button
_("N&o, I Do Not Agree")
@@ -318,8 +311,8 @@
)
);
- term contents = `VBox (
- `VSpacing (1),
+ return `VBox (
+ `VSpacing ((spare_space ? 0:1)),
`HBox (
`HSpacing (2*space),
GetLicenseDialogTerm (languages, license_language, licenses, id),
@@ -333,7 +326,7 @@
:
`Empty()
),
- `VSpacing(1),
+ `VSpacing((spare_space ? 0.5 : 1)),
`HBox (
`HSpacing (2*space),
(license_file_print != nil ?
@@ -351,22 +344,35 @@
),
`HSpacing (2*space)
),
- `VSpacing (1)
+ `VSpacing ((spare_space ? 0:1))
);
+}
+string GetLicenseDialogHelp () {
// help text
- string help = _("<p>Read the license agreement carefully and select
+ return _("<p>Read the license agreement carefully and select
one of the available options. If you do not agree to the license agreement,
the configuration will be aborted.</p>
");
+}
+
+/**
+ * Displays License with Help and ( ) Yes / ( ) No radio buttons
+ * @param string file with the license
+ */
+void DisplayLicenseDialog (list<string> languages, boolean back, string license_language, map & licenses, string id) {
+ // dialog caption
+ string caption = _("License Agreement");
+
+ term contents = GetLicenseDialog (languages, license_language, licenses, id, false);
// If acceptance is not needed, there's no need to disable the button
// by default
boolean default_next_button_state = (AcceptanceNeeded (id) ? false : true);
- Wizard::SetContents(caption, contents, help,
+ Wizard::SetContents(caption, contents, GetLicenseDialogHelp(),
back, default_next_button_state);
-
+
Wizard::SetTitleIcon ("yast-license");
Wizard::SetFocusToNextButton();
}
@@ -771,7 +777,7 @@
lic_lang = (string) UI::QueryWidget (`id (sformat ("license_language_%1", id)), `Value);
term rp_id = `id (sformat ("license_contents_rp_%1", id));
if (UI::WidgetExists (rp_id)) {
- UI::ReplaceWidget (rp_id, GetLicenseContent (lic_lang, licenses));
+ UI::ReplaceWidget (rp_id, GetLicenseContent (lic_lang, licenses, id));
} else {
y2error ("No such widget: %1", rp_id);
}
@@ -784,8 +790,10 @@
string eula_id = nil;
foreach (string one_license_id, license_ids, {
- if (AcceptanceNeeded (one_license_id))
+ if (AcceptanceNeeded (one_license_id) != true) {
+ y2milestone ("License %1 does not need to be accepted", one_license_id);
return;
+ }
eula_id = sformat ("eula_%1", one_license_id);
if ((boolean) UI::WidgetExists (`id (eula_id)) != true) {
@@ -794,7 +802,10 @@
}
// All licenses have to be accepted
- if ((symbol) UI::QueryWidget(`id (eula_id), `CurrentButton) != `yes) {
+ string license_accepted = (string) UI::QueryWidget (`id (eula_id), `CurrentButton);
+ y2milestone ("License %1 accepted: %2", eula_id, license_accepted);
+
+ if (! regexpmatch (license_accepted, "^yes_")) {
accepted = false;
break;
}
@@ -816,9 +827,9 @@
y2error ("Widget %1 does not exist", eula_id);
}
- symbol current_button = (symbol) UI::QueryWidget(`id (eula_id), `CurrentButton);
+ string current_button = (string) UI::QueryWidget(`id (eula_id), `CurrentButton);
// license have to be accepted or declined
- if (current_button != `yes && current_button != `no) {
+ if (current_button == nil) {
y2warning ("License %1 hasn't been accepted or declined", eula_id);
ret = false;
break;
@@ -840,7 +851,7 @@
ret = `language;
// bugzilla #303828
// disabled next button unless yes/no is selected
- } else if (ret == `yes || ret == `no) {
+ } else if (is (ret, string) && (regexpmatch (tostring(ret), "^yes_") || regexpmatch (tostring(ret), "^no_"))) {
if (AllLicensesAcceptedOrDeclined())
Wizard::EnableNextButton();
}
@@ -1017,6 +1028,129 @@
return ret;
}
+/**
+ * Ask user to confirm license agreement
+ * @param src_id integer repository to get the license from.
+ * If set to 'nil', the license is considered to belong to a base product
+ * @param list <string> dirs - directories to look for the licenses
+ * @param patterns a list of patterns for the files, regular expressions
+ * with %1 for the language
+ * @param boolean enable_back sets the back_button status
+ * @param boolean base_product defines whether it is a base or add-on product
+ * true means base product, false add-on product
+ * @param require_agreement means that even if the license (or the very same license)
+ * has been already accepetd, ask user to accept it again (because of 'going back'
+ * in the installation proposal).
+ */
+global symbol AskLicensesAgreement (list <string> dirs,
+ list<string> patterns, string action, boolean enable_back,
+ boolean base_product, boolean require_agreement)
+{
+ if (dirs == nil || dirs == []) {
+ y2error ("No directories: %1", dirs);
+ // error message
+ Report::Error ("Internal Error: No license to show");
+ return `auto;
+ }
+
+ symbol init_ret = nil;
+
+ if (init_ret == `auto || init_ret == `accepted) {
+ y2milestone ("Returning %1", init_ret);
+ return init_ret;
+ }
+
+ boolean created_new_dialog = false;
+
+ // #459391
+ // If a progress is running open another dialog
+ if (Progress::IsRunning()) {
+ y2milestone ("Some progress is running, opening new dialog for license...");
+ Wizard::OpenNextBackDialog();
+ created_new_dialog = true;
+ }
+
+ // dialog caption
+ string caption = _("License Agreement");
+
+ list <string> license_idents = [];
+
+ // initial loop
+ symbol ret = nil;
+
+ list