lsb 3.1-22 Debian release.
authorChris Lawrence <lawrencc@debian.org>
Mon, 20 Nov 2006 02:27:59 +0000 (20:27 -0600)
committerDidier Raboud <odyx@debian.org>
Mon, 20 Nov 2006 02:27:59 +0000 (20:27 -0600)
debian/changelog
debian/lsb-release.dirs
init-functions
lsb_release

index 2c966a51ba75e504e279b41a7d0d29ff104d820f..fcacb93e91854160c09937e054174a8f9f28fff7 100644 (file)
@@ -1,3 +1,13 @@
+lsb (3.1-22) unstable; urgency=low
+
+  * Fix crash when the Debian release is identified from
+    /etc/debian_version and there is no corresponding codename (reported
+    by Riku Voipio as a result of buildd failures).
+  * log_use_fancy_output() had unintended behavior under set -e.
+    (Thanks to Steve Langesek for the heads-up.)
+
+ -- Chris Lawrence <lawrencc@debian.org>  Sun, 19 Nov 2006 20:27:59 -0600
+
 lsb (3.1-21) unstable; urgency=low
 
   * lsb_release changes: Improve parsing of apt-cache policy output to be
index 415f082dd910d68018bafc3092793db6a06ebf68..e77248175524d9f63749c2d6ca67159eeb4aa635 100644 (file)
@@ -1 +1 @@
-/usr/bin
+usr/bin
index 2eea946c7b476933ff2ba9d97b356ebb9932584c..176a4f63ac13a04ffc039b0cbe039d60ae25bc52 100644 (file)
@@ -134,7 +134,7 @@ log_use_fancy_output () {
     TPUT=/usr/bin/tput
     EXPR=/usr/bin/expr
     if [ "x$TERM" != "xdumb" ] && [ -x $TPUT ] && [ -x $EXPR ] && $TPUT hpa 60 >/dev/null 2>&1 && $TPUT setaf 1 >/dev/null 2>&1; then
-        [ -z $FANCYTTY ] && FANCYTTY=1
+        [ -z $FANCYTTY ] && FANCYTTY=1 || true
     else
         FANCYTTY=0
     fi
index 45d0de4b7793cbfe68a21f377fff92fc3eaef6bd..cebc573f33ae2b082134b55c3ca9434723ee56ad 100755 (executable)
@@ -40,13 +40,13 @@ RELEASE_CODENAME_LOOKUP = {
 
 TESTING_CODENAME = 'etch'
 
-def lookup_codename(release):
+def lookup_codename(release, unknown=None):
     m = re.match(r'(\d+)\.(\d+)(r(\d+))?', release)
     if not m:
-        return None
+        return unknown
 
     shortrelease = '%s.%s' % m.group(1,2)
-    return RELEASE_CODENAME_LOOKUP.get(shortrelease, None)
+    return RELEASE_CODENAME_LOOKUP.get(shortrelease, unknown)
 
 # LSB compliance packages... may grow eventually
 PACKAGES = 'lsb-core lsb-cxx lsb-graphics lsb-desktop lsb-qt4'
@@ -96,10 +96,6 @@ def check_modules_installed():
                     
     return modules
 
-priorityre = re.compile(r'\s+(\d+)\s+')
-versionre = re.compile(r'release v=([\d.+]+),o=Debian,a=([^,]+).*c=main')
-releasere = re.compile(r'release o=Debian,a=([^,]+).*c=main')
-
 longnames = {'v' : 'version', 'o': 'origin', 'a': 'suite',
              'c' : 'component', 'l': 'label'}
 
@@ -168,10 +164,11 @@ def guess_debian_release():
     if rinfo:
         release = rinfo.get('version')
         if release:
-            codename = lookup_codename(release) or 'unknown'
+            codename = lookup_codename(release, 'n/a')
         else:
             release = rinfo.get('suite', 'unstable')
             if release == 'testing':
+                # Would be nice if I didn't have to hardcode this.
                 codename = TESTING_CODENAME
             else:
                 codename = 'sid'
@@ -180,10 +177,15 @@ def guess_debian_release():
         release = open('/etc/debian_version').read().strip()
         if not release[0:1].isalpha():
             # /etc/debian_version should be numeric
-            codename = RELEASE_CODENAME_LOOKUP.get(release, 'n/a')
+            codename = lookup_codename(release, 'n/a')
             distinfo.update({ 'RELEASE' : release, 'CODENAME' : codename })
+        else:
+            distinfo['RELEASE'] = release
 
-    distinfo['DESCRIPTION'] += ' %(RELEASE)s (%(CODENAME)s)' % distinfo
+    if 'RELEASE' in distinfo:
+        distinfo['DESCRIPTION'] += ' %(RELEASE)s' % distinfo
+    if 'CODENAME' in distinfo:
+        distinfo['DESCRIPTION'] += ' (%(CODENAME)s)' % distinfo
 
     return distinfo