Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
I've prepared an update for alsa-base, to deal with a conffile fuckup that happened moths ago and unfortunately got unnoticed by me until recently. The rough story is: alsa-base, until +1, was doing Weird Shit™ with its handling of /etc/default/alsa, which wasn't even a conffile. When I got rid of all of that in +2, I accidentally got the new conffile renamed to /e/d/alsa-base due to using debhelper to install it. The script that sources it wasn't updated to look in the new location, and of course users were left with the old "conffile" and the new one in the filesystem. The updated package tries to fix this for people upgrading from squeeze and also for current testing users which already have both files. Additionally, it marks the package as MA: foreign. SVN also had two old commits that add a missing pre-dependency on dpkg, and remove redundant dirs from debian/alsa-base.dirs. If these two old commits are unacceptable, I'll revert and rebuild, but I've checked that the package contents are identical. Finally, plese note this is probably (and hopefully) the final upload of alsa-base. Marco and I have agreed to transplant the modprobe.d bits in kmod, and let the "alsa" script die, as it was useful 8 years ago, but probably not so much today. In short, I think this bug needs fix now, or it won't ever be. unblock alsa-base/1.0.25+3 Thanks for considering, Jordi -- System Information: Debian Release: 7.0 APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.5-trunk-amd64 (SMP w/2 CPU cores) Locale: LANG=ca_ES.UTF-8@valencia, LC_CTYPE=ca_ES.UTF-8@valencia (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -Nru alsa-base-1.0.25+2+nmu2/debian/alsa alsa-base-1.0.25+3/debian/alsa --- alsa-base-1.0.25+2+nmu2/debian/alsa 2012-05-20 01:20:03.000000000 +0200 +++ alsa-base-1.0.25+3/debian/alsa 2013-04-01 07:05:11.000000000 +0200 @@ -15,10 +15,10 @@ MYNAME=/usr/sbin/alsa PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -# Default values of variables in /etc/default/alsa +# Default values of variables in /etc/default/alsa-base force_unload_modules_before_suspend="" -[ -f /etc/default/alsa ] && . /etc/default/alsa +[ -f /etc/default/alsa-base ] && . /etc/default/alsa-base # $* MESSAGE warn() { echo "${MYNAME}: Warning: $* " >&2 ; } diff -Nru alsa-base-1.0.25+2+nmu2/debian/alsa-base.dirs alsa-base-1.0.25+3/debian/alsa-base.dirs --- alsa-base-1.0.25+2+nmu2/debian/alsa-base.dirs 2012-02-26 12:56:39.000000000 +0100 +++ alsa-base-1.0.25+3/debian/alsa-base.dirs 2013-04-01 07:02:21.000000000 +0200 @@ -1,5 +1 @@ -etc/modprobe.d -usr/share/alsa-base -usr/share/lintian/overrides -usr/share/bug/alsa-base usr/sbin diff -Nru alsa-base-1.0.25+2+nmu2/debian/alsa-base.postrm alsa-base-1.0.25+3/debian/alsa-base.postrm --- alsa-base-1.0.25+2+nmu2/debian/alsa-base.postrm 2012-05-20 14:23:19.000000000 +0200 +++ alsa-base-1.0.25+3/debian/alsa-base.postrm 2013-04-04 06:50:44.000000000 +0200 @@ -5,6 +5,9 @@ if [ "$1" = "purge" ]; then # Remove run time files rm -rf /var/run/alsa + + # Remove stray file + rm -f /etc/default/alsa fi #DEBHELPER# diff -Nru alsa-base-1.0.25+2+nmu2/debian/alsa-base.preinst alsa-base-1.0.25+3/debian/alsa-base.preinst --- alsa-base-1.0.25+2+nmu2/debian/alsa-base.preinst 2012-07-08 23:49:56.000000000 +0200 +++ alsa-base-1.0.25+3/debian/alsa-base.preinst 2013-04-05 06:24:05.000000000 +0200 @@ -12,4 +12,27 @@ [ -d /etc/apm ] && rmdir --ignore-fail-on-non-empty /etc/apm fi +case "$1" in + install|upgrade) + # Handle upgrade of /etc/default/alsa → /etc/default/alsa-base + if [ -f /etc/default/alsa ]; then + OLDMD5SUM="b0f9824c2d4288aa89df3777668f0d99" + CURMD5SUM=$(md5sum /etc/default/alsa | sed -e 's/ .*//') + # Upgrades prior to the file rename + if dpkg --compare-versions "$2" lt "1.0.25+2"; then + if [ "$OLDMD5SUM" = "$CURMD5SUM" ]; then + rm -f /etc/default/alsa + else + mv /etc/default/alsa /etc/default/alsa-base + fi + # Upgrades from current testing: both files exist + # If the old file was modified, just leave it there + elif dpkg --compare-versions "$2" lt "1.0.25+3"; then + if [ "$OLDMD5SUM" = "$CURMD5SUM" ]; then + rm -f /etc/default/alsa + fi + fi + fi +esac + #DEBHELPER# diff -Nru alsa-base-1.0.25+2+nmu2/debian/changelog alsa-base-1.0.25+3/debian/changelog --- alsa-base-1.0.25+2+nmu2/debian/changelog 2012-08-26 17:57:22.000000000 +0200 +++ alsa-base-1.0.25+3/debian/changelog 2013-04-05 06:28:30.000000000 +0200 @@ -1,3 +1,22 @@ +alsa-base (1.0.25+3) unstable; urgency=low + + * Add Pre-Depends dpkg (>= 1.15.7.2~), for dpkg-maintscript-helper. + * Drop all dirs but usr/sbin from alsa-base.dirs. dh will take care. + * Mark alsa-base Mult-Arch: foreign. + * In 1.0.25+2, we started using dh_installinit to install the + default file as /etc/default/alsa-base, and make it a proper conffile. + However, the alsa script still expected to read defaults from + /etc/default/alsa. Update it to use the new path (closes: #680914). + Additionally, make sure that if we're upgrading from versions prior to + this change, and a /etc/default/alsa file already exists and its + md5sum isn't known, it'll get renamed to alsa-base in order to + preserve user changes. + For testing users, the old file will be removed if it was pristine, + and otherwise it'll stay unused in the filesystem. + * Try to remove /etc/default/alsa on purge. + + -- Jordi Mallach <jo...@debian.org> Thu, 04 Apr 2013 23:28:24 -0500 + alsa-base (1.0.25+2+nmu2) unstable; urgency=high * Non-maintainer upload. diff -Nru alsa-base-1.0.25+2+nmu2/debian/control alsa-base-1.0.25+3/debian/control --- alsa-base-1.0.25+2+nmu2/debian/control 2012-05-20 13:50:37.000000000 +0200 +++ alsa-base-1.0.25+3/debian/control 2013-04-01 20:29:32.000000000 +0200 @@ -12,10 +12,12 @@ Package: alsa-base Architecture: all Provides: alsa +Pre-Depends: dpkg (>= 1.15.7.2~) Depends: ${misc:Depends}, kmod, procps, udev Recommends: alsa-utils Suggests: alsa-oss, oss-compat Breaks: linux-sound-base +Multi-Arch: foreign Description: ALSA driver configuration files This package contains various configuration files for the ALSA drivers.