[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
/usr/share/ppd/<supplier>/<manufacturer>/
and
/usr/lib/printdrivers/<supplier>
because these directories are a core part of the OS?
Or do we still need the alternative location /opt/printing/?
Till
More information about the Printing-architecture
mailing list