All pastes #200003 Raw Edit

Untitled

public text v1 · immutable
#200003 ·published 2006-10-12 21:41 UTC
rendered paste body
#
# 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')