Fontconfig rules installation guidelines change proposal
behdad at behdad.org
Wed Oct 15 20:39:11 UTC 2008
Nicolas Mailhot wrote:
> Le mercredi 15 octobre 2008 à 15:10 -0400, Behdad Esfahbod a écrit :
>> Hi Nicolas,
> Hi Behdad,
> Thank you for reviewing it,
>> I like the direction of it.
>> The idea of having separate conf.avail and conf.d is that sysadmins can
>> symlink/unlink entries into conf.d to enable/disable configuration for their
>> system. This would only work if upgrading fontconfig/fonts rpms does not
>> reinstate the unlinked symlink. However, last time I checked this was not
>> working correctly. Can you check this first?
> I didn't write it in the wiki, but as far as I understand rpm it is not
> possible to tell it "if this file/symlink does not exist do not install
> it". So this bit of conf.avail/conf.d design will never work on rpm
> systems. And even if it worked, what you'd actually need would be "if
> this file does not exist and was installed by a previous rpm" to handle
> initial deployment. Which starts to be real hairy.
Well, it is: don't include the symlink in the RPM but create it in %post, and
only if no previous versions of the package were installed ($1 = 0 IIRC).
> (more generally
> treating absence of an item as disabling this item is a broken computer
> pattern IMHO.)
The alternative would be people editing the files to disable them. Not much
more package-manager friendly.
> However (someone please check this) it's probably possible to disable an
> entry permanently by creating a symlink with the same name pointing
> somewhere else
This can be ok. If it works, we can document it.
> (how does fontconfig reacts to /dev/null symlinks or
> symlinks pointing to empty files)?
> So having a repository of
> pre-deployed config snippets is fine with me.
> Also (and this bit is traced on the wiki) as I understand the
> FHS /etc/.../conf.avail is a complete no-go and should be moved
> to /usr/share/something if we want to be clean. And that
> before /etc/.../conf.avail is duplicated in many packages.
Really? Where does it talk about those kind of stuff?
More information about the devel