Update to new major release series 1.5.x

This commit is contained in:
Tom Lane 2011-11-05 12:47:29 -04:00
parent fb2a4a83f4
commit d54238fd6f
5 changed files with 70 additions and 59 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/libpng-1.5.6.tar.bz2
/libpng-1.2.46.tar.bz2 /libpng-1.2.46.tar.bz2

View File

@ -1,10 +1,10 @@
Use pkg-config to report libpng version and installation directories. Use pkg-config to report libpng version and installation directories.
diff -Naur libpng-1.2.31.orig/scripts/libpng-config.in libpng-1.2.31/scripts/libpng-config.in diff -Naur libpng-1.5.5.orig/libpng-config.in libpng-1.5.5/libpng-config.in
--- libpng-1.2.31.orig/scripts/libpng-config.in 2008-05-29 13:37:58.000000000 -0400 --- libpng-1.5.5.orig/libpng-config.in 2011-09-22 09:40:23.000000000 -0400
+++ libpng-1.2.31/scripts/libpng-config.in 2008-08-23 16:57:20.000000000 -0400 +++ libpng-1.5.5/libpng-config.in 2011-10-05 01:03:32.335435187 -0400
@@ -8,11 +8,11 @@ @@ -11,11 +11,11 @@
# Modeled after libxml-config. # Modeled after libxml-config.

View File

@ -1,42 +0,0 @@
diff -Naur libpng-1.2.29.orig/configure.ac libpng-1.2.29/configure.ac
--- libpng-1.2.29.orig/configure.ac 2008-05-08 07:58:11.000000000 -0400
+++ libpng-1.2.29/configure.ac 2008-05-31 20:21:12.000000000 -0400
@@ -63,7 +63,8 @@
AC_MSG_CHECKING(
[if assembler code in pnggccrd.c can be compiled without PNG_NO_MMX_CODE])
AC_TRY_COMPILE(
- [#include "$srcdir/pnggccrd.c"],
+ [#define PNG_CONFIGURE_LIBPNG
+ #include "$srcdir/pnggccrd.c"],
[return 0;],
AC_MSG_RESULT(yes)
LIBPNG_NO_MMX="",
diff -Naur libpng-1.2.29.orig/pngconf.h libpng-1.2.29/pngconf.h
--- libpng-1.2.29.orig/pngconf.h 2008-05-08 07:58:03.000000000 -0400
+++ libpng-1.2.29/pngconf.h 2008-05-31 20:21:12.000000000 -0400
@@ -35,6 +35,25 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
+#else
+/* pngconf.h is part of the exported API. When a libpng-using application
+ includes us, PNG_CONFIGURE_LIBPNG is of course not defined as we do not have
+ libpng's config.h available in this case. This means that we do not have the
+ defines added to config.h and the commandline by libpng's ./configure .
+
+ For all defines from config.h not having them set is not a problem, however
+ ./configure also adds -DPNG_NO_ASSEMBLER_CODE to the CFLAGS when compiling
+ on a platform on which the MMX and SSE asm code in libpng is not supported.
+
+ We do need this define as this define is used to determine whether or not
+ to define PNG_ASSEMBLER_CODE_SUPPORTED and other assembler related defines
+ and prototypes. PNG_ASSEMBLER_CODE_SUPPORTED in turn is used by applications
+ (ImageMagick for example) to determine whether or not they can use the asm
+ functions. Thus we need to define PNG_NO_ASSEMBLER_CODE here on platforms
+ on which the MMX and SSE asm code in libpng is not supported: */
+#ifndef __i386__ /* change this if MMX/SSE become supported on x86_64! */
+#define PNG_NO_ASSEMBLER_CODE
+#endif
#endif
/*

View File

@ -1,22 +1,29 @@
Summary: A library of functions for manipulating PNG image format files Summary: A library of functions for manipulating PNG image format files
Name: libpng Name: libpng
Epoch: 2 Epoch: 2
Version: 1.2.46 Version: 1.5.6
Release: 1%{?dist} Release: 1%{?dist}
License: zlib License: zlib
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.libpng.org/pub/png/ URL: http://www.libpng.org/pub/png/
# This SRPM includes a copy of libpng 1.2.x, which is provided as a stopgap
# measure to satisfy dependencies on libpng.so.3 until all applications can
# be recompiled. The compatibility library is placed in a separate
# sub-RPM, libpng-compat. There is no support for recompiling source code
# against the old version.
%global prevversion 1.2.46
# Note: non-current tarballs get moved to the history/ subdirectory, # Note: non-current tarballs get moved to the history/ subdirectory,
# so look there if you fail to retrieve the version you want # so look there if you fail to retrieve the version you want
Source: ftp://ftp.simplesystems.org/pub/png/src/libpng-%{version}.tar.bz2 Source0: ftp://ftp.simplesystems.org/pub/png/src/libpng-%{version}.tar.bz2
Source1: ftp://ftp.simplesystems.org/pub/png/src/libpng-%{prevversion}.tar.bz2
Patch0: libpng-multilib.patch Patch0: libpng-multilib.patch
Patch1: libpng-pngconf.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: zlib-devel, pkgconfig BuildRequires: zlib-devel, pkgconfig
Conflicts: qt < 0:2.2.2
%description %description
The libpng package contains a library of functions for creating and The libpng package contains a library of functions for creating and
@ -31,7 +38,8 @@ files.
%package devel %package devel
Summary: Development tools for programs to manipulate PNG image format files Summary: Development tools for programs to manipulate PNG image format files
Group: Development/Libraries Group: Development/Libraries
Requires: libpng = %{epoch}:%{version}-%{release} zlib-devel pkgconfig Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: zlib-devel pkgconfig
%description devel %description devel
The libpng-devel package contains header files and documentation necessary The libpng-devel package contains header files and documentation necessary
@ -44,38 +52,68 @@ the libpng package.
%package static %package static
Summary: Static PNG image format file library Summary: Static PNG image format file library
Group: Development/Libraries Group: Development/Libraries
Requires: libpng-devel = %{epoch}:%{version}-%{release} Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release}
%description static %description static
The libpng-static package contains the statically linkable version of libpng. The libpng-static package contains the statically linkable version of libpng.
Linking to static libraries is discouraged for most applications, but it is Linking to static libraries is discouraged for most applications, but it is
necessary for some boot packages. necessary for some boot packages.
%package compat
Summary: Temporary backwards-compatibility copy of old libpng
Group: Development/Libraries
%description compat
This package contains shared libraries (only) for libpng 1.2.x.
%prep %prep
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1
tar xfj %{SOURCE1}
%build %build
%configure %configure
make %{?_smp_mflags} make %{?_smp_mflags}
# this is for the compat package:
pushd libpng-%{prevversion}
%configure
make %{?_smp_mflags}
popd
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%makeinstall
# install compat package first, then remove unwanted files
pushd libpng-%{prevversion}
make DESTDIR=$RPM_BUILD_ROOT install
rm -rf $RPM_BUILD_ROOT%{_bindir}
rm -rf $RPM_BUILD_ROOT%{_includedir}
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libpng.pc
rm -f $RPM_BUILD_ROOT%{_libdir}/libpng*.so
rm -f $RPM_BUILD_ROOT%{_libdir}/libpng*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
popd
make DESTDIR=$RPM_BUILD_ROOT install
# We don't ship .la files. # We don't ship .la files.
rm -rf $RPM_BUILD_ROOT%{_libdir}/libpng.la rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la
rm -rf $RPM_BUILD_ROOT%{_libdir}/libpng12.la
%post -p /sbin/ldconfig %post -p /sbin/ldconfig
%postun -p /sbin/ldconfig %postun -p /sbin/ldconfig
%post compat -p /sbin/ldconfig
%postun compat -p /sbin/ldconfig
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc *.txt example.c README TODO CHANGES LICENSE %doc libpng-manual.txt example.c README TODO CHANGES LICENSE
%{_libdir}/libpng*.so.* %{_libdir}/libpng15.so.*
%{_mandir}/man5/* %{_mandir}/man5/*
%files devel %files devel
@ -83,17 +121,30 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/libpng12.la
%{_bindir}/* %{_bindir}/*
%{_includedir}/* %{_includedir}/*
%{_libdir}/libpng*.so %{_libdir}/libpng*.so
%{_libdir}/pkgconfig/* %{_libdir}/pkgconfig/libpng.pc
%{_libdir}/pkgconfig/libpng15.pc
%{_mandir}/man3/* %{_mandir}/man3/*
%files static %files static
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libpng*.a %{_libdir}/libpng*.a
%files compat
%defattr(-,root,root)
%{_libdir}/libpng.so.3*
%{_libdir}/libpng12.so.*
%{_libdir}/pkgconfig/libpng12.pc
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Sat Nov 5 2011 Tom Lane <tgl@redhat.com> 2:1.5.6-1
- Update to new major release series 1.5.x; includes source-code-incompatible
API changes and a soname version bump
- Temporarily package 1.2.46 shared library (only) in libpng-compat subpackage
so that dependent packages won't be broken while rebuilding proceeds
* Thu Jul 14 2011 Tom Lane <tgl@redhat.com> 2:1.2.46-1 * Thu Jul 14 2011 Tom Lane <tgl@redhat.com> 2:1.2.46-1
- Update to libpng 1.2.46, includes fixes for CVE-2011-2501, CVE-2011-2690, - Update to libpng 1.2.46, includes fixes for CVE-2011-2501, CVE-2011-2690,
CVE-2011-2691, CVE-2011-2692 CVE-2011-2691, CVE-2011-2692

View File

@ -1 +1,2 @@
2107095191b0e8bd9a0f4f930c1948c3 libpng-1.5.6.tar.bz2
e8b43dc78ef95b3949af7f961d76874b libpng-1.2.46.tar.bz2 e8b43dc78ef95b3949af7f961d76874b libpng-1.2.46.tar.bz2