Re: PHP on core-updates
On Fri, Mar 03, 2017 at 10:28:55AM +0100, julien lepiller wrote: > I think they are good now. How could I investigate glib's failure? I typically investigate hangs by attaching to the guix-daemon as root with `strace -f -p $(pgrep guix-daemon | head -n1)` to see what it's doing. The output is extremely verbose, but it usually helps me figure out the problem. > From c6bede4feb365304d0cce71445070aa342d9db4d Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Mon, 27 Feb 2017 11:09:11 +0100 > Subject: [PATCH 1/2] gnu: gd: Fix an issue with XBM decoding. > > * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. > * gnu/local.scm (dist_patch_DATA): Add it. > * gnu/packages/gd.scm (gd)[source]: Use it. > From ebe4eb669f1cf4a87a961452425513a3185becbe Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Mon, 27 Feb 2017 11:15:29 +0100 > Subject: [PATCH 2/2] gnu: php: Update to 7.1.2. > > * gnu/packages/php.scm (php): Update to 7.1.2. > [inputs]: Add gnutls. > (gd-for-php): Remove variable. > * gnu/packages/patches/gd-fix-chunk-size-on-boundaries.patch: Remove file. > * gnu/packages/patches/*gd-fix-truecolor-format-correction.patch: Remove file. > * gnu/local.mk (dist_patch_DATA): Remove them. Pushed to core-updates!
Re: PHP on core-updates
Le 2017-03-02 18:18, Leo Famulari a écrit : On Thu, Mar 02, 2017 at 05:55:30PM +0100, Marius Bakke wrote: julien lepiller writes: > Le 2017-03-01 16:34, julien lepiller a écrit : >> I've "fixed" the glib failure by disabling a test. Attached are >> patches I would like to see in core-updates. If it's too late to add >> the patch for gd, then I would like to keep gd-for-php. This time I've >> tested them and php works. > > A better version of those patches. I still don't know why glib tests > hang. I had to add gnutls as an input because otherwise the build > doesn't find "-lgnutls". There's no problem with the same php version on > master, so I guess a dependency doesn't propagate gnutls anymore. Ok, thanks for the update! The latter two patches LGTM for 'core-updates'. I would hold the glib patch until we understand what's going on, I am not able to reproduce it. Please also update the commit message of the PHP patch to mention the new inputs and arguments change, as well as the removal of the "gd-for-php" variable. +1 Please add the link to the upstream commit in the XBM patch, as requested in my previous message. I think they are good now. How could I investigate glib's failure?From c6bede4feb365304d0cce71445070aa342d9db4d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 27 Feb 2017 11:09:11 +0100 Subject: [PATCH 1/2] gnu: gd: Fix an issue with XBM decoding. * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. * gnu/local.scm (dist_patch_DATA): Add it. * gnu/packages/gd.scm (gd)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/gd.scm| 3 +- .../patches/gd-php-73968-Fix-109-XBM-reading.patch | 119 + 3 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch diff --git a/gnu/local.mk b/gnu/local.mk index abb1b04..5765a3f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -583,6 +583,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-fix-truecolor-format-correction.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ + %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index ea13540..62c8fd8 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -53,7 +53,8 @@ "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk")) (patches (search-patches "gd-fix-gd2-read-test.patch" "gd-fix-tests-on-i686.patch" - "gd-freetype-test-failure.patch" + "gd-freetype-test-failure.patch" + "gd-php-73968-Fix-109-XBM-reading.patch" (build-system gnu-build-system) (arguments ;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch new file mode 100644 index 000..2e64092 --- /dev/null +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch @@ -0,0 +1,119 @@ +This bug was first reported to php on https://bugs.php.net/bug.php?id=73968. +php then reported it to gd in https://github.com/libgd/libgd/issues/109. This +patch is taken from commit: +https://github.com/libgd/libgd/commit/082c5444838ea0d84f9fb6441aefdb44d78d9bba + +Binary files have been removed from the patch because our patch procedure +doesn't support that format. + +From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Fri, 20 Jan 2017 22:48:20 +0100 +Subject: [PATCH] Fix #109: XBM reading fails with printed error + +When calculating the number of required bytes of an XBM image, we have +to take the line padding into account. +--- + src/gd_xbm.c | 2 +- + tests/xbm/CMakeLists.txt | 1 + + tests/xbm/Makemodule.am | 5 - + tests/xbm/github_bug_109.c | 35 +++ + tests/xbm/github_bug_109.xbm | 5 + + 5 files changed, 47 insertions(+), 2 deletions(-) + create mode 100644 tests/xbm/github_bug_109.c + create mode 100644 tests/xbm/github_bug_109.xbm + create mode 100644 tests/xbm/github_bug_109_exp.png + +diff --git a/src/gd_xbm.c b/src/gd_xbm.c +index 5f09b56..c2ba2ad 100644 +--- a/src/gd_xbm.c b/src/gd_xbm.c +@@ -108,7 +108,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd) + max_bit = 32768; + } + if (max_bit) { +-bytes = (width * height / 8) + 1; ++bytes = (width + 7) / 8 * height; + if (!bytes
Re: PHP on core-updates
On Thu, Mar 02, 2017 at 05:37:07PM +0100, julien lepiller wrote: > From 10ab0fc95f83dbb291179cbf525d4bef196a827f Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Mon, 27 Feb 2017 11:09:11 +0100 > Subject: [PATCH 2/3] gnu: gd: Fix an issue with XBM decoding. > > * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. > * gnu/local.scm (dist_patch_DATA): Add it. > * gnu/packages/gd.scm (gd)[source]: Use it. > diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > new file mode 100644 > index 000..c5c5022 > --- /dev/null > +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > @@ -0,0 +1,117 @@ Please include the actual link to the upstream commit: https://github.com/libgd/libgd/commit/082c5444838ea0d84f9fb6441aefdb44d78d9bba Including the link makes it *much* easier to review 3rd-party patches, whether are being submitted, or when we are trying to review them after they've been added (for example, when checking if an upstream update makes the patch redundant). Consider it a requirement if the upstream source control system makes it possible :) > +This bug was first reported to php on https://bugs.php.net/bug.php?id=73968. > +php then reported it to gd in https://github.com/libgd/libgd/issues/109. This > +patch is taken from commit 082c5444838ea0d84f9fb6441aefdb44d78d9bba of gd. > +Binary files have been removed from the patch because our patch procedure > +doesn't support that format. signature.asc Description: PGP signature
Re: PHP on core-updates
On Thu, Mar 02, 2017 at 05:55:30PM +0100, Marius Bakke wrote: > julien lepiller writes: > > > Le 2017-03-01 16:34, julien lepiller a écrit : > >> I've "fixed" the glib failure by disabling a test. Attached are > >> patches I would like to see in core-updates. If it's too late to add > >> the patch for gd, then I would like to keep gd-for-php. This time I've > >> tested them and php works. > > > > A better version of those patches. I still don't know why glib tests > > hang. I had to add gnutls as an input because otherwise the build > > doesn't find "-lgnutls". There's no problem with the same php version on > > master, so I guess a dependency doesn't propagate gnutls anymore. > > Ok, thanks for the update! The latter two patches LGTM for > 'core-updates'. I would hold the glib patch until we understand what's > going on, I am not able to reproduce it. > > Please also update the commit message of the PHP patch to mention the > new inputs and arguments change, as well as the removal of the > "gd-for-php" variable. +1 Please add the link to the upstream commit in the XBM patch, as requested in my previous message. signature.asc Description: PGP signature
Re: PHP on core-updates
julien lepiller writes: > Le 2017-03-01 16:34, julien lepiller a écrit : >> I've "fixed" the glib failure by disabling a test. Attached are >> patches I would like to see in core-updates. If it's too late to add >> the patch for gd, then I would like to keep gd-for-php. This time I've >> tested them and php works. > > A better version of those patches. I still don't know why glib tests > hang. I had to add gnutls as an input because otherwise the build > doesn't find "-lgnutls". There's no problem with the same php version on > master, so I guess a dependency doesn't propagate gnutls anymore. Ok, thanks for the update! The latter two patches LGTM for 'core-updates'. I would hold the glib patch until we understand what's going on, I am not able to reproduce it. Please also update the commit message of the PHP patch to mention the new inputs and arguments change, as well as the removal of the "gd-for-php" variable. > From dcae1b092a48b05631845a6e5194a716e1538386 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Wed, 1 Mar 2017 10:24:32 +0100 > Subject: [PATCH 1/3] gnu: glib: Fix test hang. > > * gnu/packages/glib.scm (glib)[arguments]: Fix test hang. > --- > gnu/packages/glib.scm | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm > index 1a794db..dab0524 100644 > --- a/gnu/packages/glib.scm > +++ b/gnu/packages/glib.scm > @@ -204,6 +204,9 @@ shared NFS home directories.") > ;; recognize it. > "/thread/thread4")) > > + ("glib/tests/642026.c" > + ("/glib/642026")) > + > ("glib/tests/timer.c" >(;; fails if compiler optimizations are enabled, which > they > ;; are by default. > -- > 2.7.4 > > From 10ab0fc95f83dbb291179cbf525d4bef196a827f Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Mon, 27 Feb 2017 11:09:11 +0100 > Subject: [PATCH 2/3] gnu: gd: Fix an issue with XBM decoding. > > * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. > * gnu/local.scm (dist_patch_DATA): Add it. > * gnu/packages/gd.scm (gd)[source]: Use it. > --- > gnu/local.mk | 1 + > gnu/packages/gd.scm| 3 +- > .../patches/gd-php-73968-Fix-109-XBM-reading.patch | 117 > + > 3 files changed, 120 insertions(+), 1 deletion(-) > create mode 100644 > gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 3d9ad70..271d2c4 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -582,6 +582,7 @@ dist_patch_DATA = > \ >%D%/packages/patches/gd-fix-tests-on-i686.patch\ >%D%/packages/patches/gd-fix-truecolor-format-correction.patch \ >%D%/packages/patches/gd-freetype-test-failure.patch\ > + %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > \ >%D%/packages/patches/gegl-CVE-2012-4433.patch \ >%D%/packages/patches/geoclue-config.patch \ >%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch > \ > diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm > index ea13540..62c8fd8 100644 > --- a/gnu/packages/gd.scm > +++ b/gnu/packages/gd.scm > @@ -53,7 +53,8 @@ > "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk")) > (patches (search-patches "gd-fix-gd2-read-test.patch" >"gd-fix-tests-on-i686.patch" > - "gd-freetype-test-failure.patch" > + "gd-freetype-test-failure.patch" > + > "gd-php-73968-Fix-109-XBM-reading.patch" > (build-system gnu-build-system) > (arguments >;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding > diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > new file mode 100644 > index 000..c5c5022 > --- /dev/null > +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > @@ -0,0 +1,117 @@ > +This bug was first reported to php on https://bugs.php.net/bug.php?id=73968. > +php then reported it to gd in https://github.com/libgd/libgd/issues/109. This > +patch is taken from commit 082c5444838ea0d84f9fb6441aefdb44d78d9bba of gd. > +Binary files have been removed from the patch because our patch procedure > +doesn't support that format. > + > +From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 2001 > +From: "Christoph M. Becker" > +Date: Fri, 20 Jan 2017 22:48:20 +0100 > +Subject: [PATCH] Fix #109: XBM reading fails with printed error > + > +When calculating the number of required bytes of an XBM image, we have > +to
Re: PHP on core-updates
Le 2017-03-01 16:34, julien lepiller a écrit : I've "fixed" the glib failure by disabling a test. Attached are patches I would like to see in core-updates. If it's too late to add the patch for gd, then I would like to keep gd-for-php. This time I've tested them and php works. A better version of those patches. I still don't know why glib tests hang. I had to add gnutls as an input because otherwise the build doesn't find "-lgnutls". There's no problem with the same php version on master, so I guess a dependency doesn't propagate gnutls anymore.From dcae1b092a48b05631845a6e5194a716e1538386 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 1 Mar 2017 10:24:32 +0100 Subject: [PATCH 1/3] gnu: glib: Fix test hang. * gnu/packages/glib.scm (glib)[arguments]: Fix test hang. --- gnu/packages/glib.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 1a794db..dab0524 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -204,6 +204,9 @@ shared NFS home directories.") ;; recognize it. "/thread/thread4")) + ("glib/tests/642026.c" + ("/glib/642026")) + ("glib/tests/timer.c" (;; fails if compiler optimizations are enabled, which they ;; are by default. -- 2.7.4 From 10ab0fc95f83dbb291179cbf525d4bef196a827f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 27 Feb 2017 11:09:11 +0100 Subject: [PATCH 2/3] gnu: gd: Fix an issue with XBM decoding. * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. * gnu/local.scm (dist_patch_DATA): Add it. * gnu/packages/gd.scm (gd)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/gd.scm| 3 +- .../patches/gd-php-73968-Fix-109-XBM-reading.patch | 117 + 3 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3d9ad70..271d2c4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -582,6 +582,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-fix-truecolor-format-correction.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ + %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index ea13540..62c8fd8 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -53,7 +53,8 @@ "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk")) (patches (search-patches "gd-fix-gd2-read-test.patch" "gd-fix-tests-on-i686.patch" - "gd-freetype-test-failure.patch" + "gd-freetype-test-failure.patch" + "gd-php-73968-Fix-109-XBM-reading.patch" (build-system gnu-build-system) (arguments ;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch new file mode 100644 index 000..c5c5022 --- /dev/null +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch @@ -0,0 +1,117 @@ +This bug was first reported to php on https://bugs.php.net/bug.php?id=73968. +php then reported it to gd in https://github.com/libgd/libgd/issues/109. This +patch is taken from commit 082c5444838ea0d84f9fb6441aefdb44d78d9bba of gd. +Binary files have been removed from the patch because our patch procedure +doesn't support that format. + +From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Fri, 20 Jan 2017 22:48:20 +0100 +Subject: [PATCH] Fix #109: XBM reading fails with printed error + +When calculating the number of required bytes of an XBM image, we have +to take the line padding into account. +--- + src/gd_xbm.c | 2 +- + tests/xbm/CMakeLists.txt | 1 + + tests/xbm/Makemodule.am | 5 - + tests/xbm/github_bug_109.c | 35 +++ + tests/xbm/github_bug_109.xbm | 5 + + 5 files changed, 47 insertions(+), 2 deletions(-) + create mode 100644 tests/xbm/github_bug_109.c + create mode 100644 tests/xbm/github_bug_109.xbm + create mode 100644 tests/xbm/github_bug_109_exp.png + +diff --git a/src/gd_xbm.c b/src/gd_xbm.c +index 5f09b56..c2ba2ad 100644 +--- a/src/gd_xbm.c b/src/gd_xbm.c +@@ -108,7 +108,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(
Re: PHP on core-updates
On Wed, Mar 01, 2017 at 04:34:25PM +0100, julien lepiller wrote: > I've "fixed" the glib failure by disabling a test. Attached are patches I > would like to see in core-updates. If it's too late to add the patch for gd, > then I would like to keep gd-for-php. This time I've tested them and php > works. Oh no, I was so ready to be done with gd-for-php :) I'll check the status of core-updates and give my opinion in a few hours.
Re: PHP on core-updates
On Wed, Mar 01, 2017 at 05:25:46PM +0100, Marius Bakke wrote: > julien lepiller writes: > > > I've "fixed" the glib failure by disabling a test. Attached are patches > > I would like to see in core-updates. If it's too late to add the patch > > for gd, then I would like to keep gd-for-php. This time I've tested them > > and php works. > > I did not get a substitute for gd on core-updates, so I don't think it > (or dependent packages) have been built yet. If so, patching it should > be okay. I think that gd should be working since 3de15bb740dbadf89cdcbd1b0737057996f4f87a (gnu: freetype: Update to 2.7.1.). signature.asc Description: PGP signature
Re: PHP on core-updates
julien lepiller writes: > I've "fixed" the glib failure by disabling a test. Attached are patches > I would like to see in core-updates. If it's too late to add the patch > for gd, then I would like to keep gd-for-php. This time I've tested them > and php works. I did not get a substitute for gd on core-updates, so I don't think it (or dependent packages) have been built yet. If so, patching it should be okay. [...] > From 300af3fb262a31958f26aeac5eef33e376eda604 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Wed, 1 Mar 2017 10:24:32 +0100 > Subject: [PATCH 1/3] gnu: glib: Fix test hang. > > * gnu/packages/glib.scm (glib)[arguments]: Fix test hang. > --- > gnu/packages/glib.scm | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm > index 1a794db..dab0524 100644 > --- a/gnu/packages/glib.scm > +++ b/gnu/packages/glib.scm > @@ -204,6 +204,9 @@ shared NFS home directories.") > ;; recognize it. > "/thread/thread4")) > > + ("glib/tests/642026.c" > + ("/glib/642026")) This needs an explaining comment. Under which circumstances does this test hang? I cannot reproduce it on 'core-updates'. > + > ("glib/tests/timer.c" >(;; fails if compiler optimizations are enabled, which > they > ;; are by default. > -- > 2.7.4 > > From 0aa21c67381203d7dfec325fdc85303f5d3db76e Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Mon, 27 Feb 2017 11:09:11 +0100 > Subject: [PATCH 2/3] gnu: gd: Fix an issue with XBM decoding. > > * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. > * gnu/local.scm (dist_patch_DATA): Add it. > * gnu/packages/gd.scm (gd)[source]: Use it. > --- > gnu/local.mk | 1 + > gnu/packages/gd.scm| 3 +- > .../patches/gd-php-73968-Fix-109-XBM-reading.patch | 114 > + > 3 files changed, 117 insertions(+), 1 deletion(-) > create mode 100644 > gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 3d9ad70..271d2c4 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -582,6 +582,7 @@ dist_patch_DATA = > \ >%D%/packages/patches/gd-fix-tests-on-i686.patch\ >%D%/packages/patches/gd-fix-truecolor-format-correction.patch \ >%D%/packages/patches/gd-freetype-test-failure.patch\ > + %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > \ >%D%/packages/patches/gegl-CVE-2012-4433.patch \ >%D%/packages/patches/geoclue-config.patch \ >%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch > \ > diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm > index 8cac242..664e653 100644 > --- a/gnu/packages/gd.scm > +++ b/gnu/packages/gd.scm > @@ -52,7 +52,8 @@ > "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk")) > (patches (search-patches "gd-fix-gd2-read-test.patch" >"gd-fix-tests-on-i686.patch" > - "gd-freetype-test-failure.patch" > + "gd-freetype-test-failure.patch" > + > "gd-php-73968-Fix-109-XBM-reading.patch" > (build-system gnu-build-system) > (arguments > `(#:phases > diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > new file mode 100644 > index 000..bfaa4ff > --- /dev/null > +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > @@ -0,0 +1,114 @@ > +From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 2001 > +From: "Christoph M. Becker" > +Date: Fri, 20 Jan 2017 22:48:20 +0100 > +Subject: [PATCH] Fix #109: XBM reading fails with printed error Please add a few words at the top of this file (before patch headers) describing what it does, why it's needed, and where to find the original. Look into other patches for examples. > + > +When calculating the number of required bytes of an XBM image, we have > +to take the line padding into account. > + > +This patch has been taken from the gd repository and binary files have been > +removed from the patch because our patch procedure doesn't support that > format. Is this not the original commit message? The next patch leads me to think so. I would prefer not messing with commit messages of git-format patches; either remove them or keep it intact. > +--- > + src/gd_xbm.c | 2 +- > + tests/xbm/CMakeLists.txt | 1 + > + tests/xbm/Makemodule.am | 5 - > + tests/xbm/github_bug_109.c | 35 +++
Re: PHP on core-updates
I've "fixed" the glib failure by disabling a test. Attached are patches I would like to see in core-updates. If it's too late to add the patch for gd, then I would like to keep gd-for-php. This time I've tested them and php works. From 300af3fb262a31958f26aeac5eef33e376eda604 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 1 Mar 2017 10:24:32 +0100 Subject: [PATCH 1/3] gnu: glib: Fix test hang. * gnu/packages/glib.scm (glib)[arguments]: Fix test hang. --- gnu/packages/glib.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 1a794db..dab0524 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -204,6 +204,9 @@ shared NFS home directories.") ;; recognize it. "/thread/thread4")) + ("glib/tests/642026.c" + ("/glib/642026")) + ("glib/tests/timer.c" (;; fails if compiler optimizations are enabled, which they ;; are by default. -- 2.7.4 From 0aa21c67381203d7dfec325fdc85303f5d3db76e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 27 Feb 2017 11:09:11 +0100 Subject: [PATCH 2/3] gnu: gd: Fix an issue with XBM decoding. * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. * gnu/local.scm (dist_patch_DATA): Add it. * gnu/packages/gd.scm (gd)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/gd.scm| 3 +- .../patches/gd-php-73968-Fix-109-XBM-reading.patch | 114 + 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3d9ad70..271d2c4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -582,6 +582,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-fix-truecolor-format-correction.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ + %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 8cac242..664e653 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -52,7 +52,8 @@ "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk")) (patches (search-patches "gd-fix-gd2-read-test.patch" "gd-fix-tests-on-i686.patch" - "gd-freetype-test-failure.patch" + "gd-freetype-test-failure.patch" + "gd-php-73968-Fix-109-XBM-reading.patch" (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch new file mode 100644 index 000..bfaa4ff --- /dev/null +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch @@ -0,0 +1,114 @@ +From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Fri, 20 Jan 2017 22:48:20 +0100 +Subject: [PATCH] Fix #109: XBM reading fails with printed error + +When calculating the number of required bytes of an XBM image, we have +to take the line padding into account. + +This patch has been taken from the gd repository and binary files have been +removed from the patch because our patch procedure doesn't support that format. +--- + src/gd_xbm.c | 2 +- + tests/xbm/CMakeLists.txt | 1 + + tests/xbm/Makemodule.am | 5 - + tests/xbm/github_bug_109.c | 35 +++ + tests/xbm/github_bug_109.xbm | 5 + + 5 files changed, 47 insertions(+), 2 deletions(-) + create mode 100644 tests/xbm/github_bug_109.c + create mode 100644 tests/xbm/github_bug_109.xbm + create mode 100644 tests/xbm/github_bug_109_exp.png + +diff --git a/src/gd_xbm.c b/src/gd_xbm.c +index 5f09b56..c2ba2ad 100644 +--- a/src/gd_xbm.c b/src/gd_xbm.c +@@ -108,7 +108,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd) + max_bit = 32768; + } + if (max_bit) { +-bytes = (width * height / 8) + 1; ++bytes = (width + 7) / 8 * height; + if (!bytes) { + return 0; + } +diff --git a/tests/xbm/CMakeLists.txt b/tests/xbm/CMakeLists.txt +index 183cf5e..08576e0 100644 +--- a/tests/xbm/CMakeLists.txt b/tests/xbm/CMakeLists.txt +@@ -1,4 +1,5 @@ + LIST(APPEND TESTS_FILES ++ github_bug_109 + github_bug_170 + ) + +diff --git a/tests/xbm/Makemodule.am b/tests/xbm/Makemodule.am +index ba1eabd..0f5beb6 100644 +--- a/tests/xbm/Makemodul
Re: PHP on core-updates
On Mon, 27 Feb 2017 16:09:58 -0500 Leo Famulari wrote: > On Mon, Feb 27, 2017 at 11:24:42AM +0100, julien lepiller wrote: > > I think php-for-gd would break with the new version (it would fail > > to apply the patches), so I'd like to get rid of it, and use our gd > > package instead. > > Okay, sounds good! > > > I found an issue with gd that was discovered by php, reported to gd > > and fixed in their repo. I've extracted a patch from the gd repo > > and would like to add it to our package. I found a way to "fix" the > > newly failing tests and reported them upstream. I've attached two > > patches I'd like to see in core-updates. I haven't tested them yet, > > though, but comments would be highly appreciated ;) > > It's expected that contributors test their submissions before sending > them, or put a note in the message subject like "WIP". Please let us > know the result of your test :) It was going to take some time to build all dependencies, but I wanted feedback quickly. Ok for the "WIP" thing, I'll think about that next time. I've tried to build php and failed because it depends on glib that fails to build on core-updates because one test hangs. > > > From 6ee0afac1c72c8e92dcd0384090ead62d5e0cf8a Mon Sep 17 00:00:00 > > 2001 From: Julien Lepiller > > Date: Mon, 27 Feb 2017 11:09:11 +0100 > > Subject: [PATCH 1/2] gnu: gd: Fix an issue with XBM decoding. > > > > * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New > > file. > > * gnu/local.scm (dist_patch_DATA): Add it. > > * gnu/packages/gd.scm (gd)[source]: Use it. > > [...] > > > diff --git > > a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > > b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch new > > file mode 100644 index 000..bfaa4ff --- /dev/null > > +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch > > @@ -0,0 +1,114 @@ > > +From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 > > 2001 +From: "Christoph M. Becker" > > +Date: Fri, 20 Jan 2017 22:48:20 +0100 > > +Subject: [PATCH] Fix #109: XBM reading fails with printed error > > + > > +When calculating the number of required bytes of an XBM image, we > > have +to take the line padding into account. > > + > > +This patch has been taken from the gd repository and binary files > > have been +removed from the patch because our patch procedure > > doesn't support that format. +--- > > + src/gd_xbm.c | 2 +- > > + tests/xbm/CMakeLists.txt | 1 + > > + tests/xbm/Makemodule.am | 5 - > > + tests/xbm/github_bug_109.c | 35 > > +++ > > + tests/xbm/github_bug_109.xbm | 5 + > > + 5 files changed, 47 insertions(+), 2 deletions(-) > > + create mode 100644 tests/xbm/github_bug_109.c > > + create mode 100644 tests/xbm/github_bug_109.xbm > > + create mode 100644 tests/xbm/github_bug_109_exp.png > > We should always include links to the upstream bug report (if one > exists) and source of the 3rd-party patch in the patch file that is > being added (in this case, in > 'gd-php-73968-Fix-109-XBM-reading.patch'). This makes it more likely > that people will review it. I'm sure you can imagine that it's > exhausting to hunt down the origin and reasoning behind every > 3rd-party patch. The php bug report is this one: https://bugs.php.net/bug.php?id=73968. > > I guess these are some relevant bug reports (I did not find the PHP > report): https://bitbucket.org/libgd/gd-libgd/issues/109 > https://github.com/libgd/libgd/issues/109 > > And the source of the patch is this: > https://github.com/libgd/libgd/commit/082c5444838ea0d84f9fb6441aefdb44d78d9bba > > Do you know if this change have a security impact? Is XBM still used > widely? It was not marked as a security bug in php or gd, so I don't think so. That patch is required for a test not to fail in php though. If you don't like having patches around, I could also disable the test in php.
Re: PHP on core-updates
Le 2017-02-26 21:46, Leo Famulari a écrit : Hi Julien, Libgd is updated to 2.2.4 on the core-updates branch. Can you take a look and decide what to do with gd-for-php on that branch? I think php-for-gd would break with the new version (it would fail to apply the patches), so I'd like to get rid of it, and use our gd package instead. I found an issue with gd that was discovered by php, reported to gd and fixed in their repo. I've extracted a patch from the gd repo and would like to add it to our package. I found a way to "fix" the newly failing tests and reported them upstream. I've attached two patches I'd like to see in core-updates. I haven't tested them yet, though, but comments would be highly appreciated ;)From 6ee0afac1c72c8e92dcd0384090ead62d5e0cf8a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 27 Feb 2017 11:09:11 +0100 Subject: [PATCH 1/2] gnu: gd: Fix an issue with XBM decoding. * gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: New file. * gnu/local.scm (dist_patch_DATA): Add it. * gnu/packages/gd.scm (gd)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/gd.scm| 3 +- .../patches/gd-php-73968-Fix-109-XBM-reading.patch | 114 + 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3d9ad70..271d2c4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -582,6 +582,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-fix-truecolor-format-correction.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ + %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 8cac242..664e653 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -52,7 +52,8 @@ "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk")) (patches (search-patches "gd-fix-gd2-read-test.patch" "gd-fix-tests-on-i686.patch" - "gd-freetype-test-failure.patch" + "gd-freetype-test-failure.patch" + "gd-php-73968-Fix-109-XBM-reading.patch" (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch new file mode 100644 index 000..bfaa4ff --- /dev/null +++ b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch @@ -0,0 +1,114 @@ +From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Fri, 20 Jan 2017 22:48:20 +0100 +Subject: [PATCH] Fix #109: XBM reading fails with printed error + +When calculating the number of required bytes of an XBM image, we have +to take the line padding into account. + +This patch has been taken from the gd repository and binary files have been +removed from the patch because our patch procedure doesn't support that format. +--- + src/gd_xbm.c | 2 +- + tests/xbm/CMakeLists.txt | 1 + + tests/xbm/Makemodule.am | 5 - + tests/xbm/github_bug_109.c | 35 +++ + tests/xbm/github_bug_109.xbm | 5 + + 5 files changed, 47 insertions(+), 2 deletions(-) + create mode 100644 tests/xbm/github_bug_109.c + create mode 100644 tests/xbm/github_bug_109.xbm + create mode 100644 tests/xbm/github_bug_109_exp.png + +diff --git a/src/gd_xbm.c b/src/gd_xbm.c +index 5f09b56..c2ba2ad 100644 +--- a/src/gd_xbm.c b/src/gd_xbm.c +@@ -108,7 +108,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd) + max_bit = 32768; + } + if (max_bit) { +-bytes = (width * height / 8) + 1; ++bytes = (width + 7) / 8 * height; + if (!bytes) { + return 0; + } +diff --git a/tests/xbm/CMakeLists.txt b/tests/xbm/CMakeLists.txt +index 183cf5e..08576e0 100644 +--- a/tests/xbm/CMakeLists.txt b/tests/xbm/CMakeLists.txt +@@ -1,4 +1,5 @@ + LIST(APPEND TESTS_FILES ++ github_bug_109 + github_bug_170 + ) + +diff --git a/tests/xbm/Makemodule.am b/tests/xbm/Makemodule.am +index ba1eabd..0f5beb6 100644 +--- a/tests/xbm/Makemodule.am b/tests/xbm/Makemodule.am +@@ -1,5 +1,8 @@ + libgd_test_programs += \ ++ xbm/github_bug_109 \ + xbm/github_bug_170 + + EXTRA_DIST += \ +- xbm/CMakeLists.txt ++ xbm/CMakeLists.txt \ ++ xbm/github_bug_109.xbm \ ++ xbm/github_bug_109_exp.png +diff --git a/tests/xbm/github_bug_109.c b/tests/xbm/github_bug_109.c +new file mode 100644 +index 0
PHP on core-updates
Hi Julien, Libgd is updated to 2.2.4 on the core-updates branch. Can you take a look and decide what to do with gd-for-php on that branch?