From b38904a783ab6df7ba089be0fc7a5bf0d270d7cc Mon Sep 17 00:00:00 2001 From: Chris Lawrence Date: Sun, 19 Nov 2006 20:27:59 -0600 Subject: [PATCH] lsb 3.1-22 Debian release. --- debian/changelog | 10 ++++++++++ debian/lsb-release.dirs | 2 +- init-functions | 2 +- lsb_release | 22 ++++++++++++---------- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2c966a5..fcacb93 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 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 diff --git a/debian/lsb-release.dirs b/debian/lsb-release.dirs index 415f082..e772481 100644 --- a/debian/lsb-release.dirs +++ b/debian/lsb-release.dirs @@ -1 +1 @@ -/usr/bin +usr/bin diff --git a/init-functions b/init-functions index 2eea946..176a4f6 100644 --- a/init-functions +++ b/init-functions @@ -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 diff --git a/lsb_release b/lsb_release index 45d0de4..cebc573 100755 --- a/lsb_release +++ b/lsb_release @@ -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 -- 2.30.2