Package: lsb-release
Version: 3.2-28
Followup-For: Bug #540208

With my apt preferences and negative priorities the lsb_release script
still reports the wrong codename. The attached patch changes the regex
for '(\d+)' to '(-?\d+)' in order to match also negative values.

(below the field 'Description' is optained after applying my patch)


-- Package-specific info:
lsb_release output
-*- -*- -*- -*- -*-
LSB Version:  
 
core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch
Distributor ID:    Debian
Description:    Debian GNU/Linux testing (wheezy)
Release:    testing
Codename:    wheezy
-*- -*- -*- -*- -*-
    Apt policy
-*- -*- -*- -*- -*-
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://dl.google.com/linux/talkplugin/deb/ stable/main i386 Packages
     release v=1.0,o=Google, Inc.,a=stable,n=stable,l=Google,c=main
     origin dl.google.com
 520 http://deb.opera.com/opera/ testing/non-free i386 Packages
     release o=Opera Software ASA,a=testing,n=wheezy,l=The Opera web 
browser,c=non-free
     origin deb.opera.com
 520 http://download.skype.com/linux/repos/debian/ stable/non-free i386 Packages
     origin download.skype.com
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ unstable/non-free 
Translation-it
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ unstable/non-free 
Translation-en
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ unstable/main 
Translation-it
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ unstable/main 
Translation-en
 -12 http://mi.mirror.garr.it/mirrors/debian-multimedia/ unstable/non-free i386 
Packages
     release v=None,o=Unofficial Multimedia 
Packages,a=unstable,n=sid,l=Unofficial
Multimedia Packages,c=non-free
     origin mi.mirror.garr.it
 -12 http://mi.mirror.garr.it/mirrors/debian-multimedia/ unstable/main i386 
Packages
     release v=None,o=Unofficial Multimedia 
Packages,a=unstable,n=sid,l=Unofficial
Multimedia Packages,c=main
     origin mi.mirror.garr.it
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ testing/non-free 
Translation-it
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ testing/non-free 
Translation-en
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ testing/main 
Translation-it
 500 http://mi.mirror.garr.it/mirrors/debian-multimedia/ testing/main 
Translation-en
 110 http://mi.mirror.garr.it/mirrors/debian-multimedia/ testing/non-free i386 
Packages
     release v=None,o=Unofficial Multimedia 
Packages,a=testing,n=wheezy,l=Unofficial
Multimedia Packages,c=non-free
     origin mi.mirror.garr.it
 110 http://mi.mirror.garr.it/mirrors/debian-multimedia/ testing/main i386 
Packages
     release v=None,o=Unofficial Multimedia 
Packages,a=testing,n=wheezy,l=Unofficial
Multimedia Packages,c=main
     origin mi.mirror.garr.it
 900 http://security.debian.org/ testing/updates/non-free i386 Packages
     release o=Debian,a=testing,n=wheezy,l=Debian-Security,c=non-free
     origin security.debian.org
 900 http://security.debian.org/ testing/updates/contrib i386 Packages
     release o=Debian,a=testing,n=wheezy,l=Debian-Security,c=contrib
     origin security.debian.org
 900 http://security.debian.org/ testing/updates/main i386 Packages
     release o=Debian,a=testing,n=wheezy,l=Debian-Security,c=main
     origin security.debian.org
 -10 http://ftp.it.debian.org/debian/ experimental/non-free i386 Packages
     release o=Debian,a=experimental,n=experimental,l=Debian,c=non-free
     origin ftp.it.debian.org
 -10 http://ftp.it.debian.org/debian/ experimental/contrib i386 Packages
     release o=Debian,a=experimental,n=experimental,l=Debian,c=contrib
     origin ftp.it.debian.org
 -10 http://ftp.it.debian.org/debian/ experimental/main i386 Packages
     release o=Debian,a=experimental,n=experimental,l=Debian,c=main
     origin ftp.it.debian.org
 500 http://ftp.it.debian.org/debian/ unstable/main Translation-it
  12 http://ftp.it.debian.org/debian/ unstable/non-free i386 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=non-free
     origin ftp.it.debian.org
  12 http://ftp.it.debian.org/debian/ unstable/contrib i386 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=contrib
     origin ftp.it.debian.org
  12 http://ftp.it.debian.org/debian/ unstable/main i386 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=main
     origin ftp.it.debian.org
 500 http://ftp.it.debian.org/debian/ testing/main Translation-it
 900 http://ftp.it.debian.org/debian/ testing/non-free i386 Packages
     release o=Debian,a=testing,n=wheezy,l=Debian,c=non-free
     origin ftp.it.debian.org
 900 http://ftp.it.debian.org/debian/ testing/contrib i386 Packages
     release o=Debian,a=testing,n=wheezy,l=Debian,c=contrib
     origin ftp.it.debian.org
 900 http://ftp.it.debian.org/debian/ testing/main i386 Packages
     release o=Debian,a=testing,n=wheezy,l=Debian,c=main
     origin ftp.it.debian.org
 500 http://ftp.it.debian.org/debian/ stable/main Translation-it
  12 http://ftp.it.debian.org/debian/ stable/non-free i386 Packages
     release v=6.0.2,o=Debian,a=stable,n=squeeze,l=Debian,c=non-free
     origin ftp.it.debian.org
  12 http://ftp.it.debian.org/debian/ stable/contrib i386 Packages
     release v=6.0.2,o=Debian,a=stable,n=squeeze,l=Debian,c=contrib
     origin ftp.it.debian.org
  12 http://ftp.it.debian.org/debian/ stable/main i386 Packages
     release v=6.0.2,o=Debian,a=stable,n=squeeze,l=Debian,c=main
     origin ftp.it.debian.org
Pinned packages:
     gnome-keyring -> 2.22.3-2
     libgnome-keyring0 -> 2.22.3-2
     libpam-gnome-keyring -> 2.22.3-2
-*- -*- -*- -*- -*-
   sources.list
-*- -*- -*- -*- -*-
deb http://ftp.it.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.it.debian.org/debian/ stable main contrib non-free
deb http://ftp.it.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free
deb http://ftp.it.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.it.debian.org/debian/ unstable main contrib non-free
deb http://ftp.it.debian.org/debian/ experimental main contrib non-free
deb-src http://ftp.it.debian.org/debian/ experimental main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free
deb http://mi.mirror.garr.it/mirrors/debian-multimedia testing main non-free
deb-src http://mi.mirror.garr.it/mirrors/debian-multimedia testing main non-free
deb http://mi.mirror.garr.it/mirrors/debian-multimedia unstable main non-free
deb-src http://mi.mirror.garr.it/mirrors/debian-multimedia unstable main 
non-free
deb http://download.skype.com/linux/repos/debian/ stable non-free
deb http://deb.opera.com/opera testing non-free
-*- -*- -*- -*- -*-
 /etc/lsb_release
-*- -*- -*- -*- -*-
- none

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (900, 'testing'), (12, 'unstable'), (12, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.39-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lsb-release depends on:
ii  python          2.6.7-3
ii  python-support  1.0.14

Versions of packages lsb-release recommends:
ii  apt  0.8.15.6

Versions of packages lsb-release suggests:
pn  lsb  <none>

-- no debconf information
Description: Fix for unsupported negative value in pin priorities
 The priorities of repositories can be negative as reported in apt_preferences
 manpage "P < 0 prevents the version from being installed". The lsb_release.py
 script matches only positive values generating an invalid output for negative
 priorities.
Bug-Debian: http://bugs.debian.org/540208
Author: Simone Rossetto <simro...@gmail.com>
Last-Update: 2011-09-17
--- a/lsb_release.py
+++ b/lsb_release.py
@@ -154,7 +154,7 @@
     policy = commands.getoutput('LANG=C apt-cache policy 2>/dev/null')
     for line in policy.split('\n'):
         line = line.strip()
-        m = re.match(r'(\d+)', line)
+        m = re.match(r'(-?\d+)', line)
         if m:
             priority = int(m.group(1))
         if line.startswith('release'):

Reply via email to