# # 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') r.startGroup('group-base', parentGroup='group-dist') r.add('a2ps') r.add('acl') r.add('acpid') r.add('alsa-lib') r.add('alsa-utils') r.add('anacron') if Arch.x86: r.add('apmd') r.add('arpwatch') r.add('ash') r.add('aspell') r.add('aspell-en') r.add('at') r.add('attr') r.add('authconfig') r.add('autofs') r.add('bash') r.add('bc') r.add('binutils') r.add('bridge-utils') r.add('bzip2') r.add('cdrtools') r.add('chkconfig') r.add('conary') r.add('coreutils') r.add('cpio') r.add('cpufrequtils') r.add('cracklib') r.add('crontabs') r.add('cups') r.add('curl') r.add('cyrus-sasl') r.add('db') r.add('dbus') r.add('dev') r.add('device-mapper') r.add('dhclient') r.add('diffutils') r.add('dmidecode') r.add('dos2unix') r.add('dosfstools') r.add('dvd+rw-tools') r.add('e2fsprogs') r.add('ed') r.add('eject') r.add('elfutils') r.add('elinks') r.add('enscript') r.add('epdb') r.add('espgs') r.add('ethtool') r.add('fbset') r.add('fetchmail') r.add('file') r.add('filesystem') r.add('findutils') r.add('finger') r.add('flac') r.add('floppy') r.add('foomatic-db') r.add('foomatic-db-engine') r.add('foomatic-filters') r.add('ftp') r.add('gamin') r.add('gawk') r.add('gd') r.add('gdbm') r.add('gettext') r.add('ghostscript-fonts') r.add('gimp-print') r.add('glib') r.add('glibc', flavor=glibcFlavor) if Arch.x86_64: r.add('glibc:lib', flavor=glibcFlavor32) r.add('gmp') r.add('gnupg') r.add('gpm') r.add('grep') if Arch.x86_64: r.add('grub', flavor='grub.static is: x86') else: r.add('grub') r.add('gzip') r.add('hal') r.add('hdparm') r.add('hotplug') r.add('howl') r.add('hplip') r.add('hwdata') r.add('ImageMagick') r.add('indent') r.add('info', source='texinfo') r.add('initscripts') r.add('install-info', source='texinfo') r.add('iproute') r.add('iptables') r.add('iputils') r.add('irda-utils') r.add('irqbalance') r.add('jfsutils') r.add('joe') r.add('jwhois') r.add('kbd') r.add('krb5-workstation') r.add('kudzu') r.add('less') r.add('lftp') r.add('lm_sensors') r.add('lockdev') r.add('logrotate') r.add('logwatch') r.add('longrun') r.add('lsof') r.add('lvm2') r.add('lynx') r.add('MAKEDEV') r.add('mailbase') r.add('mailcap') r.add('man') r.add('man-pages') r.add('mdadm') if Arch.x86: r.add('microcode_ctl') r.add('mingetty') r.add('minicom') r.add('mkbootdisk') r.add('mkinitrd', 'conary.rpath.com@rpl:1') r.add('mkisofs', source='cdrtools') r.add('mktemp') r.add('module-init-tools') r.add('mtools') r.add('mt-st') r.add('mutt') r.add('nail') r.add('nano') r.add('ncurses') r.add('netpbm') r.add('net-snmp') r.add('net-snmp-utils', source='net-snmp') r.add('net-tools') r.add('newt') r.add('nfsidmap') r.add('nfs-utils') r.add('nmap') r.add('nscd') r.add('ntp') r.add('ntsysv') r.add('openldap-clients', source='openldap') r.add('openssh') r.add('openssh-client', source='openssh') r.add('openssh-server', source='openssh') r.add('openssl') r.add('pam') r.add('pam_krb5') r.add('pam_smb') r.add('passwd') r.add('pciutils') r.add('pcmcia-cs') r.add('pcre') r.add('perl') r.add('pilot-link') r.add('pinfo') r.add('pm-utils') r.add('popt') r.add('portmap') r.add('ppp') r.add('procmail') r.add('procps') r.add('psmisc') r.add('psutils') r.add('pump') r.add('pycrypto') r.add('python') r.add('quota') r.add('readline') r.add('reiserfsprogs') r.add('rhpl') r.add('rootfiles') r.add('rp-pppoe') r.add('rsh') r.add('rsync') r.add('run') r.add('rusers') r.add('rwho') r.add('schedutils') r.add('screen') r.add('sed') r.add('setserial') r.add('setup') r.add('setuptool') r.add('shadow') r.add('slang') r.add('slocate') r.add('smartmontools') r.add('speex') r.add('sqlite') r.add('star') r.add('sudo') r.add('sysfsutils') r.add('sysklogd') r.add('syslinux') r.add('sysstat') r.add('sysvinit') r.add('talk') r.add('tar') r.add('tcpdump') r.add('tcp_wrappers') r.add('tcsh') r.add('telnet') r.add('termcap') r.add('tshark', source='wireshark') r.add('tftp') r.add('time') r.add('tmpwatch') r.add('traceroute') r.add('tzdata') r.add('udev') r.add('units') r.add('unix2dos') r.add('unzip') r.add('urlgrabber') r.add('urw-fonts') r.add('usbutils') r.add('usermode') r.add('utempter') r.add('util-linux') r.add('vconfig') r.add('vim') r.add('vim-minimal', source='vim') r.add('vixie-cron') r.add('vorbis-tools') r.add('wget') r.add('which') r.add('wireless-tools') r.add('words') r.add('wvdial') r.add('wvstreams') if Arch.x86: r.add('x86info') r.add('xdelta') if Use.dom0: r.add('xen') r.add('xfsprogs') r.add('xplc') r.add('ypbind') r.add('yp-tools') r.add('zip') r.add('zlib') r.startGroup('group-devel', parentGroup='group-dist') r.add('apr') r.add('apr-util') r.add('autoconf') r.add('automake') r.add('bison') r.add('byacc') r.add('cdecl') r.add('conary-build', source='conary') r.add('conary-policy') r.add('cproto') r.add('ctags') r.add('cvs') r.add('debugedit') r.add('dejagnu') if Arch.x86: r.add('dev86') r.add('devhelp') r.add('diffstat') r.add('distcc') r.add('dmalloc') r.add('docbook-dsssl') r.add('docbook-dtds') r.add('docbook-utils') r.add('docbook-utils-pdf', source='docbook-utils') r.add('docbook-xsl') r.add('doxygen') r.add('expect') r.add('expectk') r.add('expat') r.add('flex') r.add('gc') if Arch.x86_64: r.add('gcc', flavor='is: x86 x86_64') r.add('gcc-c++', flavor='is: x86 x86_64', source='gcc') r.add('gcc-f77', flavor='is: x86 x86_64', source='gcc') r.add('gcc-java', flavor='is: x86 x86_64', source='gcc') r.add('gcc-objc', flavor='is: x86 x86_64', source='gcc') r.add('libgcc', flavor='is: x86 x86_64', source='gcc') r.add('libstdc++', flavor='is: x86 x86_64', source='gcc') else: r.add('gcc') r.add('gcc-c++', source='gcc') r.add('gcc-f77', source='gcc') r.add('gcc-java', source='gcc') r.add('gcc-objc', source='gcc') r.add('libgcc', source='gcc') r.add('libstdc++', source='gcc') r.add('gdb') r.add('groff') r.add('gperf') r.add('guile') r.add('jadetex') r.add('kernel', flavor=kernelFlavor) r.add('latex2html') r.add('linuxdoc-tools') r.add('linux-kernel-headers') r.add('ltrace') r.add('m4') if Arch.x86: r.add('memprof') r.add('make') r.add('mx') r.add('nasm') r.add('openjade') r.add('opensp') r.add('oprofile') r.add('passivetex') r.add('patch') r.add('patchutils') r.add('perl-Archive-Zip') r.add('perl-Compress-Zlib') r.add('perl-DateManip') r.add('perl-DBD-MySQL') r.add('perl-DBD-Pg') r.add('perl-DBI') r.add('perl-Digest-HMAC') r.add('perl-Digest-SHA1') r.add('perl-Filter') r.add('perl-Filter-Simple') r.add('perl-HTML-Parser') r.add('perl-HTML-Tagset') r.add('perl-libwww-perl') r.add('perl-libxml-enno') r.add('perl-libxml-perl') r.add('perl-Net-DNS') r.add('perl-Net-IP') r.add('perl-Parse-Yapp') r.add('perl-SGMLS') r.add('perl-Time-HiRes') r.add('perl-URI') r.add('perl-XML-Dumper') r.add('perl-XML-Encoding') r.add('perl-XML-Grove') r.add('perl-XML-Parser') r.add('perl-XML-Twig') r.add('psgml') if Arch.x86: r.add('pstack') r.add('Pyrex') r.add('python') r.add('python-setuptools') r.add('PyXML') r.add('rcs') r.add('Sablot') r.add('sgml-common') r.add('sgmlop') r.add('setarch') r.add('sharutils') r.add('splint') r.add('strace') r.add('subversion') r.add('swig') r.add('tcl') r.add('tetex') r.add('tetex-afm', source='tetex') r.add('tetex-dvips', source='tetex') r.add('tetex-fonts', source='tetex') r.add('tetex-latex', source='tetex') r.add('tetex-xdvi', source='tetex') r.add('texi2html') r.add('texinfo') r.add('tk') r.add('umb-scheme') r.add('xhtml1-dtds') r.add('xmltex') r.add('xmlto') r.startGroup('group-dist-base', parentGroup='group-dist') r.add('Hermes') r.add('agg') r.add('boost') r.add('icu') r.add('info-adm') r.add('info-amanda') r.add('info-apache') r.add('info-bin') r.add('info-canna') r.add('info-cyrus') r.add('info-dbus') r.add('info-dip') r.add('info-disk') r.add('info-dovecot') r.add('info-exim') r.add('info-fax') r.add('info-fcron') r.add('info-floppy') r.add('info-ftp') r.add('info-games') r.add('info-gdm') r.add('info-gopher') r.add('info-haldaemon') r.add('info-halt') r.add('info-htt') r.add('info-ident') r.add('info-kmem') r.add('info-ldap') r.add('info-lock') r.add('info-lp') r.add('info-mail') r.add('info-mailman') r.add('info-mailnull') r.add('info-man') r.add('info-mem') r.add('info-mysql') r.add('info-named') r.add('info-netdump') r.add('info-news') r.add('info-nfsnobody') r.add('info-nobody') r.add('info-nscd') r.add('info-ntp') r.add('info-nut') r.add('info-operator') r.add('info-pcap') r.add('info-postdrop') r.add('info-postfix') r.add('info-postgres') r.add('info-privoxy') r.add('info-pvm') r.add('info-quagga') r.add('info-quaggavt') r.add('info-radiusd') r.add('info-radvd') r.add('info-rpc') r.add('info-rpcuser') r.add('info-shutdown') r.add('info-slocate') r.add('info-smmsp') r.add('info-squid') r.add('info-sshd') r.add('info-sync') r.add('info-sys') r.add('info-tomcat') r.add('info-tty') r.add('info-users') r.add('info-utmp') r.add('info-uucp') r.add('info-vcsa') r.add('info-webalizer') r.add('info-wheel') r.add('info-wnn') r.add('info-xfs') r.add('libao') r.add('libcap') r.add('libcroco') r.add('libelf', source='elfutils') r.add('libevent') r.add('libexif') r.add('libgsf') r.add('libgtkhtml') r.add('libieee1284') r.add('libjpeg') r.add('libmng') r.add('libmspack') r.add('libmusicbrainz') r.add('libogg') r.add('libole2') r.add('libpcap') r.add('libpng') r.add('libsigc++') r.add('libsndfile') r.add('libtermcap') r.add('libtheora') r.add('libtiff') r.add('libtool') r.add('libungif') r.add('libusb') r.add('libuser') r.add('libvorbis') r.add('libwpd') r.add('mysql:lib') r.add('mysql:data') r.add('nss_ldap') r.add('openh323') r.add('openldap:lib') r.add('openldap:data') r.add('postgresql:lib') r.add('pwlib') r.add('unixODBC') r.add('VFlib') r.add('w3c-libwww') # Start group-machine-root r.startGroup('group-machine-root', parentGroup='group-os', byDefault=False) r.add('MAKEDEV') r.add('attr:lib') r.add('acl:lib') r.add('automake') r.add('autoconf') r.add('bash') r.add('binutils') r.add('bison') r.add('byacc') r.add('bzip2') r.add('conary') r.add('conary-build', source='conary') r.add('conary-policy') r.add('coreutils') r.add('cpio') r.add('cracklib:lib') r.add('db') r.add('dev') r.add('diffutils') r.add('e2fsprogs') r.add('ed') r.add('elementtree') r.add('elfutils') r.add('expat:lib') r.add('filesystem') r.add('file') r.add('findutils') r.add('flex') r.add('fontconfig:lib') r.add('freetype:lib') r.add('gawk') r.add('gdbm:lib') if Arch.x86_64: r.add('gcc', flavor='is: x86 x86_64') r.add('gcc-c++', flavor='is: x86 x86_64', source='gcc') r.add('libgcc', flavor='is: x86 x86_64', source='gcc') r.add('libstdc++', flavor='is: x86 x86_64', source='gcc') else: r.add('gcc') r.add('gcc-c++', source='gcc') r.add('libgcc', source='gcc') r.add('libstdc++', source='gcc') r.add('gettext') r.add('glibc:runtime', flavor=glibcFlavor) r.add('glibc:lib', flavor=glibcFlavor) r.add('glibc:devel', flavor=glibcFlavor) r.add('glibc:devellib', flavor=glibcFlavor) r.add('gmp:lib') r.add('grep') r.add('gzip') r.add('kid') r.add('krb5') r.add('libelf') r.add('libjpeg:lib') r.add('libpng:lib') r.add('libtermcap') r.add('libtiff:lib') r.add('libtool') r.add('linux-kernel-headers') r.add('make') r.add('m4') r.add('mktemp') r.add('ncurses:lib') r.add('ncurses:data') r.add('openssl') r.add('pam') r.add('patch') r.add('perl') r.add('pcre') r.add('popt') r.add('pycrypto:python') r.add('python:lib') r.add('python:runtime') r.add('python:devel') r.add('python:devellib') r.add('python-setuptools') r.add('readline:lib') r.add('sed') r.add('setup') r.add('sgmlop') r.add('slang:lib') r.add('sqlite') r.add('tar') r.add('texinfo') r.add('tzdata:data') r.add('unzip') r.add('util-linux') r.add('zlib') if Arch.x86_64: r.add('glibc:lib', flavor=glibcFlavor32) r.add('glibc:devellib', flavor=glibcFlavor32) if Use.domU: # Some Predefined domU images go here, we will start with a basic # text mode development group r.startGroup('group-domU-devel', parentGroup='group-os', depCheck=True, byDefault=False) r.addNewGroup('group-core') r.addNewGroup('group-machine-root') r.add('curl:lib') r.add('debugedit:runtime') r.add('emacs') r.add('fontconfig:runtime') r.add('gnupg') r.add('groff') r.add('info-man') r.add('less:runtime') r.add('libungif:lib') r.add('libusb:lib') r.add('man:runtime') r.add('openldap:data') r.add('openldap:lib') r.add('openssh-client:runtime') r.add('tcsh:runtime') r.add('vim') r.add('Xaw3d:lib') r.add('xorg-x11:data') r.add('xorg-x11: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')