Hello community,
here is the log from the commit of package yast2-printer
checked in at Fri Oct 24 15:35:22 CEST 2008.
--------
--- yast2-printer/yast2-printer.changes 2008-10-23 17:35:44.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-printer/yast2-printer.changes 2008-10-24 12:13:47.692841000 +0200
@@ -1,0 +2,9 @@
+Fri Oct 24 12:03:52 CEST 2008 - jsmeix@suse.de
+
+- Fixed some bugs in the Add Driver dialog.
+ In particular regarding the HPLIP packages
+ (hplip + hplip-hpijs versus hpijs-standalone).
+ Added driver package ghostscript-omni.
+- 2.17.27
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-printer-2.17.26.tar.bz2
New:
----
yast2-printer-2.17.27.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-printer.spec ++++++
--- /var/tmp/diff_new_pack.ca2730/_old 2008-10-24 15:35:10.000000000 +0200
+++ /var/tmp/diff_new_pack.ca2730/_new 2008-10-24 15:35:10.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-printer (Version 2.17.26)
+# spec file for package yast2-printer (Version 2.17.27)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -20,12 +20,12 @@
Url: http://en.opensuse.org/YaST/Modules/Printer
Name: yast2-printer
-Version: 2.17.26
+Version: 2.17.27
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-printer-2.17.26.tar.bz2
+Source0: yast2-printer-2.17.27.tar.bz2
Prefix: /usr
BuildRequires: cups-devel update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-testsuite
Recommends: netcat
@@ -64,7 +64,7 @@
Michal Zugec
%prep
-%setup -n yast2-printer-2.17.26
+%setup -n yast2-printer-2.17.27
%build
%{prefix}/bin/y2tool y2autoconf
@@ -118,6 +118,12 @@
%exclude %{prefix}/share/doc/packages/yast2-printer/COPYING
%exclude %{prefix}/share/doc/packages/yast2-printer/README
%changelog
+* Fri Oct 24 2008 jsmeix@suse.de
+- Fixed some bugs in the Add Driver dialog.
+ In particular regarding the HPLIP packages
+ (hplip + hplip-hpijs versus hpijs-standalone).
+ Added driver package ghostscript-omni.
+- 2.17.27
* Thu Oct 23 2008 jsmeix@suse.de
- The Add Driver dialog should now work basically.
- 2.17.26
++++++ yast2-printer-2.17.26.tar.bz2 -> yast2-printer-2.17.27.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.26/configure new/yast2-printer-2.17.27/configure
--- old/yast2-printer-2.17.26/configure 2008-10-23 17:28:03.000000000 +0200
+++ new/yast2-printer-2.17.27/configure 2008-10-24 12:07:36.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-printer 2.17.26.
+# Generated by GNU Autoconf 2.61 for yast2-printer 2.17.27.
#
# Report bugs to http://bugs.opensuse.org/.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-printer'
PACKAGE_TARNAME='yast2-printer'
-PACKAGE_VERSION='2.17.26'
-PACKAGE_STRING='yast2-printer 2.17.26'
+PACKAGE_VERSION='2.17.27'
+PACKAGE_STRING='yast2-printer 2.17.27'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1197,7 +1197,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-printer 2.17.26 to adapt to many kinds of systems.
+\`configure' configures yast2-printer 2.17.27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1268,7 +1268,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-printer 2.17.26:";;
+ short | recursive ) echo "Configuration of yast2-printer 2.17.27:";;
esac
cat <<\_ACEOF
@@ -1346,7 +1346,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-printer configure 2.17.26
+yast2-printer configure 2.17.27
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1360,7 +1360,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-printer $as_me 2.17.26, which was
+It was created by yast2-printer $as_me 2.17.27, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2181,7 +2181,7 @@
# Define the identity of the package.
PACKAGE='yast2-printer'
- VERSION='2.17.26'
+ VERSION='2.17.27'
cat >>confdefs.h <<_ACEOF
@@ -2409,7 +2409,7 @@
-VERSION="2.17.26"
+VERSION="2.17.27"
RPMNAME="yast2-printer"
MAINTAINER="Michal Zugec "
@@ -3304,7 +3304,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-printer $as_me 2.17.26, which was
+This file was extended by yast2-printer $as_me 2.17.27, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3347,7 +3347,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-printer config.status 2.17.26
+yast2-printer config.status 2.17.27
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.26/configure.in new/yast2-printer-2.17.27/configure.in
--- old/yast2-printer-2.17.26/configure.in 2008-10-23 17:27:55.000000000 +0200
+++ new/yast2-printer-2.17.27/configure.in 2008-10-24 12:07:30.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.16.7 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-printer, 2.17.26, http://bugs.opensuse.org/, yast2-printer)
+AC_INIT(yast2-printer, 2.17.27, http://bugs.opensuse.org/, yast2-printer)
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.17.26"
+VERSION="2.17.27"
RPMNAME="yast2-printer"
MAINTAINER="Michal Zugec "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.26/src/driveradd.ycp new/yast2-printer-2.17.27/src/driveradd.ycp
--- old/yast2-printer-2.17.26/src/driveradd.ycp 2008-10-23 17:14:15.000000000 +0200
+++ new/yast2-printer-2.17.27/src/driveradd.ycp 2008-10-24 11:24:45.000000000 +0200
@@ -50,7 +50,9 @@
boolean gutenprint_installed = Printerlib::TestAndInstallPackage( "gutenprint", "installed" );
boolean hplip_installed = Printerlib::TestAndInstallPackage( "hplip", "installed" );
boolean manufacturer_PPDs_installed = Printerlib::TestAndInstallPackage( "manufacturer-PPDs", "installed" );
+ boolean ghostscript_omni_installed = Printerlib::TestAndInstallPackage( "ghostscript-omni", "installed" );
boolean filters_installed = Printerlib::TestAndInstallPackage( "filters", "installed" );
+ y2milestone( "entering AddDriverDialog with cups_drivers_installed:'%1' gutenprint_installed:'%2' hplip_installed:'%3' manufacturer_PPDs_installed:'%4' ghostscript_omni_installed:'%5' filters_installed:'%6'", cups_drivers_installed, gutenprint_installed, hplip_installed, manufacturer_PPDs_installed, ghostscript_omni_installed, filters_installed );
term contents = `VBox
( `VStretch(),
`Left
@@ -58,7 +60,7 @@
( `id("driver_packages_label"),
// Header for a dialog section where the user can
// add or remove printer driver packages:
- _("Add or Remove Printer Driver Packages")
+ _("Install or Remove Printer Driver Packages")
)
),
`HBox
@@ -70,7 +72,7 @@
// CheckBox to select or un-select the printer driver package cups-drivers.
// There is no need to have the package name "cups-drivers" in this text
// because it is shown in a separated column to the left of this text.
- "&cups-drivers: " + _("Various Standard Drivers"),
+ "&cups-drivers : " + _("Various Standard Drivers"),
cups_drivers_installed
)
),
@@ -82,17 +84,17 @@
// because it is shown in a separated column to the left of this text.
// Do not change or translate "Gutenprint", it is a open source project name.
// Do not change or translate "Gimp-Print", it is a open source project name.
- "&gutenprint: " + _("Gutenprint/Gimp-Print Driver"),
+ "&gutenprint : " + _("Gutenprint/Gimp-Print Driver"),
gutenprint_installed
)
),
`Left
( `CheckBox
( `id("hplip"),
- // CheckBox to select or un-select the printer driver package hplip.
- // There is no need to have the package name "hplip" in this text
- // because it is shown in a separated column to the left of this text.
- "&hplip: " + _("Driver for HP Printers and All-in-One Devices"),
+ // CheckBox to select or un-select the printer driver packages hplip and hplip-hpijs.
+ // There is no need to have the package names "hplip" and "hplip-hpijs" in this text
+ // because they are shown in a separated column to the left of this text.
+ "&hplip + hplip-hpijs : " + _("Driver for HP Printers and All-in-One Devices"),
hplip_installed
)
),
@@ -102,17 +104,29 @@
// CheckBox to select or un-select the printer driver package manufacturer-PPDs.
// There is no need to have the package name "manufacturer-PPDs" in this text
// because it is shown in a separated column to the left of this text.
- "&manufacturer-PPDs: " + _("Various PPD Files for PostScript printers"),
+ "&manufacturer-PPDs : " + _("Printer Description Files for PostScript Printers"),
manufacturer_PPDs_installed
)
),
`Left
( `CheckBox
+ ( `id("ghostscript-omni"),
+ // CheckBox to select or un-select the printer driver package ghostscript-omni.
+ // There is no need to have the package name "ghostscript-omni" in this text
+ // because it is shown in a separated column to the left of this text.
+ "ghostscript-&omni : " + _("The Omni Printer Driver (Unmaintained)"),
+ ghostscript_omni_installed
+ )
+ ),
+ `Left
+ ( `CheckBox
( `id("filters"),
- // CheckBox to select or un-select the printer driver package filters.
+ // CheckBox to select or un-select the printer driver package filters
+ // which provides some makeshift drivers only for a few of the
+ // non-standard printers (the so called "GDI printers").
// There is no need to have the package name "filters" in this text
// because it is shown in a separated column to the left of this text.
- "&filters: " + _("Makeshift Drivers for a Few Particular Printer Models"),
+ "&filters : " + _("Makeshift Drivers for a Few Non-Standard (GDI) Printers"),
filters_installed
)
)
@@ -123,8 +137,9 @@
( `Label
( `id("ppd_path_label"),
// Header for a dialog section where the user can
- // add a printer description file (PPD file):
- _("Add a Printer Description File")
+ // make a printer description file (PPD file) available
+ // so that it can be used to set up a print queue with it:
+ _("Make a Printer Description File Available")
)
),
`HBox
@@ -133,7 +148,7 @@
( `TextEntry
( `id("ppd_path_input"),
// TextEntry to specify the full path of a PPD file:
- _("Specify the full &path where the printer description file is located:")
+ _("&Printer description file name with full path where it is located")
)
)
),
@@ -159,6 +174,7 @@
boolean gutenprint_install = (boolean)UI::QueryWidget( `id("gutenprint"), `Value );
boolean hplip_install = (boolean)UI::QueryWidget( `id("hplip"), `Value );
boolean manufacturer_PPDs_install = (boolean)UI::QueryWidget( `id("manufacturer-PPDs"), `Value );
+ boolean ghostscript_omni_install = (boolean)UI::QueryWidget( `id("ghostscript-omni"), `Value );
boolean filters_install = (boolean)UI::QueryWidget( `id("filters"), `Value );
string ppd_path_input_value = (string)UI::QueryWidget( `id("ppd_path_input"), `Value );
// Ignore an effectively empty ppd_path_input_value:
@@ -166,10 +182,19 @@
&& gutenprint_install == gutenprint_installed
&& hplip_install == hplip_installed
&& manufacturer_PPDs_install == manufacturer_PPDs_installed
+ && ghostscript_omni_install == ghostscript_omni_installed
&& filters_install == filters_installed
&& "" == filterchars( ppd_path_input_value, Printer::alnum_chars )
)
- { // Nothing changed. Exit this dialog:
+ { y2milestone( "Nothing changed in AddDriverDialog." );
+ Popup::ShowFeedback( // No title for such a simple feedback message:
+ "",
+ // Message of a Popup::ShowFeedback when nothing was changed:
+ _("Nothing changed.")
+ );
+ sleep( 1000 );
+ Popup::ClearFeedback();
+ // Exit this dialog:
break;
}
Wizard::DisableBackButton();
@@ -188,6 +213,13 @@
// and because the maximum amount is only 5 packages,
// I prefer currently to run the package manager
// well separated for each individual package.
+ // Furthermore I do not want to run into whatever complicated issues
+ // when I would let the package manager install several packages at once
+ // but one package is not avaialble in the repository to be installed.
+ // For example on a host without Internet access when whatever rarely used
+ // drivers (e.g. ghostscript-omni or filters) or too-big drivers (e.g. hplip)
+ // are not provided on whatever media for whatever product
+ // (e.g. our Live CD or a stripped DVD/CD in whatever magazine).
boolean package_changed = false;
if( cups_drivers_install != cups_drivers_installed )
{ if( cups_drivers_install )
@@ -215,13 +247,70 @@
}
if( hplip_install != hplip_installed )
{ if( hplip_install )
- { if( Printerlib::TestAndInstallPackage( "hplip", "install" ) )
+ { // When hpijs-standalone is installed, it must be removed first of all
+ // because hpijs-standalone conflicts with hplip-hpijs which is required by hplip.
+ if( Printerlib::TestAndInstallPackage( "hpijs-standalone", "installed" ) )
+ { Printerlib::TestAndInstallPackage( "hpijs-standalone", "remove" );
+ }
+ if( Printerlib::TestAndInstallPackage( "hplip", "install" ) )
{ package_changed = true;
}
+ else
+ { // We are here either when the user has rejected to install hplip
+ // or if the installation of hplip has actually failed.
+ // Installation of hplip may have failed because
+ // an old hplip-hpijs may have been still installed
+ // (hplip requires the exact matching hplip-hpijs version).
+ // Therefore here a special error handling if hplip-hpijs is installed.
+ // This special error handling would be also done when hplip-hpijs is installed
+ // and the user has rejected to install hplip but in this very special case
+ // the user just needs to continue to reject all the stuff to get out
+ // without any changes in his installed packages.
+ // Unfortunately even PackageSystem::CheckAndInstallPackagesInteractive(["hplip"])
+ // does neither show a useful error message why an installation failed to the user
+ // (the SATResolver reports the problems and solutions perfectly in y2log)
+ // nor does it let the user do any useful error handling
+ // (it does not let the user choose one of the solutions of the SATResolver)
+ // except a blind and trivial "continue" or "cancel".
+ // It even exits with true if the user decided to "continue" in case of an error
+ // so that the caller cannot distinguish easily if it was a successful installation
+ // or if the installation failed but the user decided to "continue" nevertheless.
+ // Therefore PackageSystem::CheckAndInstallPackagesInteractive(["hplip"])
+ // is totally useless for me here and therefore I implement some
+ // best guess and best effort error handling here on my own.
+ if( Printerlib::TestAndInstallPackage( "hplip-hpijs", "installed" ) )
+ { if( Printerlib::TestAndInstallPackage( "hplip-hpijs", "remove" ) )
+ { // Try again to install hplip only if hplip-hpijs was actually removed.
+ if( Printerlib::TestAndInstallPackage( "hplip", "install" ) )
+ { package_changed = true;
+ }
+ else
+ { // Very special error handling:
+ // For whatever reason hpijs-standalone becomes installed on openSUSE 11.0
+ // by whatever magic automatically after hplip-hpijs was removed
+ // but hpijs-standalone conflicts with hplip-hpijs which is required by hplip.
+ if( Printerlib::TestAndInstallPackage( "hpijs-standalone", "installed" ) )
+ { if( Printerlib::TestAndInstallPackage( "hpijs-standalone", "remove" ) )
+ { // Try again to install hplip only if hpijs-standalone was actually removed.
+ if( Printerlib::TestAndInstallPackage( "hplip", "install" ) )
+ { package_changed = true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
else
{ if( Printerlib::TestAndInstallPackage( "hplip", "remove" ) )
{ package_changed = true;
+ // The user is free to decide to keep hplip-hpijs installed
+ // because hplip-hpijs contains only the hpijs binary and required libraries
+ // but all the rest (in particular the PPDs and the hp backend) is in hplip
+ // so that after hplip was removed neither a "hp:/" DeviceURI is autodetected
+ // nor a hplip/hpijs driver description exists.
+ Printerlib::TestAndInstallPackage( "hplip-hpijs", "remove" );
}
}
}
@@ -237,6 +326,18 @@
}
}
}
+ if( ghostscript_omni_install != ghostscript_omni_installed )
+ { if( ghostscript_omni_install )
+ { if( Printerlib::TestAndInstallPackage( "ghostscript-omni", "install" ) )
+ { package_changed = true;
+ }
+ }
+ else
+ { if( Printerlib::TestAndInstallPackage( "ghostscript-omni", "remove" ) )
+ { package_changed = true;
+ }
+ }
+ }
if( filters_install != filters_installed )
{ if( filters_install )
{ if( Printerlib::TestAndInstallPackage( "filters", "install" ) )
@@ -253,12 +354,24 @@
// enforce that the BasicAddDialog and/or the BasicModifyDialog
// (only form those dialogs this AddDriverDialog can be called)
// do re-retrieve the driver information anew from the system.
- // Both the BasicAddDialog and the BasicModifyDialog call Printer::DriverItems
+ // Both the BasicAddDialog and the BasicModifyDialog are re-launched
+ // via the sequencer when this AddDriverDialog has finished
+ // so that BasicAddDialog and BasicModifyDialog call Printer::DriverItems anew
// and this calls Printer::CreateDatabase when the ppds list is empty.
// It would not be more failsafe not to clear the ppds list here
// because Printer::CreateDatabase overwrites it in any case.
+ // If driver packages were actually changed (the user may have rejected it),
+ // CUPS backends could have been added or removed (in particular the "hp" backend)
+ // so that printer autodetection must also be re-done.
+ // Both the BasicAddDialog and the BasicModifyDialog are re-launched
+ // via the sequencer when this AddDriverDialog has finished
+ // so that BasicAddDialog and BasicModifyDialog call Printer::ConnectionItems anew
+ // and this calls Printer::AutodetectPrinters when the connections list is empty.
+ // It would not be more failsafe not to clear the connections list here
+ // because Printer::AutodetectPrinters overwrites it in any case.
if( package_changed )
{ Printer::ppds = [];
+ Printer::connections = [];
}
// Ignore an effectively empty ppd_path_input_value:
if( "" != filterchars( ppd_path_input_value, Printer::alnum_chars ) )
@@ -285,7 +398,7 @@
_("Use the printer description file regardless of its errors?"),
// Body of a Popup::ContinueCancelHeadline
// when PPD file is not in compliance:
- _("A non-compliant printer description file can lead to any printing failure.")
+ _("A non-compliant printer description file can lead to arbitrary failures.")
)
)
{ // The user has decided not to continue:
@@ -294,7 +407,7 @@
}
if( ! Printerlib::ExecuteBashCommand( "test -d /usr/share/cups/model/downloaded || mkdir /usr/share/cups/model/downloaded ; cp '" + ppd_path_input_value + "' /usr/share/cups/model/downloaded" ) )
{ Popup::ErrorDetails( // Popup::ErrorDetails message:
- _("Failed to add the printer description file"),
+ _("Failed make the printer description file available"),
Printerlib::result["stderr"]:""
);
// Simply exit this dialog because it does not make sense to proceed here
@@ -315,6 +428,7 @@
Wizard::EnableBackButton();
Wizard::EnableAbortButton();
Wizard::EnableNextButton();
+ y2milestone( "leaving AddDriverDialog" );
return ret;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.26/src/helps.ycp new/yast2-printer-2.17.27/src/helps.ycp
--- old/yast2-printer-2.17.26/src/helps.ycp 2008-10-23 15:15:14.000000000 +0200
+++ new/yast2-printer-2.17.27/src/helps.ycp 2008-10-23 17:42:32.000000000 +0200
@@ -263,7 +263,7 @@
Therefore you can specify the full path of a PPD file
which is located elsewhere on your system to get it installed
in the /usr/share/cups/model/ directory.<br>
-Note that a printer description file file is not a driver.<br>
+Note that a printer description file is not a driver.<br>
For non-PostScript printers the PPD file alone is
not sufficient to set up a working printer configuration.
In particular it does not work for non-PostScript printers
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.26/src/Printerlib.ycp new/yast2-printer-2.17.27/src/Printerlib.ycp
--- old/yast2-printer-2.17.26/src/Printerlib.ycp 2008-10-23 14:36:00.000000000 +0200
+++ new/yast2-printer-2.17.27/src/Printerlib.ycp 2008-10-24 11:56:56.000000000 +0200
@@ -77,7 +77,7 @@
}
/**
- * Test whether the package is installed (Package::Installed) or
+ * Test whether the package is installed (calls 'rpm -q package_name') or
* test whether the package is available to be installed (Package::Available)
* and if yes then install it (Package::Install) if it is not yet installed or
* remove the package (Package::Remove) if it is installed.
@@ -87,14 +87,23 @@
*/
global boolean TestAndInstallPackage( string package_name, string action )
{ y2milestone( "TestAndInstallPackage '%1' with action '%2'", package_name, action );
+ // Intentionally Package::Installed(package_name) is not used here
+ // because it does 'rpm -q' and if this fails 'rpm -q --whatprovides'
+ // but I am only interested in real package names here.
if( "installed" == action )
- { if( ! Package::Installed( package_name ) )
- { return false;
+ { if( ExecuteBashCommand( "rpm -q '" + package_name + "'" ) )
+ { y2milestone( "package '%1' is installed", result["stdout"]:package_name );
+ return true;
}
+ // The "%1" makes the YCP Parser happy, otherwise it shows the warning
+ // "Format string is not constant, no parameter checking possible".
+ y2milestone( "%1", result["stdout"]:"package is not installed" );
+ return false;
}
if( "install" == action )
- { if( Package::Installed( package_name ) )
- { return true;
+ { if( ExecuteBashCommand( "rpm -q '" + package_name + "'" ) )
+ { y2milestone( "package '%1' is already installed", result["stdout"]:package_name );
+ return true;
}
// Is the package available to be installed?
// Package::Available returns nil if no package source is available.
@@ -132,8 +141,9 @@
}
}
if( "remove" == action )
- { if( ! Package::Installed( package_name ) )
- { return true;
+ { if( ! ExecuteBashCommand( "rpm -q '" + package_name + "'" ) )
+ { y2milestone( "skip remove because %1", result["stdout"]:"package is not installed" );
+ return true;
}
if( ! Package::Remove( package_name ) )
{ y2milestone( "Failed to remove package %1.", package_name );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.26/src/Printer.ycp new/yast2-printer-2.17.27/src/Printer.ycp
--- old/yast2-printer-2.17.26/src/Printer.ycp 2008-10-23 14:21:37.000000000 +0200
+++ new/yast2-printer-2.17.27/src/Printer.ycp 2008-10-24 09:06:36.000000000 +0200
@@ -891,7 +891,7 @@
return connection_wizard_connections;
}
// The connection wizard prepends its manually added connections to the connections list.
- // Theerefore the connection_wizard_connections are also prepended to the connections list.
+ // Therefore the connection_wizard_connections are also prepended to the connections list.
// There is an error in the YaST documentation regarding "merge" for lists:
// It reads "Interprets two lists as sets" which would remove duplicates.
// Actually merge([1,2,2,3],[2,3,3,4]) results [1,2,2,3,2,3,3,4]
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.26/VERSION new/yast2-printer-2.17.27/VERSION
--- old/yast2-printer-2.17.26/VERSION 2008-10-23 17:26:38.000000000 +0200
+++ new/yast2-printer-2.17.27/VERSION 2008-10-24 12:03:47.000000000 +0200
@@ -1 +1 @@
-2.17.26
+2.17.27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org