]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
index e18a2660f6258db935aef781ce65a3f35870a4d2..696a3ae83c44096fb434cfae7f9c519d3b98f455 100644 (file)
@@ -6,6 +6,134 @@
                 <link>http://people.skolelinux.org/pere/blog/</link>
                 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
+       <item>
+               <title>Automatic upgrade testing from Lenny to Squeeze</title>
+               <link>http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</guid>
+                <pubDate>Fri, 11 Jun 2010 22:50:00 +0200</pubDate>
+               <description>
+&lt;p&gt;The last few days I have done some upgrade testing in Debian, to
+see if the upgrade from Lenny to Squeeze will go smoothly.  A few bugs
+have been discovered and reported in the process
+(&lt;a href=&quot;http://bugs.debian.org/585410&quot;&gt;#585410&lt;/a&gt; in nagios3-cgi,
+&lt;a href=&quot;http://bugs.debian.org/584879&quot;&gt;#584879&lt;/a&gt; already fixed in
+enscript and &lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; in
+kdebase-workspace-data), and to get a more regular testing going on, I
+am working on a script to automate the test.&lt;/p&gt;
+
+&lt;p&gt;The idea is to create a Lenny chroot and use tasksel to install a
+Gnome or KDE desktop installation inside the chroot before upgrading
+it.  To ensure no services are started in the chroot, a policy-rc.d
+script is inserted.  To make sure tasksel believe it to install a
+desktop on a laptop, the tasksel tests are replaced in the chroot
+(only acceptable because this is a throw-away chroot).&lt;/p&gt;
+
+&lt;p&gt;A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
+currently always fail because udev refuses to upgrade with the kernel
+in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
+is created.  The bug report
+&lt;a href=&quot;http://bugs.debian.org/566000&quot;&gt;#566000&lt;/a&gt; make me suspect
+this problem do not trigger in a chroot, but I touch the file anyway
+to make sure the upgrade go well.  Testing on virtual and real
+hardware have failed me because of udev so far, and creating this file
+do the trick in such settings anyway.  This is a
+&lt;a href=&quot;http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/&quot;&gt;known
+issue&lt;/a&gt; and the current udev behaviour is intended by the udev
+maintainer because he lack the resources to rewrite udev to keep
+working with old kernels or something like that.  I really wish the
+udev upstream would keep udev backwards compatible, to avoid such
+upgrade problem, but given that they fail to do so, I guess
+documenting the way out of this mess is the best option we got for
+Debian Squeeze.&lt;/p&gt;
+
+&lt;p&gt;Anyway, back to the task at hand, testing upgrades.  This test
+script, which I call &lt;tt&gt;upgrade-test&lt;/tt&gt; for now, is doing the
+trick:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+#!/bin/sh
+set -ex
+
+if [ &quot;$1&quot; ] ; then
+    desktop=$1
+else
+    desktop=gnome
+fi
+
+from=lenny
+to=squeeze
+
+exec &amp;lt; /dev/null
+unset LANG
+mirror=http://ftp.skolelinux.org/debian
+tmpdir=chroot-$from-upgrade-$to-$desktop
+fuser -mv .
+debootstrap $from $tmpdir $mirror
+chroot $tmpdir aptitude update
+cat &gt; $tmpdir/usr/sbin/policy-rc.d &amp;lt;&amp;lt;EOF
+#!/bin/sh
+exit 101
+EOF
+chmod a+rx $tmpdir/usr/sbin/policy-rc.d
+exit_cleanup() {
+    umount $tmpdir/proc
+}
+mount -t proc proc $tmpdir/proc
+# Make sure proc is unmounted also on failure
+trap exit_cleanup EXIT INT
+
+chroot $tmpdir aptitude -y install debconf-utils
+
+# Make sure tasksel autoselection trigger.  It need the test scripts
+# to return the correct answers.
+echo tasksel tasksel/desktop multiselect $desktop | \
+    chroot $tmpdir debconf-set-selections
+
+# Include the desktop and laptop task
+for test in desktop laptop ; do
+    echo &gt; $tmpdir/usr/lib/tasksel/tests/$test &amp;lt;&amp;lt;EOF
+#!/bin/sh
+exit 2
+EOF
+    chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
+done
+
+DEBIAN_FRONTEND=noninteractive
+DEBIAN_PRIORITY=critical
+export DEBIAN_FRONTEND DEBIAN_PRIORITY
+chroot $tmpdir tasksel --new-install
+
+echo deb $mirror $to main &gt; $tmpdir/etc/apt/sources.list
+chroot $tmpdir aptitude update
+touch $tmpdir/etc/udev/kernel-upgrade
+chroot $tmpdir aptitude -y dist-upgrade
+fuser -mv
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;I suspect it would be useful to test upgrades with both apt-get and
+with aptitude, but I have not had time to look at how they behave
+differently so far.  I hope to get a cron job running to do the test
+regularly and post the result on the web.  The Gnome upgrade currently
+work, while the KDE upgrade fail because of the bug in
+kdebase-workspace-data&lt;/p&gt;
+
+&lt;p&gt;I am not quite sure what kind of extract from the huge upgrade logs
+(KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
+post, so I will refrain from trying.  I can report that for Gnome,
+aptitude report 760 packages upgraded, 448 newly installed, 129 to
+remove and 1 not upgraded and 1024MB need to be downloaded while for
+KDE the same numbers are 702 packages upgraded, 507 newly installed,
+193 to remove and 0 not upgraded and 1117MB need to be downloaded&lt;/p&gt;
+
+&lt;p&gt;I am very happy to notice that the Gnome desktop + laptop upgrade
+is able to migrate to dependency based boot sequencing and parallel
+booting without a hitch.  Was unsure if there were still bugs with
+packages failing to clean up their obsolete init.d script during
+upgrades, and no such problem seem to affect the Gnome desktop+laptop
+packages.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>Skolelinux er laget for sentraldrifting, naturligvis</title>
                <link>http://people.skolelinux.org/pere/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html</link>
@@ -407,65 +535,5 @@ ser jeg mye korrespondanse mellom påtrykk og magnetstripe.&lt;/p&gt;
 </description>
        </item>
        
-       <item>
-               <title>Pieces of the roaming laptop puzzle in Debian</title>
-               <link>http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</guid>
-                <pubDate>Wed, 19 May 2010 19:00:00 +0200</pubDate>
-               <description>
-&lt;p&gt;Today, the last piece of the puzzle for roaming laptops in Debian
-Edu finally entered the Debian archive.  Today, the new
-&lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-mklocaluser.html&quot;&gt;libpam-mklocaluser&lt;/a&gt;
-package was accepted.  Two days ago, two other pieces was accepted
-into unstable.  The
-&lt;a href=&quot;http://packages.qa.debian.org/p/pam-python.html&quot;&gt;pam-python&lt;/a&gt;
-package needed by libpam-mklocaluser, and the
-&lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd&lt;/a&gt; package
-passed NEW on Monday.  In addition, the
-&lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
-package we need is in experimental (version 10-4) since Saturday, and
-hopefully will be moved to unstable soon.&lt;/p&gt;
-
-&lt;p&gt;This collection of packages allow for two different setups for
-roaming laptops.  The traditional setup would be using libpam-ccreds,
-nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
-which should work out of the box if the configuration changes proposed
-for nscd in &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;BTS report
-#485282&lt;/a&gt; is implemented.  The alternative setup is to use sssd with
-libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
-care of the caching of passwords and group information.&lt;/p&gt;
-
-&lt;p&gt;I have so far been unable to get sssd to work with the LDAP server
-at the University, but suspect the issue is some SSL/GnuTLS related
-problem with the server certificate.  I plan to update the Debian
-package to version 1.2, which is scheduled for next week, and hope to
-find time to make sure the next release will include both the
-Debian/Ubuntu specific patches.  Upstream is friendly and responsive,
-and I am sure we will find a good solution.&lt;/p&gt;
-
-&lt;p&gt;The idea is to set up the roaming laptops to authenticate using
-LDAP or Kerberos and create a local user with home directory in /home/
-when a usre in LDAP logs in via KDM or GDM for the first time, and
-cache the password for offline checking, as well as caching group
-memberhips and other relevant LDAP information.  The
-libpam-mklocaluser package was created to make sure the local home
-directory is in /home/, instead of /site/server/directory/ which would
-be the home directory if pam_mkhomedir was used.  To avoid confusion
-with support requests and configuration, we do not want local laptops
-to have users in a path that is used for the same users home directory
-on the home directory servers.&lt;/p&gt;
-
-&lt;p&gt;One annoying problem with gdm is that it do not show the PAM
-message passed to the user from libpam-mklocaluser when the local user
-is created.  Instead gdm simply reject the login with some generic
-message.  The message is shown in kdm, ssh and login, so I guess it is
-a bug in gdm.  Have not investigated if there is some other message
-type that can be used instead to get gdm to also show the message.&lt;/p&gt;
-
-&lt;p&gt;If you want to help out with implementing this for Debian Edu,
-please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
-</description>
-       </item>
-       
         </channel>
 </rss>