Hello community, here is the log from the commit of package yast2-printer checked in at Thu Nov 20 01:58:30 CET 2008. -------- --- yast2-printer/yast2-printer.changes 2008-11-18 00:13:28.000000000 +0100 +++ /mounts/work_src_done/STABLE/yast2-printer/yast2-printer.changes 2008-11-19 17:05:29.746382000 +0100 @@ -1,0 +2,9 @@ +Wed Nov 19 16:35:13 CET 2008 - jsmeix@suse.de + +- Avoid to autoconfigure multiple queues for the same printer + if the printer is accessible via multiple connections + (see Novell/Suse Bugzilla bnc#437735 starting at comment #14). +- Fixed testpage printing again, made it more fail safe. +- 2.17.42 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- yast2-printer-2.17.41.tar.bz2 New: ---- yast2-printer-2.17.42.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-printer.spec ++++++ --- /var/tmp/diff_new_pack.l18174/_old 2008-11-20 01:58:23.000000000 +0100 +++ /var/tmp/diff_new_pack.l18174/_new 2008-11-20 01:58:23.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package yast2-printer (Version 2.17.41) +# spec file for package yast2-printer (Version 2.17.42) # # 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.41 +Version: 2.17.42 Release: 1 License: GPL v2 or later Group: System/YaST BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-printer-2.17.41.tar.bz2 +Source0: yast2-printer-2.17.42.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 <mzugec@suse.cz> %prep -%setup -n yast2-printer-2.17.41 +%setup -n yast2-printer-2.17.42 %build %{prefix}/bin/y2tool y2autoconf @@ -117,8 +117,13 @@ %doc %{prefix}/share/doc/packages/yast2-printer %exclude %{prefix}/share/doc/packages/yast2-printer/COPYING %exclude %{prefix}/share/doc/packages/yast2-printer/README - %changelog +* Wed Nov 19 2008 jsmeix@suse.de +- Avoid to autoconfigure multiple queues for the same printer + if the printer is accessible via multiple connections + (see Novell/Suse Bugzilla bnc#437735 starting at comment #14). +- Fixed testpage printing again, made it more fail safe. +- 2.17.42 * Fri Nov 14 2008 mzugec@suse.cz - autoconfigure local printers during installation (bnc#437735) - 2.17.41 ++++++ yast2-printer-2.17.41.tar.bz2 -> yast2-printer-2.17.42.tar.bz2 ++++++ ++++ 5410 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-printer-2.17.41/configure.in new/yast2-printer-2.17.42/configure.in --- old/yast2-printer-2.17.41/configure.in 2008-11-14 15:46:26.000000000 +0100 +++ new/yast2-printer-2.17.42/configure.in 2008-11-19 17:03:11.000000000 +0100 @@ -1,9 +1,9 @@ dnl configure.in for yast2-printer dnl -dnl -- This file is generated by y2autoconf 2.17.0 - DO NOT EDIT! -- +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.36, http://bugs.opensuse.org/, yast2-printer) +AC_INIT(yast2-printer, 2.17.42, 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.36" +VERSION="2.17.42" RPMNAME="yast2-printer" MAINTAINER="Michal Zugec <mzugec@novell.com>" 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-printer-2.17.41/src/helps.ycp new/yast2-printer-2.17.42/src/helps.ycp --- old/yast2-printer-2.17.41/src/helps.ycp 2008-11-13 10:11:39.000000000 +0100 +++ new/yast2-printer-2.17.42/src/helps.ycp 2008-11-19 12:42:33.000000000 +0100 @@ -84,7 +84,7 @@ // Overview dialog help 4/7: _("<p> <b><big>Change the settings for a queue:</big></b><br> -Select a local queue and press <b>Configure</b>. +Select a local queue and press <b>Edit</b>. </p>") + // Overview dialog help 5/7: _("<p> 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-printer-2.17.41/src/overview.ycp new/yast2-printer-2.17.42/src/overview.ycp --- old/yast2-printer-2.17.41/src/overview.ycp 2008-11-14 15:51:28.000000000 +0100 +++ new/yast2-printer-2.17.42/src/overview.ycp 2008-11-19 16:19:45.000000000 +0100 @@ -104,8 +104,8 @@ Label::AddButton() ), `PushButton( `id(`edit), - // PushButton label to modify an already configured print queue: - _("&Configure")), + Label::EditButton() + ), `PushButton( `id(`delete), Label::DeleteButton() ), @@ -355,7 +355,8 @@ UI::ChangeWidget( `delete, `Enabled, Printer::selected_queues_index >= 0 ); if( `delete == event["ID"]:nil && "Activated" == event["EventReason"]:"" ) - { string queue_name = Printer::queues[selected_queue_index,"name"]:""; + { // Delete ' characters because they are used for quoting in the bash commandlines below: + string queue_name = deletechars( Printer::queues[selected_queue_index,"name"]:"", "'" ); if( "" == queue_name ) { Popup::AnyMessage( // Header of a Popup::AnyMessage when no queue was selected from the list: _("Nothing Selected"), @@ -396,8 +397,8 @@ if( `test == event["ID"]:nil && "Activated" == event["EventReason"]:"" ) { y2milestone( "printing test page" ); - string queue_name = ""; - queue_name = Printer::queues[selected_queue_index,"name"]:""; + // Delete ' characters because they are used for quoting in the bash commandlines below: + string queue_name = deletechars( Printer::queues[selected_queue_index,"name"]:"", "'" ); if( "" == queue_name ) { Popup::AnyMessage( // Header of a Popup::AnyMessage when no queue was selected from the list: _("Nothing Selected"), @@ -465,11 +466,16 @@ } } } + string testprint_job_title = "YaST2testprint_" + queue_name; // Do not enforce to talk to the cupsd on localhost when submiting the testpage // because testpage printing must also work for a "client-only" config: if( ! Printerlib::ExecuteBashCommand( "/usr/bin/lp -d '" + queue_name - + "' -o page-label="Testprint_from_$(hostname)" /usr/share/cups/data/testprint.ps" + + "' -t '" + + testprint_job_title + + "' -o page-label="" + + queue_name + + "_testprint_from_$(hostname)" /usr/share/cups/data/testprint.ps" ) ) { Popup::ErrorDetails( sformat( // Message of a Popup::ErrorDetails @@ -593,7 +599,8 @@ } if( `edit == event["ID"]:nil && event["EventReason"]:"" == "Activated" ) - { string queue_name = Printer::queues[selected_queue_index,"name"]:""; + { // Delete ' characters because they are used for quoting in the bash commandlines below: + string queue_name = deletechars( Printer::queues[selected_queue_index,"name"]:"", "'" ); if( "" == queue_name ) { Popup::AnyMessage( // Header of a Popup::AnyMessage when no queue was selected from the list: _("Nothing Selected"), 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-printer-2.17.41/src/printer_proposal.ycp new/yast2-printer-2.17.42/src/printer_proposal.ycp --- old/yast2-printer-2.17.41/src/printer_proposal.ycp 2008-11-14 15:41:38.000000000 +0100 +++ new/yast2-printer-2.17.42/src/printer_proposal.ycp 2008-11-19 17:03:09.000000000 +0100 @@ -67,9 +67,17 @@ y2milestone("Detected local printers : %1", detected_printers); if (size(detected_printers)>0){ y2milestone("Local printers detected, will configure"); + // Autodetect existing queues so that Printer::NewQueueName can compare against existing queue names + // but ignore whatever failures (an empty list of autodetected queues is the fallback result): + Printer::AutodetectQueues(); + list<string> already_set_up_queue_names = []; foreach(term printer, detected_printers, { y2internal("Configure queue for backend %1", printer[2]:""); string queue_name = Printer::NewQueueName( tolower( printer[1]:"" )); + if (contains(already_set_up_queue_names, queue_name)){ + y2internal("Skipping printer '%1' because it is already set up as queue %2", printer, queue_name); + continue; + } y2milestone("Proposed queue name : %1", queue_name); list drivers = Printer::DriverItems( filterchars( tolower( String::CutBlanks(printer[1]:"") ), Printer::lower_alnum_chars ), true ); if (size(drivers)>0){ @@ -77,7 +85,7 @@ y2internal("Selected driver : %1", drivers[0]:nil); Printer::selected_ppds_index=drivers[0,0,0]:-1; Printer::selected_connections_index=printer[0,0]:-1; - Printer::AddQueue(queue_name); + if (Printer::AddQueue(queue_name)) already_set_up_queue_names = add(already_set_up_queue_names, queue_name); } else y2error("No available drivers for printer %1", printer); }); } else { @@ -85,7 +93,7 @@ } foreach( term queue, (list<term>) Printer::QueueItems(true, false), { - proposal = add(proposal, queue[3]:""); + proposal = add(proposal, queue[2]:"" + " : " + queue[3]:""); }); /* proposal = maplist ( map< string, string > queue, Printer::queues, { 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-printer-2.17.41/src/Printer.ycp new/yast2-printer-2.17.42/src/Printer.ycp --- old/yast2-printer-2.17.41/src/Printer.ycp 2008-11-14 15:42:19.000000000 +0100 +++ new/yast2-printer-2.17.42/src/Printer.ycp 2008-11-19 16:13:03.000000000 +0100 @@ -923,13 +923,17 @@ // which is needed here to preserve any entry to be on the safe side: connections = (list <map <string, string> >)merge( connection_wizard_connections, connections ); } - // Determine if there is at least one "hp:/usb/" DeviceURI: + // Determine if there is at least one "hp:/usb/" DeviceURI + // and if there is at least one "parallel:/" DeviceURI boolean hp_usb_uri_exists = false; + boolean parallel_uri_exists = false; foreach( map< string, string > connection_entry, connections, { if( "hp:/usb/" == substring( connection_entry["uri"]:"", 0, 8 ) ) { hp_usb_uri_exists = true; - break; + } + if( "parallel:/" == substring( connection_entry["uri"]:"", 0, 10 ) ) + { parallel_uri_exists = true; } } ); @@ -1002,15 +1006,35 @@ { y2milestone( "skipped 'usb://HP/' DeviceURI '%1'", uri ); } else - { // Add trailing spaces because the current YaST UI - // has almost no additional space between table columns - // in partitcular not where the widest entry in a column is: - connection_items = add( connection_items, `item( `id( connections_index ), - model + " ", - uri + " ", - info - ) - ); + { // Skip "hp:/par/" DeviceURIs if there is at least one "parallel:/" DeviceURI + // so that the "parallel:/" DeviceURI is used with preference. + // The reason for this preference is that for my LaserJet 1220 + // which is accessible via "parallel:/dev/lp0" and + // via "hp:/par/HP_LaserJet_1220?device=/dev/parport0" + // it does not work for the "hp:/par/" DeviceURI and in /var/log/messages there is + // ... parport0: io/hpmud/pp.c 517: compat_write_data transfer stalled + // ... parport0: io/hpmud/musb.c 1339: unable to write data + // hp:/par/HP_LaserJet_1220?device=/dev/parport0: Resource temporarily unavailable + // so that the generic "parallel:/" DeviceURI seems to be the better fail-safe default. + // It should not happen that a "hp:/par/" DeviceURI is skipped without + // having a matching generic "parallel:/" DeviceURI available. + // The "hp:/par/" DeviceURI is still available via "MoreConnections". + if( "hp:/par/" == tolower( substring( uri, 0, 8 ) ) + && parallel_uri_exists + ) + { y2milestone( "skipped 'hp:/par/' DeviceURI '%1'", uri ); + } + else + { // Add trailing spaces because the current YaST UI + // has almost no additional space between table columns + // in partitcular not where the widest entry in a column is: + connection_items = add( connection_items, `item( `id( connections_index ), + model + " ", + uri + " ", + info + ) + ); + } } } } 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-printer-2.17.41/VERSION new/yast2-printer-2.17.42/VERSION --- old/yast2-printer-2.17.41/VERSION 2008-11-14 15:52:02.000000000 +0100 +++ new/yast2-printer-2.17.42/VERSION 2008-11-19 16:35:10.000000000 +0100 @@ -1 +1 @@ -2.17.41 +2.17.42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org