#
# Copyright (c) 2004-2006 rPath, Inc.
# This file is distributed under the terms of the MIT License.
# A copy is available at http://www.rpath.com/permanent/mit-license.html
#
class Dist(GroupRecipe):
name = 'group-dist'
version = '0.91'
depCheck = True
checkOnlyByDefaultDeps = True
def startGroup(r, name, parentGroup, depCheck=False, byDefault=True,
checkPathConflicts=None):
# creates group named "name", adds it to the toplevel group,
# and sets the current group to that name. calls to r.add()
# will use the current group by default.
# note: byDefault applies to whether the group is included by
# default in its parent group, not whether the troves in
# the group are added by default. (use the setByDefault() command
# to get that)
# get all the the default for the new group from its parent group.
r.setDefaultGroup(parentGroup)
r.createGroup(name, autoResolve=False, depCheck=depCheck,
byDefault=True, checkPathConflicts=checkPathConflicts)
r.addNewGroup(name, groupName=parentGroup, byDefault=byDefault)
r.setDefaultGroup(name)
def setup(r):
r.setLabelPath('rtao.rpath.org@rpl:devel',
'conary.rpath.com@rpl:1')
compatLabel='conary.rpath.com@rpl:1-compat'
if Arch.x86:
if Use.xen:
glibcFlavor = 'xen is: x86(i486,i586,i686)'
if Use.dom0:
if Use.domU:
print "This recipe may be built with dom0 or domU, but cannot use both.\n"
sys.exit(1)
releaseFlavor = 'xen,dom0'
kernelFlavor = 'xen,dom0,kernel.smp is: x86(cmov,i486,i586,i686)'
if Use.domU:
releaseFlavor = 'xen,domU'
kernelFlavor = 'xen,domU,kernel.smp is: x86(cmov,i486,i586,i686)'
else:
glibcFlavor = 'is: x86(i486,i586,i686)'
releaseFlavor = None
kernelFlavor = 'kernel.smp is: x86(cmov,i486,i586,i686)'
else:
if Use.xen:
glibcFlavor = 'xen'
glibcFlavor32 = 'xen is: x86(i486,i586,i686)'
if Use.dom0:
if Use.domU:
print "This recipe may be built with dom0 or domU, but cannot use both.\n"
sys.exit(1)
releaseFlavor = 'xen,dom0'
kernelFlavor = 'xen,dom0,kernel.smp'
if Use.domU:
releaseFlavor = 'xen,domU'
kernelFlavor = 'xen,domU,kernel.smp'
else:
glibcFlavor = None
glibcFlavor32 = 'is: x86(i486,i586,i686)'
releaseFlavor = None
kernelFlavor = 'kernel.smp'
r.createGroup('group-os', checkPathConflicts=False)
# turn off checkPathConflicts bc not everything in group-os can/should
# coexist on the same system
r.addNewGroup('group-dist', groupName='group-os')
r.startGroup('group-core', parentGroup='group-dist', depCheck=True)
r.add('acl:lib')
r.add('acl:runtime')
r.add('ash:runtime')
r.add('attr:lib')
r.add('attr:runtime')
r.add('authconfig:runtime')
r.add('bash:runtime')
r.add('bridge-utils:runtime')
r.add('bzip2:lib')
r.add('bzip2:runtime')
r.add('chkconfig:lib')
r.add('chkconfig:runtime')
r.add('conary:data')
r.add('conary:python')
r.add('conary:runtime')
r.add('coreutils:runtime')
r.add('cpio:runtime')
r.add('cracklib:lib')
r.add('cyrus-sasl:lib')
r.add('db:lib')
r.add('dev:runtime')
r.add('dhclient:runtime')
r.add('dhclient:lib')
r.add('diffutils:runtime')
r.add('distro-release', flavor=releaseFlavor)
r.add('e2fsprogs:data')
r.add('e2fsprogs:lib')
r.add('e2fsprogs:runtime')
r.add('file:data')
r.add('file:lib')
r.add('file:runtime')
r.add('filesystem:runtime')
r.add('findutils:runtime')
r.add('gawk:data')
r.add('gawk:runtime')
r.add('gdbm:lib')
r.add('glib:lib')
r.add('glib:data')
r.add('glibc:lib', flavor=glibcFlavor)
r.add('glibc:runtime', flavor=glibcFlavor)
r.add('glibc:locale', flavor=glibcFlavor)
if Arch.x86_64:
r.add('glibc:lib', flavor=glibcFlavor32)
r.add('gmp:lib')
r.add('gpm:lib')
r.add('gpm:runtime')
r.add('grep:runtime')
if Arch.x86_64:
r.add('grub:data', flavor='grub.static is: x86')
r.add('grub:runtime', flavor='grub.static is: x86')
else:
r.add('grub:data')
r.add('grub:runtime')
r.add('gzip:runtime')
r.add('hotplug:runtime')
r.add('hwdata:data')
r.add('hwdata:lib')
r.add('hwdata:runtime')
r.add('info-daemon')
r.add('info-disk')
r.add('info-emerge')
r.add('info-floppy')
r.add('info-kmem')
r.add('info-lock')
r.add('info-lp')
r.add('info-mail')
r.add('info-tty')
r.add('info-users')
r.add('info-utmp')
r.add('info-uucp')
r.add('initscripts:runtime')
r.add('iproute:lib')
r.add('iproute:runtime')
r.add('iptables:lib')
r.add('iptables:runtime')
r.add('iputils:runtime')
r.add('kbd:lib')
r.add('kbd:runtime')
r.add('kernel:runtime', flavor=kernelFlavor)
r.add('krb5:lib')
r.add('krb5:data')
r.add('kudzu:python')
r.add('kudzu:runtime')
r.add('libelf:lib')
if Arch.x86_64:
r.add('libgcc:lib', flavor='is: x86 x86_64', source='gcc')
r.add('libstdc++:lib', flavor='is: x86 x86_64', source='gcc')
else:
r.add('libgcc:lib', source='gcc')
r.add('libstdc++:lib', source='gcc')
r.add('libtermcap:lib')
r.add('libuser:lib')
r.add('libuser:python')
r.add('libuser:runtime')
r.add('mdadm:runtime')
r.add('mingetty:runtime')
r.add('mkinitrd:runtime', 'conary.rpath.com@rpl:1')
r.add('mktemp:runtime')
r.add('module-init-tools:runtime')
r.add('ncurses:data')
r.add('ncurses:lib')
r.add('ncurses:runtime')
r.add('net-tools:runtime')
r.add('newt:lib')
r.add('openssl:config')
r.add('openssl:data')
r.add('openssl:lib')
r.add('pam:data')
r.add('pam:lib')
r.add('passwd:runtime')
r.add('pcre:lib')
r.add('popt:lib')
r.add('procps:lib')
r.add('procps:runtime')
r.add('psmisc:runtime')
r.add('pycrypto:python')
r.add('python:devel')
r.add('python:devellib')
r.add('python:lib')
r.add('python:runtime')
r.add('readline:lib')
r.add('rhpl:data')
r.add('rhpl:python')
r.add('rhpl:runtime')
r.add('rootfiles:runtime')
r.add('sed:runtime')
r.add('setup:runtime')
r.add('shadow:runtime')
r.add('slang:lib')
r.add('sqlite:lib')
r.add('sysklogd:runtime')
r.add('sysfsutils:lib')
r.add('sysfsutils:runtime')
r.add('system-config-mouse:data')
r.add('system-config-mouse:runtime')
r.add('sysvinit:runtime')
r.add('tar:runtime')
r.add('termcap:runtime')
r.add('tmpwatch:runtime')
r.add('tzdata:data')
r.add('udev:data')
r.add('udev:lib')
r.add('udev:runtime')
r.add('usermode:runtime')
r.add('util-linux:data')
r.add('util-linux:runtime')
r.add('vim-minimal:runtime', source='vim')
r.add('wireless-tools:lib')
r.add('zlib:lib')
if Use.dom0:
# A fairly small dom0 group which can be used for ISO images.
# Since qemu requires SDL, it isnt as small as it should be.
r.startGroup('group-dom0-server', parentGroup='group-os', depCheck=True,
byDefault=False)
# What we need...
r.addNewGroup('group-core')
# What we want...
r.add('bridge-utils')
r.add('httpd:runtime')
r.add('httpd:lib')
r.add('xen')
# The deps to make it all work...
r.add('apr:lib')
r.add('apr-util:lib')
r.add('expat:lib')
r.add('info-apache')
r.add('mailcap:runtime')
r.add('make:runtime')
r.add('mod_python')
r.add('openldap:data')
r.add('openldap:lib')
r.add('SDL:lib')
r.add('xorg-x11:lib')
r.add('fontconfig:lib')
r.add('fontconfig:runtime')
r.add('freetype:lib')
r.add('xorg-x11:data')
r.add('libpng:lib')