desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #99716
[Bug 1352809] Re: /usr/bin/lp on Trusty using -h option doesn't work as expected
** Description changed:
+ [SRU justification]
+ The -h option should override the value stored in the CUPS_SERVER environment variable
+
+ [Impact]
+ Without this fix, user is unable to define the printserver to use with the -h option
+
+ [Fix]
+ Verify if the -h option has defined the printserver before using CUPS_SERVER to define it.
+
+ [Test Case]
+ $ export CUPS_SERVER="blah"
+ $ lp -h {valid printserver} -d {printqueue} /etc/hosts
+
+ Without the fix :
+ lp: No such file or directory
+
+ With the fix :
+ request id is {printqueue}-37 (1 file(s))
+
+ [Regression]
+ None expected. New code path (from upstream patch) is only triggered if
+ -h option is used.
+
+ [Original description of the problem]
+
1) The release of Ubuntu you are using, via 'lsb_release -rd' or System
-> About Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty
-
- 2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center
+ 2) The version of the package you are using, via 'apt-cache policy
+ pkgname' or by checking in Software Center
cups-client:
- Installed: 1.7.2-0ubuntu1.1
+ Installed: 1.7.2-0ubuntu1.1
3) What you expected to happen
When using lp -h to send a print job to a printer, I expected to the job
to be sent to the printer and to override any env variables set or conf
file setting
4) What happened instead
To summarise the behaviour I'm seeing
1) with CUPS_SERVER env variable unset and no ServerName set in /etc/cups/client.conf, we see that using lp -h with hostnames gives us error "lp: Error - add '/version=1.1' to server name."
Using IPs sends the job to the printer as expected.
2) with CUPS_SERVER env variable set using hostname with/without port
and no ServerName set in /etc/cups/client.conf, we see that the only
time it sends a job is when an IP and port are used. Otherwise it seems
to error. I believe it's using the env variable, even though -h is being
used.
3) with CUPS_SERVER env variable set using IP address with/without port
and no ServerName set in /etc/cups/client.conf we see that the job is
always sent using lp -h but it is always sent to the value in env
variable, thus ignoring the command line.
===
with CUPS_SERVER env variable unset and no ServerName option set in
/etc/cups/client.conf
$ lp test2.txt
lp: Error - scheduler not responding. (expected as no server is set or specified)
Using hostname
$ lp -h server1:631 test2.txt
lp: Error - add '/version=1.1' to server name.
$ lp -h server1 test2.txt
lp: Error - add '/version=1.1' to server name.
Using IP address
$ lp -h 192.168.254.8 test2.txt
request id is PDF-54 (1 file(s))
$ lp -h 192.168.254.8:631 test2.txt
request id is PDF-55 (1 file(s))
===
With CUPS_SERVER env variable *set CUPS_SERVER=server1
$ lp test2.txt
lp: Error - add '/version=1.1' to server name.
Using hostname
$ lp -h server1 test2.txt
lp: Error - add '/version=1.1' to server name.
$ lp -h server1:631 test2.txt
lp: Error - add '/version=1.1' to server name.
Using IP address
$ lp -h 192.168.254.8 test2.txt
lp: Error - add '/version=1.1' to server name.
$ lp -h 192.168.254.8:631 test2.txt
request id is PDF-56 (1 file(s))
===
With CUPS_SERVER env variable *set CUPS_SERVER=server:631
Same results as above
===
With CUPS_SERVER env variable *set CUPS_SERVER=192.168.254.8:631
$ lp -h 555.555.555.555 test2.txt
request id is PDF-66 (1 file(s))
===
With CUPS_SERVER env variable *set CUPS_SERVER=192.168.254.8
Same results as above
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to cups in Ubuntu.
https://bugs.launchpad.net/bugs/1352809
Title:
/usr/bin/lp on Trusty using -h option doesn't work as expected
Status in cups package in Ubuntu:
Fix Released
Status in cups source package in Trusty:
In Progress
Status in cups source package in Utopic:
In Progress
Bug description:
[SRU justification]
The -h option should override the value stored in the CUPS_SERVER environment variable
[Impact]
Without this fix, user is unable to define the printserver to use with the -h option
[Fix]
Verify if the -h option has defined the printserver before using CUPS_SERVER to define it.
[Test Case]
$ export CUPS_SERVER="blah"
$ lp -h {valid printserver} -d {printqueue} /etc/hosts
Without the fix :
lp: No such file or directory
With the fix :
request id is {printqueue}-37 (1 file(s))
[Regression]
None expected. New code path (from upstream patch) is only triggered if
-h option is used.
[Original description of the problem]
1) The release of Ubuntu you are using, via 'lsb_release -rd' or
System -> About Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty
2) The version of the package you are using, via 'apt-cache policy
pkgname' or by checking in Software Center
cups-client:
Installed: 1.7.2-0ubuntu1.1
3) What you expected to happen
When using lp -h to send a print job to a printer, I expected to the
job to be sent to the printer and to override any env variables set or
conf file setting
4) What happened instead
To summarise the behaviour I'm seeing
1) with CUPS_SERVER env variable unset and no ServerName set in /etc/cups/client.conf, we see that using lp -h with hostnames gives us error "lp: Error - add '/version=1.1' to server name."
Using IPs sends the job to the printer as expected.
2) with CUPS_SERVER env variable set using hostname with/without port
and no ServerName set in /etc/cups/client.conf, we see that the only
time it sends a job is when an IP and port are used. Otherwise it
seems to error. I believe it's using the env variable, even though -h
is being used.
3) with CUPS_SERVER env variable set using IP address with/without
port and no ServerName set in /etc/cups/client.conf we see that the
job is always sent using lp -h but it is always sent to the value in
env variable, thus ignoring the command line.
===
with CUPS_SERVER env variable unset and no ServerName option set in
/etc/cups/client.conf
$ lp test2.txt
lp: Error - scheduler not responding. (expected as no server is set or specified)
Using hostname
$ lp -h server1:631 test2.txt
lp: Error - add '/version=1.1' to server name.
$ lp -h server1 test2.txt
lp: Error - add '/version=1.1' to server name.
Using IP address
$ lp -h 192.168.254.8 test2.txt
request id is PDF-54 (1 file(s))
$ lp -h 192.168.254.8:631 test2.txt
request id is PDF-55 (1 file(s))
===
With CUPS_SERVER env variable *set CUPS_SERVER=server1
$ lp test2.txt
lp: Error - add '/version=1.1' to server name.
Using hostname
$ lp -h server1 test2.txt
lp: Error - add '/version=1.1' to server name.
$ lp -h server1:631 test2.txt
lp: Error - add '/version=1.1' to server name.
Using IP address
$ lp -h 192.168.254.8 test2.txt
lp: Error - add '/version=1.1' to server name.
$ lp -h 192.168.254.8:631 test2.txt
request id is PDF-56 (1 file(s))
===
With CUPS_SERVER env variable *set CUPS_SERVER=server:631
Same results as above
===
With CUPS_SERVER env variable *set CUPS_SERVER=192.168.254.8:631
$ lp -h 555.555.555.555 test2.txt
request id is PDF-66 (1 file(s))
===
With CUPS_SERVER env variable *set CUPS_SERVER=192.168.254.8
Same results as above
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1352809/+subscriptions