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.