Hello community,

here is the log from the commit of package libharu for openSUSE:Factory checked 
in at 2013-01-21 17:38:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libharu (Old)
 and      /work/SRC/openSUSE:Factory/.libharu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libharu", Maintainer is ""

Changes:
--------
New Changes file:

--- /dev/null   2013-01-09 19:40:42.352580873 +0100
+++ /work/SRC/openSUSE:Factory/.libharu.new/libharu.changes     2013-01-21 
17:38:37.000000000 +0100
@@ -0,0 +1,17 @@
+-------------------------------------------------------------------
+Thu Jan 17 21:20:12 UTC 2013 - dmitr...@opensuse.org
+
+- Fix devel package requirements
+
+-------------------------------------------------------------------
+Tue Jan 15 20:30:48 UTC 2013 - dmitr...@opensuse.org
+
+- spec file cleanup
+- Rename library package according to shared library packaging policy
+- Fix build with libpng 1.5
+  * libharu-2.2.1-png15.patch
+
+-------------------------------------------------------------------
+Wed Jul 09 00:00:00 UTC 2008 - otto.das...@gmx.de
+
+- created spec file for opensuse BuildService

New:
----
  libharu-2.2.1-png15.patch
  libharu-2.2.1.tar.bz2
  libharu-rpmlintrc
  libharu.changes
  libharu.spec

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

Other differences:
------------------
++++++ libharu.spec ++++++
#
# spec file for package libharu
#
# Copyright (c) 2013 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           libharu
Version:        2.2.1
%define libver  2_2_1
Release:        0
# git clone https://github.com/libharu/libharu.git
# git checkout 2_2
# git archive 9c0af303bf --prefix=libharu-2.2.1/ | bzip2 > 
../libharu-2.2.1.tar.bz2
Summary:        Cross platform library for generating PDF files
License:        Zlib
Group:          System/Libraries
Url:            http://libharu.org/files/
Source0:        %{name}-%{version}.tar.bz2
Source1:        %{name}-rpmlintrc
# PATCH-FIX-UPSTREAM libharu-2.2.1-png15.patch -- fix build with libpng 1.5.0, 
commit e5bf8b01f6
Patch0:         libharu-2.2.1-png15.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  bzip2
BuildRequires:  libpng-devel
BuildRequires:  libtool
BuildRequires:  zlib-devel
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
libHaru is a free, cross platform, open source library for generating PDF files.
It supports the following features:
- Generating PDF files with lines, text, images.
- Outline, text annotation, link annotation.
- Compressing document with deflate-decode.
- Embedding PNG, Jpeg images.
- Embedding Type1 font and TrueType font.
- Creating encrypted PDF files.
- Using various character sets (ISO8859-1~16, MSCP1250~8, KOI8-R).
- Supporting CJK fonts and encodings.

%package     -n %{name}-%{libver}
Summary:        Cross platform library for generating PDF files
Group:          System/Libraries

%description -n %{name}-%{libver}
libHaru is a free, cross platform, open source library for generating PDF files.
It supports the following features:
- Generating PDF files with lines, text, images.
- Outline, text annotation, link annotation.
- Compressing document with deflate-decode.
- Embedding PNG, Jpeg images.
- Embedding Type1 font and TrueType font.
- Creating encrypted PDF files.
- Using various character sets (ISO8859-1~16, MSCP1250~8, KOI8-R).
- Supporting CJK fonts and encodings.

%package        devel
Summary:        Development files for libharu
Group:          Development/Libraries/C and C++
Requires:       %{name}-%{libver} = %{version}
Requires:       libpng-devel
Requires:       zlib-devel

%description    devel
This package contains libraries and header files for developing
applications that use %{name}.

%prep
%setup -q
%patch0 -p1
# fix wrong-file-end-of-line-encoding
sed -i 's/\r$//' {CHANGES,README}

%build
autoreconf -fi
%configure --disable-static
make %{?_smp_mflags}

%install
%makeinstall
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print

%post -n %{name}-%{libver} -p /sbin/ldconfig

%postun -n %{name}-%{libver} -p /sbin/ldconfig

%files -n %{name}-%{libver}
%defattr(-,root,root)
%doc CHANGES README
%{_libdir}/libhpdf-%{version}.so

%files devel
%defattr(-,root,root)
%{_includedir}/*.h
%{_libdir}/libhpdf.so

%changelog
++++++ libharu-2.2.1-png15.patch ++++++
commit e5bf8b01f6c3d5e3fe0e26ac5345e0da10c03934
Author: Antony Dovgal <t...@daylessday.org>
Date:   Mon Jan 10 01:22:14 2011 +0300

    fix build with libpng 1.5.0 (reported by Tamas Tevesz)

diff --git a/src/hpdf_image_png.c b/src/hpdf_image_png.c
index b8f831e..6057424 100644
--- a/src/hpdf_image_png.c
+++ b/src/hpdf_image_png.c
@@ -109,14 +109,15 @@ ReadPngData_Interlaced  (HPDF_Dict    image,
                          png_infop    info_ptr)
 {
     png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+    png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
     png_bytep* row_pointers = HPDF_GetMem (image->mmgr,
-                info_ptr->height * sizeof (png_bytep));
+                height * sizeof (png_bytep));
 
     if (row_pointers) {
         HPDF_UINT i;
 
-        HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep));
-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+        HPDF_MemSet (row_pointers, 0, height * sizeof (png_bytep));
+        for (i = 0; i < (HPDF_UINT)height; i++) {
             row_pointers[i] = HPDF_GetMem (image->mmgr, len);
 
             if (image->error->error_no != HPDF_OK)
@@ -126,7 +127,7 @@ ReadPngData_Interlaced  (HPDF_Dict    image,
         if (image->error->error_no == HPDF_OK) {
             png_read_image(png_ptr, row_pointers);
             if (image->error->error_no == HPDF_OK) {       /* add this line */
-                for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+                for (i = 0; i < (HPDF_UINT)height; i++) {
                     if (HPDF_Stream_Write (image->stream, row_pointers[i], 
len) !=
                             HPDF_OK)
                         break;
@@ -135,7 +136,7 @@ ReadPngData_Interlaced  (HPDF_Dict    image,
         }
 
         /* clean up */
-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+        for (i = 0; i < (HPDF_UINT)height; i++) {
             HPDF_FreeMem (image->mmgr, row_pointers[i]);
         }
 
@@ -151,12 +152,13 @@ ReadPngData  (HPDF_Dict    image,
               png_infop    info_ptr)
 {
     png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+    png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
     png_bytep buf_ptr = HPDF_GetMem (image->mmgr, len);
 
     if (buf_ptr) {
         HPDF_UINT i;
 
-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+        for (i = 0; i < (HPDF_UINT)height; i++) {
             png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1);
             if (image->error->error_no != HPDF_OK)
                 break;
@@ -182,14 +184,16 @@ ReadTransparentPaletteData  (HPDF_Dict    image,
        HPDF_STATUS ret = HPDF_OK;
        HPDF_UINT i, j;
        png_bytep *row_ptr;
+       png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
+       png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
 
-       row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * 
sizeof(png_bytep));
+       row_ptr = HPDF_GetMem (image->mmgr, height * sizeof(png_bytep));
        if (!row_ptr) {
                return HPDF_FAILD_TO_ALLOC_MEM;
        } else {
                png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
 
-               for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+               for (i = 0; i < (HPDF_UINT)height; i++) {
                        row_ptr[i] = HPDF_GetMem(image->mmgr, len);
                        if (!row_ptr[i]) {
                                for (; i >= 0; i--) {
@@ -207,19 +211,19 @@ ReadTransparentPaletteData  (HPDF_Dict    image,
                goto Error;
        }
 
-       for (j = 0; j < info_ptr->height; j++) {
-               for (i = 0; i < info_ptr->width; i++) {
-                       smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < 
num_trans) ? trans[row_ptr[j][i]] : 0xFF;
+       for (j = 0; j < height; j++) {
+               for (i = 0; i < width; i++) {
+                       smask_data[width * j + i] = (row_ptr[j][i] < num_trans) 
? trans[row_ptr[j][i]] : 0xFF;
                }
 
-               if (HPDF_Stream_Write (image->stream, row_ptr[j], 
info_ptr->width) != HPDF_OK) {
+               if (HPDF_Stream_Write (image->stream, row_ptr[j], width) != 
HPDF_OK) {
                        ret = HPDF_FILE_IO_ERROR;
                        goto Error;
                }
        }
 
 Error:
-       for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+       for (i = 0; i < (HPDF_UINT)height; i++) {
                HPDF_FreeMem (image->mmgr, row_ptr[i]);
        }
 
@@ -238,6 +242,8 @@ ReadTransparentPngData  (HPDF_Dict    image,
        HPDF_UINT i, j;
        png_bytep *row_ptr, row;
        png_byte color_type;
+       png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
+       png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
 
        color_type = png_get_color_type(png_ptr, info_ptr);
 
@@ -245,13 +251,13 @@ ReadTransparentPngData  (HPDF_Dict    image,
                return HPDF_INVALID_PNG_IMAGE;
        }
 
-       row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * 
sizeof(png_bytep));
+       row_ptr = HPDF_GetMem (image->mmgr, height * sizeof(png_bytep));
        if (!row_ptr) {
                return HPDF_FAILD_TO_ALLOC_MEM;
        } else {
                png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
 
-               for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+               for (i = 0; i < (HPDF_UINT)height; i++) {
                        row_ptr[i] = HPDF_GetMem(image->mmgr, len);
                        if (!row_ptr[i]) {
                                for (; i >= 0; i--) {
@@ -271,12 +277,12 @@ ReadTransparentPngData  (HPDF_Dict    image,
 
        switch (color_type) {
                case PNG_COLOR_TYPE_RGB_ALPHA:
-                       row_len = 3 * info_ptr->width * sizeof(png_byte);
-                       for (j = 0; j < info_ptr->height; j++) {
-                               for (i = 0; i < info_ptr->width; i++) {
+                       row_len = 3 * width * sizeof(png_byte);
+                       for (j = 0; j < height; j++) {
+                               for (i = 0; i < width; i++) {
                                        row = row_ptr[j];
                                        memmove(row + (3 * i), row + (4*i), 3);
-                                       smask_data[info_ptr->width * j + i] = 
row[4 * i + 3];
+                                       smask_data[width * j + i] = row[4 * i + 
3];
                                }
 
                                if (HPDF_Stream_Write (image->stream, row, 
row_len) != HPDF_OK) {
@@ -286,12 +292,12 @@ ReadTransparentPngData  (HPDF_Dict    image,
                        }
                        break;
                case PNG_COLOR_TYPE_GRAY_ALPHA:
-                       row_len = info_ptr->width * sizeof(png_byte);
-                       for (j = 0; j < info_ptr->height; j++) {
-                               for (i = 0; i < info_ptr->width; i++) {
+                       row_len = width * sizeof(png_byte);
+                       for (j = 0; j < height; j++) {
+                               for (i = 0; i < width; i++) {
                                        row = row_ptr[j];
                                        row[i] = row[2 * i];
-                                       smask_data[info_ptr->width * j + i] = 
row[2 * i + 1];
+                                       smask_data[width * j + i] = row[2 * i + 
1];
                                }
 
                                if (HPDF_Stream_Write (image->stream, row, 
row_len) != HPDF_OK) {
@@ -306,7 +312,7 @@ ReadTransparentPngData  (HPDF_Dict    image,
        }
 
 Error:
-       for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
+       for (i = 0; i < (HPDF_UINT)height; i++) {
                HPDF_FreeMem (image->mmgr, row_ptr[i]);
        }
 
@@ -415,7 +421,8 @@ LoadPngData  (HPDF_Dict     image,
 
 {
        HPDF_STATUS ret = HPDF_OK;
-
+       png_uint_32 width, height;
+       int bit_depth, color_type;
        png_structp png_ptr = NULL;
        png_infop info_ptr = NULL;
 
@@ -447,8 +454,10 @@ LoadPngData  (HPDF_Dict     image,
                goto Exit;
        }
 
+       png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, 
&color_type, NULL, NULL, NULL);
+
        /* 16bit images are not supported. */
-       if (info_ptr->bit_depth == 16) {
+       if (bit_depth == 16) {
                png_set_strip_16(png_ptr);
        }
 
@@ -458,7 +467,7 @@ LoadPngData  (HPDF_Dict     image,
        }
 
        /* check palette-based images for transparent areas and load them 
immediately if found */
-       if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) {
+       if (xref && PNG_COLOR_TYPE_PALETTE & color_type) {
                png_bytep trans;
                int num_trans;
                HPDF_Dict smask;
@@ -478,10 +487,10 @@ LoadPngData  (HPDF_Dict     image,
                smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
                ret = HPDF_Dict_AddName (smask, "Type", "XObject");
                ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
-               ret += HPDF_Dict_AddNumber (smask, "Width", 
(HPDF_UINT)info_ptr->width);
-               ret += HPDF_Dict_AddNumber (smask, "Height", 
(HPDF_UINT)info_ptr->height);
+               ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)width);
+               ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)height);
                ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
-               ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", 
(HPDF_UINT)info_ptr->bit_depth);
+               ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", 
(HPDF_UINT)bit_depth);
 
                if (ret != HPDF_OK) {
                        HPDF_Dict_Free(smask);
@@ -489,7 +498,7 @@ LoadPngData  (HPDF_Dict     image,
                        goto Exit;
                }
 
-               smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * 
info_ptr->height);
+               smask_data = HPDF_GetMem(image->mmgr, width * height);
                if (!smask_data) {
                        HPDF_Dict_Free(smask);
                        ret = HPDF_FAILD_TO_ALLOC_MEM;
@@ -503,7 +512,7 @@ LoadPngData  (HPDF_Dict     image,
                        goto Exit;
                }
 
-               if (HPDF_Stream_Write(smask->stream, smask_data, 
info_ptr->width * info_ptr->height) != HPDF_OK) {
+               if (HPDF_Stream_Write(smask->stream, smask_data, width * 
height) != HPDF_OK) {
                        HPDF_FreeMem(image->mmgr, smask_data);
                        HPDF_Dict_Free(smask);
                        ret = HPDF_FILE_IO_ERROR;
@@ -513,9 +522,9 @@ LoadPngData  (HPDF_Dict     image,
 
 
                ret += CreatePallet(image, png_ptr, info_ptr);
-               ret += HPDF_Dict_AddNumber (image, "Width", 
(HPDF_UINT)info_ptr->width);
-               ret += HPDF_Dict_AddNumber (image, "Height", 
(HPDF_UINT)info_ptr->height);
-               ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",  
(HPDF_UINT)info_ptr->bit_depth);
+               ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width);
+               ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height);
+               ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",  
(HPDF_UINT)bit_depth);
                ret += HPDF_Dict_Add (image, "SMask", smask);
 
                png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
@@ -526,7 +535,7 @@ no_transparent_color_in_palette:
 
        /* read images with alpha channel right away 
           we have to do this because image transparent mask must be added to 
the Xref */
-       if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) {
+       if (xref && PNG_COLOR_MASK_ALPHA & color_type) {
                HPDF_Dict smask;
                png_bytep smask_data;
 
@@ -539,10 +548,10 @@ no_transparent_color_in_palette:
                smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
                ret = HPDF_Dict_AddName (smask, "Type", "XObject");
                ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
-               ret += HPDF_Dict_AddNumber (smask, "Width", 
(HPDF_UINT)info_ptr->width);
-               ret += HPDF_Dict_AddNumber (smask, "Height", 
(HPDF_UINT)info_ptr->height);
+               ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)width);
+               ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)height);
                ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
-               ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", 
(HPDF_UINT)info_ptr->bit_depth);
+               ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", 
(HPDF_UINT)bit_depth);
 
                if (ret != HPDF_OK) {
                        HPDF_Dict_Free(smask);
@@ -550,7 +559,7 @@ no_transparent_color_in_palette:
                        goto Exit;
                }
 
-               smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * 
info_ptr->height);
+               smask_data = HPDF_GetMem(image->mmgr, width * height);
                if (!smask_data) {
                        HPDF_Dict_Free(smask);
                        ret = HPDF_FAILD_TO_ALLOC_MEM;
@@ -564,7 +573,7 @@ no_transparent_color_in_palette:
                        goto Exit;
                }
 
-               if (HPDF_Stream_Write(smask->stream, smask_data, 
info_ptr->width * info_ptr->height) != HPDF_OK) {
+               if (HPDF_Stream_Write(smask->stream, smask_data, width * 
height) != HPDF_OK) {
                        HPDF_FreeMem(image->mmgr, smask_data);
                        HPDF_Dict_Free(smask);
                        ret = HPDF_FILE_IO_ERROR;
@@ -572,14 +581,14 @@ no_transparent_color_in_palette:
                }
                HPDF_FreeMem(image->mmgr, smask_data);
 
-               if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
+               if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
                        ret += HPDF_Dict_AddName (image, "ColorSpace", 
"DeviceGray");
                } else {
                        ret += HPDF_Dict_AddName (image, "ColorSpace", 
"DeviceRGB");
                }
-               ret += HPDF_Dict_AddNumber (image, "Width", 
(HPDF_UINT)info_ptr->width);
-               ret += HPDF_Dict_AddNumber (image, "Height", 
(HPDF_UINT)info_ptr->height);
-               ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",  
(HPDF_UINT)info_ptr->bit_depth);
+               ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width);
+               ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height);
+               ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",  
(HPDF_UINT)bit_depth);
                ret += HPDF_Dict_Add (image, "SMask", smask);
 
                png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
@@ -589,9 +598,9 @@ no_transparent_color_in_palette:
        /* if the image has color palette, copy the pallet of the image to
         * create color map.
         */
-       if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
+       if (color_type == PNG_COLOR_TYPE_PALETTE)
                ret = CreatePallet(image, png_ptr, info_ptr);
-       else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
+       else if (color_type == PNG_COLOR_TYPE_GRAY)
                ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
        else
                ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
@@ -617,16 +626,16 @@ no_transparent_color_in_palette:
        }
 
        /* setting the info of the image. */
-       if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width)
+       if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width)
                        != HPDF_OK)
                goto Exit;
 
-       if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height)
+       if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height)
                        != HPDF_OK)
                goto Exit;
 
        if (HPDF_Dict_AddNumber (image, "BitsPerComponent",
-                               (HPDF_UINT)info_ptr->bit_depth) != HPDF_OK)
+                               (HPDF_UINT)bit_depth) != HPDF_OK)
                goto Exit;
 
        /* clean up */
++++++ libharu-rpmlintrc ++++++
addFilter("shlib-unversioned-lib")
addFilter("shlib-policy-missing-lib") 
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to