Hello community, here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2013-05-27 10:13:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2 (Old) and /work/SRC/openSUSE:Factory/.yast2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2013-05-14 16:53:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2013-05-27 10:13:49.000000000 +0200 @@ -1,0 +2,14 @@ +Tue May 21 15:24:25 CEST 2013 - [email protected] + +- do not propose desktop kernel for minimal installation + (bnc#819335) +- 2.24.0 + +------------------------------------------------------------------- +Thu May 16 12:41:09 UTC 2013 - [email protected] + +- handle GPG keys in AutoUpgrade the same as in AutoYaST + (bnc#820166) +- 2.23.29 + +------------------------------------------------------------------- Old: ---- yast2-2.23.28.tar.bz2 New: ---- yast2-2.24.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2.spec ++++++ --- /var/tmp/diff_new_pack.7RDYHm/_old 2013-05-27 10:13:50.000000000 +0200 +++ /var/tmp/diff_new_pack.7RDYHm/_new 2013-05-27 10:13:50.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2 -Version: 2.23.28 +Version: 2.24.0 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-2.23.28.tar.bz2 -> yast2-2.24.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/VERSION new/yast2-2.24.0/VERSION --- old/yast2-2.23.28/VERSION 2013-05-14 13:56:37.000000000 +0200 +++ new/yast2-2.24.0/VERSION 2013-05-22 12:46:37.000000000 +0200 @@ -1 +1 @@ -2.23.28 +2.24.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/configure new/yast2-2.24.0/configure --- old/yast2-2.23.28/configure 2013-05-14 14:50:38.000000000 +0200 +++ new/yast2-2.24.0/configure 2013-05-22 12:46:48.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for yast2 2.23.28. +# Generated by GNU Autoconf 2.69 for yast2 2.24.0. # # Report bugs to <http://bugs.opensuse.org/>. # @@ -579,8 +579,8 @@ # Identity of this package. PACKAGE_NAME='yast2' PACKAGE_TARNAME='yast2' -PACKAGE_VERSION='2.23.28' -PACKAGE_STRING='yast2 2.23.28' +PACKAGE_VERSION='2.24.0' +PACKAGE_STRING='yast2 2.24.0' PACKAGE_BUGREPORT='http://bugs.opensuse.org/' PACKAGE_URL='' @@ -1250,7 +1250,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures yast2 2.23.28 to adapt to many kinds of systems. +\`configure' configures yast2 2.24.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1321,7 +1321,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of yast2 2.23.28:";; + short | recursive ) echo "Configuration of yast2 2.24.0:";; esac cat <<\_ACEOF @@ -1401,7 +1401,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -yast2 configure 2.23.28 +yast2 configure 2.24.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1418,7 +1418,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by yast2 $as_me 2.23.28, which was +It was created by yast2 $as_me 2.24.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2357,7 +2357,7 @@ # Define the identity of the package. PACKAGE='yast2' - VERSION='2.23.28' + VERSION='2.24.0' cat >>confdefs.h <<_ACEOF @@ -2480,7 +2480,7 @@ -VERSION="2.23.28" +VERSION="2.24.0" RPMNAME="yast2" MAINTAINER="YaST2 Maintainers <[email protected]>" @@ -3522,7 +3522,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by yast2 $as_me 2.23.28, which was +This file was extended by yast2 $as_me 2.24.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3575,7 +3575,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -yast2 config.status 2.23.28 +yast2 config.status 2.24.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/configure.in new/yast2-2.24.0/configure.in --- old/yast2-2.23.28/configure.in 2013-05-14 14:50:33.000000000 +0200 +++ new/yast2-2.24.0/configure.in 2013-05-22 12:46:45.000000000 +0200 @@ -3,7 +3,7 @@ dnl -- This file is generated by y2autoconf 2.24.0 - DO NOT EDIT! -- dnl (edit configure.in.in instead) -AC_INIT(yast2, 2.23.28, http://bugs.opensuse.org/, yast2) +AC_INIT(yast2, 2.24.0, http://bugs.opensuse.org/, yast2) 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.23.28" +VERSION="2.24.0" RPMNAME="yast2" MAINTAINER="YaST2 Maintainers <[email protected]>" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/library/modules/PackagesProposal.ycp new/yast2-2.24.0/library/modules/PackagesProposal.ycp --- old/yast2-2.23.28/library/modules/PackagesProposal.ycp 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-2.24.0/library/modules/PackagesProposal.ycp 2013-05-22 12:46:37.000000000 +0200 @@ -0,0 +1,355 @@ +/**************************************************************************** + +Copyright (c) 2002 - 2012 Novell, Inc. +All Rights Reserved. + +This program is free software; you can redistribute it and/or +modify it under the terms of version 2 of the GNU General Public License as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +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, contact Novell, Inc. + +To contact Novell about this file by physical or electronic mail, +you may find current contact information at www.novell.com + +****************************************************************************/ +/** + * File: PackagesProposal.ycp + * Package: Packages installation + * Summary: API for selecting or de-selecting packages for installation + * Authors: Lukas Ocilka <[email protected]> + * + * $Id$ + */ + +{ + /*** + * + * This module provides API for packages that want software + * proposal to select some resolvables for installation. + * Clients of this module identify themselves by their own + * unique ID, thus one client doesn't change other clients + * requirements. + * + * @example + * // No packages selected initially + * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); + * + * // Adding packages for ID_1 + * PackagesProposal::AddResolvables ("ID_1", `package, ["aa", "bb", "cc"]); + * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); + * + * // Adding packages for ID_2 + * // 'cc' is shared with ID_1 + * PackagesProposal::AddResolvables ("ID_2", `package, ["cc", "dd", "ee"]); + * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); + * + * // Get all packages required by ID_1 + * list <string> required_packages = PackagesProposal::GetResolvables ("ID_1", `package); + * y2internal ("Packages required by ID_1: %1", required_packages); + * + * // Removing all packages required by ID_1 + * PackagesProposal::RemoveResolvables ("ID_1", `package, required_packages); + * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); + * + * // Removing some packages required by ID_2 + * PackagesProposal::RemoveResolvables ("ID_2", `package, ["cc", "dd"]); + * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); + * + */ + + module "PackagesProposal"; + + textdomain "base"; + + /** + * @struct $[ + * "unique_ID" : $[ + * `package : [ "list", "of", "packages", "to", "install" ], + * `pattern : [ "list", "of", "patterns", "to", "install" ], + * ] + * ] + */ + map <string, map <symbol, list <string> > > resolvables_to_install = $[]; + + /** + * Resets all resolvables to install. Use carefully. + */ + global void ResetAll () { + if (resolvables_to_install != $[]) { + y2warning ("Reseting all PackagesProposal items"); + } else { + y2milestone ("Reseting all PackagesProposal items"); + } + + resolvables_to_install = $[]; + } + + /** + * List of currently supported types of resolvables + */ + list <symbol> supported_resolvables = [`package, `pattern]; + + /** + * Returns list of resolvables currently supported by this module. + * + * @example GetSupportedResolvables() -> [`package, `pattern, ... ] + * + * @return list <symbol> of resolvables + */ + global list <symbol> GetSupportedResolvables () { + return supported_resolvables; + } + + boolean IsSupportedResolvableType (symbol type) { + if (type == nil) { + y2error ("Wrong type: %1", type); + return false; + } + + return contains (supported_resolvables, type); + } + + /** + * Checks the currently created data structure and creates + * missing keys if needed. + * + * @param string unique_ID + * @param symbol type + */ + void CreateEmptyStructureIfMissing (string unique_ID, symbol type) { + if (! haskey (resolvables_to_install, unique_ID)) { + y2debug ("Creating '%1' key in resolvables_to_install", unique_ID); + resolvables_to_install[unique_ID] = $[]; + } + + if (! haskey (resolvables_to_install[unique_ID]:$[], type)) { + y2debug ("Creating '%1' key in resolvables_to_install[%2]", type, unique_ID); + resolvables_to_install[unique_ID, type] = []; + } + } + + /** + * Checks parameters for global functions + * + * @param string unique_ID + * @param symbol type + * @return boolean if parameters are correct + */ + boolean CheckParams (string unique_ID, symbol type) { + if (unique_ID == nil || unique_ID == "") { + y2error ("Unique ID cannot be: %1", unique_ID); + return false; + } + + if (! IsSupportedResolvableType (type)) { + y2error ("Not a supported type: %1, supported are only: %2", type, supported_resolvables); + return false; + } + + return true; + } + + /** + * Adds list of resolvables to pool that is then used by software proposal + * to propose a selection of resolvables to install. + * + * @param string unique_ID + * @param symbol resolvable type + * @param list <string> of resolvables to add for installation + * @return boolean whether successful + * + * @example + * AddResolvables ("y2_kdump", `package, ["yast2-kdump", "kdump"]) -> true + * // `not_supported is definitely not a supported resolvable + * AddResolvables ("test", `not_supported, ["bash"]) -> false + * + * @see supported_resolvables + * @see RemoveResolvables() + */ + global boolean AddResolvables (string unique_ID, symbol type, list <string> resolvables) { + if (! CheckParams (unique_ID, type)) + return false; + + CreateEmptyStructureIfMissing (unique_ID, type); + + if (resolvables == nil) { + y2warning ("Changing resolvables %1 to empty list", resolvables); + resolvables = []; + } + + y2milestone ("Adding resolvables %1 type %2 for %3", resolvables, type, unique_ID); + resolvables_to_install[unique_ID, type] = + (list <string>) union (resolvables_to_install[unique_ID, type]:[], resolvables); + + return true; + } + + /** + * Replaces the current resolvables with new ones. Similar to AddResolvables() + * but it replaces the list of resolvables instead of adding them to the pool. + * It always replaces only the part that is identified by the unique_ID. + * + * @param string unique_ID + * @param symbol resolvable type + * @param list <string> of resolvables to add for installation + * @return boolean whether successful + */ + global boolean SetResolvables (string unique_ID, symbol type, list <string> resolvables) { + if (! CheckParams (unique_ID, type)) + return false; + + CreateEmptyStructureIfMissing (unique_ID, type); + + if (resolvables == nil) { + y2warning ("Changing resolvables %1 to empty list", resolvables); + resolvables = []; + } + + y2milestone ("Adjusting resolvables %1 type %2 for %3", resolvables, type, unique_ID); + resolvables_to_install[unique_ID, type] = resolvables; + + return true; + } + + /** + * Removes list of packages from pool that is then used by software proposal + * to propose a selection of resolvables to install. + * + * @param string unique_ID + * @param symbol resolvable type + * @param list <string> of resolvables to remove from list selected for installation + * @return boolean whether successful + * + * @example + * RemoveResolvables ("y2_kdump", `package, ["kdump"]) -> true + * + * @see supported_resolvables + * @see AddResolvables() + */ + global boolean RemoveResolvables (string unique_ID, symbol type, list <string> resolvables) { + if (! CheckParams (unique_ID, type)) + return false; + + CreateEmptyStructureIfMissing (unique_ID, type); + + if (resolvables == nil) { + y2warning ("Changing resolvables %1 to empty list", resolvables); + resolvables = []; + } + + y2milestone ("Removing resolvables %1 type %2 for %3", resolvables, type, unique_ID); + resolvables_to_install[unique_ID, type] = filter (string one_resolvable, resolvables_to_install[unique_ID, type]:[], { + return ! contains (resolvables, one_resolvable); + }); + y2milestone ("Resolvables left: %1", resolvables_to_install[unique_ID, type]:[]); + + return true; + } + + /** + * Returns all resolvables selected for installation. + * + * @param string unique_ID + * @param symbol resolvable type + * @return list <string> of resolvables + * + * @example + * GetResolvables ("y2_kdump", `package) -> ["yast2-kdump", "kdump"] + */ + global list <string> GetResolvables (string unique_ID, symbol type) { + if (! CheckParams (unique_ID, type)) + return nil; + + return resolvables_to_install[unique_ID, type]:[]; + } + + /** + * Returns list of selected resolvables of a given type + * + * @param symbol resolvable type + * @return list <string> list of resolvables + * + * @example + * GetAllResolvables (`package) -> ["list", "of", "packages"] + * GetAllResolvables (`pattern) -> ["list", "of", "patterns"] + * // not a supported resolvable type + * GetAllResolvables (`unknown) -> nil + * + * @see supported_resolvables + */ + global list <string> GetAllResolvables (symbol type) { + if (! IsSupportedResolvableType (type)) { + y2error ("Not a supported type: %1, supported are only: %2", type, supported_resolvables); + return nil; + } + + list <string> ret = []; + + foreach (string unique_ID, map <symbol, list <string> > resolvables, resolvables_to_install, { + if (haskey (resolvables, type)) { + ret = sort ((list <string>) union (ret, resolvables[type]:[])); + } + }); + + return ret; + } + + /** + * Returns all selected resolvables for all supported types + * + * @return map <symbol, list <string> > map of resolvables + * @struct $[ + * `resolvable_type : [ "list", "of", "resolvables" ], + * `another_type : [ "list", "of", "resolvables" ], + * ] + * + * @example + * // No resolvables selected + * GetAllResolvablesForAllTypes() -> $[] + * // Only patterns selected + * GetAllResolvablesForAllTypes() -> $[`pattern : ["some", "patterns"]] + * // Also packages selected + * GetAllResolvablesForAllTypes() -> $[ + * `pattern : ["some", "patterns"], + * `package : ["some", "packages"], + * ] + */ + global map <symbol, list <string> > GetAllResolvablesForAllTypes () { + map <symbol, list <string> > ret = $[]; + list <string> resolvables = []; + + foreach (symbol one_type, GetSupportedResolvables(), { + resolvables = GetAllResolvables (one_type); + + if (resolvables != nil && resolvables != []) { + ret[one_type] = resolvables; + } + }); + + return ret; + } + + /** + * Return whether a unique ID is already in use. + * + * @param string unique_ID to check + * @return boolean whether the ID is not in use yet + */ + global boolean IsUniqueID (string unique_ID) { + if (unique_ID == nil || unique_ID == "") { + y2error ("Unique ID cannot be: %1", unique_ID); + return nil; + } + + return ! haskey (resolvables_to_install, unique_ID); + } + +/* EOF */ +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/library/modules/Version.ycp new/yast2-2.24.0/library/modules/Version.ycp --- old/yast2-2.23.28/library/modules/Version.ycp 2013-05-14 14:50:45.000000000 +0200 +++ new/yast2-2.24.0/library/modules/Version.ycp 2013-05-22 12:46:55.000000000 +0200 @@ -20,7 +20,7 @@ /** * Version of the yast2 package */ -global string yast2 = "2.23.28"; +global string yast2 = "2.24.0"; /* EOF */ } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/library/packages/src/PackageCallbacks.ycp new/yast2-2.24.0/library/packages/src/PackageCallbacks.ycp --- old/yast2-2.23.28/library/packages/src/PackageCallbacks.ycp 2013-05-02 12:21:35.000000000 +0200 +++ new/yast2-2.24.0/library/packages/src/PackageCallbacks.ycp 2013-05-17 11:06:37.000000000 +0200 @@ -2930,7 +2930,8 @@ // @see bugzilla #183821 // Do not register these callbacks in case of AutoInstallation - if (Mode::autoinst() != true) { + // And for AutoUpgrade neither (bnc#820166) + if (!(Mode::autoinst() || Mode::autoupgrade())) { // Signature-related callbacks Pkg::CallbackAcceptUnsignedFile (SignatureCheckCallbacks::AcceptUnsignedFile); Pkg::CallbackAcceptUnknownGpgKey (SignatureCheckCallbacks::AcceptUnknownGpgKey); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/library/packages/src/PackagesProposal.ycp new/yast2-2.24.0/library/packages/src/PackagesProposal.ycp --- old/yast2-2.23.28/library/packages/src/PackagesProposal.ycp 2013-01-22 12:22:06.000000000 +0100 +++ new/yast2-2.24.0/library/packages/src/PackagesProposal.ycp 1970-01-01 01:00:00.000000000 +0100 @@ -1,355 +0,0 @@ -/**************************************************************************** - -Copyright (c) 2002 - 2012 Novell, Inc. -All Rights Reserved. - -This program is free software; you can redistribute it and/or -modify it under the terms of version 2 of the GNU General Public License as -published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -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, contact Novell, Inc. - -To contact Novell about this file by physical or electronic mail, -you may find current contact information at www.novell.com - -****************************************************************************/ -/** - * File: PackagesProposal.ycp - * Package: Packages installation - * Summary: API for selecting or de-selecting packages for installation - * Authors: Lukas Ocilka <[email protected]> - * - * $Id$ - */ - -{ - /*** - * - * This module provides API for packages that want software - * proposal to select some resolvables for installation. - * Clients of this module identify themselves by their own - * unique ID, thus one client doesn't change other clients - * requirements. - * - * @example - * // No packages selected initially - * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); - * - * // Adding packages for ID_1 - * PackagesProposal::AddResolvables ("ID_1", `package, ["aa", "bb", "cc"]); - * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); - * - * // Adding packages for ID_2 - * // 'cc' is shared with ID_1 - * PackagesProposal::AddResolvables ("ID_2", `package, ["cc", "dd", "ee"]); - * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); - * - * // Get all packages required by ID_1 - * list <string> required_packages = PackagesProposal::GetResolvables ("ID_1", `package); - * y2internal ("Packages required by ID_1: %1", required_packages); - * - * // Removing all packages required by ID_1 - * PackagesProposal::RemoveResolvables ("ID_1", `package, required_packages); - * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); - * - * // Removing some packages required by ID_2 - * PackagesProposal::RemoveResolvables ("ID_2", `package, ["cc", "dd"]); - * y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); - * - */ - - module "PackagesProposal"; - - textdomain "base"; - - /** - * @struct $[ - * "unique_ID" : $[ - * `package : [ "list", "of", "packages", "to", "install" ], - * `pattern : [ "list", "of", "patterns", "to", "install" ], - * ] - * ] - */ - map <string, map <symbol, list <string> > > resolvables_to_install = $[]; - - /** - * Resets all resolvables to install. Use carefully. - */ - global void ResetAll () { - if (resolvables_to_install != $[]) { - y2warning ("Reseting all PackagesProposal items"); - } else { - y2milestone ("Reseting all PackagesProposal items"); - } - - resolvables_to_install = $[]; - } - - /** - * List of currently supported types of resolvables - */ - list <symbol> supported_resolvables = [`package, `pattern]; - - /** - * Returns list of resolvables currently supported by this module. - * - * @example GetSupportedResolvables() -> [`package, `pattern, ... ] - * - * @return list <symbol> of resolvables - */ - global list <symbol> GetSupportedResolvables () { - return supported_resolvables; - } - - boolean IsSupportedResolvableType (symbol type) { - if (type == nil) { - y2error ("Wrong type: %1", type); - return false; - } - - return contains (supported_resolvables, type); - } - - /** - * Checks the currently created data structure and creates - * missing keys if needed. - * - * @param string unique_ID - * @param symbol type - */ - void CreateEmptyStructureIfMissing (string unique_ID, symbol type) { - if (! haskey (resolvables_to_install, unique_ID)) { - y2debug ("Creating '%1' key in resolvables_to_install", unique_ID); - resolvables_to_install[unique_ID] = $[]; - } - - if (! haskey (resolvables_to_install[unique_ID]:$[], type)) { - y2debug ("Creating '%1' key in resolvables_to_install[%2]", type, unique_ID); - resolvables_to_install[unique_ID, type] = []; - } - } - - /** - * Checks parameters for global functions - * - * @param string unique_ID - * @param symbol type - * @return boolean if parameters are correct - */ - boolean CheckParams (string unique_ID, symbol type) { - if (unique_ID == nil || unique_ID == "") { - y2error ("Unique ID cannot be: %1", unique_ID); - return false; - } - - if (! IsSupportedResolvableType (type)) { - y2error ("Not a supported type: %1, supported are only: %2", type, supported_resolvables); - return false; - } - - return true; - } - - /** - * Adds list of resolvables to pool that is then used by software proposal - * to propose a selection of resolvables to install. - * - * @param string unique_ID - * @param symbol resolvable type - * @param list <string> of resolvables to add for installation - * @return boolean whether successful - * - * @example - * AddResolvables ("y2_kdump", `package, ["yast2-kdump", "kdump"]) -> true - * // `not_supported is definitely not a supported resolvable - * AddResolvables ("test", `not_supported, ["bash"]) -> false - * - * @see supported_resolvables - * @see RemoveResolvables() - */ - global boolean AddResolvables (string unique_ID, symbol type, list <string> resolvables) { - if (! CheckParams (unique_ID, type)) - return false; - - CreateEmptyStructureIfMissing (unique_ID, type); - - if (resolvables == nil) { - y2warning ("Changing resolvables %1 to empty list", resolvables); - resolvables = []; - } - - y2milestone ("Adding resolvables %1 type %2 for %3", resolvables, type, unique_ID); - resolvables_to_install[unique_ID, type] = - (list <string>) union (resolvables_to_install[unique_ID, type]:[], resolvables); - - return true; - } - - /** - * Replaces the current resolvables with new ones. Similar to AddResolvables() - * but it replaces the list of resolvables instead of adding them to the pool. - * It always replaces only the part that is identified by the unique_ID. - * - * @param string unique_ID - * @param symbol resolvable type - * @param list <string> of resolvables to add for installation - * @return boolean whether successful - */ - global boolean SetResolvables (string unique_ID, symbol type, list <string> resolvables) { - if (! CheckParams (unique_ID, type)) - return false; - - CreateEmptyStructureIfMissing (unique_ID, type); - - if (resolvables == nil) { - y2warning ("Changing resolvables %1 to empty list", resolvables); - resolvables = []; - } - - y2milestone ("Adjusting resolvables %1 type %2 for %3", resolvables, type, unique_ID); - resolvables_to_install[unique_ID, type] = resolvables; - - return true; - } - - /** - * Removes list of packages from pool that is then used by software proposal - * to propose a selection of resolvables to install. - * - * @param string unique_ID - * @param symbol resolvable type - * @param list <string> of resolvables to remove from list selected for installation - * @return boolean whether successful - * - * @example - * RemoveResolvables ("y2_kdump", `package, ["kdump"]) -> true - * - * @see supported_resolvables - * @see AddResolvables() - */ - global boolean RemoveResolvables (string unique_ID, symbol type, list <string> resolvables) { - if (! CheckParams (unique_ID, type)) - return false; - - CreateEmptyStructureIfMissing (unique_ID, type); - - if (resolvables == nil) { - y2warning ("Changing resolvables %1 to empty list", resolvables); - resolvables = []; - } - - y2milestone ("Removing resolvables %1 type %2 for %3", resolvables, type, unique_ID); - resolvables_to_install[unique_ID, type] = filter (string one_resolvable, resolvables_to_install[unique_ID, type]:[], { - return ! contains (resolvables, one_resolvable); - }); - y2milestone ("Resolvables left: %1", resolvables_to_install[unique_ID, type]:[]); - - return true; - } - - /** - * Returns all resolvables selected for installation. - * - * @param string unique_ID - * @param symbol resolvable type - * @return list <string> of resolvables - * - * @example - * GetResolvables ("y2_kdump", `package) -> ["yast2-kdump", "kdump"] - */ - global list <string> GetResolvables (string unique_ID, symbol type) { - if (! CheckParams (unique_ID, type)) - return nil; - - return resolvables_to_install[unique_ID, type]:[]; - } - - /** - * Returns list of selected resolvables of a given type - * - * @param symbol resolvable type - * @return list <string> list of resolvables - * - * @example - * GetAllResolvables (`package) -> ["list", "of", "packages"] - * GetAllResolvables (`pattern) -> ["list", "of", "patterns"] - * // not a supported resolvable type - * GetAllResolvables (`unknown) -> nil - * - * @see supported_resolvables - */ - global list <string> GetAllResolvables (symbol type) { - if (! IsSupportedResolvableType (type)) { - y2error ("Not a supported type: %1, supported are only: %2", type, supported_resolvables); - return nil; - } - - list <string> ret = []; - - foreach (string unique_ID, map <symbol, list <string> > resolvables, resolvables_to_install, { - if (haskey (resolvables, type)) { - ret = sort ((list <string>) union (ret, resolvables[type]:[])); - } - }); - - return ret; - } - - /** - * Returns all selected resolvables for all supported types - * - * @return map <symbol, list <string> > map of resolvables - * @struct $[ - * `resolvable_type : [ "list", "of", "resolvables" ], - * `another_type : [ "list", "of", "resolvables" ], - * ] - * - * @example - * // No resolvables selected - * GetAllResolvablesForAllTypes() -> $[] - * // Only patterns selected - * GetAllResolvablesForAllTypes() -> $[`pattern : ["some", "patterns"]] - * // Also packages selected - * GetAllResolvablesForAllTypes() -> $[ - * `pattern : ["some", "patterns"], - * `package : ["some", "packages"], - * ] - */ - global map <symbol, list <string> > GetAllResolvablesForAllTypes () { - map <symbol, list <string> > ret = $[]; - list <string> resolvables = []; - - foreach (symbol one_type, GetSupportedResolvables(), { - resolvables = GetAllResolvables (one_type); - - if (resolvables != nil && resolvables != []) { - ret[one_type] = resolvables; - } - }); - - return ret; - } - - /** - * Return whether a unique ID is already in use. - * - * @param string unique_ID to check - * @return boolean whether the ID is not in use yet - */ - global boolean IsUniqueID (string unique_ID) { - if (unique_ID == nil || unique_ID == "") { - y2error ("Unique ID cannot be: %1", unique_ID); - return nil; - } - - return ! haskey (resolvables_to_install, unique_ID); - } - -/* EOF */ -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.23.28/library/system/src/Kernel.ycp new/yast2-2.24.0/library/system/src/Kernel.ycp --- old/yast2-2.23.28/library/system/src/Kernel.ycp 2013-01-22 12:22:06.000000000 +0100 +++ new/yast2-2.24.0/library/system/src/Kernel.ycp 2013-05-22 12:46:37.000000000 +0200 @@ -41,6 +41,7 @@ import "Arch"; import "Mode"; import "Linuxrc"; + import "PackagesProposal"; import "Popup"; import "Stage"; @@ -363,7 +364,16 @@ cmdLine = new_cmd_line; } +/** + * Simple check any graphical desktop was selected + */ +boolean IsGraphicalDesktop () { + // Get patterns set for installation during desktop selection + // (see DefaultDesktop::packages_proposal_ID_patterns for the first argument) + list<string> pt = PackagesProposal::GetResolvables ("DefaultDesktopPatterns", `pattern); + return contains (pt, "x11"); +} //--------------------------------------------------------------- @@ -427,7 +437,7 @@ if ((memsize >= fourGB || contains (cpuflags, "nx")) && contains (cpuflags, "pae")) { y2milestone ("Kernel switch: PAE detected"); - if (kernel_desktop_exists && true) { // FIXME: check whether it is really desktop + if (kernel_desktop_exists && IsGraphicalDesktop ()) { kernel_packages = ["kernel-desktop"]; // add PV drivers @@ -461,7 +471,7 @@ } else if (Arch::x86_64()) { - if (kernel_desktop_exists && true) { // FIXME: detect desktop + if (kernel_desktop_exists && IsGraphicalDesktop ()) { kernel_packages = ["kernel-desktop"]; if (xen) { -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
