From 5a3b4fed4b798ae826bc3bad10147fb3b5b95e9d Mon Sep 17 00:00:00 2001 From: DRC Date: Wed, 6 Jan 2016 19:17:54 -0600 Subject: [PATCH] Regression: Allow co-install of 32-bit/64-bit RPMs Fix a regression introduced in 1.4.1 that prevented 32-bit and 64-bit libjpeg-turbo RPMs from being installed simultaneously on recent Red Hat/Fedora distributions. This was due to the addition of the SIZEOF_SIZE_T macro in jconfig.h, which allows the Huffman codec to determine the word size at compile time. Since that macro differs between 32-bit and 64-bit builds, this caused a conflict between the i386 and x86_64 RPMs (any differing files, other than executables, are not allowed when 32-bit and 64-bit RPMs are installed simultaneously.) Since the macro is used only internally, it has been moved into jconfigint.h. --- ChangeLog.txt | 12 ++++++++++++ jchuff.c | 3 ++- jconfig.h.in | 3 --- jconfigint.h.in | 3 +++ jdhuff.h | 4 +++- jversion.h | 6 +++--- 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 3b6b8444..b126bd19 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,15 @@ +1.4.3 +===== + +[1] Fixed a regression caused by 1.4.1[6] that prevented 32-bit and 64-bit +libjpeg-turbo RPMs from being installed simultaneously on recent Red Hat/Fedora +distributions. This was due to the addition of a macro in jconfig.h that +allows the Huffman codec to determine the word size at compile time. Since +that macro differs between 32-bit and 64-bit builds, this caused a conflict +between the i386 and x86_64 RPMs (any differing files, other than executables, +are not allowed when 32-bit and 64-bit RPMs are installed simultaneously.) +Since the macro is used only internally, it has been moved into jconfigint.h. + 1.4.2 ===== diff --git a/jchuff.c b/jchuff.c index 4ecc18d6..7e91fde1 100644 --- a/jchuff.c +++ b/jchuff.c @@ -4,7 +4,7 @@ * This file was part of the Independent JPEG Group's software: * Copyright (C) 1991-1997, Thomas G. Lane. * libjpeg-turbo Modifications: - * Copyright (C) 2009-2011, 2014-2015 D. R. Commander. + * Copyright (C) 2009-2011, 2014-2016 D. R. Commander. * For conditions of distribution and use, see the accompanying README file. * * This file contains Huffman entropy encoding routines. @@ -20,6 +20,7 @@ #include "jinclude.h" #include "jpeglib.h" #include "jchuff.h" /* Declarations shared with jcphuff.c */ +#include "jconfigint.h" #include /* diff --git a/jconfig.h.in b/jconfig.h.in index b99a87e1..42d86f24 100644 --- a/jconfig.h.in +++ b/jconfig.h.in @@ -68,6 +68,3 @@ /* Define to `unsigned int' if does not define. */ #undef size_t - -/* The size of `size_t', as computed by sizeof. */ -#undef SIZEOF_SIZE_T diff --git a/jconfigint.h.in b/jconfigint.h.in index 8f216eb6..940424ea 100644 --- a/jconfigint.h.in +++ b/jconfigint.h.in @@ -9,3 +9,6 @@ /* Version number of package */ #undef VERSION + +/* The size of `size_t', as computed by sizeof. */ +#undef SIZEOF_SIZE_T diff --git a/jdhuff.h b/jdhuff.h index c7f3d500..db71067f 100644 --- a/jdhuff.h +++ b/jdhuff.h @@ -4,7 +4,7 @@ * This file was part of the Independent JPEG Group's software: * Copyright (C) 1991-1997, Thomas G. Lane. * libjpeg-turbo Modifications: - * Copyright (C) 2010-2011, D. R. Commander. + * Copyright (C) 2010-2011, 2015-2016, D. R. Commander. * For conditions of distribution and use, see the accompanying README file. * * This file contains declarations for Huffman entropy decoding routines @@ -12,6 +12,8 @@ * progressive decoder (jdphuff.c). No other modules need to see these. */ +#include "jconfigint.h" + /* Derived data constructed for each Huffman table */ diff --git a/jversion.h b/jversion.h index 949b4f4d..92a1b67c 100644 --- a/jversion.h +++ b/jversion.h @@ -4,7 +4,7 @@ * This file was part of the Independent JPEG Group's software: * Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. * libjpeg-turbo Modifications: - * Copyright (C) 2010, 2012-2015, D. R. Commander. + * Copyright (C) 2010, 2012-2016, D. R. Commander. * For conditions of distribution and use, see the accompanying README file. * * This file contains software version identification. @@ -28,9 +28,9 @@ #define JCOPYRIGHT "Copyright (C) 1991-2012 Thomas G. Lane, Guido Vollbeding\n" \ "Copyright (C) 1999-2006 MIYASAKA Masaru\n" \ "Copyright (C) 2009 Pierre Ossman for Cendio AB\n" \ - "Copyright (C) 2009-2015 D. R. Commander\n" \ + "Copyright (C) 2009-2016 D. R. Commander\n" \ "Copyright (C) 2009-2011 Nokia Corporation and/or its subsidiary(-ies)\n" \ "Copyright (C) 2013-2014 MIPS Technologies, Inc.\n" \ "Copyright (C) 2013 Linaro Limited" -#define JCOPYRIGHT_SHORT "Copyright (C) 1991-2015 The libjpeg-turbo Project and many others" +#define JCOPYRIGHT_SHORT "Copyright (C) 1991-2016 The libjpeg-turbo Project and many others"