# # spec file for package fonts-config # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif Name: fonts-config Version: 20231210+git0.f7216ba Release: 0 Summary: Script to configure fonts for X Windows and other applications # MIT for infinality License: GPL-2.0-or-later AND MIT Group: System/X11/Fonts Source: %{name}-%{version}.tar.xz BuildRequires: fontconfig BuildRequires: fontpackages-devel Requires(pre): %fillup_prereq %reconfigure_fonts_prereq Requires: fontconfig >= 2.14 Requires: gawk Requires: perl(English) Recommends: mkfontscale Recommends: mkfontdir BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %description A script to configure fonts for X Windows and other applications. fonts-config is usually called automatically when a package containing fonts is installed, upgraded or removed. But it can also be executed directly, which is mainly useful to debug it (use the --debug flag). %prep %autosetup -p1 %build # empty configuration now, should be filled after fonts-config call cp 99-example.conf 10-rendering-options.conf # empty configuration now, can be filled after fonts-config call cp 99-example.conf 58-family-prefer-local.conf %install mkdir -p %{buildroot}/sbin/conf.d mkdir -p %{buildroot}%{_prefix}/sbin mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}/%{_mandir}/man1 mkdir -p %{buildroot}/%{_docdir}/%{name}/infinality mkdir -p %{buildroot}%{_fillupdir} install -m 755 fonts-config %{buildroot}%{_prefix}/sbin install -m 644 sysconfig.fonts-config \ %{buildroot}%{_fillupdir}/ install -m 644 fontconfig.SUSE.properties.template %{buildroot}%{_datadir}/fonts-config pod2man --section 1 --center=" " fonts-config > \ %{buildroot}/%{_mandir}/man1/fonts-config.1 # install -m 644 10-rendering-options.conf.template %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_fontsconfavaildir} # following two conf files can not be under /usr/share/fonts-config # as they are changed during installation [bnc#882029 (internal)] mkdir -p %{buildroot}%{_fontsconfddir} for conf in 10-rendering-options.conf \ 58-family-prefer-local.conf; do install -m 644 $conf %{buildroot}%{_fontsconfddir} done # for conf in 11-base-rendering.conf \ 12-tt-monospace-rendering.conf \ 13-selective-rendering.conf \ 13-selective-rendering-ipa.conf \ 21-emoji-rendering.conf \ 22-noto-cjk-rendering.conf \ 31-metric-aliases-bw.conf \ 32-emoji-reject.conf \ 32-symbol-substitution.conf \ 49-family-default.conf \ 49-family-default-emoji.conf \ 59-family-prefer-lang-specific.conf \ 59-family-prefer-lang-specific-cjk.conf \ 59-family-prefer-lang-specific-noto.conf \ 60-family-prefer.conf \ 61-wine-aliases.conf \ 70-reject.conf; do install -m 644 $conf %{buildroot}%{_datadir}/%{name}/conf.avail/ %link_avail_to_system_fontsconf $conf done # missing symlink from fontconfig for conf in 09-autohint-if-no-hinting.conf; do ln -s ../../..%{_datadir}/fontconfig/conf.avail/$conf \ %{buildroot}%{_fontsconfddir}/$conf done %post if [ -f %{_sysconfdir}/sysconfig/fonts-config ]; then update=$(grep "^FORCE_MODIFY_DEFAULT_FONT_SETTINGS_IN_NEXT_UPDATE=" %{_sysconfdir}/sysconfig/fonts-config | sed -e 's/.*="//;s/"$//') if [ -z "$update" -o "$update" = "yes" ]; then echo "Updating default font settings..." force_hintstyle=$(grep "^FORCE_HINTSTYLE=" /usr/share/fillup-templates/sysconfig.fonts-config | sed -e 's/.*=//') use_lcdfilter=$(grep "^USE_LCDFILTER=" /usr/share/fillup-templates/sysconfig.fonts-config | sed -e 's/.*=//') use_rgba=$(grep "^USE_RGBA=" /usr/share/fillup-templates/sysconfig.fonts-config | sed -e 's/.*=//') if [ ! -f %{_sysconfdir}/sysconfig/fonts-config.rpmsave ]; then cp %{_sysconfdir}/sysconfig/fonts-config %{_sysconfdir}/sysconfig/fonts-config.rpmsave fi sed -i -e '14,16s/^## Default: none$/## Default: '"$force_hintstyle"/ \ -e 's/^FORCE_HINTSTYLE="none"$/FORCE_HINTSTYLE='"$force_hintstyle"/ \ -e 's/^## Default: lcdnone$/## Default: '"$use_lcdfilter"/ \ -e 's/^USE_LCDFILTER="lcdnone"$/USE_LCDFILTER='"$use_lcdfilter"/ \ -e '76,78s/^## Default: none$/## Default: '"$use_rgba"/ \ -e 's/^USE_RGBA="none"$/USE_RGBA='"$use_rgba"/ \ %{_sysconfdir}/sysconfig/fonts-config fi fi # Note that the above code should run before fillup merges the (maybe new) # FORCE_MODIFY_DEFAULT_FONT_SETTINGS_IN_NEXT_UPDATE variable # in a system being updated. %{fillup_only -n fonts-config} %reconfigure_fonts_post -c exit 0 %postun %reconfigure_fonts_postun -c %posttrans %reconfigure_fonts_posttrans %files %defattr(-,root,root) %dir %{_datadir}/fonts-config %files_fontsconf_availdir %{_sbindir}/fonts-config %{_datadir}/fonts-config/*.template %{_mandir}/man1/fonts-config.1.gz %{_docdir}/%{name} %{_fillupdir}/sysconfig.fonts-config %{_fontsconfavaildir}/*.conf %config %{_fontsconfddir}/*.conf %changelog