Simultaneously bumping server, desktop, media center, laptop to kernel 3.10.7 et al… (continued…)

I’ve put off upgrading my XBMC media center forever, as it has Just Worked for years, and I was using an old hw raid box that newer kernels didn’t like.

Then a drive in my raid went bad, and I realized I’d better upgrade or die. I started by copying the system to a second drive and trying to reboot off of that. But the root was ext3 and the second drive was ext4 and it wasn’t going to work without some tweaking, which is hard on an oooold system. So it was “put up or shut up” time…

Here are the adventures of me brutalizing my old gentoo box into upgrading (let’s see you do THAT with any other three-year-old distro)… (continued…)

image

8 bay eSata jbod enclosure.  Next step… load it up!

The stupid Windoze gaming sirens had me out of linux for a bit on my desktop. Back with a vengeance, and a huge emerge world. Hours of fun! The nice thing is I’ve gotten into gentoo enough that I no longer feel the need to document every massive emerge. For the most part, just keep using these strategies until it works itself out – while keeping your brain engaged of course:

  • emerge -DavuN @world
  • emerge -DavuN –with-bdeps=y @world
  • emerge -DavuN @world –autounmask-write
  • emerge –resume –skipfirst
  • emerge –unmerge (i unmerge the SHIT out of all conflicting non-world packages! keep it clean! :O)
  • emerge -1v (anything that’s missing!)
  • gcc-config (as early as possible)
  • eselect (boost|java-vm|php|python|etc….)
  • use eix and equery to answer any package questions
  • get the latest gentoo-sources and configure that kernel!
  • don’t forget to emerge nvidia-drivers or any other kernel-specific package
  • google for help – gentoo support information is AMAZING
  • dispatch-config
  • emerge -av –depclean
  • revdep-rebuild
  • lafilefixer –justfixit
  • python-updater
  • perl-cleaner –all
  • targeted rebuild, for those nasty upgrades: revdep-rebuild –library libpng14.so.14
  • find broken autotools stuff: find /usr/ -name ‘*.la’ -exec grep png14 -c {} +|grep \:1
  • rinse and repeat!

I had a few new wrinkles…

  • considered emerging gnome-base/gnome (new) to get GNOME 3 but it is soft-masked and who knows how much trouble would follow
  • stupid libpng upgrades always cause everyone all kinds of headaches – see this awesome post
  • 
    revdep-rebuild --library '/usr/lib64/libpng14.so.14' -- --keep-going
    emerge -1av --keep-going $(find /usr \( -name "*.la" -o -name "*.pc" -o -name "*-config" -o -name "*.pm" \) -exec grep -H png14 {} \; | cut -d : -f 1 | xargs qfile -CSq | sort | uniq)
  • removed nsplugin USE flag from picasa and acroread since it thought that firefox (not firefox-bin) was a requirement, stooopid things
  • Qt needed a bump, which should happen all at once, which is impossible 🙂
  • of course i had to add a FEW more bells and whistles!
  • emerge -DavuN xfce4-meta xfce4-verve-plugin xfce4-mixer xfce4-taskmanager xfwm4-themes thunar thunar-volman tumbler thunar-archive-plugin google-chrome
  • etc

I’ve been having trouble with my server running out of file handles recently (ouch). Cyrus and Apache and rtorrent all do their fair share of abuse of my server, lsof typically reports 20k open files and sockets. rtorrent kept crapping out with “can’t resolve host” and “can’t save torrent file” errors, related to running out of file handles. Very hard to determine why this was happening. Eventually google turned up the answer on gentoo forums – re-emerge curl with these USE flags in [/etc/portage/package.use]:

net-misc/curl ares -threads

All is full of light.