From Fedora Project Wiki
No edit summary
Line 49: Line 49:


Also ''/etc/fonts/conf.d'' is provided by ''filesystem'' but ''%{fontconfdir}conf.avail'' (or ''usr/share/fontconfig'') are not, so filesystem needs to be modified to follow whatever scheme this guideline end up recommending.
Also ''/etc/fonts/conf.d'' is provided by ''filesystem'' but ''%{fontconfdir}conf.avail'' (or ''usr/share/fontconfig'') are not, so filesystem needs to be modified to follow whatever scheme this guideline end up recommending.
== See also ==
[[rhbug:466667|466667]]

Revision as of 15:13, 12 October 2008

This is a modification proposal for our official fonts spec template.

Current situation

In the interest of KISS, and since upstream's conf.avail/conf.d feels un-fedorish (we filter apache conf.d on extension for example), the template currently installs fontconfig rules directly in %{_sysconfdir}/fonts/conf.d.


 %define fontconfdir %{_sysconfdir}/fonts/conf.d
 …
 %install
 …
 install -m 0755 -d %{buildroot}%{fontconfdir}
 install -m 0644 -p %{SOURCE1} %{buildroot}%{fontconfdir}/…-%{fontname}.conf
 …
 %files
 …
 %config(noreplace) %{fontconfdir}…-%{fontname}.conf

(This has been good enough for some of our major font packages for a long time).

Problem

However our fontconfig package does deploy upstream's conf.avail/conf.d separation. And users have started have started filling bugs on packages that do not follow this rule. Anything user-visible is a problem.

Proposed change

In the interest of stemming the potential user report flood, and since adhering closely to upstream is generally considered good, I propose to change the template in

 %define fontconfdir %{_sysconfdir}/fonts/
 …
 %install
 …
 install -m 0755 -d %{buildroot}%{fontconfdir}conf.{avail,d}
 install -pm 0644 -p %{SOURCE1}\
         %{buildroot}%{fontconfdir}conf.avail/…-%{fontname}.conf
 …
 pushd %{buildroot}%{fontconfdir}conf.d
   ln -s ../conf.avail/*.conf .
 popd
 …
 %files
 …
 %config            %{fontconfdir}conf.avail/…-%{fontname}.conf
 %config(noreplace) %{fontconfdir}conf.d/…-%{fontname}.conf

Comments

Using %config without noreplace on %{fontconfdir}conf.avail will make rpmlint barf. Its content should probably be moved to /usr/share/fontconfig, though it's useless to mandate it in font packages if our fontconfig package (and probably upstream) are not fixed at the same time.

Also /etc/fonts/conf.d is provided by filesystem but %{fontconfdir}conf.avail (or usr/share/fontconfig) are not, so filesystem needs to be modified to follow whatever scheme this guideline end up recommending.

See also

466667