Debian Bug report logs - #381252
lpoptions documentation doesn't

version graph

Package: cupsys-client; Maintainer for cupsys-client is (unknown);

Reported by: sacrificial-spam-address@horizon.com

Date: Thu, 3 Aug 2006 04:18:11 UTC

Severity: normal

Found in version cupsys/1.2.2-1

Fixed in version 1.4.4-1

Done: andreimpopescu@gmail.com (Andrei POPESCU)

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian CUPS Maintainers <pkg-cups-devel@lists.alioth.debian.org>:
Bug#381252; Package cupsys-client. Full text and rfc822 format available.

Acknowledgement sent to sacrificial-spam-address@horizon.com:
New Bug report received and forwarded. Copy sent to Debian CUPS Maintainers <pkg-cups-devel@lists.alioth.debian.org>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: sacrificial-spam-address@horizon.com
To: submit@bugs.debian.org
Subject: lpoptions documentation doesn't
Date: 2 Aug 2006 23:41:49 -0400
Package: cupsys-client
Version: 1.2.2-1

The CUPS docs have a very severe case of Microsoft-itis, with lots of
friendly words and HTML that fail to actually explain the things they're
supposed to be documenting.

The lpoptions documentation explains that options are specified
as "-o <option>[=<value>]", and listed with -l.

Okay, let's try that...

HPJobRetention/Job Retention: *HPJobRetentionOff HPJobRetentionQuickCopy HPJobRetentionProof HPJobRetentionPrivate HPJobRetentionStore
HPUserName/User: *UserSystem User1 User2 User3 User4 User5 User6 User7 User8 User9 User10 User11 User12 User13 User14 User15 User16 User17 User18 User19 User20 User21 User22 User23 User24 User25 User26 User27 User28 User29 User30 User31 User32 User33 User34 User35 User36 User37 User38 User39 User40 User41 User42 User43 User44 User45 User46 User47 User48 User49 User50
HPJobHoldKey1/PIN digit 1 (for Private Job): *HoldKey0000 HoldKey1000 HoldKey2000 HoldKey3000 HoldKey4000 HoldKey5000 HoldKey6000 HoldKey7000 HoldKey8000 HoldKey9000
HPJobHoldKey2/PIN digit 2 (for Private Job): *HoldKey000 HoldKey100 HoldKey200 HoldKey300 HoldKey400 HoldKey500 HoldKey600 HoldKey700 HoldKey800 HoldKey900
HPJobHoldKey3/PIN digit 3 (for Private Job): *HoldKey00 HoldKey10 HoldKey20 HoldKey30 HoldKey40 HoldKey50 HoldKey60 HoldKey70 HoldKey80 HoldKey90
HPJobHoldKey4/PIN digit 4 (for Private Job): *HoldKey0 HoldKey1 HoldKey2 HoldKey3 HoldKey4 HoldKey5 HoldKey6 HoldKey7 HoldKey8 HoldKey9
HPwmText/Watermark: *None CompanyConfidential CompanyProprietary CompanyPrivate Confidential Copy Copyright Draft FileCopy Final ForInternalUse Preliminary Proof ReviewCopy Sample TopSecret Urgent
HPwmFont/Watermark Font: CourierB TimesB *HelveticaB
HPwmFontSize/Watermark Size: pt24 pt30 pt36 pt42 *pt48 pt54 pt60 pt66 pt72 pt78 pt84 pt90
HPwmTextAngle/Watermark Angle: Deg90 Deg75 Deg60 *Deg45 Deg30 Deg15 Deg0 DegN15 DegN30 DegN45 DegN60 DegN75 DegN90
HPwmTextStyle/Watermark Style: Narrow *Medium Wide Halo
HPwmLocation/Print Watermark: *True False
HPCollate/Collate: True *False
Smoothing/Resolution Enhancement: *True False
PageSize/Media Size: *Letter Executive Legal A4 A5 B5 w612h935 w558h774 Env10 EnvMonarch EnvDL EnvC5 EnvISOB5 Custom
PageRegion/PageRegion: Letter Executive Legal A4 A5 B5 w612h935 w558h774 Env10 EnvMonarch EnvDL EnvC5 EnvISOB5
InputSlot/Media Source: Upper ManualFeed *Middle Lower LargeCapacity Tray5 Tray6 Tray7 Tray8 Tray9 Tray10 Envelope Plain Preprinted Letterhead Transparency Prepunched Labels Bond Recycled Color Cardstock Rough
HPPaperPolicy/Fit to Page: *PromptUser NearestSizeAdjust NearestSizeNoAdjust Letter A4
HPHalftone/Levels of Gray: *PrinterDefault Enhanced Standard
Duplex/Duplex: *None DuplexNoTumble DuplexTumble
JCLResolution/Resolution: 300dpi *600dpi 1200dpi
JCLFastRes/FastRes 1200: *True False
JCLEconomode/EconoMode: *False True
OptionTrays/Number of Input Trays: *2Trays 3Trays 4Trays 5Trays 6Trays 7Trays 8Trays 9Trays 10Trays
Option3/Duplex Unit: True *False
Option4/Printer Hard Disk: True *False
Option5/Envelope Feeder: True *False
InstalledMemory/Total Printer Memory: 16MB 24-31MB 32-63MB 64-95MB 96-127MB *128-191MB 192-256MB

Wow, that doesn't look a lot like "name=value".  The asterisks are
reasonably clear, so let's assume I replace the ": " with an =, and
try to tell cups that I have a duplexer:

# lpoptions -o "Option3/Duplex Unit=True"

H'm... what I get in /etc/cups/lpoptions is
Default lp Option3/Duplex=true Unit=True

That's... very strange.  At least it tells me what happens if you
leave off the "=value" part, whaich the documentation (man page or
HTML) notably fail to.  Of course, nothing has explained if "true"
and "True" are equivalent or not.

It appears to be breaking the options apart at spaces.  I want
a space in my option name.  The lpoptions file appears to be
space-delimited, so presumably my option needs quoting.
Let's try:

# lpoptions -o "\"Option3/Duplex Unit\"=True"

That produces
Default lp Option3/Duplex=true Unit=True "Option3/Duplex=true Unit"=True

Wow, parse confusion city!

Time to RTFS... cupsys-1.22/cups/dest.c:cups_get_dests() calls
options.c:cupsParseOptions() which actually parses the string.
And... quptes are supported in the option value, but not in the
option name.  No way, no how.

Am I totally stuck?


Actually, after searching the web a whole lot, I found an example
lpoptions file that contains PostScript options, and makes
it clear that only the part before the / is the "option name"
to use.

So from
Option3/Duplex Unit: True *False

I need to figure out to type:
lpoptions -o Option3=True


Could this perhaps be explained somewhere, so that people wanting to
set options have a hope in hell of doing so?

In truth, this entire lpoptions mess could be avoided with a paragraph
on reading the raw ppd file:

"Printer-level options can be presented by the web interface or the
lpoptions command, but they are controlled by the relevant ppd file,
located in /etc/cups/ppds/<printername>.ppd.  In those files, you'll
see some "*OpenUI" lines which describe selectable options, and possible
values.  The name or value does not include the leading asterisk or the
trailing slash and following descriptive text.  Names never contain
spaces; values rarely do."

Other wishes I haven't personally suffered for lack of yet:

- An explanation of the interaction between CUPS-level options like
  job-sheets and page-ranges and printer/PPD-level options like
  HPOption_EnvFeeder?  What happens if there's a collision?
- An explanation of the other fancy option values ("collection values")
  supported in lpoptions.  The source refers to the PAPI specification,
  which is itself a bit dense.  And I can't find anywhere in the PAPI
  specification an answer to the case-sensitivity question.
- A description of what locking issues arise when manually editing a file
  and what has to be done to force a reload of the results.

It would also be nice if, given an HP LaserJet 4300 with
"HPOption_Tray3=Tray3_500" set in /etc/cups/lpoptions, the
CHECKED attribute could be set appropriately in the HTML for
https://$SERVER:631/admin/?op=set-printer-options&printer_name=$PRINTER.



Reply sent to andreimpopescu@gmail.com (Andrei POPESCU):
You have taken responsibility. (Tue, 21 May 2013 17:57:37 GMT) Full text and rfc822 format available.

Notification sent to sacrificial-spam-address@horizon.com:
Bug acknowledged by developer. (Tue, 21 May 2013 17:57:37 GMT) Full text and rfc822 format available.

Message #10 received at 381252-done@bugs.debian.org (full text, mbox):

From: andreimpopescu@gmail.com (Andrei POPESCU)
To: 226177-done@bugs.debian.org, 262280-done@bugs.debian.org, 273083-done@bugs.debian.org, 275228-done@bugs.debian.org, 378848-done@bugs.debian.org, 381145-done@bugs.debian.org, 381252-done@bugs.debian.org, 410760-done@bugs.debian.org, 428043-done@bugs.debian.org, 482090-done@bugs.debian.org, 491279-done@bugs.debian.org, 504371-done@bugs.debian.org
Subject: Closing old bugs filed against cupsys (or related packages)
Date: Tue, 21 May 2013 20:53:27 +0300 (EEST)
Version: 1.4.4-1

Hello,

Some (long) time ago you filed this bug against cupsys or a related 
package. In the meantime the cupsys package has been renamed to cups and 
this bug was "lost". Since the bug is already quite old now it is being 
closed.

If the issue you encountered is still present in recent cups packages 
(as released with Debian 7.0 wheezy for example) the CUPS maintainers 
would very much appreciate a fresh report using:

    reportbug <package>

You should also mention the number of this bug if you think it contains 
valuable information.

Please note that further information sent to this bug is likely to 
remain unread, because the bug is currently not assigned to any existing 
package.


Thank you for for trying to improve Debian by reporting bugs.

Kind regards,
Andrei (with no relation to CUPS maintenance)



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Wed, 19 Jun 2013 07:32:02 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Mon Apr 21 15:53:28 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.