From cc04625c811f511c3fcba7eeaab2f246968b9fc3 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 4 Jun 2008 03:47:56 +0000 Subject: 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 --- bin/repoman | 7 ++++++- pym/portage/__init__.py | 3 ++- 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" -- cgit v1.2.3-1-g7c22