Name: fontconfig
Summary: Font configuration and customization library
-Version: 2.11.93
+Version: 2.12.1
Release: 1
Group: Graphics & UI Framework/Fonts
License: MIT
URL: http://fontconfig.org
Source0: http://fontconfig.org/release/fontconfig-%{version}.tar.gz
-Source1001: packaging/fontconfig.manifest
+Source100: fontconfig.conf
+Source1001: fontconfig.manifest
BuildRequires: pkgconfig(freetype2) >= %{freetype_version}
BuildRequires: gawk
BuildRequires: expat-devel
BuildRequires: perl
BuildRequires: gperf
BuildRequires: python
-Requires(pre): /usr/bin/fc-cache, /usr/bin/mkdir /usr/bin/rm, /usr/bin/grep, /usr/bin/chsmack
+BuildRequires: systemd-devel
+BuildRequires: pkgconfig(libtzplatform-config)
+Requires(pre): %{TZ_SYS_BIN}/fc-cache, %{TZ_SYS_BIN}/mkdir %{TZ_SYS_BIN}/rm, %{TZ_SYS_BIN}/grep, %{TZ_SYS_BIN}/chsmack
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
+%define upgrade_script_path /usr/share/upgrade/scripts
+
%description
Fontconfig is designed to locate fonts within the
system and select them according to requirements specified by
export HASDOCBOOK=no
%reconfigure --disable-static \
- --with-expat=/usr \
+ --with-expat=%{_prefix} \
--with-expat-include=%{_includedir} \
--with-expat-lib=%{_libdir} \
- --with-freetype-config=%{_bindir}/freetype-config \
- --with-add-fonts=/opt/share/fonts,/usr/share/app_fonts,/usr/share/fallback_fonts \
- --with-cache-dir=/var/cache/fontconfig \
- --with-baseconfigdir=/usr/etc/fonts \
- --with-configdir=/usr/etc/fonts/conf.d \
- --with-templatedir=/usr/etc/fonts/conf.avail \
- --with-xmldir=/usr/etc/fonts \
+ --with-freetype-config=%{TZ_SYS_BIN}/freetype-config \
+ --with-add-fonts=%{TZ_SYS_RO_SHARE}/fonts,%{TZ_SYS_RO_SHARE}/app_fonts,%{TZ_SYS_RO_SHARE}/fallback_fonts,%{TZ_SYS_SHARE}/fonts \
+ --with-cache-dir=%{TZ_SYS_VAR}/cache/fontconfig \
+ --with-baseconfigdir=%{TZ_SYS_RO_ETC}/fonts \
+ --with-configdir=%{TZ_SYS_RO_ETC}/fonts/conf.d \
+ --with-templatedir=%{TZ_SYS_RO_ETC}/fonts/conf.avail \
+ --with-xmldir=%{TZ_SYS_RO_ETC}/fonts \
--disable-docs
make %{?jobs:-j%jobs}
#make check
%install
rm -rf %{buildroot}
+mkdir -p %{buildroot}%{upgrade_script_path}
+cp -f scripts/fontconfig_upgrade.sh %{buildroot}%{upgrade_script_path}
%make_install
+mkdir -p %{buildroot}%{_tmpfilesdir}
+install -m 0644 %SOURCE100 %{buildroot}%{_tmpfilesdir}/fontconfig.conf
+
# All font packages depend on this package, so we create
# and own /usr/share/fonts
-mydir=$RPM_BUILD_ROOT%{_datadir}/fonts
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/fonts
-mkdir -p %{buildroot}/usr/share/license
-cat COPYING > %{buildroot}/usr/share/license/%{name}
+mydir=$RPM_BUILD_ROOT%{TZ_SYS_RO_SHARE}/fonts
+mkdir -p $RPM_BUILD_ROOT%{TZ_SYS_RO_SHARE}/fonts
+mkdir -p %{buildroot}%{TZ_SYS_RO_SHARE}/license
+cat COPYING > %{buildroot}%{TZ_SYS_RO_SHARE}/license/%{name}
# Remove unpackaged files. no need when configure --disable-static
#rm $RPM_BUILD_ROOT%{_libdir}/*.la
umask 0022
-mkdir -p /var/cache/fontconfig
-# Remove stale caches
-rm -f /var/cache/fontconfig/*
-mkdir -p /opt/var/cache/fontconfig
-mkdir -p /usr/share/fonts
-mkdir -p /usr/share/fallback_fonts
-mkdir -p /usr/share/app_fonts
-chsmack -t /opt/var/cache/fontconfig
-chsmack -a System::Shared /opt/var/cache/fontconfig
-rm -rf /opt/home/app/.cache/fontconfig
-mkdir -p /opt/home/app/.cache/fontconfig
-chmod 755 /opt/home/app/.cache
-chown app:app /opt/home/app/.cache
-chsmack -t /opt/home/app/.cache
-chsmack -a System::Shared /opt/home/app/.cache
-chmod 755 /opt/home/app/.cache/fontconfig
-chown app:app /opt/home/app/.cache/fontconfig
-chsmack -t /opt/home/app/.cache/fontconfig
-chsmack -a System::Shared /opt/home/app/.cache/fontconfig
+mkdir -p %{TZ_SYS_RO_SHARE}/fonts
+mkdir -p %{TZ_SYS_RO_SHARE}/fallback_fonts
+mkdir -p %{TZ_SYS_RO_SHARE}/app_fonts
+
+# Skip making fontconfig cache folder for users. (/opt/home/app/.cache)
+# The path will be changed according to a name of user.
+#rm -rf %{TZ_USER_CACHE}/fontconfig
+#mkdir -p %{TZ_USER_CACHE}/fontconfig
+#chmod 755 %{TZ_USER_CACHE}
+#chown app:app %{TZ_USER_CACHE}
+#chsmack -t %{TZ_USER_CACHE}
+#chsmack -a System::Shared %{TZ_USER_CACHE}
+#chmod 755 %{TZ_USER_CACHE}/fontconfig
+#chown app:app %{TZ_USER_CACHE}/fontconfig
+#chsmack -t %{TZ_USER_CACHE}/fontconfig
+#chsmack -a System::Shared %{TZ_USER_CACHE}/fontconfig
# remove 49-sansserif.conf to fix bmc #9024
#rm -rf /usr/%{_sysconfdir}/fonts/conf.d/49-sansserif.conf
# The check for existance is needed on dual-arch installs (the second
# copy of fontconfig might install the binary instead of the first)
# The HOME setting is to avoid problems if HOME hasn't been reset
-if [ -x /usr/bin/fc-cache ] && /usr/bin/fc-cache --version 2>&1 | grep -q %{version} ; then
+if [ -x %{TZ_SYS_BIN}/fc-cache ] && %{TZ_SYS_BIN}/fc-cache --version 2>&1 | grep -q %{version} ; then
fc-cache -rf --system-only
+chsmack -t %{TZ_SYS_VAR}/cache/fontconfig
+chsmack -a User::App::Shared %{TZ_SYS_VAR}/cache/fontconfig
+chsmack -a User::App::Shared %{TZ_SYS_VAR}/cache/fontconfig/*
fi
%postun -p /sbin/ldconfig
%defattr(-, root, root)
%doc README AUTHORS COPYING
%{_libdir}/libfontconfig.so.*
-%{_bindir}/fc-*
-/usr/%{_sysconfdir}/fonts/*
-%dir /usr/%{_sysconfdir}/fonts/conf.avail
-%dir %{_datadir}/fonts
-%doc /usr/%{_sysconfdir}/fonts/conf.d/README
-%config /usr/%{_sysconfdir}/fonts/conf.avail/*.conf
-%config(noreplace) /usr/%{_sysconfdir}/fonts/conf.d/*.conf
-%dir /var/cache/fontconfig
-/usr/share/license/%{name}
+%{TZ_SYS_BIN}/fc-*
+%{TZ_SYS_RO_ETC}/fonts/*
+%dir %{TZ_SYS_RO_ETC}/fonts/conf.avail
+%dir %{TZ_SYS_RO_SHARE}/fonts
+%doc %{TZ_SYS_RO_ETC}/fonts/conf.d/README
+%config %{TZ_SYS_RO_ETC}/fonts/conf.avail/*.conf
+%config(noreplace) %{TZ_SYS_RO_ETC}/fonts/conf.d/*.conf
+%{TZ_SYS_RO_SHARE}/license/%{name}
+%{_tmpfilesdir}/fontconfig.conf
+%{upgrade_script_path}/fontconfig_upgrade.sh
%files devel
%manifest fontconfig.manifest