libpng - Portable Network Graphics reference library ChangeLog

HOWTO


# libpng
# ======
# Slackware's libpng package includes the following versions:
# Slackware 12.0: 1.2.18
# Slackware 12.1: 1.2.27
# Slackware 12.2: 1.2.32
# Slackware 13.0: 1.2.37
# Slackware 13.1: 1.4.2
# Slackware 13.37: 1.4.5
# Many versions of Slackware also include a patched or updated version in
# 'patches' too.

# Some things still use the old version of libpng, so I usually install
# both.  If you have both installed and you upgrade just the old one, make
# sure you cd into the new one's source and 'make install' it again, then
# run 'ldconfig'.  This way the libpng.so symlink will point to the new
# one (or just fix the symlink yourself).

# Below I just blow away existing library files before running 'make
# install' to ensure that extra files aren't left behind that are no longer
# needed.  If you run a production system with multiple local users that may
# be using something linked with libpng, or if you run a daemon that is
# linked with it, you'll want to skip that part below and clean up any old
# files manually when you're done with the rest.

# If you run Slackware, you may want to open up the
# /var/adm/packages/*elflibs* file with a text editor and remove lines
# like this:
# usr/lib/libpng12.so.0.1.2.8
# usr/lib/libpng.so.3.1.2.8
# that refer to files that either don't exist or have been replaced.

# If you ever want to uninstall libpng, or clean up files from an old
# version before installing a new one, skip down to the bottom for
# instructions

# If you have trouble getting libpng from the download URL below,
# you can also get it here:
# ftp://ftp.simplesystems.org/pub/libpng/png/src/

# Prerequisites (for both versions):
# zlib
# pkgconfig


# libpng 1.0.58
# =============
cd
test -f installed/libpng-1.0.58.tar.bz2 &&
mv installed/libpng-1.0.58.tar.bz2 .
test ! -f libpng-1.0.58.tar.bz2 &&
wget http://downloads.sf.net/libpng/files/libpng-1.0.58.tar.bz2

# Verify tarball w/ sha1sum:
# (this comes from me, not the authors, I couldn't find one elsewhere)
echo "b63664e2598c812570093f46e462143228e3608c  libpng-1.0.58.tar.bz2" | sha1sum -c

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "libpng-1.0.*" -exec rm -r {} \;
tar xjvf ~/libpng-1.0.58.tar.bz2
cd libpng-1.0.58
test $UID = 0 && chown -R root:root .

## If you'd rather, you can also do this:
# ln -s scripts/makefile.linux Makefile
# make prefix=/usr
# make test

# Configure, build, and test it
./configure --prefix=/usr --mandir=/usr/man
make
make check

# Become root to install it
su

# Remove the Slackware package, if there is one
# (there may be multiple versions, run it twice)
test -x /sbin/removepkg && /sbin/removepkg libpng

# Install it
rm -f /usr/lib/libpng10.so.* /usr/lib/libpng.so.2.*
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/libpng-1.0.*
mv libpng-1.0.58.tar.bz2 installed/


# libpng 1.2.48
# =============
cd
test -f installed/libpng-1.2.48.tar.xz &&
mv installed/libpng-1.2.48.tar.xz .
test ! -f libpng-1.2.48.tar.xz &&
wget http://downloads.sf.net/libpng/libpng-1.2.48.tar.xz

# Verify tarball w/ sha1sum:
# (this comes from me, not the authors, I couldn't find one elsewhere)
echo "d677866609acf7122432a1797d8c54a6f39d1105  libpng-1.2.48.tar.xz" | sha1sum -c

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "libpng-1.2.*" -exec rm -r {} \;
tar xJvf ~/libpng-1.2.48.tar.xz
cd libpng-1.2.48
test $UID = 0 && chown -R root:root .

## If you'd rather, you can also do this:
# ln -s scripts/makefile.linux Makefile
# make prefix=/usr
# make test

# Configure, build, and test it
./configure --prefix=/usr --mandir=/usr/man
make
make check

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg libpng

# Install it
rm -f /usr/lib/libpng12.so.* /usr/lib/libpng.so.3.*
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/libpng-1.2.*
mv libpng-1.2.48.tar.xz installed/


# libpng 1.4.10
# =============
cd
test -f installed/libpng-1.4.10.tar.xz &&
mv installed/libpng-1.4.10.tar.xz .
test ! -f libpng-1.4.10.tar.xz &&
wget http://downloads.sf.net/libpng/libpng-1.4.10.tar.xz

# Verify tarball w/ sha1sum:
# (this comes from me, not the authors, I couldn't find one elsewhere)
echo "c61dcbf9488906f1203e461ddd017406f255c905  libpng-1.4.10.tar.xz" | sha1sum -c

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "libpng-1.4.*" -exec rm -r {} \;
tar xJvf ~/libpng-1.4.10.tar.xz
cd libpng-1.4.10
test $UID = 0 && chown -R root:root .

## If you'd rather, you can also do this:
# ln -s scripts/makefile.linux Makefile
# make prefix=/usr
# make test

# Configure, build, and test it
./configure --prefix=/usr --mandir=/usr/man
make
make check

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg libpng

# Install it
rm -f /usr/lib/libpng14.so.*
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/libpng-1.4.*
mv libpng-1.4.10.tar.xz installed/


# libpng 1.5.9
# ============
cd
test -f installed/libpng-1.5.9.tar.xz &&
mv installed/libpng-1.5.9.tar.xz .
test ! -f libpng-1.5.9.tar.xz &&
wget http://downloads.sf.net/libpng/libpng-1.5.9.tar.xz

# Verify tarball w/ md5sum:
echo "05d9ab3705c34954c0032b71318b678a  libpng-1.5.9.tar.xz" | md5sum -c

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "libpng-1.5.*" -exec rm -r {} \;
tar xJvf ~/libpng-1.5.9.tar.xz
cd libpng-1.5.9
test $UID = 0 && chown -R root:root .

## If you'd rather, you can also do this:
# ln -s scripts/makefile.linux Makefile
# make prefix=/usr
# make test

# Configure, build, and test it
./configure --prefix=/usr --mandir=/usr/man
make
make check

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg libpng

# Install it
rm -f /usr/lib/libpng15.so.*
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/libpng-1.5.*
mv libpng-1.5.9.tar.xz installed/


# If you ever want to uninstall libpng, this should do it:
su
for pfx in /usr /usr/local; do
  test -d ${pfx}/include/libpng10 && rm -r ${pfx}/include/libpng10
  test -d ${pfx}/include/libpng12 && rm -r ${pfx}/include/libpng12
  test -d ${pfx}/include/libpng14 && rm -r ${pfx}/include/libpng14
  test -d ${pfx}/include/libpng15 && rm -r ${pfx}/include/libpng15
  ( cd ${pfx}/bin
    rm -f libpng-config libpng-10-config libpng-12-config libpng-14-config      libpng-15-config )
  ( cd ${pfx}/include ; rm -f libpng png.h pngconf.h )
  ( cd ${pfx}/lib
    rm -f libpng.* libpng10.* libpng12.* libpng14.* libpng15.* )
  ( cd ${pfx}/lib/pkgconfig
    rm -f libpng.pc libpng10.pc libpng12.pc libpng14.pc libpng15.pc )
  ( cd ${pfx}/man/man3 ; rm -f libpng.3 libpngpf.3 )
  rm -f ${pfx}/man/man5/png.5
done
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "libpng-*" -exec rm -r {} \;
rm -f ~/installed/libpng-*.tar.*

List of HOWTOs

Last updated: 2020-04-29 10:24pm EDT(-0400)
Copyright © 2001-2020 Jason Englander. All Rights reserved.
[HTML5]