2010-08-31 Chris Johns <chrisj@rtems.org>

* specbuilder/specbuilder/linux.py: Add Linux support. Can be
        useful on those distributions that do not support RPM
        packages. Users should always be encouraged to use the RPM
        packages provided by the project.

        * specbuilder/specbuilder/default.py: Add Linux.
This commit is contained in:
Chris Johns 2010-08-31 00:58:45 +00:00
parent 9eb5c92f1e
commit 31d4e80320
3 changed files with 79 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2010-08-31 Chris Johns <chrisj@rtems.org>
* specbuilder/specbuilder/linux.py: Add Linux support. Can be
useful on those distributions that do not support RPM
packages. Users should always be encouraged to use the RPM
packages provided by the project.
* specbuilder/specbuilder/default.py: Add Linux.
2010-08-29 Chris Johns <chrisj@rtems.org>
* specbuilder/specbuilder/defaults.py: Add default configure

View File

@ -419,6 +419,9 @@ def load(args):
if uname[0] == 'Darwin':
import darwin
overrides = darwin.load()
elif uname[0] == 'Linux':
import linux
overrides = linux.load()
if overrides is None:
raise error.general('no hosts defaults found; please add')
for k in overrides:

View File

@ -0,0 +1,67 @@
#
# $Id$
#
# RTEMS Tools Project (http://www.rtems.org/)
# Copyright 2010 Chris Johns (chrisj@rtems.org)
# All rights reserved.
#
# This file is part of the RTEMS Tools package in 'rtems-tools'.
#
# RTEMS Tools is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# RTEMS Tools is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with RTEMS Tools. If not, see <http://www.gnu.org/licenses/>.
#
#
# This code is based on what ever doco about spec files I could find and
# RTEMS project's spec files.
#
import pprint
import os
import execute
def load():
uname = os.uname()
smp_mflags = ''
processors = '/bin/grep processor /proc/cpuinfo'
e = execute.capture_execution()
exit_code, proc, output = e.shell(processors)
if exit_code == 0:
cpus = 0
for l in output.split('\n'):
count = l.split(':')[1].strip()
if count > cpus:
cpus = count
if cpus > 0:
smp_mflags = '-j%d' % (cpus)
defines = {
'_os': 'linux',
'_host': uname[4] + '-linux-gnu',
'_host_vendor': 'gnu',
'_host_os': 'linux',
'_host_cpu': uname[4],
'_host_alias': '%{nil}',
'_host_arch': uname[4],
'_usr': '/usr',
'_var': '/usr/var',
'optflags': '-O2 -fasynchronous-unwind-tables',
'_smp_mflags': smp_mflags,
'__bzip2': '/bin/bzip2',
'__gzip': '/bin/gzip',
'__tar': '/bin/tar'
}
return defines
if __name__ == '__main__':
pprint.pprint(load())