gnewsense-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gNewSense-users] Upgrading deltad -> deltah


From: Yavor Doganov
Subject: [gNewSense-users] Upgrading deltad -> deltah
Date: Sun, 04 May 2008 12:15:18 +0300
User-agent: Wanderlust/2.15.5 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.7 Emacs/22.2 (i486-pc-linux-gnu) MULE/5.0 (SAKAKI)

For those who shudder at the idea of reinstalling their system from
scratch, here is what I did to upgrade.  The process took more than 24
hours, but that's mainly because of the slow Internet connection and
machine (Penitum II/256 MB RAM).  The system was usable all the time,
had net access, so my work wasn't disrupted in any way.

The system to be upgraded was a standard deltad installation with
GNOME, GNUstep, TeX and lots of fonts and development packages
installed.  I should mention that one year ago I made an accidential
mistake by marking all packages as "manually" installed, which IMHO
made the upgrade substantially harder.

* The first step was to adjust all sources.list entries to point to
  deltah, and then

aptitude update

* First I thought that a great amount of packages would depend on
  the new glibc, so I did:

aptitude install libc6

  Make sure to exit X, of course.  This action removed
  linux-kernel-headers; that's OK.

* Then, I decided to upgrade dpkg to take advantage of the triggers
  support, which supposedly would speed up the process.

aptitude install dpkg

* Next, because the new dpkg considered libc6 in unconfigured state, I
  did

dpkg --configure --pending

  (This ran the libc6 triggers.)

* After that I thought that it would be nice to install the new
  aptitude, which has many improvements in the dependency resolver.
  `aptitude dist-upgrade' of course did not find any solution, and
  that was expected.  `aptitude install aptitude' didn't work either,
  showing that apt+friends are tied to perl, the python transition and
  X/GNOME.  To clear the way for libapt-pkg-perl and because perl is
  fairly fundamental, I did

aptitude install perl libperl5.8 perl-doc

* To get rid of the perl warnings on the console ("unable to set
  locale") I ran

aptitude install locales

  This shouldn't be needed if you use the C locale.

* I am not sure if the decision to upgrade apt/aptitude first was a
  good idea.  It seemed impossible to upgrade it, so I started
  aptitude in "interactive" mode and selected python-apt for upgrade.
  This resulted in a bunch of "Broken" packages, so I reiterated
  through the list (by pressing "b"), selecting them either for
  upgrade or removal (e.g. all those python2.4-foomodule) according to
  the case.  Once all the necessary packages were "hinted" and there
  were no "broken" according to aptitude, I pressed "g" and it began
  downloading them.

  Many packages failed at unpack or configure stage, so I just
  continued repeating with "g" without selecting more packages until
  this partly cycle is completed.  There were some problems:

  - xkb-data conflicted with xkeyboard-config, but the latter was not
    selected for removal.  I did that manually.

  - evolution-data-server failed to unpack, because it "Breaks"
    evolution 2.6.1, while the new evolution depended on, not
    surprising, the new evolution-data-server.  To break this vicious
    circle, I exited aptitude and did:

    dpkg -B -i /var/cache/apt/archives/evolution*

    This still resulted in a few failures, but was enough to break the
    loop.

   Many packages were failing to configure initially and that's pretty
   normal -- for example, the postinst script trying to run
   gconftool-2 while gconf2 is not yet configured and depends on newer
   libraries with bumped SONAME.  I don't remember how many times I
   repeated pressing "g", but it was certainly more than 10.

* Once the previous upgrade cycle completed successfully, I tried
  again `aptitude dist-upgrade' and `aptitude upgrade' from the
  console -- still no luck, too many impossible to resolve
  dependencies.  So I started again in interactive mode, and began
  marking the packages in the "Obsolete" section for removal.  Except
  the kernel, of course.  This resulted in ~150 broken packages, so I
  just reiterated through them with "b", decreasing the number to
  zero.  Then, as usual, "g".  There were more than 350 MB to download
  so I went to bed.

  When I woke up in about 5 hours, the first trouble came.  The
  package texlive-base-bin was being configured, and its postinst
  script has spawned 800 processes (etex, mktexfmt, kpsewhich), eating
  all the memory and all the swap.  I looked at the temporary files,
  and saw it was trying to build the formats but the .fmt files were
  missing.  Indeed, /var/lib/texmf/web2c/pdfetex/ was completely
  empty.  I'm not sure this is a real bug or my fault by marking a
  tetex-foo package for "purge" instead for removal.  Anyway, I copied
  latex.fmt, pdflatex.fmt and pdfjadetex.fmt from another machine over
  the network and killed the postinst script.  On the second attempt I
  still got a failure, according to the log "Package color: no Driver
  specified".  Odd, only
  /etc/texmf/tex/latex/config/color.cfg.dpkg-new existed, so I copied
  it as color.cfg.  Finally, success.

* The previous upgrade cycle did not complete successfully -- some
  packages were failing at configure stage -- for example,
  samba-common's postinst failed because it had to run ucfr, which was
  missing.  ucfr is available only in the new ucf, so I decided it was
  time to mark all packages for upgrade.  I did that again in
  interactive mode, with "U".  

  This cycle also revealed some errors and real bugs.  For some
  reason, mpd was not stopped so it was failing in postinst by
  complaining that the port is busy.  I simply killed it.

  xchat-gnome-common should conflict+replace with the old xchat-gnome,
  otherwise there is a file confilct.

  libexiv-dev had a file conflict with libexiv2c2a.  Resolving these
  conflicts is easy, I simply edit /var/lib/dpkg/info/<package>.list
  and for extra safety remove the file(s) from the system.

  Likewise, gnustep-make was overwriting files in gnustep-make-doc.
  These are real bugs.

  The following packages are broken and I just removed them:

  gnome-desktop-environment: Depends on gnome-keyring-manager, which
                             is not available.
  gnome:                     Depends on the above package, whose
                             dependencies cannot be satisfied.
  gnome-fifth-toe:           Likewise, depends on
                             gnome-desktop-environment.
  gnustep-games:             Depends on the unavailable ladder.app.

  Thus, resolving the situation with the conflicts and repeatingly
  pressing "g", I ended up with only one obsolete package (the old
  kernel image) and zero packages to upgrade.

* I ran

dpkg --audit

  just to be sure that everything is OK.

* I ran

orphaner --purge

  to get rid of the unnecessary libraries.  There were lots of them.

* I ran

apt-get autoremove --purge

  to get rid of yet another three unnecessary packages.

* Finally, I started aptitude again and chose "Views -> Audit
  Recommendations" to install those packages that were recommended but
  missing.  At least two on this list are bogus: edubuntu-artwork,
  xubuntu-default-settings; so I ignored them.

* I edited /etc/kernel-img.conf, adjusting the path to /usr/sbin.

* Reboot for the first time, and here's when the second trouble came.
  The kernel was complaining (device-mapper: Unable to find device),
  spitting awful amount of noise on the console, and this continued
  forever.  I identified that the fault was evms, which somehow had
  sneaked in.  Unfortunately, I was unable to work on a console
  because of that permanent noise (despite the suppressing variable in
  /etc/sysctl.conf -- strange), and there was not enough available
  memory to spawn processes under GNOME.  The swap partition was not
  mounted, and I was unable to mount it manually.  The good old Window
  Maker came to the rescue, and I purged evms, evms-cli and
  evms-ncurses, resulting in initramfs-tools doing the right thing.

* Second reboot, and rejoice.  However, two problems:
  
  - Somehow my /etc/X11/X.org conf had seriously shrunk, wiping out
    all the definitions in the importand sections except the xkb
    settings.  Doing `dpkg-reconfigure xserver-xorg' didn't help, so I
    just copied an old version, which worked flawlessly with a few
    tweaks.

  - There was no sound, and the kernel was complaining at boot:
    ALSA [...] es18xx.c:1823: es18xx: unable to grap ports 0x220-0x22f
    
    These are the usual problems with ISA sound cards and newer
    kernels, so I just added `pnpbios=off' to the command line at
    /boot/grub/menu.lst.  It worked.

One minor thing, which of course I do not consider a problem --
however it seems that it comes from gNewSense modifications:

gdm shows a warning, unable to find
/usr/share/gdm/themes/Human/Human.xml.  Indeed, that directory is
empty, there is /usr/share/gdm/themes/deltah/Human.xml which is a
symlink to deltah.xml in the same directory.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]