[Openicc] Do we want /usr/local/share/color/icc as a third profile
directory ?
Craig Ringer
craig at postnewspapers.com.au
Mon Nov 28 02:22:28 PST 2005
Bob Friesenhahn wrote:
> On Sat, 26 Nov 2005, Kai-Uwe Behrmann wrote:
>
>> Hello,
>>
>> about symlinks:
>> My intention for Oyranos is to reject them.
>>
>> about flatness:
>> Oyranos include subdirectories to allow some kind of structurising. But a
>> convention how to make use of is not yet formed.
>>
>> The above suggested thierd standard directory would be ok with me for
>> unix
>> alike systems except osX.
>
>
> When following the BSD/GNU standards which have driven directory layouts
> for many years, the /usr/local/share/color/icc path makes sense in that
> with the default installation path it is $PREFIX/share/color/icc. From
> an installed package's perspective this is the same as
> /usr/share/color/icc if the package is installed with $PREFIX=/usr. This
> means that support for /usr/local/share/color/icc is an absolute
> requirement for packages installed using common default conventions
> ($PREFIX=/usr/local) but only if they are not configured to use a
> non-default installation prefix.
>
> Packages which support profiles should always check
> $PREFIX/share/color/icc and should prefer (check first) that directory
> over /usr/share/color/icc since /usr/share/color/icc may be under
> different administration. This will include packages installed under
> OSX unless they include specific OSX knowledge.
>
> It is debateable if a package installed with $PREFIX=/usr should also
> check for profiles in /usr/local/share/color/icc.
It probably should. Consider the Linux case of a user having installed
an application with an RPM. They now want to add system-wide profiles
that all applications will see. Messing with /usr/share/color/icc is
arguably a bit ugly, since on Linux /usr/share is typically
package-managed. It would be more appropriate for the application to
support scanning _both_ /usr/share/color/icc and /usr/local/share/color/icc.
I'd argue that an environment variable should also be supported to
permit administrators to configure paths such as
/some/network/volume/prepress/ICCProfiles to be scanned as well. This
approach is fairly common with libraries and applications that can pull
in settings from multiple sources, and makes sense so long as each
supported location has a clearly defined and separate purpose, eg:
/usr/share/color/icc - for profiles installed by packages;
/usr/local/share/color/icc - for profiles installed by the admin,
or that came with software
compiled/installed locally on the machine;
$PREFIX/share/color/icc - To be scanned in case the app comes with
bundled profiles and is installed at a non-
default prefix;
ICC_PROFILE_PATH - Additional directories to search to preserve the
sanity of the network administrator.
Other packages do this (in fact, `ld.so' comes to mind) and it solves a
real problem without, in my view, introducing excessive complexity.
Sound reasonable?
--
Craig Ringer
More information about the openicc
mailing list