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:
parent
f5a9349763
commit
febeeeee17
82
fontconfig-do-not-remove-UUID-file.patch
Normal file
82
fontconfig-do-not-remove-UUID-file.patch
Normal 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
|
@ -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>
|
||||
|
||||
|
@ -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' {} +
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user