[Printing-architecture] Proposed filesystem layout for print
ppd and driver files
Till Kamppeter
till.kamppeter at gmail.com
Wed Aug 2 09:05:24 PDT 2006
I would like to agree on a directory layout for printing this week. What
do you think about Chris' suggestions
Distro-supplied:
/usr/share/ppd/<supplier>/<manufacturer>/
/usr/lib/printdriver/<supplier>/
Vendor-supplied:
/opt/share/ppd/<supplier>/<manufacturer>/ be a symlink to
/opt/<vendor>/<undefined_place_in_hierarchy>
/opt/lib/printdriver/<supplier>/ be a symlink
/opt/<vendor>/<undefined_place_in_hierarchy>
Local admin:
/usr/local/share/ppd/<supplier>/<manufacturer>/
/usr/local/lib/printdriver/<supplier>/
to be completely FHS compliant?
Is it really not possible to get the stuff in /opt somewhat simpler and
stay FHS compliant?
All the rest (file names, scripts, ...) should stay as we already agreed on.
Till
Christopher Yeoh wrote:
> Hi Wendy,
>
> (Added Rusty to the CC list since he is also an FHS editor)
>
> At 2006/7/26 17:43-0700 Wendy Phillips writes:
>
>>As a result of the past weeks discussion and the fsg architecture
>>meeting today, the following proposal is on the table. It defines
>>directories for ppd files and print drivers; placement of files is based
>>on category of provider: distribution, third party vendor, and system
>>administrator.
>
>
>>From an FHS point of view I think the proposal is inconsistent.
> Currently there is symmetry between /usr, /usr/local and /opt.
>
> Eg if something would normally go in /usr/lib if shipped as part of
> the distribution, then it would go into /usr/local/lib if compiled
> locally or /opt/lib (via a symlink) if through a 3rd party package.
>
> We'd need a pretty good reason to break that convention.
>
> Also, I'd reiterate that I don't believe a print subdirectory is
> needed for the /usr/local and /opt hierarchies.
>
>
>>1. Distro supplied files
>>
>> The filesystem layout as utilized by the distibutions when the
>> ppd files and print drivers are initially installed on the
>>system. It is presumed that this will also be used for patches and
>>updates created and delivered by the distro.
>>
>> a. Installation path for ppd files
>> /usr/share/ppd/<supplier>/<manufacturer>/
>>
>> b. Installation path for print drivers
>> /usr/lib/printdriver/<supplier>
>>
>
> This looks fine.
>
>
>>2. Third Party Vendor supplied files
>>
>> The filesystem layout to be utilized by third party vendors
>> for delivery of ppd files, print drivers and other vendor
>> supplied files.
>>
>> a. Installation path for PPD files
>> /opt/print/ppd/<supplier>/<manufacturer>
>>
>> b. Installation path for print drivers
>> /opt/print/driver/<supplier>
>>
>
> I'd suggest instead
>
> /opt/share/ppd/<supplier>/<manufacturer>/<ppd_file> be a symlink to /opt/<vendor>/<undefined_place_in_hierarchy>
>
> and
>
> /opt/lib/printdriver/<supplier>/<print_driver_filename> be a symlink to /opt/vendor/<undefined_place_in_hierarchy>
>
>
> Currently *nothing* installs directly under /opt, outside of
> /opt/<vendor> (except for symlinks) and we'd need a good reason to
> change that.
>
>
>>3. Files created, downloaded, or modified by a system administrator.
>>
>> a. Installation path for PPD files
>> /usr/local/print/ppd/<supplier>/<manufacturer>
>>
>> b. Installation path for print drivers
>> /usr/local/print/driver/<supplier>
>>
>
> and here:
>
> /usr/local/share/ppd/<supplier>/manufacturer/
>
> and
>
> /usr/local/lib/printdriver/<supplier>
>
>>4. Common features
>> These features apply to each of the three supplier categories,
>> distro, third party vendor, and administrator.
>>
>> a. PPD file naming convention
>> <MFGString>-<MDLString>-<driver>-<language>.ppd
>
>
> are the mfgstring and mdl strings always going to be unique between
> suppliers and manufacturers? If so the supplier and manufacturer
> subdirectories can be dropped for the ppd files - which would simply
> things somewhat for applications.
>
>
>> b. The contents of the driver directories are entirely
>> determined by the supplier. The path to a driver is found
>> by using an absolute path in the ppd file.
>
>
> If the path to the driver directory is always determined by the
> contents of the ppd file, and applications should never be capable of
> finding them through other means, then for /opt we don't need to
> specify a path for where they are installed. They can simply live
> somewhere under /opt/<vendor> (exactly where up to the vendor's
> discretion)
>
>
>> c. Install scripts must be written in Bourne Shell without
>> any extensions.
>
>
> I would suggest restricting to the commands and utilities to usage as
> specified in the LSB specification (the LSB requires a POSIX shell, so
> maybe do not allow bash extensions).
>
>
>>5. Precedence Rules
>> Highest precedence is given to the system administrator which
>> allows for system by system modfications as determined by
>> support personel.
>>
>> PPD files
>> Admin : /usr/local/print/ppd Highest
>> Third Party Vendor : /opt/print/ppd
>> Distro : /usr/share/ppd Lowest
>>
>> Drivers
>> Admin : /usr/local/print/driver Highest
>> Third Party Vendor : /opt/print/driver
>> Distro : /usr/lib/printdriver Lowest
>
>
> Precendence rules look good. Though if drivers are always discovered
> through ppd files do you need to specify precedence rules for them? Or
> if only a driver and not a ppd file is installed under /usr/local do
> you expect the application to find it even though the ppd file
> specifies one in /usr/lib/printdriver ?
>
> btw are there distribution representatives on the
> printing-architecture mailing list? Because we really do need
> agreement from them on whatever gets settled upon.
>
> (am on planes for the next couple of days so may be slow in replying)
>
> Regards,
>
> Chris
More information about the Printing-architecture
mailing list