Hello, If no one else is trying to implement these features, I'd like to give it a shot.
regards, GVK On Sun, 22 Aug 2004, Markus Kuhn wrote: > Feature proposal for POSIX uname: > > At present, the 'uname -o' command simply gives GNU/Linux for any of the > many Linux distributions. Since these distributions differ often very > significantly, it would be useful if uname could also identify the OS > distribution and version that it came with. I believe, the granularity > of the fields provided traditionally by uname is no longer sufficient > and additional fields are necessary to distinguish between exact > distribution variants of the same operating system. The presence of the > lsb_release in the LSB Core specification is an indication that uname as > currently defined by POSIX no longer fulfills its role adequately. > > I propose to review uname and extend it appropriately such that other > new non-POSIX OS identification mechanisms such as lsb_release become > unnecessary. As a start, I suggest to add new command line options to > uname to distinguish between operating system distributions: > > For example, this could look like: > > $ uname -d > SuSE Linux Professional 9.1 (DVD 32-bit) > $ uname -d > Red Hat Linux 9 > > The information could be split up further into four fields: > > - DISTRIB_VENDOR. This is the commonly used colloquial shortname of > the vendor or organization that prepared the installable OS > distribution. Colloquial should mean that this name should be free > of legal designators (i.e. use "Sun" and not "Sun Microsystems Inc."). > (e.g. "SuSE", "Red Hat", "Novell", "Sun", "IBM", "Mandrake", "Debian") > > - DISTRIB_PRODUCT: This is the product name, without the vendor > name (which typically precedes it immediately), and also without the > version number (which typically follows immediately afterwards). > (e.g. "Linux", "Linux Professional", "Enterprise Server", > "Terminal Server", "Home Edition") > > - DISTRIB_RELEASE: Typically a dot-separated list of integer > numbers. Where this is a release date instead of a version number, > the ISO 8601 notation should be used. > (e.g., "8", "9.1", "2004-12-31") > > - DISTRIB_ATTRIBUTES (optional): This is a list of optional attributes > such as CPU type, installation source medium, regional variant, etc. > that distinguish several available variants of the same product version. > The individual attribute in this list should not contain any whitespace > or parenthesis and should be separated by a single whitespace. > (e.g., "DVD 32-bit", "FTP i586", "CD Amiga nocrypto") > > These fields can be made individually accessable: > > $ uname -d > SuSE Linux Professional 9.1 (DVD 32-bit) > $ uname -dv > SuSE > $ uname -dp > Linux Professional > $ uname -dr > 9.1 > $ uname -da > DVD 32-bit > > The suggested output format is very simple: > > If DISTRIB_ATTRIBUTES is non-empty > > "%s %s %s (%s)\n", DISTRIB_VENDOR, DISTRIB_PRODUCT, DISTRIB_RELEASE, > DISTRIB_ATTRIBUTES > > otherwise > > "%s %s %s\n", DISTRIB_VENDOR, DISTRIB_PRODUCT, DISTRIB_RELEASE > > Note: I deliberately did not include in this proposal an extra field for > a release code name (as can be queried via 'lsb_release -c'). Most > vendors do not use or publish such release project code names. They also > add no information beyond DISTRIB_RELEASE and lack the temporal ordering > implied by a version number. > > Suggested implementation for uname in GNU coreutils: > > There is little point in trying to autodetect this, as there is no > portable and predictable way yet to find out this information (uname -d > is meant to become exactly that). The person preparing uname for > inclusion into a distribution package will have to manually provide > values for these four fields in a configuration file. To ensure that > this is not forgotten, the uname distribution should refuse to compile > out of the box, until these values have been configured. > > Related files: > > /etc/*-release, /etc/issue, /etc/issue.net, /etc/motd, /usr/bin/lsb_release > > Related specifications: > > - http://www.opengroup.org/onlinepubs/009695399/utilities/uname.html > - http://www.opengroup.org/onlinepubs/009695399/functions/uname.html > - http://www.linuxbase.org/spec/booksets/LSB-Core/LSB-Core.html#LSBRELEASE > - http://cvs.openpkg.org/openpkg-src/openpkg/platform > > Markus > > -- Real programmers don't work 9 to 5. If any real programmers are around at 9am it's because they were up all night. _______________________________________________ Bug-coreutils mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-coreutils