--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: gregor herrmann <gregoa@debian.org>
Control: affects -1 + src:libimage-imlib2-perl
[ Reason ]
Rebuilding libimage-imlib2-perl would create a broken package.
This is caused by libimlib2-dev dropping imlib2-config.
The package currently in bookworm is not yet broken as the last
binNMU happened before the imlib2 change.
[ Impact ]
No immediate problems, but after libimage-imlib2-perl gets binNMUed
for whatever reason in stable.
[ Tests ]
Package contents are complete again.
(No differences between 2.03-1.1+b2 and 2.03-1.2~deb12u1.)
[ Risks ]
Low.
[ Checklist ]
[*] *all* changes are documented in the d/changelog
[*] I reviewed all changes and I approve them
[*] attach debdiff against the package in (old)stable
[*] the issue is verified as fixed in unstable
[ Changes ]
+libimage-imlib2-perl (2.03-1.2~deb12u1) bookworm; urgency=medium
+
+ * Non-maintainer upload.
+ * Rebuild for bookworm.
+
+ -- Andreas Beckmann <anbe@debian.org> Wed, 19 Jun 2024 17:34:53 +0200
+
+libimage-imlib2-perl (2.03-1.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix "Creates empty package on bookworm upwards":
+ `imlib2-config' went missing from libimlib2-dev, so use pkgconfig (new
+ patch pkg-config.diff and build dependency on libextutils-pkgconfig-perl)
+ (Closes: #1040223)
+ * Add patch 0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch
+ from Niko Tyni to work around an imlib2 bug with alpha channel cloning
+ which makes a test fail.
+
+ -- gregor herrmann <gregoa@debian.org> Sat, 29 Jul 2023 16:09:32 +0200
[ Other info ]
n/a
Andreas
diff -Nru libimage-imlib2-perl-2.03/debian/changelog libimage-imlib2-perl-2.03/debian/changelog
--- libimage-imlib2-perl-2.03/debian/changelog 2022-10-06 18:56:50.000000000 +0200
+++ libimage-imlib2-perl-2.03/debian/changelog 2024-06-19 17:34:53.000000000 +0200
@@ -1,3 +1,23 @@
+libimage-imlib2-perl (2.03-1.2~deb12u1) bookworm; urgency=medium
+
+ * Non-maintainer upload.
+ * Rebuild for bookworm.
+
+ -- Andreas Beckmann <anbe@debian.org> Wed, 19 Jun 2024 17:34:53 +0200
+
+libimage-imlib2-perl (2.03-1.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix "Creates empty package on bookworm upwards":
+ `imlib2-config' went missing from libimlib2-dev, so use pkgconfig (new
+ patch pkg-config.diff and build dependency on libextutils-pkgconfig-perl)
+ (Closes: #1040223)
+ * Add patch 0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch
+ from Niko Tyni to work around an imlib2 bug with alpha channel cloning
+ which makes a test fail.
+
+ -- gregor herrmann <gregoa@debian.org> Sat, 29 Jul 2023 16:09:32 +0200
+
libimage-imlib2-perl (2.03-1.1) unstable; urgency=medium
* Non-maintainer upload.
diff -Nru libimage-imlib2-perl-2.03/debian/control libimage-imlib2-perl-2.03/debian/control
--- libimage-imlib2-perl-2.03/debian/control 2011-10-16 02:28:18.000000000 +0200
+++ libimage-imlib2-perl-2.03/debian/control 2023-07-29 16:00:08.000000000 +0200
@@ -3,7 +3,7 @@
Priority: extra
Section: perl
Standards-Version: 3.9.2
-Build-Depends: debhelper (>= 8), libmodule-build-perl, libimlib2-dev, libtest-simple-perl, quilt
+Build-Depends: debhelper (>= 8), libmodule-build-perl, libimlib2-dev, libtest-simple-perl, quilt, libextutils-pkgconfig-perl
Package: libimage-imlib2-perl
Architecture: any
diff -Nru libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch
--- libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch 1970-01-01 01:00:00.000000000 +0100
+++ libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch 2023-07-29 16:01:50.000000000 +0200
@@ -0,0 +1,49 @@
+From c2d646b9fa925ac2a91cb6cfb3fe6dad430c7927 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Tue, 18 Jul 2023 15:16:21 +0100
+Subject: [PATCH] Work around an imlib2 bug with alpha channel cloning
+
+As discussed in https://bugs.debian.org/1041406 imlib2 1.10.0 introduced
+a bug where imlib_clone_image() no longer copies the alpha flag. This
+breaks test 12 of t/simple.t :
+
+ # Failed test at t/simple.t line 68.
+ # got: '0'
+ # expected: '1'
+
+Work around this on our side by checking for any difference after
+cloning and copying the alpha flag if necessary.
+
+Bug-Debian: https://bugs.debian.org/1040223
+---
+ lib/Image/Imlib2.xs | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/lib/Image/Imlib2.xs b/lib/Image/Imlib2.xs
+index f48d4ec..cc54d2b 100644
+--- a/lib/Image/Imlib2.xs
++++ b/lib/Image/Imlib2.xs
+@@ -931,9 +931,20 @@ Imlib2_clone(image)
+ CODE:
+ {
+ Imlib_Image cloned;
++ char alpha_orig;
++ char alpha_cloned;
+
+ imlib_context_set_image(image);
+ cloned = imlib_clone_image();
++
++ /* imlib2 no longer clones the alpha flag since 1.10 */
++ alpha_orig = imlib_image_has_alpha();
++ imlib_context_set_image(cloned);
++ alpha_cloned = imlib_image_has_alpha();
++ if (alpha_orig != alpha_cloned) {
++ imlib_image_set_has_alpha(alpha_orig);
++ }
++ imlib_context_set_image(image);
+
+ RETVAL = cloned;
+ }
+--
+2.39.1
+
diff -Nru libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff
--- libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff 1970-01-01 01:00:00.000000000 +0100
+++ libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff 2023-07-29 16:01:16.000000000 +0200
@@ -0,0 +1,43 @@
+Description: use pkgconfig instead of the discontinued imlib2-config
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/1040223
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2023-07-29
+
+--- a/Build.PL
++++ b/Build.PL
+@@ -1,11 +1,14 @@
+ use Module::Build;
+ use strict;
+ use Cwd;
++use ExtUtils::PkgConfig ;
+
+-# We need to find imlib2-config
+-my $CONFIG = "imlib2-config";
++my $pkg = 'imlib2';
++my %info = ExtUtils::PkgConfig->find ($pkg) ;
++my $version = $info{modversion} ;
++my $libs = $info{libs} ;
++my $cflags = $info{cflags} ;
+
+-my $version = `$CONFIG --version`;
+ if (!$version) {
+ warn 'You must install the imlib2 library before you can install
+ Image::Imlib2. You can obtain imlib2 from
+@@ -15,13 +18,12 @@
+ still will not work, modify the $CONFIG variable inside Build.PL to
+ point to the imlib2-config program that provides.
+ ';
+- exit 0;
++ exit 1;
+ } else {
+- print "Found imlib2 $version";
++ print "Found imlib2 $version\n";
+ }
+
+-my $libs = `$CONFIG --libs`;
+-my $cflags = "-DX_DISPLAY_MISSING " . `$CONFIG --cflags` . "-ffile-prefix-map=" . getcwd() . "=." ;
++$cflags = "-DX_DISPLAY_MISSING " . $cflags . "-ffile-prefix-map=" . getcwd() . "=." ;
+
+ my $build = Module::Build->new(
+ c_source => './lib/Image',
diff -Nru libimage-imlib2-perl-2.03/debian/patches/series libimage-imlib2-perl-2.03/debian/patches/series
--- libimage-imlib2-perl-2.03/debian/patches/series 2022-10-06 18:56:50.000000000 +0200
+++ libimage-imlib2-perl-2.03/debian/patches/series 2023-07-29 16:01:50.000000000 +0200
@@ -1,2 +1,4 @@
add_more_error_reporting.diff
reproducible_build.diff
+pkg-config.diff
+0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch
--- End Message ---