Here are the steps I took to conplete the update of libpng on Gentoo
emerge --sync
Before updating from libpng-1.2 to libpng-1.4 make sure that you have
fetched any other files that need to be updated by running "emerge -euNDf world".
You may need these files in advance because updating libpng is going to
temporarily break many applications linked to it, especially if you're
a Gnome desktop user.
emerge -euNDf world
Lets get started.
emerge --oneshot libpng
* Moving from libpng 1.2.x to 1.4.x will break installed libtool .la
* files.
* Run /usr/sbin/libpng-1.4.x-update.sh at your own risk only if
* revdep-rebuild or lafilefixer fails.
* Don't forget "man emerge" and useful parameters like --skip-first,
* --resume and --keep-going.
cat /usr/sbin/libpng-1.4.x-update.sh
#!/bin/bash
echo "Try revdep-rebuild or lafilefixer first."
echo "This script will rename -lpng12 and libpng12.la to -lpng14 and libpng14.la"
echo "in your system libdir libtool .la files without asking permission."
[[ -d /usr/lib64 ]] && lib_suffix=64
libdir=/usr/lib${lib_suffix}
find ${libdir} -name '*.la' | xargs sed -i -e '/^dependency_libs/s:-lpng12:-lpng14:'
find ${libdir} -name '*.la' | xargs sed -i -e '/^dependency_libs/s:libpng12.la:libpng14.la:'
# WTFPL-2
As I am brave and this was a testing box I ran next;
find /usr/lib64 -name '*.la' | xargs sed -i -e '/^de /s:-lpng12:-lpng14:'
then;
lafilefixer --justfixit
then;
emerge -1 cairo pango gtk+ atk libglade qt-gui
Then for good measure :)
revdep-rebuild
revdep-rebuild rebuild 51 packages
Now you're ready for the "big rebuild". I had to rebuild 70 apps. Those
of you running Gnome, if you're no longer able to use or get to a terminal
in X then just 'Ctrl-Alt-F1' to drop to a shell.
Beware, that you may have to rebuild over 100 apps including Open Office if it
was built with Gnome support.
After this is all done 'Ctrl-Alt-F7' will get you back into your desktop
environment.
emerge -uND world
Then run 'revdep-rebuild' once again. When finished your system should be sane again.
revdep-rebuild
So to make a long story short this may work :)
emerge -uDN world && revdep-rebuild -- --keep-going && lafilefixer --justfixit && revdep-rebuild -- --keep-going
Powered by Drupal and Drupal Theme created by vigilianty.