Bug#947442: buster-pu: package pango1.0/1.42.4-8~deb10u1
Package: release.debian.org
Severity: normal
Tags: buster d-i
User: release.debian.org@packages.debian.org
Usertags: pu
We've been asked to fix a crash bug (#898960) in buster. Would you
be willing to consider a direct backport of 1.42.4-8 when it has had
some more time in unstable? In addition to a simple crash fix, it
has some improvements to the autopkgtest (which do not affect binary
packages). Diff below.
Or I could drop the autopkgtest changes and do a 1.42.4-7~deb10u2 or
something with just the crash fix, if preferred.
Either way this will need a d-i ack - the graphical installer uses Pango,
via GTK 2.
Thanks,
smcv
----
diff --git a/debian/changelog b/debian/changelog
index b4c3bf86..ee749e91 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,27 @@
+pango1.0 (1.42.4-8~deb10u1) UNRELEASED; urgency=medium
+
+ * Merge changes from 1.42.4-8 into buster
+ - d/gbp.conf, d/control: Set packaging branch to debian/buster
+
+ -- Simon McVittie <smcv@debian.org> Thu, 26 Dec 2019 21:30:51 +0000
+
+pango1.0 (1.42.4-8) unstable; urgency=medium
+
+ * Team upload
+ * d/p/Fix-crash-in-pango_fc_font_key_get_variations-when-key-is.patch:
+ Backport crash fix from 1.44.x (Closes: #898960)
+ * d/tests/build: Use correct compiler for proposed autopkgtest
+ cross-architecture testing support, based on a patch for clutter-1.0
+ by Steve Langasek
+ * d/tests/build: Fix shellcheck warnings
+ * d/tests/build: Remove trailing whitespace
+ * d/tests/build: Fail if using an undefined variable ("unofficial strict
+ mode")
+ * d/tests/build: Mark as superficial
+ * d/gbp.conf, d/control: Use debian/unstable, upstream/1.42.x branches
+
+ -- Simon McVittie <smcv@debian.org> Thu, 26 Dec 2019 20:19:17 +0000
+
pango1.0 (1.42.4-7~deb10u1) buster-security; urgency=medium
* Team upload
diff --git a/debian/control b/debian/control
index b97760cc..3d35aa25 100644
--- a/debian/control
+++ b/debian/control
@@ -31,7 +31,7 @@ Build-Depends: debhelper (>= 11),
Build-Depends-Indep: libglib2.0-doc <!nodoc>
Standards-Version: 4.3.0
Vcs-Browser: https://salsa.debian.org/gnome-team/pango
-Vcs-Git: https://salsa.debian.org/gnome-team/pango.git
+Vcs-Git: https://salsa.debian.org/gnome-team/pango.git -b debian/buster
Homepage: http://www.pango.org/
Package: libpango1.0-0
diff --git a/debian/control.in b/debian/control.in
index 2fbc8fde..b4b23392 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -27,7 +27,7 @@ Build-Depends: debhelper (>= 11),
Build-Depends-Indep: libglib2.0-doc <!nodoc>
Standards-Version: 4.3.0
Vcs-Browser: https://salsa.debian.org/gnome-team/pango
-Vcs-Git: https://salsa.debian.org/gnome-team/pango.git
+Vcs-Git: https://salsa.debian.org/gnome-team/pango.git -b debian/buster
Homepage: http://www.pango.org/
Package: libpango1.0-0
diff --git a/debian/patches/Fix-crash-in-pango_fc_font_key_get_variations-when-key-is.patch b/debian/patches/Fix-crash-in-pango_fc_font_key_get_variations-when-key-is.patch
new file mode 100644
index 00000000..70aaf519
--- /dev/null
+++ b/debian/patches/Fix-crash-in-pango_fc_font_key_get_variations-when-key-is.patch
@@ -0,0 +1,36 @@
+From: Carsten Pfeiffer <carsten.pfeiffer@gebit.de>
+Date: Fri, 10 Aug 2018 16:06:20 +0200
+Subject: Fix crash in pango_fc_font_key_get_variations() when key is null
+
+Bug: https://gitlab.gnome.org/GNOME/pango/merge_requests/12
+Bug-Debian: https://bugs.debian.org/898960
+Applied-upstream: 1.43.0, commit:ad92e199f221499c19f22dce7a16e7d770ad3ae7
+---
+ pango/pangofc-shape.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/pango/pangofc-shape.c b/pango/pangofc-shape.c
+index a59ca67..53269d7 100644
+--- a/pango/pangofc-shape.c
++++ b/pango/pangofc-shape.c
+@@ -380,8 +380,10 @@ _pango_fc_shape (PangoFont *font,
+ fc_font->is_hinted ? ft_face->size->metrics.x_ppem : 0,
+ fc_font->is_hinted ? ft_face->size->metrics.y_ppem : 0);
+
+- variations = pango_fc_font_key_get_variations (key);
+- if (variations)
++ if (key)
++ {
++ variations = pango_fc_font_key_get_variations (key);
++ if (variations)
+ {
+ guint n_variations;
+ hb_variation_t *hb_variations;
+@@ -391,6 +393,7 @@ _pango_fc_shape (PangoFont *font,
+
+ g_free (hb_variations);
+ }
++ }
+
+ hb_buffer = acquire_buffer (&free_buffer);
+
diff --git a/debian/patches/series b/debian/patches/series
index ef8fe1a0..42457c74 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,3 +8,4 @@ Update-Grapheme-Boundary-to-Unicode-11.patch
Update-Word-Boundary-to-Unicode-11.patch
Update-Line-Break-to-Unicode-11.patch
bidi-Be-safer-against-bad-input.patch
+Fix-crash-in-pango_fc_font_key_get_variations-when-key-is.patch
diff --git a/debian/tests/build b/debian/tests/build
old mode 100644
new mode 100755
index a5c92b5f..957286f3
--- a/debian/tests/build
+++ b/debian/tests/build
@@ -4,10 +4,21 @@
# Author: Rafał Cieślak <rafalcieslak256@ubuntu.com>
set -e
+set -u
WORKDIR=$(mktemp -d)
-trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
-cd $WORKDIR
+cleanup () {
+ rm -fr "$WORKDIR"
+}
+trap cleanup 0 INT QUIT ABRT PIPE TERM
+cd "$WORKDIR"
+
+if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
+ CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
+else
+ CROSS_COMPILE=
+fi
+
cat <<EOF > build_test.c
#include <pango/pango.h>
@@ -20,9 +31,10 @@ int main (int argc, char *argv[])
}
EOF
-gcc -o build_test build_test.c `pkg-config --cflags --libs pango`
+# Deliberately word-splitting, that's how pkg-config works:
+# shellcheck disable=SC2046
+"${CROSS_COMPILE}gcc" -o build_test build_test.c $("${CROSS_COMPILE}pkg-config" --cflags --libs pango)
echo "build: OK"
[ -x build_test ]
./build_test
echo "run: OK"
-
diff --git a/debian/tests/control b/debian/tests/control
index 97681cab..397b5681 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,5 +1,6 @@
Tests: build
Depends: build-essential, libpango1.0-dev, pkg-config
+Restrictions: superficial
Tests: installed-tests
Depends: pango1.0-tests, dbus (>= 1.8), xauth, xvfb, gnome-desktop-testing
Reply to: