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
%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 "
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