82 lines
3.2 KiB
Diff
82 lines
3.2 KiB
Diff
|
From fc0e9a78d2fe3b26f0b93c2a99b160e75e2a9f89 Mon Sep 17 00:00:00 2001
|
||
|
From: Akira TAGOH <akira@tagoh.org>
|
||
|
Date: Wed, 28 Sep 2022 21:39:09 +0900
|
||
|
Subject: [PATCH 1/3] Real fix of 91114d18c
|
||
|
|
||
|
The change in 91114d18c broke remapping font paths.
|
||
|
|
||
|
Patch from Mattias Clasen
|
||
|
|
||
|
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/331
|
||
|
---
|
||
|
src/fcstr.c | 6 +-----
|
||
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/src/fcstr.c b/src/fcstr.c
|
||
|
index 3fe518f..5ce65da 100644
|
||
|
--- a/src/fcstr.c
|
||
|
+++ b/src/fcstr.c
|
||
|
@@ -1467,7 +1467,6 @@ FcStrSetAddFilenamePairWithSalt (FcStrSet *set, const FcChar8 *a, const FcChar8
|
||
|
{
|
||
|
FcChar8 *new_a = NULL;
|
||
|
FcChar8 *new_b = NULL;
|
||
|
- FcChar8 *rs = NULL;
|
||
|
FcBool ret;
|
||
|
|
||
|
if (a)
|
||
|
@@ -1487,10 +1486,7 @@ FcStrSetAddFilenamePairWithSalt (FcStrSet *set, const FcChar8 *a, const FcChar8
|
||
|
}
|
||
|
}
|
||
|
/* Override maps with new one if exists */
|
||
|
- if (FcStrSetMemberAB (set, new_a, new_b, &rs))
|
||
|
- {
|
||
|
- FcStrSetDel (set, rs);
|
||
|
- }
|
||
|
+ FcStrSetDel (set, new_a);
|
||
|
ret = FcStrSetAddTriple (set, new_a, new_b, salt);
|
||
|
if (new_a)
|
||
|
FcStrFree (new_a);
|
||
|
--
|
||
|
2.37.3
|
||
|
|
||
|
From a10d07682a09ce5effbd121920b119618f4b7775 Mon Sep 17 00:00:00 2001
|
||
|
From: Akira TAGOH <akira@tagoh.org>
|
||
|
Date: Wed, 28 Sep 2022 23:30:06 +0900
|
||
|
Subject: [PATCH 2/3] Fix test cases for wrong use of remap-dir
|
||
|
|
||
|
---
|
||
|
test/run-test.sh | 12 +++++++++---
|
||
|
1 file changed, 9 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/test/run-test.sh b/test/run-test.sh
|
||
|
index 1cedb8d..2b8a412 100644
|
||
|
--- a/test/run-test.sh
|
||
|
+++ b/test/run-test.sh
|
||
|
@@ -177,7 +177,10 @@ $FCCACHE "$FONTDIR"
|
||
|
sleep 1
|
||
|
ls -l "$CACHEDIR" > out1
|
||
|
TESTTMPDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||
|
-sed "s!@FONTDIR@!$TESTTMPDIR/fonts!
|
||
|
+# Once font dir is remapped, we could use $FONTDIR as different one in theory.
|
||
|
+# but we don't use it here and to avoid duplicate entries, set the non-existing
|
||
|
+# directory here.
|
||
|
+sed "s!@FONTDIR@!$FONTDIR/a!
|
||
|
s!@REMAPDIR@!<remap-dir as-path="'"'"$FONTDIR"'"'">$TESTTMPDIR/fonts</remap-dir>!
|
||
|
s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < "$TESTDIR"/fonts.conf.in > bind-fonts.conf
|
||
|
echo "$BWRAP --bind / / --bind \"$CACHEDIR\" \"$TESTTMPDIR\"/cache.dir --bind \"$FONTDIR\" \"$TESTTMPDIR\"/fonts --bind .. \"$TESTTMPDIR\"/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE \"$TESTTMPDIR\"/build/test/bind-fonts.conf \"$TESTTMPDIR\"/build/fc-match/fc-match\"$EXEEXT\" -f \"%{file}\n\" \":foundry=Misc\" > xxx"
|
||
|
@@ -273,7 +276,10 @@ sleep 1
|
||
|
(cd "$CACHEDIR"; ls -1 --color=no ./*cache*) > out1
|
||
|
TESTTMPDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||
|
mkdir -p "$TESTTMPDIR"/cache.dir
|
||
|
-sed "s!@FONTDIR@!$TESTTMPDIR/fonts!
|
||
|
+# Once font dir is remapped, we could use $FONTDIR as different one in theory.
|
||
|
+# but we don't use it here and to avoid duplicate entries, set the non-existing
|
||
|
+# directory here.
|
||
|
+sed "s!@FONTDIR@!$FONTDIR/a!
|
||
|
s!@REMAPDIR@!<remap-dir as-path="'"'"$FONTDIR"'"'">$TESTTMPDIR/fonts</remap-dir>!
|
||
|
s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < "$TESTDIR"/fonts.conf.in > bind-fonts.conf
|
||
|
$BWRAP --bind / / --bind "$FONTDIR" "$TESTTMPDIR"/fonts --bind .. "$TESTTMPDIR"/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTTMPDIR"/build/test/bind-fonts.conf "$TESTTMPDIR"/build/fc-cache/fc-cache"$EXEEXT" "$TESTTMPDIR"/fonts
|
||
|
--
|
||
|
2.37.3
|
||
|
|