Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: gregor herrmann <gre...@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 <a...@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 <gre...@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 <a...@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 <gre...@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 <nt...@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 <gre...@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

Reply via email to