summaryrefslogtreecommitdiffstats
path: root/source-builder/sb/linux.py
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2013-03-15 17:00:38 +1100
committerChris Johns <chrisj@rtems.org>2013-03-15 17:00:38 +1100
commit3351e1575d18f9c421e3c1cbf1ff432222cf907a (patch)
tree40617e33373d780942d10f36b221b01890880e74 /source-builder/sb/linux.py
parentRemove tabs. Add a safe way to default to a distro. (diff)
downloadrtems-source-builder-3351e1575d18f9c421e3c1cbf1ff432222cf907a.tar.bz2
Add distro aliases to group similar types.
Diffstat (limited to 'source-builder/sb/linux.py')
-rw-r--r--source-builder/sb/linux.py39
1 files changed, 28 insertions, 11 deletions
diff --git a/source-builder/sb/linux.py b/source-builder/sb/linux.py
index 451ed6b..22973f8 100644
--- a/source-builder/sb/linux.py
+++ b/source-builder/sb/linux.py
@@ -50,6 +50,7 @@ def load():
cpu = 'arm'
else:
cpu = uname[4]
+
defines = {
'_os': ('none', 'none', 'linux'),
'_host': ('triplet', 'required', cpu + '-linux-gnu'),
@@ -66,25 +67,41 @@ def load():
'__gzip': ('exe', 'required', '/bin/gzip'),
'__tar': ('exe', 'required', '/bin/tar')
}
- variations = {
- 'Ubuntu' : {'__bzip2': ('exe', 'required', '/bin/bzip2'),
- '__chgrp': ('exe', 'required', '/bin/chgrp'),
- '__chown': ('exe', 'required', '/bin/chown'),
- '__grep': ('exe', 'required', '/bin/grep'),
- '__sed': ('exe', 'required', '/bin/sed') },
- 'Fedora' : { '__install_info': ('exe', 'required', '/sbin/install-info') },
- 'Arch' : { '__gzip': ('exe', 'required', '/usr/bin/gzip'),
- '__chown': ('exe', 'required', '/usr/bin/chown') }
- }
+
# Works for LSB distros
distro = platform.dist()[0]
+
# Non LSB - fail over to issue
if distro == '':
try:
issue = open('/etc/issue').read()
distro = issue.split(' ')[0]
except:
- distro = 'Ubuntu'
+ pass
+
+ # Manage distro aliases
+ if distro in ['centos', 'fedora']:
+ distro = 'redhat'
+ if distro in ['Ubuntu', 'ubuntu']:
+ distro = 'debian'
+ if distro in ['Arch']:
+ distro = 'arch'
+
+ variations = {
+ 'debian' : { '__bzip2': ('exe', 'required', '/bin/bzip2'),
+ '__chgrp': ('exe', 'required', '/bin/chgrp'),
+ '__chown': ('exe', 'required', '/bin/chown'),
+ '__grep': ('exe', 'required', '/bin/grep'),
+ '__sed': ('exe', 'required', '/bin/sed') },
+ 'redhat' : { '__bzip2': ('exe', 'required', '/bin/bzip2'),
+ '__chgrp': ('exe', 'required', '/bin/chgrp'),
+ '__chown': ('exe', 'required', '/bin/chown'),
+ '__grep': ('exe', 'required', '/bin/grep'),
+ '__sed': ('exe', 'required', '/bin/sed'),
+ '__install_info': ('exe', 'required', '/sbin/install-info') },
+ 'arch' : { '__gzip': ('exe', 'required', '/usr/bin/gzip'),
+ '__chown': ('exe', 'required', '/usr/bin/chown') },
+ }
if variations.has_key(distro):
for v in variations[distro]: