← Back to team overview

touch-packages team mailing list archive

[Bug 1352809] Re: /usr/bin/lp on Trusty using -h option doesn't work as expected

 

This bug was fixed in the package cups - 1.7.2-0ubuntu1.4

---------------
cups (1.7.2-0ubuntu1.4) trusty-proposed; urgency=medium

  * Fix -h option not honoured when CUPS_SERVER variable
    is defined. (LP: #1352809)
 -- Louis Bouchard <louis.bouchard@xxxxxxxxxx>   Mon, 09 Feb 2015 11:22:42 +0100

** Changed in: cups (Ubuntu Trusty)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded 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:
  Fix Released
Status in cups source package in Utopic:
  Fix Released

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


References