[Printing-architecture] resend notes from last week

Till Kamppeter till.kamppeter at gmail.com
Mon Jul 24 06:14:08 PDT 2006

Michael Sweet wrote:
> Till Kamppeter wrote:
>> Wendy Phillips wrote:
>>> Apparently, this didn't go out to the alias; could be that I fumbled
>>> it on the keyboard. So here tis again ...
>>> I have purposely not included the follow-on discussions about fhs
>>> standard;
>>> this is a summary of the meeting as it occurred.
>>> -Wendy
>>> 1. Installation path for ppd files
>>>          /usr/share/ppd/<supplier>/<manufacturer>/
>>> 2. PPD file naming convention
>>>          <MFGString>-<MDLString>-<driver>-<language>.ppd
>>> 3. Installation path for print drivers
>>>          /usr/lib/printdrivers/<supplier>
>>>          The contents of this directory are entirely determine
>>>          by the supplier. The path to a driver is found by using
>>>          an absolute path in the ppd file.
>> Paths in /usr to accomodate 3rd-party software do not comply the FHS
>> standard. Therefore alternative paths were suggested in other threads.
>> But note that CUPS violates FHS, too, as CUPS requires drivers in
>> /usr/lib/cups/filter.
> Bzzzt, wrong.
> The separation of /usr, /usr/local, and /opt/vendor does not apply
> since CUPS provides a core OS function - printing.  If you installed
> CUPS in /opt/cups (or like *BSD does, in /usr/local), you'd quickly
> find out that a LOT of software expects lp, lpr, etc. in /usr,
> leading to VERY frustrated users.  Moreover, the LSB requires the
> print commands in /usr, and FHS and LSB are pretty closely tied
> together.
> That said, nothing would prevent you from making symlinks everywhere,
> and Red Hat (at least) did this for a while to allow both LPRng and
> CUPS to coexist, but that goes against the intent of /usr being used
> as a shared (read-only) filesystem among multiple systems and is just
> plain fragile...
> The CUPS build system accommodates almost any directory organization,
> and if you stick with using --prefix you'll end up with /usr,
> /usr/local, or /opt/foo directory structures that follow the FHS
> exactly.  You can also relocate individual pieces (like putting
> ServerBin in /opt/cups/bin, DataDir in /opt/cups/share, etc.),
> but again you will need to do symlinks to preserve compatibility.

Does this mean that putting a third-party CUPS filter into
/usr/lib/cups/filter/ is no violation of FHS?

Would then putting a driver and its PPD into the directories




because these directories are a core part of the OS?

Or do we still need the alternative location /opt/printing/?


More information about the Printing-architecture mailing list