Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"lpoptions -l" for instance displays values from main instance #4717

Closed
michaelrsweet opened this issue Sep 15, 2015 · 4 comments
Closed

"lpoptions -l" for instance displays values from main instance #4717

michaelrsweet opened this issue Sep 15, 2015 · 4 comments
Assignees
Milestone

Comments

@michaelrsweet
Copy link
Collaborator

Version: 2.1.0
CUPS.org User: michaelweghorn

The section on printer instances in the CUPS documentation (section "Creating Saved Options" in [1]) says:
"Instances do not inherit lpoptions from the main queue."

I tried sending a print job to the instance and as far as I can see, the values specified for the main queue are not applied (which is the expected behaviour).

However, the output of lpoptions -p <printername>/<instancename> -l does show values set for the main queue for the instance as well. If I understand the documentation correctly, this is incorrect.

Steps to reproduce (I ran them on Debian GNU/Linux):

  1. set up a printer with the attached PPD file, e.g. print to a file (cups-files.conf must contain "FileDevice Yes" in that case).
    sudo lpadmin -p testprinter -v file:$HOME/tofile-testprinter -E -P Ricoh-MP_C3503-pxlcolor-Ricoh.ppd

  2. create a printer instance "testprinter/myinstance":
    lpoptions -p testprinter/myinstance -o Resolution=1200dpi

  3. check value of PageSize returned from "lpoptions" for the instance:
    lpoptions -p testprinter/myinstance -l | grep PageSize

output:
PageSize/PageSize: A3 A4 A5 A6 B4 B5 B6 Legal GovernmentLG EngQuatro *Letter Statement F Folio FanFoldGermanLegal Tabloid 12x18 11x15 10x14 SRA3 SRA4 Executive Env10 EnvMonarch EnvC5 EnvC6 DLEnv 8Kai 16Kai

The PageSize is "Letter" as specified in the PPD file (as expected).

  1. change PageSize for the main queue:
    lpoptions -p testprinter -o PageSize=A3

  2. check value of PageSize returned from "lpoptions" for the instance:
    lpoptions -p testprinter/myinstance -l | grep PageSize

output:
PageSize/PageSize: *A3 A4 A5 A6 B4 B5 B6 Legal GovernmentLG EngQuatro Letter Statement F Folio FanFoldGermanLegal Tabloid 12x18 11x15 10x14 SRA3 SRA4 Executive Env10 EnvMonarch EnvC5 EnvC6 DLEnv 8Kai 16Kai

The PageSize is "A3" as specified for the main instance "testprinter".

Expected behaviour:
The value for the "PageSize" option for the printer instance "testprinter/myinstance" should not be affected by the main instance "testprinter" and should therefore still be "Letter".

I have tested this on Debian 8 ("jessie") with the preinstalled CUPS version (1.7.5) and on Debian unstable with version 2.1.0.

[1] http:https://cups.org/documentation.php/doc-2.1/options.html

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: michaelweghorn

This is the file ~/.cups/lpoptions after running the mentioned commands.

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: michaelweghorn

The file ~/.cups/lpoptions contains the following after running the mentioned commands:

Dest testprinter PageSize=A3
Dest testprinter/myinstance Resolution=1200dpi

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: mike

Investigating, this might be over-optimization of the option storage code.

@michaelrsweet michaelrsweet added this to the Stable milestone Mar 17, 2016
@michaelrsweet michaelrsweet modified the milestones: Future, Stable May 11, 2016
@michaelrsweet michaelrsweet modified the milestones: CUPS 2.3.x Release, Future Jun 30, 2017
@michaelrsweet michaelrsweet self-assigned this Jun 30, 2017
@michaelrsweet
Copy link
Collaborator Author

[master 42a5ae2] Fix writing of default options (Issue #4717)

michaelrsweet added a commit that referenced this issue Mar 7, 2018
- Fixed a compile issue when PAM is not available (Issue #5253)
- Documentation fixes (Issue #5252)
- Star Micronics printers need the "unidir" USB quirk rule (Issue #5251)
- The scheduler now supports using temporary print queues for older IPP/1.1 print queues like those shared by CUPS 1.3 and earlier (Issue #5241)
- The `cupsRasterWritePixels` function did not correctly swap bytes for some formats (Issue #5225)
- Added a USB quirk rule for Canon MP280 series printers (Issue #5221)
- The `ppdInstallableConflict` tested too many constraints (Issue #5213)
- More fixes for printing to old CUPS servers (Issue #5211)
- The `cupsCopyDest` function now correctly copies the `is_default` value (Issue #5208)
- The scheduler did not work with older versions of uClibc (Issue #5188)
- The scheduler now substitutes default values for invalid job attributes when running in "relaxed conformance" mode (Issue #5186)
- Fixed PAM module detection and added support for the common PAM definitions (Issue #5185)
- Fixed a journald support bug in the scheduler (Issue #5181)
- The cups-driverd program incorrectly stopped scanning PPDs as soon as a loop was seen (Issue #5170)
- Fixed group validation on OpenBSD (Issue #5166)
- Fixed the `ippserver` sample code when threading is disabled or unavailable (Issue #5154)
- The `cupsEnumDests` function did not include options from the lpoptions files (Issue #5144)
- The `SSLOptions` directive now supports `MinTLS` and `MaxTLS` options to control the minimum and maximum TLS versions that will be allowed, respectively (Issue #5119)
- The scheduler did not write out dirty configuration and state files if there were open client connections (Issue #5118)
- The `lpadmin` command now provides a better error message when an unsupported System V interface script is used (Issue #5111)
- The `lp` and `lpr` commands now provide better error messages when the default printer cannot be found (Issue #5096)
- No longer support backslash, question mark, or quotes in printer names (Issue #4966)
- The CUPS library now supports the latest HTTP Digest authentication specification including support for SHA-256 (Issue #4862)
- The `lpstat` command now reports when new jobs are being held (Issue #4761)
- The `lpoptions` command incorrectly saved default options (Issue #4717)
- The `ppdLocalizeIPPReason` function incorrectly returned a localized version of "none" (rdar:https://36566269)
- TLS connections now properly timeout (rdar:https://34938533)
- The IPP backend did not properly detect failed PDF prints (rdar:https://34055474)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant