[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#745518: Please migrate to lcms2



Control: tags -1 patch

On 18.08.2014 15:00, Moritz Mühlenhoff wrote:
> reopen 745518
> thanks
> 
> On Mon, Jun 02, 2014 at 03:04:56PM +0200, Markus Koschany wrote:
>> Control: owner -1
>>
>> I'll take care of this bug.
> 
> 1.7.8-8 still depends on lcms1:
> 
> jmm@pisco:~$ apt-cache show libdevil1c2
> Package: libdevil1c2
> Source: devil
> Version: 1.7.8-8
> Installed-Size: 652
> Maintainer: Debian QA Group <packages@qa.debian.org>
> Architecture: amd64
> Replaces: libdevil1
> Depends: liballegro4.4, libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libglu1-mesa | libglu1, libjpeg8 (>= 8c), liblcms1 (>= 1.15-1), libmng1 (>= 1.0.10), libpng12-0 (>= 1.2.13-4), libsdl1.2debian (>= 1.2.11), libstdc++6 (>= 4.1.1), libtiff5 (>= 4.0.3), libx11-6, libxext6, libxrender1, zlib1g (>= 1:1.1.4)

Hi Moritz,

I am not absolutely sure how libdevilc2 ended up with a dependency on
liblcms1 again because it already depends on liblcms2-dev but the most
probable explanation might be that liblcms1-dev was still installed on
my sponsors' system when he built the package. If you rebuild the
package in a clean build environment it won't depend on liblcms1.

Unfortunately I was a bit too naive by assuming that the successful
compilation indicated the switch to liblcsm2-dev was already sufficient.

After closer inspection I can now see that the whole build system had to
be adjusted as well. Since there is another issue with dh-autoreconf, I
have decided to patch configure and one source file directly. It's a
simple replacement of the lcms.h header with lcms2.h and linking with
-llcm2 instead of -llcms. That should really solve the issue.

I'm attaching the patch to this bug report.

Regards,

Markus





diff -Nru devil-1.7.8/debian/changelog devil-1.7.8/debian/changelog
--- devil-1.7.8/debian/changelog	2014-06-02 20:28:23.000000000 +0200
+++ devil-1.7.8/debian/changelog	2014-08-18 17:49:21.000000000 +0200
@@ -1,3 +1,12 @@
+devil (1.7.8-9) unstable; urgency=medium
+
+  * QA upload.
+  * Add lcms2.patch.
+    - Ensure that the build system detects, uses and links against lcms2.
+      (Closes: #745518)
+
+ -- Markus Koschany <apo@gambaru.de>  Mon, 18 Aug 2014 17:47:25 +0200
+
 devil (1.7.8-8) unstable; urgency=medium
 
   * QA upload.
diff -Nru devil-1.7.8/debian/patches/lcms2.patch devil-1.7.8/debian/patches/lcms2.patch
--- devil-1.7.8/debian/patches/lcms2.patch	1970-01-01 01:00:00.000000000 +0100
+++ devil-1.7.8/debian/patches/lcms2.patch	2014-08-18 17:49:21.000000000 +0200
@@ -0,0 +1,257 @@
+From: Markus Koschany <apo@gambaru.de>
+Date: Mon, 18 Aug 2014 17:34:26 +0200
+Subject: lcms2
+
+---
+ configure                | 112 +++++++++++++++++++++++------------------------
+ src-IL/src/il_profiles.c |   4 +-
+ 2 files changed, 58 insertions(+), 58 deletions(-)
+
+diff --git a/configure b/configure
+index 2d0de03..dd4f501 100755
+--- a/configure
++++ b/configure
+@@ -18574,13 +18574,13 @@ else
+ fi
+ 
+          if test 4 -eq 4 -a "x$enable_lcms" = "xyes"; then
+-  { echo "$as_me:$LINENO: checking for main in -llcms" >&5
+-echo $ECHO_N "checking for main in -llcms... $ECHO_C" >&6; }
++  { echo "$as_me:$LINENO: checking for main in -llcms2" >&5
++echo $ECHO_N "checking for main in -llcms2... $ECHO_C" >&6; }
+ if test "${ac_cv_lib_lcms_main+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+-LIBS="-llcms  $LIBS"
++LIBS="-llcms2  $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+@@ -18631,12 +18631,12 @@ fi
+ echo "${ECHO_T}$ac_cv_lib_lcms_main" >&6; }
+ if test $ac_cv_lib_lcms_main = yes; then
+   have_lcms_lib="yes"
+-               IL_LIBS="-llcms $IL_LIBS"
++               IL_LIBS="-llcms2 $IL_LIBS"
+ fi
+ 
+ if test "${ac_cv_header_lcms_lcms_h+set}" = set; then
+-  { echo "$as_me:$LINENO: checking for lcms/lcms.h" >&5
+-echo $ECHO_N "checking for lcms/lcms.h... $ECHO_C" >&6; }
++  { echo "$as_me:$LINENO: checking for lcms/lcms2.h" >&5
++echo $ECHO_N "checking for lcms/lcms2.h... $ECHO_C" >&6; }
+ if test "${ac_cv_header_lcms_lcms_h+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
+@@ -18644,8 +18644,8 @@ fi
+ echo "${ECHO_T}$ac_cv_header_lcms_lcms_h" >&6; }
+ else
+   # Is the header compilable?
+-{ echo "$as_me:$LINENO: checking lcms/lcms.h usability" >&5
+-echo $ECHO_N "checking lcms/lcms.h usability... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: checking lcms/lcms2.h usability" >&5
++echo $ECHO_N "checking lcms/lcms2.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+@@ -18653,7 +18653,7 @@ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+-#include <lcms/lcms.h>
++#include <lcms/lcms2.h>
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (ac_try="$ac_compile"
+@@ -18685,15 +18685,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ echo "${ECHO_T}$ac_header_compiler" >&6; }
+ 
+ # Is the header present?
+-{ echo "$as_me:$LINENO: checking lcms/lcms.h presence" >&5
+-echo $ECHO_N "checking lcms/lcms.h presence... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: checking lcms/lcms2.h presence" >&5
++echo $ECHO_N "checking lcms/lcms2.h presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+-#include <lcms/lcms.h>
++#include <lcms/lcms2.h>
+ _ACEOF
+ if { (ac_try="$ac_cpp conftest.$ac_ext"
+ case "(($ac_try" in
+@@ -18726,25 +18726,25 @@ echo "${ECHO_T}$ac_header_preproc" >&6; }
+ # So?  What about this header?
+ case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+   yes:no: )
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: lcms/lcms.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: lcms/lcms.h: proceeding with the compiler's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: lcms/lcms2.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: lcms/lcms2.h: proceeding with the compiler's result" >&2;}
+     ac_header_preproc=yes
+     ;;
+   no:yes:* )
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: lcms/lcms.h: present but cannot be compiled" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h:     check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: lcms/lcms.h:     check for missing prerequisite headers?" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: lcms/lcms.h: see the Autoconf documentation" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h:     section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: lcms/lcms.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: lcms/lcms.h: proceeding with the preprocessor's result" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms/lcms.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: lcms/lcms.h: in the future, the compiler will take precedence" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: lcms/lcms2.h: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: lcms/lcms2.h:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: lcms/lcms2.h: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: lcms/lcms2.h:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: lcms/lcms2.h: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms/lcms2.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: lcms/lcms2.h: in the future, the compiler will take precedence" >&2;}
+     ( cat <<\_ASBOX
+ ## ------------------------------------------ ##
+ ## Report this to bubla@users.sourceforge.net ##
+@@ -18753,8 +18753,8 @@ _ASBOX
+      ) | sed "s/^/$as_me: WARNING:     /" >&2
+     ;;
+ esac
+-{ echo "$as_me:$LINENO: checking for lcms/lcms.h" >&5
+-echo $ECHO_N "checking for lcms/lcms.h... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: checking for lcms/lcms2.h" >&5
++echo $ECHO_N "checking for lcms/lcms2.h... $ECHO_C" >&6; }
+ if test "${ac_cv_header_lcms_lcms_h+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -18770,8 +18770,8 @@ fi
+ 
+ 
+ if test "${ac_cv_header_lcms_h+set}" = set; then
+-  { echo "$as_me:$LINENO: checking for lcms.h" >&5
+-echo $ECHO_N "checking for lcms.h... $ECHO_C" >&6; }
++  { echo "$as_me:$LINENO: checking for lcms2.h" >&5
++echo $ECHO_N "checking for lcms2.h... $ECHO_C" >&6; }
+ if test "${ac_cv_header_lcms_h+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
+@@ -18779,8 +18779,8 @@ fi
+ echo "${ECHO_T}$ac_cv_header_lcms_h" >&6; }
+ else
+   # Is the header compilable?
+-{ echo "$as_me:$LINENO: checking lcms.h usability" >&5
+-echo $ECHO_N "checking lcms.h usability... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: checking lcms2.h usability" >&5
++echo $ECHO_N "checking lcms2.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+@@ -18788,7 +18788,7 @@ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+-#include <lcms.h>
++#include <lcms2.h>
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (ac_try="$ac_compile"
+@@ -18820,15 +18820,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ echo "${ECHO_T}$ac_header_compiler" >&6; }
+ 
+ # Is the header present?
+-{ echo "$as_me:$LINENO: checking lcms.h presence" >&5
+-echo $ECHO_N "checking lcms.h presence... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: checking lcms2.h presence" >&5
++echo $ECHO_N "checking lcms2.h presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+-#include <lcms.h>
++#include <lcms2.h>
+ _ACEOF
+ if { (ac_try="$ac_cpp conftest.$ac_ext"
+ case "(($ac_try" in
+@@ -18861,25 +18861,25 @@ echo "${ECHO_T}$ac_header_preproc" >&6; }
+ # So?  What about this header?
+ case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+   yes:no: )
+-    { echo "$as_me:$LINENO: WARNING: lcms.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: lcms.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: lcms.h: proceeding with the compiler's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: lcms2.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: lcms2.h: proceeding with the compiler's result" >&2;}
+     ac_header_preproc=yes
+     ;;
+   no:yes:* )
+-    { echo "$as_me:$LINENO: WARNING: lcms.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: lcms.h: present but cannot be compiled" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms.h:     check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: lcms.h:     check for missing prerequisite headers?" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: lcms.h: see the Autoconf documentation" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms.h:     section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: lcms.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: lcms.h: proceeding with the preprocessor's result" >&2;}
+-    { echo "$as_me:$LINENO: WARNING: lcms.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: lcms.h: in the future, the compiler will take precedence" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: lcms2.h: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: lcms2.h:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: lcms2.h: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: lcms2.h:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: lcms2.h: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: lcms2.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: lcms2.h: in the future, the compiler will take precedence" >&2;}
+     ( cat <<\_ASBOX
+ ## ------------------------------------------ ##
+ ## Report this to bubla@users.sourceforge.net ##
+@@ -18888,8 +18888,8 @@ _ASBOX
+      ) | sed "s/^/$as_me: WARNING:     /" >&2
+     ;;
+ esac
+-{ echo "$as_me:$LINENO: checking for lcms.h" >&5
+-echo $ECHO_N "checking for lcms.h... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: checking for lcms2.h" >&5
++echo $ECHO_N "checking for lcms2.h... $ECHO_C" >&6; }
+ if test "${ac_cv_header_lcms_h+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+diff --git a/src-IL/src/il_profiles.c b/src-IL/src/il_profiles.c
+index 317e1db..c26fbee 100644
+--- a/src-IL/src/il_profiles.c
++++ b/src-IL/src/il_profiles.c
+@@ -21,9 +21,9 @@
+ #if (!defined(_WIN32) && !defined(_WIN64))
+ 	#define NON_WINDOWS 1
+ 	#ifdef LCMS_NODIRINCLUDE
+-		#include <lcms.h>
++		#include <lcms2.h>
+ 	#else
+-		#include <lcms/lcms.h>
++		#include <lcms/lcms2.h>
+ 	#endif
+ 	
+ #else
diff -Nru devil-1.7.8/debian/patches/series devil-1.7.8/debian/patches/series
--- devil-1.7.8/debian/patches/series	2014-06-02 20:28:23.000000000 +0200
+++ devil-1.7.8/debian/patches/series	2014-08-18 17:49:21.000000000 +0200
@@ -2,3 +2,4 @@
 02_fix_kbsd.diff
 03_CVE-2009-3994.diff
 04_png_set_expand_gray.diff
+lcms2.patch

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: