On Wed, Oct 29, 2008 at 4:51 PM, Andrey Vul <[EMAIL PROTECTED]> wrote:
> Found the code, and it's actually part of python (as of 2.4). > Gentoo sets aliased to 1 when printing the system uname. > /usr/lib/python2.{4,5,6}/platform.py: > > def _platform(*args): > > """ Helper to format the platform string in a filename > compatible format e.g. "system-version-machine". > """ > # Format the platform string > platform = string.join( > map(string.strip, > filter(len,args)), > '-') > > # Cleanup some possible filename obstacles... > replace = string.replace > platform = replace(platform,' ','_') > platform = replace(platform,'/','-') > platform = replace(platform,'\\','-') > platform = replace(platform,':','-') > platform = replace(platform,';','-') > platform = replace(platform,'"','-') > platform = replace(platform,'(','-') > platform = replace(platform,')','-') > > # No need to report 'unknown' information... > platform = replace(platform,'unknown','') > > # Fold '--'s and remove trailing '-' > while 1: > cleaned = replace(platform,'--','-') > if cleaned == platform: > break > platform = cleaned > while platform[-1] == '-': > platform = platform[:-1] > > return platform > > def platform(aliased=0, terse=0): > > """ Returns a single string identifying the underlying platform > with as much useful information as possible (but no more :). > > The output is intended to be human readable rather than > machine parseable. It may look different on different > platforms and this is intended. > > If "aliased" is true, the function will use aliases for > various platforms that report system names which differ from > their common names, e.g. SunOS will be reported as > Solaris. The system_alias() function is used to implement > this. > > Setting terse to true causes the function to return only the > absolute minimum information needed to identify the platform. > > """ > result = _platform_cache.get((aliased, terse), None) > if result is not None: > return result > > # Get uname information and then apply platform specific cosmetics > # to it... > system,node,release,version,machine,processor = uname() > if machine == processor: > processor = '' > if aliased: > system,release,version = system_alias(system,release,version) > > if system == 'Windows': > # MS platforms > rel,vers,csd,ptype = win32_ver(version) > if terse: > platform = _platform(system,release) > else: > platform = _platform(system,release,version,csd) > > elif system in ('Linux',): > # Linux based systems > distname,distversion,distid = dist('') > if distname and not terse: > platform = _platform(system,release,machine,processor, > 'with', > distname,distversion,distid) > else: > # If the distribution name is unknown check for libc vs. glibc > libcname,libcversion = libc_ver(sys.executable) > platform = _platform(system,release,machine,processor, > 'with', > libcname+libcversion) > elif system == 'Java': > # Java platforms > r,v,vminfo,(os_name,os_version,os_arch) = java_ver() > if terse: > platform = _platform(system,release,version) > else: > platform = _platform(system,release,version, > 'on', > os_name,os_version,os_arch) > > elif system == 'MacOS': > # MacOS platforms > if terse: > platform = _platform(system,release) > else: > platform = _platform(system,release,machine) > > else: > # Generic handler > if terse: > platform = _platform(system,release) > else: > bits,linkage = architecture(sys.executable) > platform = > _platform(system,release,machine,processor,bits,linkage) > > _platform_cache[(aliased, terse)] = platform > return platform > > > Proof: run /usr/lib/python2.{4,5,6}/platform.py > aliased and terse have no effect wrt output > (kernel_version-with-libc_version) > -- > Andrey Vul > > A: Because it messes up the order in which people normally read text. > Q: Why is top-posting such a bad thing? > A: Top-posting. > Q: What is the most annoying thing in e-mail? > > Good digging around :). So this is a python bug then? Or does portage need to be update for some change that went into python? Actually, is this really even a bug...its just a minor cosmetic problem really.