summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-06-04 03:47:56 +0000
committerZac Medico <zmedico@gentoo.org>2008-06-04 03:47:56 +0000
commitcc04625c811f511c3fcba7eeaab2f246968b9fc3 (patch)
tree6ee368f480faae404d822cb539d3781257ef6cc5
parentc842854cdb99e16af33378d7bbb2318c1997d381 (diff)
downloadportage-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-xbin/repoman7
-rw-r--r--pym/portage/__init__.py3
-rw-r--r--pym/portage/data.py4
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"