diff --git a/libpng-1.6.2.tar.bz2 b/libpng-1.6.2.tar.bz2 deleted file mode 100644 index ba9cc83..0000000 --- a/libpng-1.6.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7fbba66ad77bfe03f4a47a4333263f46fa1d4c74c313ea1b62800df21aa4aafb -size 1024433 diff --git a/libpng-1.6.3.tar.xz b/libpng-1.6.3.tar.xz new file mode 100644 index 0000000..c8690eb --- /dev/null +++ b/libpng-1.6.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5ecc0d38663b944a828145ed59cf15dfbad2217512875bc05ecf9b92afa0f45 +size 869244 diff --git a/libpng-1.6.3.tar.xz.asc b/libpng-1.6.3.tar.xz.asc new file mode 100644 index 0000000..5d7e9b2 --- /dev/null +++ b/libpng-1.6.3.tar.xz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQIcBAABAgAGBQJR5zYJAAoJEPVJhL+hbGQPt+4QAKGL4M91acmCciT7nwYoVsHD +1F6T/vd5kMHsrUFUko6KaJXFu3boMN0J1hTYD2ryEhceQPj8RRsYBRF7YwtSeodi +nF3Oe/IHteNnx/YIezMfiUTMJ9ojLqfX0VeHQm5EzoKoRFkRevopoP0xfSEz6CHD +G2P2KBfpesLOVnYchtqFUFHRajwVE/gu51Fq/c7uQeF+433uPGEdFT7QJsyDXCD1 +lM3Xd6OVWPthz2x724AV0qi8A4Tz/bV/infPNfzUoolMWfyPCkwW9wAPFSgZmcTD +fyWnYRrUiFD6TC0y1zXNANnyVQVmnQeowSxJbUgnPxlvnu0qZv/p5bMWxyoIdZsJ +huowNyfGqQANBQeB9iDDruAwcFAS+d5+00Z3JvI/s8C3dtmoEbVpDUUuolUxCy8v +pw7tzqIwULFQ7x487yIn0q2Kbs3e7d0hbXJkg4g0ePbt31ikdU00w2hKYM5Tfo1+ +CbSYlbAx3D7WlzYcb80j/a3J5diOk6r1f0CIBCbNjN//vQMvLXigx1crXuAUbXtu +5qRgT7bz+CLhb3jbRLiRFXbodoHVh/H35N7mGWmvG46F5ry6AzWz4DvyQpEqk228 +6okgNt0+qIXqB0UEU7fCDVDk9bOKc7ZAPlQ49XBXttutKf2Fk0NVkjUlZVuD/ro+ +g/hoa1tzYW9VRQVA6c1s +=KiMP +-----END PGP SIGNATURE----- diff --git a/libpng16.keyring b/libpng16.keyring new file mode 100644 index 0000000..f27199a --- /dev/null +++ b/libpng16.keyring @@ -0,0 +1,91 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.20 (GNU/Linux) + +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 +jbyUPEKA6rvduCBJHehOpTSTScWnA3U= +=Rum9 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/libpng16.spec b/libpng16.spec index 848807a..a0c2624 100644 --- a/libpng16.spec +++ b/libpng16.spec @@ -19,7 +19,7 @@ # %define major 1 %define minor 6 -%define micro 2 +%define micro 3 %define branch %{major}%{minor} %define libname libpng%{branch}-%{branch} @@ -30,8 +30,14 @@ Release: 0 Summary: Library for the Portable Network Graphics Format (PNG) License: Zlib Group: System/Libraries -Source: libpng-%{version}.tar.bz2 -Source2: baselibs.conf +Source0: ftp://ftp.simplesystems.org/pub/png/src/libpng16/libpng-%{version}.tar.xz +Source1: ftp://ftp.simplesystems.org/pub/png/src/libpng16/Gnupg/libpng-%{version}.tar.xz.asc +Source2: libpng16.keyring +Source3: rpm-macros.libpng-tools +Source4: baselibs.conf +%if 0%{?suse_version} >= 1230 +BuildRequires: gpg-offline +%endif BuildRequires: libtool BuildRequires: pkg-config BuildRequires: zlib-devel @@ -72,6 +78,12 @@ Provides: libpng-devel = %{version} Obsoletes: libpng-devel < 1.2.44 Conflicts: otherproviders(libpng-devel) +%package tools +Summary: Tools for Manipulating PNG Images +Group: Productivity/Graphics/Other +Provides: libpng-tools = %{version} +Conflicts: otherproviders(libpng-tools) + %description libpng is the official reference library for the Portable Network Graphics format (PNG). @@ -94,7 +106,12 @@ to the header files, libraries, configuration files and development tools necessary for compiling and linking programs that don't care about libpng version. +%description tools +Package consists of low level tools for manipulating and fixing particular +PNG files. + %prep +%{?gpg_verify: %gpg_verify %{SOURCE1}} %setup -n libpng-%{version} %build @@ -112,6 +129,9 @@ make check %install make install DESTDIR=$RPM_BUILD_ROOT rm $RPM_BUILD_ROOT/%{_libdir}/libpng*.la +mkdir -p %{buildroot}%{_sysconfdir}/rpm +cp -a %{SOURCE3} \ + %{buildroot}%{_sysconfdir}/rpm/macros.libpng-tools %post -n %{libname} -p /sbin/ldconfig @@ -139,4 +159,10 @@ rm $RPM_BUILD_ROOT/%{_libdir}/libpng*.la %doc %{_mandir}/man3/libpngpf.3.gz %doc %{_mandir}/man5/png.5.gz +%files tools +%defattr(-,root,root) +%{_bindir}/png-fix-itxt +%{_bindir}/pngfix +%{_sysconfdir}/rpm/macros.libpng-tools + %changelog diff --git a/rpm-macros.libpng-tools b/rpm-macros.libpng-tools new file mode 100644 index 0000000..3e4499a --- /dev/null +++ b/rpm-macros.libpng-tools @@ -0,0 +1,41 @@ +# macro: %png_fix_too_far_back path/to/name-of.png +# for given png, fixes 'IDAT: invalid distance too far back' +# +# -v output if macro fixed something or find unrecoverable error +# +%png_fix_too_far_back(v) \ + if test "x%1" == "x%%1"; then \ + echo "Missing argument in call to %%png_fix_too_far_back: path and name of png file." \ + exit 1 \ + fi \ + /usr/bin/png-fix-too-far-back "%1" \ + case $? in \ + 0) # no need to fix \ + ;; \ + 1) /usr/bin/png-fix-too-far-back -i "%1" \ + %{-v: echo "fixed: %1" } \ + ;; \ + 2) %{-v: echo "unrecoverable error: %1" } \ + ;; \ + 3) echo "%1 not found" \ + ;; \ + esac \ + %nil +# +# macro: %png_fix_too_far_back dir +# for given directory, search *.png (recursively) and potentionaly +# fix 'IDAT: invalid distance too far back' +# +# -v output if macro fixed something or find unrecoverable error +# +%png_fix_too_far_back_dir(v) \ + if test "x%1" == "x%%1"; then \ + echo "Missing argument in call to %%png_fix_too_far_back_dir: dir where to search png files." \ + exit 1 \ + fi \ + for png in `find "%1" -iname '*.png'`; do \ + # -v will be propagated \ + %png_fix_too_far_back $png \ + done \ + %nil +