diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-06-04 03:47:56 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-06-04 03:47:56 +0000 |
commit | cc04625c811f511c3fcba7eeaab2f246968b9fc3 (patch) | |
tree | 6ee368f480faae404d822cb539d3781257ef6cc5 | |
parent | c842854cdb99e16af33378d7bbb2318c1997d381 (diff) | |
download | portage-cc04625c811f511c3fcba7eeaab2f246968b9fc3.tar.gz portage-cc04625c811f511c3fcba7eeaab2f246968b9fc3.tar.bz2 portage-cc04625c811f511c3fcba7eeaab2f246968b9fc3.zip |
Use "platform" module instead of os.uname, or -- even worse -- a system
call to uname. Change repoman's identification string not to use
"processor" on Linux (where it is huge), Interix (where it doesn't
exist) and AIX/HP-UX (where it prints "unknown"), but "machine" instead.
(branches/prefix r10554)
svn path=/main/trunk/; revision=10574
-rwxr-xr-x | bin/repoman | 7 | ||||
-rw-r--r-- | pym/portage/__init__.py | 3 | ||||
-rw-r--r-- | pym/portage/data.py | 4 |
3 files changed, 10 insertions, 4 deletions
diff --git a/bin/repoman b/bin/repoman index 7f381da94..cf8047eaf 100755 --- a/bin/repoman +++ b/bin/repoman @@ -20,6 +20,7 @@ import stat import sys import tempfile import time +import platform from itertools import izip from stat import S_ISDIR, ST_CTIME @@ -1754,7 +1755,11 @@ else: sys.stderr.write("Failed to insert portage version in message!\n") sys.stderr.flush() portage_version = "Unknown" - unameout = commands.getstatusoutput("uname -srp")[1] + unameout = platform.system() + " " + platform.release() + " " + if platform.system() in ["Darwin", "SunOS"]: + unameout += platform.processor() + else: + unameout += platform.machine() commitmessage+="\n(Portage version: "+str(portage_version)+"/"+vcs+"/"+unameout if options.force: commitmessage += ", RepoMan options: --force" diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 3423ec241..051d6dd4a 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -29,6 +29,7 @@ try: from random import shuffle import UserDict from itertools import chain, izip + import platform except ImportError, e: sys.stderr.write("\n\n") sys.stderr.write("!!! Failed to complete python imports. These are internal modules for\n") @@ -41,7 +42,7 @@ except ImportError, e: raise bsd_chflags = None -if os.uname()[0] in ["FreeBSD"]: +if platform.system() in ["FreeBSD"]: def bsd_chflags(): pass def _chflags(path, flags, opts=""): diff --git a/pym/portage/data.py b/pym/portage/data.py index 5fc811e43..5f4d05630 100644 --- a/pym/portage/data.py +++ b/pym/portage/data.py @@ -3,13 +3,13 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -import os, sys, pwd, grp +import os, sys, pwd, grp, platform from portage.util import writemsg from portage.output import green,red from portage.output import create_color_func bad = create_color_func("BAD") -ostype=os.uname()[0] +ostype=platform.system() userland = None if ostype == "DragonFly" or ostype.endswith("BSD"): userland = "BSD" |