Accepting request 673052 from home:badshah400:branches:M17N

- Add fontconfig-do-not-remove-UUID-file.patch: Removing .uuid
  files caused frequent rescanning of all system fonts causing
  intermittent CPU usage surges, for example, when browsing using
  firefox; patch taken from upstream commit (boo#1124816,
  https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/8).

OBS-URL: https://build.opensuse.org/request/show/673052
OBS-URL: https://build.opensuse.org/package/show/M17N/fontconfig?expand=0&rev=161
This commit is contained in:
Karl Cheng 2019-02-10 01:42:39 +00:00 committed by Git OBS Bridge
parent f5a9349763
commit febeeeee17
3 changed files with 94 additions and 0 deletions

View File

@ -0,0 +1,82 @@
https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/8
From 5f12f564f8748deaa603adb7a4b8f616b6390ad4 Mon Sep 17 00:00:00 2001
From: Keith Packard <keithp@keithp.com>
Date: Wed, 17 Oct 2018 21:15:47 -0700
Subject: [PATCH] Do not remove UUID file when a scanned directory is empty
Because FcDirCacheDeleteUUID does not reset the modification time on
the directory, and because FcDirCacheRead unconditionally creates the
UUID file each time it is run, any empty directory in the cache will
get its timestamp changed each time the cache for that directory is
read.
Instead, just leave the UUID file around as it is harmless.
The alternative would be to only create the UUID file after the cache
has been created and the directory has been discovered to be
non-empty, but that would delay the creation of the UUID file.
Signed-off-by: Keith Packard <keithp@keithp.com>
---
src/fcdir.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/src/fcdir.c b/src/fcdir.c
index 93f220c..bfcdf95 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -421,13 +421,6 @@ FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config)
/* Not using existing cache file, construct new cache */
if (!cache)
cache = FcDirCacheScan (dir, config);
- if (cache)
- {
- FcFontSet *fs = FcCacheSet (cache);
-
- if (cache->dirs_count == 0 && (!fs || fs->nfont == 0))
- FcDirCacheDeleteUUID (dir, config);
- }
return cache;
}
--
2.18.1
diff --git a/test/run-test.sh b/test/run-test.sh
index e76e39bd8c384f8354600d8c7b073a57f3012482..ed41456998ba599568e2ab0bf3cc990e9abcc525 100644
--- a/test/run-test.sh
+++ b/test/run-test.sh
@@ -239,19 +239,19 @@ fi
rm -rf $MyPWD/sysroot
-dotest "deleting .uuid file on empty dir"
-prep
-cp $FONT1 $FONT2 $FONTDIR
-$FCCACHE $FONTDIR
-sleep 1
-rm -f $FONTDIR/*pcf
-$FCCACHE $FONTDIR
-rmdir $FONTDIR > /dev/null 2>&1
-if [ $? != 0 ]; then
- echo "*** Test failed: $TEST"
- echo "$FONTDIR isn't empty"
- ls -al $FONTDIR
- exit 1
-fi
+# dotest "deleting .uuid file on empty dir"
+# prep
+# cp $FONT1 $FONT2 $FONTDIR
+# $FCCACHE $FONTDIR
+# sleep 1
+# rm -f $FONTDIR/*pcf
+# $FCCACHE $FONTDIR
+# rmdir $FONTDIR > /dev/null 2>&1
+# if [ $? != 0 ]; then
+# echo "*** Test failed: $TEST"
+# echo "$FONTDIR isn't empty"
+# ls -al $FONTDIR
+# exit 1
+# fi
rm -rf $FONTDIR $CACHEFILE $CACHEDIR $FONTCONFIG_FILE out

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Sat Feb 9 23:34:45 UTC 2019 - Atri Bhattacharya <badshah400@gmail.com>
- Add fontconfig-do-not-remove-UUID-file.patch: Removing .uuid
files caused frequent rescanning of all system fonts causing
intermittent CPU usage surges, for example, when browsing using
firefox; patch taken from upstream commit (boo#1124816,
https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/8).
-------------------------------------------------------------------
Sat Jan 12 12:07:28 UTC 2019 - Jan Engelhardt <jengelh@inai.de>

View File

@ -27,6 +27,8 @@ Url: http://fontconfig.org/
Source0: http://fontconfig.org/release/%{name}-%{version}.tar.bz2
Source4: baselibs.conf
Source5: local.conf
# PATCH-FIX-UPSTREAM fontconfig-do-not-remove-UUID-file.patch boo#1124816 badshah400@gmail.com -- Removing .uuid files caused frequent rescanning of all system fonts causing intermittent CPU usage surges, for example, when browsing using firefox; patch taken from upstream commit
Patch0: fontconfig-do-not-remove-UUID-file.patch
BuildRequires: automake >= 1.11
BuildRequires: gperf
BuildRequires: libtool
@ -90,6 +92,7 @@ fontconfig library.
%prep
%setup -q
%patch0 -p1
# use suse-specific doc path:
find -name \*.1 -o -name \*.sgml -exec sed -i -e 's/usr\/share\/doc\/fontconfig/usr\/share\/doc\/packages\/fontconfig/g' {} +