[New-bugs-announce] [issue3937] platform.dist(): detect Linux distribution version in a robust, standard way
Zooko O'Whielacronx
report at bugs.python.org
Tue Sep 23 00:13:32 CEST 2008
New submission from Zooko O'Whielacronx <zooko at zooko.com>:
platform.dist() returns ('debian', 'lenny/sid', '') on my Ubuntu 8.04
Hardy system. Investigating shows that there are a few techniques in
platform.py to parse the version-number-files of different Linux
distributions. This patch adds a command to try executing "lsb_release"
first of all. lsb_release is the standard way to do this, originally
published in 2001:
http://refspecs.freestandards.org/LSB_1.0.0/gLSB/lsbrelease.html
and currently standardized here:
http://refspecs.freestandards.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/lsbrelease.html
If invoking "lsb_release" results in exit code 0 and some non-empty,
non-all-whitespace string on stdout, then dist() returns that. Else,
dist falls back to the old (current) hacks.
There is a drawback to this: invoking three successive subprocesses
takes a bit of time. Hopefully nobody needs to invoke platform.dist()
in a time-critical moment...
With this patch, platform.dist() return:
('Ubuntu', '8.04', 'hardy')
Oh, this patch also updates the docstring of dist() to explain what is
meant by "distribution", "version", and "id".
----------
components: Library (Lib)
files: dist.patch.txt
messages: 73601
nosy: zooko
severity: normal
status: open
title: platform.dist(): detect Linux distribution version in a robust, standard way
type: behavior
versions: Python 2.4, Python 2.5, Python 2.6, Python 3.0
Added file: http://bugs.python.org/file11562/dist.patch.txt
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3937>
_______________________________________
More information about the New-bugs-announce
mailing list