Author: jsmeix Date: Wed Aug 5 12:46:49 2009 New Revision: 58284 URL: http://svn.opensuse.org/viewcvs/yast?rev=58284&view=rev Log: - In the Autoconfig dialog autoconfig.ycp added support for udev-configure-printer which replaces cups-autoconfig because cups-autoconfig is deprecated because cups-autoconfig uses HAL which is deprecated, see http://lists.freedesktop.org/archives/hal/2009-June/013429.html nevertheless cups-autoconfig is still supported too (see Novell/Suse Bugzilla bnc#526657). - 2.18.19 Modified: trunk/printer/VERSION trunk/printer/package/yast2-printer.changes trunk/printer/src/autoconfig.ycp trunk/printer/src/helps.ycp Modified: trunk/printer/VERSION URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/VERSION?rev=58284&r1=58283&r2=58284&view=diff ============================================================================== --- trunk/printer/VERSION (original) +++ trunk/printer/VERSION Wed Aug 5 12:46:49 2009 @@ -1 +1 @@ -2.18.18 +2.18.19 Modified: trunk/printer/package/yast2-printer.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/package/yast2-printer.changes?rev=58284&r1=58283&r2=58284&view=diff ============================================================================== --- trunk/printer/package/yast2-printer.changes (original) +++ trunk/printer/package/yast2-printer.changes Wed Aug 5 12:46:49 2009 @@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Wed Aug 5 12:38:57 CEST 2009 - jsmeix@suse.de + +- In the Autoconfig dialog autoconfig.ycp added support for + udev-configure-printer which replaces cups-autoconfig + because cups-autoconfig is deprecated because + cups-autoconfig uses HAL which is deprecated, see + http://lists.freedesktop.org/archives/hal/2009-June/013429.html + nevertheless cups-autoconfig is still supported too + (see Novell/Suse Bugzilla bnc#526657). +- 2.18.19 + +------------------------------------------------------------------- Tue Jul 28 12:14:43 CEST 2009 - jsmeix@suse.de - Be prepared for CUPS 1.4: Modified: trunk/printer/src/autoconfig.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/src/autoconfig.ycp?rev=58284&r1=58283&r2=58284&view=diff ============================================================================== --- trunk/printer/src/autoconfig.ycp (original) +++ trunk/printer/src/autoconfig.ycp Wed Aug 5 12:46:49 2009 @@ -36,7 +36,8 @@ include "printer/helps.ycp"; -boolean autoconfig_settings_dialog_is_useless = false; +boolean udev_configure_printer_installed = false; +boolean cups_autoconfig_installed = false; // By default the ConfigureNewPrinters value in /etc/cups-autoconfig.conf is set to "yes": boolean initial_cups_autoconfig_ConfigureNewPrinters = true; // By default the DisablePrintersOnRemoval value in /etc/cups-autoconfig.conf is set to "no": @@ -45,39 +46,66 @@ string initial_cups_autoconfig_DefaultCUPSPolicy = ""; term widgetAutoconfig = `VBox - ( `Left + ( `VStretch(), + `Left ( `Label - ( `id("cups_autoconfig_label"), + ( `id("autoconfig_label"), // Header for a dialog section where the user can // specify in which way USB printers are configured automatically: - _("Specify in which way USB printers are configured automatically") + _("Specify how USB printers are configured automatically") ) ), // Have space between the header and the choices: - `VSpacing( 1 ), - `HBox - ( `HSpacing( 3 ), + `VStretch(), + `Left + ( `CheckBox + ( // Use a CheckBox to remove cups-autoconfig and udev-configure-printer + // instead of a RadioButton because this would be the only RadioButton because + // there is no RadioButton to install cups-autoconfig or udev-configure-printer + // because initAutoconfig checks if cups-autoconfig or udev-configure-printer + // is installed and if not it tries to install one of them + // where udev-configure-printer is preferred (if available to be installed) + // because cups-autoconfig is deperecated, + // see https://bugzilla.novell.com/show_bug.cgi?id=526657 + `id("autoconfig_packages_remove"), + `opt(`notify), + // CheckBox to have no automatic configuration of USB printers at all + // by removing the RPM packages cups-autoconfig and udev-configure-printer. + // Do not change or translate "cups-autoconfig", it is a RPM package name. + // Do not change or translate "udev-configure-printer", it is a RPM package name. + _("No Automatic Configuration\n&Remove the packages cups-autoconfig and udev-configure-printer.") + ) + ), + // Have space between the choice "No Automatic Configuration at all" + // and the settings when automatic configuration is used: + `VStretch(), + `Left + ( `Frame + ( `id("udev_configure_printer_frame"), + // A caption for a Frame when udev-configure-printer is used + // to configure USB printers automatically. + // Do not change or translate "udev-configure-printer", it is a RPM package name. + _("udev-configure-printer is used for automatic configuration"), + `Label + ( `id("udev_configure_printer_label"), + // Label when udev-configure-printer is used to configure USB printers automatically. + // Do not change or translate "udev-configure-printer", it is a RPM package name. + _("There are no settings when udev-configure-printer is used.") + ) + ) + ), + // Have space between the case when udev-configure-printer is used + // and the frame with settings only for cups-autoconfig: + `VStretch(), + `Frame + ( `id("cups_autoconfig_frame"), + // A caption for a Frame with settings only for cups-autoconfig + // when cups-autoconfig is used to configure USB printers automatically. + // Do not change or translate "cups-autoconfig", it is a RPM package name. + _("Settings for automatic configuration with cups-autoconfig"), `VBox ( `Left ( `CheckBox - ( // Use a CheckBox to remove the cups-autoconfig RPM package - // instead of a RadioButton because this is the only RadioButton - // because there is no RadioButton to install cups-autoconfig - // because initAutoconfig checks if cups-autoconfig is installed - // and if not it tries to install it. - `id("cups_autoconfig_remove"), - `opt(`notify), - // CheckBox to have no automatic configuration of USB printers at all - // by removing the cups-autoconfig RPM package. - // Do not change or translate "cups-autoconfig", it is a RPM package name. - _("No Automatic Configuration at all: &Remove the cups-autoconfig package.") - ) - ), - // Have space between the choice "No Automatic Configuration at all" - // and the settings when automatic configuration is used: - `VSpacing( 1 ), - `Left - ( `CheckBox ( `id("cups_autoconfig_configure_new_attached"), `opt(`notify), // CheckBox to enable that a print queue is automatically created @@ -85,6 +113,19 @@ _("Enable &Automatic Configuration of New Attachend USB Printers") ) ), + `HBox + ( `HSpacing( 4 ), + `Left + ( `ComboBox + ( `id("cups_autoconfig_operation_policy"), + // Header for a ComboBox to specify the CUPS operation policy + // for print queues which are automatically created + // when a USB printer is connected for the first time to the USB: + _("Operation &Policy for Automatically Configured USB Printers"), + [""] + ) + ) + ), `Left ( `CheckBox ( `id("cups_autoconfig_disable_on_removal"), @@ -93,16 +134,6 @@ _("&Disable Printout when Disconnecting an USB Printer") ) ), - `Left - ( `ComboBox - ( `id("cups_autoconfig_operation_policy"), - // Header for a ComboBox to specify the CUPS operation policy - // for print queues which are automatically created - // when a USB printer is connected for the first time to the USB: - _("Operation &Policy for Automatically Configured USB Printers"), - [""] - ) - ), // Have space between the settings for automatic configuration // and the choice to "Trigger Automatic Configuration": `VSpacing( 1 ), @@ -111,11 +142,14 @@ ( `id("cups_autoconfig_trigger"), `opt(`notify), // CheckBox to trigger that print queues are automatically created right now: - _("&Trigger Automatic Configuration") + _("&Trigger Automatic Configuration to Run Now") ) ) ) - ) + ), + // Have space between the frame with settings only for cups-autoconfig + // and the bottom of the dialog: + `VStretch() ); void initAutoconfig( string key ) @@ -167,87 +201,123 @@ } } // When it is no "client-only" config and when a local cupsd is accessible, - // the whole dialog is still useless without having cups-autoconfig installed. - // Therefore check if cups-autoconfig is installed and if not try to install it. - // It is perfectly o.k. when the user rejects cups-autoconfig to be installed - // (perhaps he selected it to be removed before in this dialog + // the whole dialog is still useless without having + // either cups-autoconfig or udev-configure-printer installed. + // Therefore check if cups-autoconfig or udev-configure-printer is installed + // and if not try to install one of them where udev-configure-printer is preferred + // because cups-autoconfig is deprecated, see https://bugzilla.novell.com/show_bug.cgi?id=526657 + // It is perfectly o.k. when the user rejects cups-autoconfig or udev-configure-printer + // to be installed (perhaps he selected it to be removed before in this dialog // and re-launched this dialog by accident or to check the current setting). // Therefore there is no additional message shown here when the dialog is useless - // because there was a Popup request that cups-autoconfig must be installed. + // because there was a Popup request that cups-autoconfig or udev-configure-printer must be installed. if( ! autoconfig_settings_dialog_is_useless ) - { if( ! Printerlib::TestAndInstallPackage( "cups-autoconfig", "installed" ) ) - { if( ! Printerlib::TestAndInstallPackage( "cups-autoconfig", "install" ) ) - { autoconfig_settings_dialog_is_useless = true; + { if( ! ( Printerlib::TestAndInstallPackage( "udev-configure-printer", "installed" ) + || Printerlib::TestAndInstallPackage( "cups-autoconfig", "installed" ) + ) + ) + { Printerlib::TestAndInstallPackage( "udev-configure-printer", "install" ); + if( ! Printerlib::TestAndInstallPackage( "udev-configure-printer", "installed" ) ) + { Printerlib::TestAndInstallPackage( "cups-autoconfig", "install" ); } } } + // Determine if cups-autoconfig or udev-configure-printer is now finally installed. + // It does not make much sense to have both installed but this is no error. + // In contrast, if none of them is installed, the whole dialog is useless: + udev_configure_printer_installed = Printerlib::TestAndInstallPackage( "udev-configure-printer", "installed" ); + cups_autoconfig_installed = Printerlib::TestAndInstallPackage( "cups-autoconfig", "installed" ); + if( ! ( udev_configure_printer_installed + || cups_autoconfig_installed + ) + ) + { autoconfig_settings_dialog_is_useless = true; + } // In any case have the CheckBox to remove the cups-autoconfig RPM package initially not activated. // If it was activated if autoconfig_settings_dialog_is_useless, it would remove the RPM // even when this CheckBox is disabled because autoconfig_settings_dialog_is_useless: - UI::ChangeWidget( `id("cups_autoconfig_remove"), `Value, false ); - // Read cups-autoconfig settings. - // Ignore errors when the bash commands fail because the default values are used as - // fallback values in particular when the cups-autoconfig RPM is not installed. - // By default the ConfigureNewPrinters value in /etc/cups-autoconfig.conf is set to "yes": - initial_cups_autoconfig_ConfigureNewPrinters = true; - Printerlib::ExecuteBashCommand( "grep -i '^[[:space:]]*ConfigureNewPrinters' /etc/cups-autoconfig.conf | cut -s -d '=' -f2 | tr -d -c '[:alnum:]'" ); - if( "no" == tolower( Printerlib::result["stdout"]:"yes" ) ) - { initial_cups_autoconfig_ConfigureNewPrinters = false; - } - // By default the DisablePrintersOnRemoval value in /etc/cups-autoconfig.conf is set to "no": - initial_cups_autoconfig_DisablePrintersOnRemoval = false; - Printerlib::ExecuteBashCommand( "grep -i '^[[:space:]]*DisablePrintersOnRemoval' /etc/cups-autoconfig.conf | cut -s -d '=' -f2 | tr -d -c '[:alnum:]'" ); - if( "yes" == tolower( Printerlib::result["stdout"]:"no" ) ) - { initial_cups_autoconfig_DisablePrintersOnRemoval = true; - } - // By default the DefaultCUPSPolicy value in /etc/cups-autoconfig.conf is set to the empty string: - Printerlib::ExecuteBashCommand( "grep -i '^[[:space:]]*DefaultCUPSPolicy' /etc/cups-autoconfig.conf | cut -s -d '=' -f2 | tr -d -c '[:alnum:]'" ); - initial_cups_autoconfig_DefaultCUPSPolicy = tolower( Printerlib::result["stdout"]:"" ); - // By default the DefaultCUPSPolicy value in /etc/cups-autoconfig.conf is set to the empty string. - // Therefore an empty policy name could be added as additional possible value - // but an empty policy name would be meningless for the user - // so that the more verbose string "not set" is used for this case. - // Therefore "not set" in the cups_autoconfig_operation_policy ComboBox means actually - // an empty value for DefaultCUPSPolicy in /etc/cups-autoconfig.conf which - // means to use the DefaultPolicy value in /etc/cups/cupsd.conf also for cups_autoconfig. - if( "" == initial_cups_autoconfig_DefaultCUPSPolicy ) - { initial_cups_autoconfig_DefaultCUPSPolicy = _("not set"); - } - // Set the different values for the different widgets in the dialog - // and use the default values as fallback values: - UI::ChangeWidget( `id("cups_autoconfig_configure_new_attached"), `Value, initial_cups_autoconfig_ConfigureNewPrinters ); - UI::ChangeWidget( `id("cups_autoconfig_disable_on_removal"), `Value, initial_cups_autoconfig_DisablePrintersOnRemoval ); - // Determine the existing policy names in '<Policy policy-name>' sections in /etc/cups/cupsd.conf: - list< string > operation_policy_names = [ "" ]; - if( Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir + "modify_cupsd_conf Policies" ) ) - { // The command outputs a line where multiple policy names are separated by space - // but possible duplicate policy names are not removed in the command output: - operation_policy_names = toset( splitstring( Printerlib::result["stdout"]:"", " " ) ); - } - else - { // Use fallback value when the command above failed. - operation_policy_names = [ "default" ]; - } - // Add the special case "not set" (see above) to the available operation_policy_names: - operation_policy_names = prepend( operation_policy_names, _("not set") ); - // Use only the plain strings in the operation_policy_names list without an id - // for the operation_policy ComboBox: - UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Items, operation_policy_names ); - // Have the initial_cups_autoconfig_DefaultCUPSPolicy preselected - // if it is available in operation_policy_names - // otherwise have the special value "not set" preselected: - if( contains( operation_policy_names, initial_cups_autoconfig_DefaultCUPSPolicy ) ) - { UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Value, initial_cups_autoconfig_DefaultCUPSPolicy ); + UI::ChangeWidget( `id("autoconfig_packages_remove"), `Value, false ); + if( ! udev_configure_printer_installed ) + { // Disable all widgets for udev-configure-printer if udev-configure-printer is not installed: + UI::ChangeWidget( `id("udev_configure_printer_frame"), `Enabled, false ); + UI::ChangeWidget( `id("udev_configure_printer_label"), `Enabled, false ); + } + if( ! cups_autoconfig_installed ) + { // Disable all widgets for cups-autoconfig if cups-autoconfig is not installed: + UI::ChangeWidget( `id("cups_autoconfig_frame"), `Enabled, false ); + UI::ChangeWidget( `id("cups_autoconfig_configure_new_attached"), `Enabled, false ); + UI::ChangeWidget( `id("cups_autoconfig_disable_on_removal"), `Enabled, false ); + UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Enabled, false ); + UI::ChangeWidget( `id("cups_autoconfig_trigger"), `Enabled, false ); } else - { UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Value, _("not set") ); + { // Read cups-autoconfig settings. + // Ignore errors when the bash commands fail because the default values are used as + // fallback values in particular when the cups-autoconfig RPM is not installed. + // By default the ConfigureNewPrinters value in /etc/cups-autoconfig.conf is set to "yes": + initial_cups_autoconfig_ConfigureNewPrinters = true; + Printerlib::ExecuteBashCommand( "grep -i '^[[:space:]]*ConfigureNewPrinters' /etc/cups-autoconfig.conf | cut -s -d '=' -f2 | tr -d -c '[:alnum:]'" ); + if( "no" == tolower( Printerlib::result["stdout"]:"yes" ) ) + { initial_cups_autoconfig_ConfigureNewPrinters = false; + } + // By default the DisablePrintersOnRemoval value in /etc/cups-autoconfig.conf is set to "no": + initial_cups_autoconfig_DisablePrintersOnRemoval = false; + Printerlib::ExecuteBashCommand( "grep -i '^[[:space:]]*DisablePrintersOnRemoval' /etc/cups-autoconfig.conf | cut -s -d '=' -f2 | tr -d -c '[:alnum:]'" ); + if( "yes" == tolower( Printerlib::result["stdout"]:"no" ) ) + { initial_cups_autoconfig_DisablePrintersOnRemoval = true; + } + // By default the DefaultCUPSPolicy value in /etc/cups-autoconfig.conf is set to the empty string: + Printerlib::ExecuteBashCommand( "grep -i '^[[:space:]]*DefaultCUPSPolicy' /etc/cups-autoconfig.conf | cut -s -d '=' -f2 | tr -d -c '[:alnum:]'" ); + initial_cups_autoconfig_DefaultCUPSPolicy = tolower( Printerlib::result["stdout"]:"" ); + // By default the DefaultCUPSPolicy value in /etc/cups-autoconfig.conf is set to the empty string. + // Therefore an empty policy name could be added as additional possible value + // but an empty policy name would be meningless for the user + // so that the more verbose string "not set" is used for this case. + // Therefore "not set" in the cups_autoconfig_operation_policy ComboBox means actually + // an empty value for DefaultCUPSPolicy in /etc/cups-autoconfig.conf which + // means to use the DefaultPolicy value in /etc/cups/cupsd.conf also for cups_autoconfig. + if( "" == initial_cups_autoconfig_DefaultCUPSPolicy ) + { initial_cups_autoconfig_DefaultCUPSPolicy = _("not set"); + } + // Set the different values for the different widgets in the dialog + // and use the default values as fallback values: + UI::ChangeWidget( `id("cups_autoconfig_configure_new_attached"), `Value, initial_cups_autoconfig_ConfigureNewPrinters ); + UI::ChangeWidget( `id("cups_autoconfig_disable_on_removal"), `Value, initial_cups_autoconfig_DisablePrintersOnRemoval ); + // Determine the existing policy names in '<Policy policy-name>' sections in /etc/cups/cupsd.conf: + list< string > operation_policy_names = [ "" ]; + if( Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir + "modify_cupsd_conf Policies" ) ) + { // The command outputs a line where multiple policy names are separated by space + // but possible duplicate policy names are not removed in the command output: + operation_policy_names = toset( splitstring( Printerlib::result["stdout"]:"", " " ) ); + } + else + { // Use fallback value when the command above failed. + operation_policy_names = [ "default" ]; + } + // Add the special case "not set" (see above) to the available operation_policy_names: + operation_policy_names = prepend( operation_policy_names, _("not set") ); + // Use only the plain strings in the operation_policy_names list without an id + // for the operation_policy ComboBox: + UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Items, operation_policy_names ); + // Have the initial_cups_autoconfig_DefaultCUPSPolicy preselected + // if it is available in operation_policy_names + // otherwise have the special value "not set" preselected: + if( contains( operation_policy_names, initial_cups_autoconfig_DefaultCUPSPolicy ) ) + { UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Value, initial_cups_autoconfig_DefaultCUPSPolicy ); + } + else + { UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Value, _("not set") ); + } + // The CheckBox to trigger automatic configuration is initially always off: + UI::ChangeWidget( `id("cups_autoconfig_trigger"), `Value, false ); } - // The CheckBox to trigger automatic configuration is initially always off: - UI::ChangeWidget( `id("cups_autoconfig_trigger"), `Value, false ); - // Disable all widgets if autoconfig_settings_dialog_is_useless: + // Disable all widgets in the whole dialog if autoconfig_settings_dialog_is_useless: if( autoconfig_settings_dialog_is_useless ) - { UI::ChangeWidget( `id("cups_autoconfig_remove"), `Enabled, false ); - UI::ChangeWidget( `id("cups_autoconfig_label"), `Enabled, false ); + { UI::ChangeWidget( `id("autoconfig_label"), `Enabled, false ); + UI::ChangeWidget( `id("autoconfig_packages_remove"), `Enabled, false ); + UI::ChangeWidget( `id("udev_configure_printer_frame"), `Enabled, false ); + UI::ChangeWidget( `id("udev_configure_printer_label"), `Enabled, false ); + UI::ChangeWidget( `id("cups_autoconfig_frame"), `Enabled, false ); UI::ChangeWidget( `id("cups_autoconfig_configure_new_attached"), `Enabled, false ); UI::ChangeWidget( `id("cups_autoconfig_disable_on_removal"), `Enabled, false ); UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Enabled, false ); @@ -257,25 +327,30 @@ } boolean ApplyAutoconfigSettings() -{ // If the cups-autoconfig RPM should be removed and when it is currently installed, - // try to remove it and return because nothing else matters in this case. +{ // If the cups-autoconfig and udev-configure-printer RPMs should be removed. + // When one of them is currently installed, try to remove it + // and return in any case because nothing else matters in this case. // Return even when the user decided to reject the removal because // it would lead to unexpected results when cups-autoconfig settings // may change in the system when the user decided to remove cups-autoconfig // but rejects the removal (i.e. some kind of "cancel/abort" by the user) // but settings were changed in the system nevertheless. - // It is crucial to test whether cups-autoconfig is currently installed - // because it could have been not installed when the dialog was launched - // and the user may have rejected the installation in initAutoconfig - // so that the vaule of the "cups_autoconfig_remove" CheckBox would + // It is crucial to test whether cups-autoconfig or udev-configure-printer + // is currently installed because it could have been not installed + // when the dialog was launched e.g. because the user + // may have rejected the installation in initAutoconfig + // so that the vaule of the "autoconfig_packages_remove" CheckBox would // have been also set to 'true' in initAutoconfig. - if( (boolean)UI::QueryWidget( `id("cups_autoconfig_remove"), `Value ) ) + if( (boolean)UI::QueryWidget( `id("autoconfig_packages_remove"), `Value ) ) { if( Printerlib::TestAndInstallPackage( "cups-autoconfig", "installed" ) ) { Printerlib::TestAndInstallPackage( "cups-autoconfig", "remove" ); - y2milestone( "leaving storeAutoconfig" ); - //return `autoconfig_next; - return true; } + if( Printerlib::TestAndInstallPackage( "udev-configure-printer", "installed" ) ) + { Printerlib::TestAndInstallPackage( "udev-configure-printer", "remove" ); + } + y2milestone( "leaving storeAutoconfig" ); + //return `autoconfig_next; + return true; } boolean applied_autoconfig_settings = true; // Get the actual settings and values from the dialog: @@ -382,10 +457,10 @@ symbol handleAutoconfig( string key, map event ) { y2milestone( "entering handleAutoconfig with key '%1'\nand event '%2'", key, event ); if( "ValueChanged" == event["EventReason"]:"" ) - { if( "cups_autoconfig_remove" == event["WidgetID"]:"" ) + { if( "autoconfig_packages_remove" == event["WidgetID"]:"" ) { // Enable or disable the other widgets depending on whether or not - // the cups-autoconfig RPM should be removed: - boolean have_cups_autoconfig = ! (boolean)UI::QueryWidget( `id("cups_autoconfig_remove"), `Value ); + // the cups-autoconfig and udev-configure-printer RPMs should be removed: + boolean have_cups_autoconfig = ! (boolean)UI::QueryWidget( `id("autoconfig_packages_remove"), `Value ); UI::ChangeWidget( `id("cups_autoconfig_configure_new_attached"), `Enabled, have_cups_autoconfig ); UI::ChangeWidget( `id("cups_autoconfig_disable_on_removal"), `Enabled, have_cups_autoconfig ); UI::ChangeWidget( `id("cups_autoconfig_operation_policy"), `Enabled, have_cups_autoconfig ); Modified: trunk/printer/src/helps.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/src/helps.ycp?rev=58284&r1=58283&r2=58284&view=diff ============================================================================== --- trunk/printer/src/helps.ycp (original) +++ trunk/printer/src/helps.ycp Wed Aug 5 12:46:49 2009 @@ -667,16 +667,49 @@ </p>"), "autoconfig" : -// Autoconfig help 1/1: +// Autoconfig help 1/3: _("<p> <b><big>CUPS Autoconfiguration for USB Printers</big></b><br> -When a USB printer is connected to the system -cups-autoconfig determines if the printer is already configured. -If it is already configured, printing is enabled. +Autoconfiguration is provided by two RPM packages:<br> +The new 'udev-configure-printer' since openSUSE 11.2 and +the meanwhile deprecated 'cups-autoconfig' because the latter +uses HAL which is deprecated.<br> +When the autoconfiguration dialog is launched, it checks +if udev-configure-printer or cups-autoconfig is installed. +If none of them is installed, it tries to install one of them +where udev-configure-printer is preferred +but if it fails to install udev-configure-printer, +it tries to install cups-autoconfig.<br> +If none of them is finally installed, the dialog is useless +and all its elements become disabled. +</p>") + +// Autoconfig help 2/3: +_("<p> +When udev-configure-printer is used, +automatic USB printer setup happens via the entries +in its udev config file /etc/udev/rules.d/70-printers.rules +which triggers to run 'udev-configure-printer add' +when a USB printer is plugged in +and 'udev-configure-printer remove' when it is unplugged. +There are no settings when udev-configure-printer is used +except one changes the 70-printers.rules file manually. +</p>") + +// Autoconfig help 3/3: +_("<p> +When cups-autoconfig is used, +automatic USB printer setup happens via the entries +in its HAL config file 10-cups-autoconfig.fdi +which triggers to run 'hal-cups-autoconfig --add' +when a USB printer is plugged in. +It determines if the printer is already configured. +If it is already configured, printing will be enabled. If the printer is not configured, cups-autoconfig attempts to select an appropriate driver for it and, if successful, cups-autoconfig configures it. -When a USB printer is removed, cups-autoconfig can disable printing. +When a USB printer is unplugged, 'hal-cups-autoconfig --disable' +is run which can disable printing depending on the +settings for cups-autoconfig which are stored in its +/etc/cups-autoconfig.conf file. </p>") ]; -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org