# # 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')