Hello community,

here is the log from the commit of package libjpeg-turbo for openSUSE:Factory 
checked in at 2015-01-15 15:58:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libjpeg-turbo (Old)
 and      /work/SRC/openSUSE:Factory/.libjpeg-turbo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libjpeg-turbo"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libjpeg-turbo/libjpeg-turbo.changes      
2014-11-28 08:44:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libjpeg-turbo.new/libjpeg-turbo.changes 
2015-01-15 15:58:22.000000000 +0100
@@ -1,0 +2,64 @@
+Sat Jan 10 00:39:57 UTC 2015 - [email protected]
+
+- Update to version 1.4.0
+  + Fixed a build issue on OS X PowerPC platforms (md5cmp failed to build
+    because OS X does not provide the le32toh() and htole32() functions.)
+  + The non-SIMD RGB565 color conversion code did not work correctly on big
+    endian machines.  This has been fixed.
+  + Fixed an issue in tjPlaneSizeYUV() whereby it would erroneously return 1
+    instead of -1 if componentID was > 0 and subsamp was TJSAMP_GRAY.
+  + Fixed an issue in tjBufSizeYUV2() wherby it would erroneously return 0
+    instead of -1 if width was < 1.
+  + The Huffman encoder now uses clz and bsr instructions for bit counting on
+    ARM64 platforms (see 1.4 beta1 [5].)
+  + The close() method in the TJCompressor and TJDecompressor Java classes is
+    now idempotent.  Previously, that method would call the native tjDestroy()
+    function even if the TurboJPEG instance had already been destroyed.  This
+    caused an exception to be thrown during finalization, if the close() 
method had
+    already been called.  The exception was caught, but it was still an 
expensive
+    operation.
+  + The TurboJPEG API previously generated an error ("Could not determine
+    subsampling type for JPEG image") when attempting to decompress grayscale 
JPEG
+    images that were compressed with a sampling factor other than 1 (for 
instance,
+    with 'cjpeg -grayscale -sample 2x2').  Subsampling technically has no 
meaning
+    with grayscale JPEGs, and thus the horizontal and vertical sampling factors
+    for such images are ignored by the decompressor.  However, the TurboJPEG 
API
+    was being too rigid and was expecting the sampling factors to be equal to 1
+    before it treated the image as a grayscale JPEG.
+  + cjpeg, djpeg, and jpegtran now accept an argument of -version, which will
+    print the library version and exit.
+  + Referring to 1.4 beta1 [15], another extremely rare circumstance was
+    discovered under which the Huffman encoder's local buffer can be overrun
+    when a buffered destination manager is being used and an
+    extremely-high-frequency block (basically junk image data) is being 
encoded.
+    Even though the Huffman local buffer was increased from 128 bytes to 136 
bytes
+    to address the previous issue, the new issue caused even the larger buffer 
to
+    be overrun.  Further analysis reveals that, in the absolute worst case 
(such as
+    setting alternating AC coefficients to 32767 and -32768 in the JPEG 
scanning
+    order), the Huffman encoder can produce encoded blocks that approach 
double the
+    size of the unencoded blocks.  Thus, the Huffman local buffer was 
increased to
+    256 bytes, which should prevent any such issue from re-occurring in the 
future.
+  + The new tjPlaneSizeYUV(), tjPlaneWidth(), and tjPlaneHeight() functions
+    were not actually usable on any platform except OS X and Windows, because
+    those functions were not included in the libturbojpeg mapfile.  This has 
been
+    fixed.
+  + Restored the JPP(), JMETHOD(), and FAR macros in the libjpeg-turbo header
+    files.  The JPP() and JMETHOD() macros were originally implemented in 
libjpeg
+    as a way of supporting non-ANSI compilers that lacked support for prototype
+    parameters.  libjpeg-turbo has never supported such compilers, but some
+    software packages still use the macros to define their own prototypes.
+    Similarly, libjpeg-turbo has never supported MS-DOS and other platforms 
that
+    have far symbols, but some software packages still use the FAR macro.  A 
pretty
+    good argument can be made that this is a bad practice on the part of the
+    software in question, but since this affects more than one package, it's 
just
+    easier to fix it here.
+  + Fixed issues that were preventing the ARM 64-bit SIMD code from compiling
+    for iOS, and included an ARMv8 architecture in all of the binaries 
installed by
+    the "official" libjpeg-turbo SDK for OS X.
+- Adapt patches to upstream changes
+  libjpeg-ocloexec.patch >  libjpeg-1.4.0-ocloexec.patch 
+  libjpeg-turbo-1.3.0-int32.patch >  libjpeg-turbo-1.4.0-int32.patch 
+- Remove libjpeg-turbo-CVE-2014-9092.patch; fixed on upstream release
+- Bump tminor to 1
+
+-------------------------------------------------------------------
libjpeg62-turbo.changes: same change

Old:
----
  libjpeg-ocloexec.patch
  libjpeg-turbo-1.3.0-int32.patch
  libjpeg-turbo-1.3.1.tar.gz
  libjpeg-turbo-CVE-2014-9092.patch

New:
----
  libjpeg-1.4.0-ocloexec.patch
  libjpeg-turbo-1.4.0-int32.patch
  libjpeg-turbo-1.4.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libjpeg-turbo.spec ++++++
--- /var/tmp/diff_new_pack.86zr9B/_old  2015-01-15 15:58:23.000000000 +0100
+++ /var/tmp/diff_new_pack.86zr9B/_new  2015-01-15 15:58:23.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libjpeg-turbo
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,13 +16,13 @@
 #
 
 
-%define srcver   1.3.1
+%define srcver   1.4.0
 %define major    8
 %define minor    0
 %define micro    2
 %define libver   %{major}.%{minor}.%{micro}
 %define tmajor   0
-%define tminor   0
+%define tminor   1
 %define tmicro   0
 %define tlibver  %{tmajor}.%{tminor}.%{tmicro}
 
@@ -35,10 +35,9 @@
 Url:            http://sourceforge.net/projects/libjpeg-turbo
 Source0:        
http://downloads.sourceforge.net/project/%{name}/%{version}/libjpeg-turbo-%{version}.tar.gz
 Source1:        baselibs.conf
-Patch0:         libjpeg-turbo-1.3.0-int32.patch
+Patch0:         libjpeg-turbo-1.4.0-int32.patch
 Patch1:         libjpeg-turbo-1.3.0-tiff-ojpeg.patch
-Patch2:         libjpeg-ocloexec.patch
-Patch3:         libjpeg-turbo-CVE-2014-9092.patch
+Patch2:         libjpeg-1.4.0-ocloexec.patch
 BuildRequires:  gcc-c++
 BuildRequires:  libtool
 BuildRequires:  yasm
@@ -107,7 +106,6 @@
 %patch0
 %patch1
 %patch2
-%patch3
 
 %build
 autoreconf -fiv

++++++ libjpeg62-turbo.spec ++++++
--- /var/tmp/diff_new_pack.86zr9B/_old  2015-01-15 15:58:23.000000000 +0100
+++ /var/tmp/diff_new_pack.86zr9B/_new  2015-01-15 15:58:23.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libjpeg62-turbo
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define major   62
 %define minor   1
 %define micro   0
-%define srcver  1.3.1
+%define srcver  1.4.0
 %define libver  %{major}.%{minor}.%{micro}
 
 Name:           libjpeg62-turbo
@@ -31,10 +31,9 @@
 Url:            http://sourceforge.net/projects/libjpeg-turbo
 Source0:        
http://downloads.sourceforge.net/project/libjpeg-turbo/%{version}/libjpeg-turbo-%{version}.tar.gz
 Source1:        baselibs.conf
-Patch0:         libjpeg-turbo-1.3.0-int32.patch
+Patch0:         libjpeg-turbo-1.4.0-int32.patch
 Patch1:         libjpeg-turbo-1.3.0-tiff-ojpeg.patch
-Patch2:         libjpeg-ocloexec.patch
-Patch3:         libjpeg-turbo-CVE-2014-9092.patch
+Patch2:         libjpeg-1.4.0-ocloexec.patch
 BuildRequires:  gcc-c++
 BuildRequires:  libtool
 BuildRequires:  yasm
@@ -88,7 +87,6 @@
 %patch0
 %patch1
 %patch2
-%patch3
 
 %build
 autoreconf -fiv

++++++ libjpeg-1.4.0-ocloexec.patch ++++++
This patch causes libjpeg to open all files with O_CLOEXEC
the "e" fopen mode is a glibc/linux specific feature hence
not suitable for other OS.

Note that it is NOT HANDLED GRACEFULLY on kernels older than 
2.6.23 or glibc < 2.7.x and WILL segfault.

The other alternative, using fcntl with FD_CLOEXEC is NOT
enough to prevent race conditions.

--- wrjpgcom.c.orig
+++ wrjpgcom.c
@@ -37,11 +37,11 @@
 #endif
 
 #ifdef DONT_USE_B_MODE          /* define mode parameters for fopen() */
-#define READ_BINARY     "r"
-#define WRITE_BINARY    "w"
+#define READ_BINARY     "re"
+#define WRITE_BINARY    "we"
 #else
-#define READ_BINARY     "rb"
-#define WRITE_BINARY    "wb"
+#define READ_BINARY     "rbe"
+#define WRITE_BINARY    "wbe"
 #endif
 
 #ifndef EXIT_FAILURE            /* define exit() codes if not provided */
@@ -432,7 +432,7 @@
       keep_COM = 0;
     } else if (keymatch(arg, "cfile", 2)) {
       if (++argn >= argc) usage();
-      if ((comment_file = fopen(argv[argn], "r")) == NULL) {
+      if ((comment_file = fopen(argv[argn], READ_BINARY)) == NULL) {
         fprintf(stderr, "%s: can't open %s\n", progname, argv[argn]);
         exit(EXIT_FAILURE);
       }
--- cdjpeg.h.orig
+++ cdjpeg.h
@@ -126,11 +126,11 @@
 /* miscellaneous useful macros */
 
 #ifdef DONT_USE_B_MODE          /* define mode parameters for fopen() */
-#define READ_BINARY     "r"
-#define WRITE_BINARY    "w"
+#define READ_BINARY     "re"
+#define WRITE_BINARY    "we"
 #else
-#define READ_BINARY     "rb"
-#define WRITE_BINARY    "wb"
+#define READ_BINARY     "rbe"
+#define WRITE_BINARY    "wbe"
 #endif
 
 #ifndef EXIT_FAILURE            /* define exit() codes if not provided */
 
--- rdswitch.c.orig
+++ rdswitch.c
@@ -93,7 +93,7 @@
   long val;
   unsigned int table[DCTSIZE2];
 
-  if ((fp = fopen(filename, "r")) == NULL) {
+  if ((fp = fopen(filename, READ_BINARY)) == NULL) {
     fprintf(stderr, "Can't open table file %s\n", filename);
     return FALSE;
   }
@@ -191,7 +191,7 @@
 #define MAX_SCANS  100          /* quite arbitrary limit */
   jpeg_scan_info scans[MAX_SCANS];
 
-  if ((fp = fopen(filename, "r")) == NULL) {
+ if ((fp = fopen(filename, READ_BINARY)) == NULL) {
     fprintf(stderr, "Can't open scan definition file %s\n", filename);
     return FALSE;
   }
--- bmp.c.orig
+++ bmp.c
@@ -112,7 +112,7 @@ int loadbmp(char *filename, unsigned cha
        if(!filename || !buf || !w || !h || dstpf<0 || dstpf>=TJ_NUMPF)
                _throw("loadbmp(): Invalid argument");
 
-       if((file=fopen(filename, "rb"))==NULL)
+       if((file=fopen(filename, READ_BINARY))==NULL)
                _throwunix("loadbmp(): Cannot open input file");
 
        cinfo.err=jpeg_std_error(&jerr.pub);
@@ -196,7 +196,7 @@ int savebmp(char *filename, unsigned cha
        if(!filename || !buf || w<1 || h<1 || srcpf<0 || srcpf>=TJ_NUMPF)
                _throw("savebmp(): Invalid argument");
 
-       if((file=fopen(filename, "wb"))==NULL)
+       if((file=fopen(filename, WRITE_BINARY))==NULL)
                _throwunix("savebmp(): Cannot open output file");
 
        dinfo.err=jpeg_std_error(&jerr.pub);
++++++ libjpeg-turbo-1.3.0-int32.patch -> libjpeg-turbo-1.4.0-int32.patch ++++++
--- /work/SRC/openSUSE:Factory/libjpeg-turbo/libjpeg-turbo-1.3.0-int32.patch    
2013-12-19 12:41:01.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.libjpeg-turbo.new/libjpeg-turbo-1.4.0-int32.patch   
    2015-01-15 15:58:22.000000000 +0100
@@ -1,9 +1,9 @@
 --- jmorecfg.h
 +++ jmorecfg.h
-@@ -158,7 +158,7 @@
+@@ -148,7 +148,7 @@
  /* INT32 must hold at least signed 32-bit values. */
  
- #ifndef XMD_H                 /* X11/xmd.h correctly defines INT32 */
+ #ifndef XMD_H                   /* X11/xmd.h correctly defines INT32 */
 -typedef long INT32;
 +typedef int INT32;
  #endif

++++++ libjpeg-turbo-1.3.1.tar.gz -> libjpeg-turbo-1.4.0.tar.gz ++++++
++++ 126583 lines of diff (skipped)

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to