Public feed
#727095
#
# Copyright (C) 2007 Digium, Inc.
# All rights reserved.
#
# Packaged by James Lyons <james@digium.com>
#
class GroupDist(GroupRecipe):
name = 'group-dist'
version = '1.0.0'
checkOnlyByDefaultDeps = True
checkPathConflicts = True
if Arch.x86 and Use.xen and Use.domU:
# this flag should exist only for x86 Xen DomU
Flags.bothpae = False
def startGroup(r, name, parentGroup, depCheck=False, byDefault=True,
autoResolve=False,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=autoResolve, depCheck=depCheck,
byDefault=True, checkPathConflicts=checkPathConflicts)
r.addNewGroup(name, groupName=parentGroup, byDefault=byDefault)
r.setDefaultGroup(name)
def setup(r):
# Some Constants
XEN_KVERS = '2.6.16.33-0.1-1'
DEF_KVERS = '2.6.19.7-0.4-1'
NEW_KVERS = '2.6.22.9-0.1-1'
GROUP_VERS = '1.0.6-0.22-1'
searchPath = [ 'poundkey.digium.com@pkl:1-devel', 'poundkey.digium.com@*:1-4-devel' ]
kernelVersion = DEF_KVERS
kernelVersionNEW = NEW_KVERS
if Arch.x86_64:
gccFlavor = 'is: x86 x86_64'
glibcFlavor = '~!xen'
glibcFlavor32 = 'is: x86(~i486,~i586,~i686)'
if Use.xen : # For xen domU's
groupFlavor = '~!dom0,~domU,~kernel.smp,~xen'
kernelFlavor = '~!dom0,~domU,~kernel.smp,~xen is: x86(~i486,~i586,~i686) x86_64'
kernelVersion = XEN_KVERS
elif Use.vmware : # For VMWare
groupFlavor = '~vmware is: x86(~i486,~i586,~i686) x86_64'
kernelFlavor = '~kernel.smp'
else :
kernelFlavorUP = '~!kernel.smp'
groupFlavor = '~!dom0,~!domU,~!vmware,~!xen is: x86(~i486,~i586,~i686) x86_64'
kernelFlavor = '~kernel.smp'
else:
gccFlavor = None
glibcFlavor = 'is: x86(~i486,~i586,~i686)'
glibcFlavor32 = None
if Use.xen : # For xen domU's
groupFlavor = '~!dom0,~domU,~kernel.pae,~kernel.smp,~xen is: x86(~i486,~i586,~i686)'
kernelFlavor = '~!dom0,~domU,~kernel.pae,~kernel.smp,~xen is: x86(~i486,~i586,~i686)'
kernelVersion = XEN_KVERS
elif Use.vmware : # For VMWare
groupFlavor = '~!dom0,~!domU,~kernel.smp,~!kernel.pae,~vmware,~!xen is: x86(~i486,~i586,~i686)'
kernelFlavor = '~!dom0,~!domU,~kernel.smp,~!kernel.pae,~vmware,~!xen is: x86(~i486,~i586,~i686)'
else : # For ISO's (smp and !smp)
kernelFlavorUP = '~!kernel.smp,~!kernel.pae'
groupFlavor = '~!dom0,~!domU,~!vmware,~!xen is: x86(~i486,~i586,~i686)'
kernelFlavor = '~!dom0,~!domU,~!vmware,~!xen,~kernel.smp,~!kernel.pae is: x86(~i486,~i586,~i686)'
searchPath.extend([ 'group-dist=conary.rpath.com@rpl:1/%s[%s]' % (GROUP_VERS,groupFlavor), 'conary.rpath.com@rpl:1', 'conary.rpath.com@rpl:1-xen', 'contrib.rpath.org@rpl:1' ])
r.setSearchPath(*searchPath)
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, autoResolve=True)
r.addAll('group-core', 'conary.rpath.com@rpl:1', flavor=groupFlavor, groupName='group-core')
for x in [ 'bash', 'conary', 'conary-build', 'dhclient', 'less',
'man', 'python', 'screen', 'tar', 'which']:
r.add('%s:doc' % x)
r.add('glibc:lib', flavor=glibcFlavor32, use=Arch.x86_64)
if Use.xen :
r.replace('kernel',newVersionStr=kernelVersion,newFlavor=kernelFlavor,groupName='group-core')
r.add('kernel:build-tree',kernelVersion,flavor=kernelFlavor)
elif Use.vmware :
r.replace('kernel',newVersionStr=kernelVersion,newFlavor=kernelFlavor,groupName='group-core')
r.add('kernel:build-tree',kernelVersion,flavor=kernelFlavor)
else :
r.replace('kernel',newVersionStr=kernelVersion,newFlavor=kernelFlavor,groupName='group-core')
r.add('kernel:build-tree',kernelVersion,flavor=kernelFlavor)
r.add('kernel',kernelVersion,kernelFlavorUP,byDefault=False)
r.add('kernel:build-tree', kernelVersion,flavor=kernelFlavorUP,byDefault=False)
# Adding runtime reqs for mISDN
r.add('bc:runtime')
r.add('libxslt:runtime')
# For Xorcom
r.add('fxload:runtime', flavor=glibcFlavor32, use=Arch.x86_64)
r.add('fxload:runtime', use=Arch.x86)
r.add('usbutils:runtime')
# Replace distro-release with one from our repo
#r.replace('distro-release')
# Add expect runtime to group-core for console menu
r.add('expect:runtime')
r.add('pciutils:runtime')
r.add('reiserfsprogs:runtime', byDefault=False)
r.add('screen:runtime')
r.add('slocate:runtime')
r.add('info-slocate')
r.add('sudo')
r.add('which:runtime')
r.add('xfsprogs:runtime', byDefault=False)
r.startGroup('group-development', parentGroup='group-dist',autoResolve=True)
for x in [ # Asterisk Development :devel Requirements
'alsa-lib', 'curl', 'e2fsprogs', 'expat','gnutls', 'iksemel',
'libgcrypt', 'libgpg-error', 'libogg', 'libvorbis', 'net-snmp',
'newt', 'openldap', 'openh323', 'OSP', 'postgresql', 'pwlib',
'SDL', 'slang', 'speex', 'tcp_wrappers', 'unixODBC', 'zlib',
# For Development
'linux-kernel-headers' ]:
r.add('%s:devel' % x)
for x in [ # Asterisk Development :runtime Requirements
'doxygen', 'graphviz', 'wget',
# mISDN Development :runtime Requirements
'flex' ]:
r.add('%s:runtime' % x)
for x in [ # Perl Build Requirements
'perl-DBD-MySQL', 'perl-DBD-Pg', 'perl-DBI', 'perl-Time-HiRes' ]:
r.add('%s:perl' % x)
for x in [ # For General Development on Conary
'binutils', 'conary-build', 'ctags', 'cvs', 'debugedit',
'diffutils', 'elfutils', 'expect', 'gdb', 'krb5', 'ltrace',
'make', 'ncurses', 'openssl', 'patch', 'perl', 'popt', 'ruby',
'screen', 'slocate', 'sox', 'strace', 'subversion', 'tcl' ]:
r.add('%s' % x)
# Zaptel Xorcom Build Requirement
r.add('libusb:lib')
# x86_64 Specifics to get 64bit groups built properly until CNY-525 is resolved
r.add('valgrind', use=Arch.x86)
r.add('glibc', flavor=glibcFlavor)
r.add('glibc:lib', flavor=glibcFlavor32, use=Arch.x86_64)
for x in [ # For Development
'gcc', 'gcc-c++', 'libgcc', 'libstdc++' ]:
r.add('%s' % x, flavor=gccFlavor, source='gcc')
for x in ['ctags', 'cvs', 'diffutils', 'gdb', 'make', 'perl', 'speex', 'subversion']:
r.add('%s:doc' % x)
r.startGroup('group-networking', parentGroup='group-dist')
for x in ['curl', 'openssh', 'openssh-client', 'openssh-server' ]:
r.add('%s' % x)
r.startGroup('group-system-config', parentGroup='group-dist')
r.setDefaultGroup('group-system-config')
r.add('info-raa-web','raa.rpath.org@rpath:raa-2')
r.add('raa-plugin-sysmon','raa.rpath.org@rpath:raa-2', use=Arch.x86)
r.add('raa-plugin-search','raa.rpath.org@rpath:raa-2')
r.add('raa-plugin-rPath','raa.rpath.org@rpath:raa-2')
r.add('raa','raa.rpath.org@rpath:raa-2')
r.add('raa-lighttpd','raa.rpath.org@rpath:raa-2')
r.add('raa-branding','raa.rpath.org@rpath:raa-2')
r.startGroup('group-editors', parentGroup='group-dist')
r.add('jove')
r.add('nano')
r.add('vim')
r.startGroup('group-apache', parentGroup='group-dist')
r.add('httpd')
r.add('httpd:doc')
r.add('php')
r.add('php:doc')
r.startGroup('group-postgres', parentGroup='group-dist')
r.setDefaultGroup('group-postgres')
r.add('postgresql')
r.add('asterisk-postgresql')
r.startGroup('group-odbc', parentGroup='group-dist')
r.setDefaultGroup('group-odbc')
r.add('unixODBC:lib')
r.add('asterisk-odbc')
# r.startGroup('group-asterisk-addons', parentGroup='group-dist')
# r.add('festival')
# r.add('festival-lex-CMU')
# r.add('festival-vox-kallpc8k')
# r.add('gnutls')
# r.add('speech_tools')
#
# r.startGroup('group-asterisk-free-addons', parentGroup='group-dist')
# r.add('asterisk-cepstral')
# r.add('asterisk-g729a')
# r.add('asterisk-lumenvox',use=Arch.x86)
# r.add('cepstral')
# r.add('lumenvox',use=Arch.x86)
r.startGroup('group-asterisk', parentGroup='group-dist')
r.add('asterisk')
r.add('asterisk-alsa')
r.add('asterisk-mISDN')
r.add('asterisk-ogg')
r.add('asterisk-osp')
r.add('asterisk-speex')
r.add('asterisk-sounds:extra-en-gsm')
r.add('asterisk-sounds:moh-fpm-gsm')
r.add('libpri')
for ktrove in ( 'mISDN', 'zaptel' ) :
r.add(ktrove)
if Use.xen :
# x86 xen, domU, smp, pae
r.add(ktrove + '-modules', flavor='~xen,~domU,~' + ktrove + '-modules.smp,~' + ktrove + '-modules.pae',use=Arch.x86)
# x86_64 xen, domU, smp, !pae
r.add(ktrove + '-modules', flavor='~xen,~domU,~' + ktrove + '-modules.smp,~!' + ktrove + '-modules.pae',use=Arch.x86_64)
elif Use.vmware :
# x86 & x86_64 vmware, smp, !pae
r.add(ktrove + '-modules', flavor='~vmware,~' + ktrove + '-modules.smp, ~!' + ktrove + '-modules.pae')
else :
# x86 !xen, !domU, smp, !pae
r.add(ktrove + '-modules', flavor='~!xen,~!domU,~' + ktrove + '-modules.smp,~!' + ktrove + '-modules.pae',use=Arch.x86)
# x86_64 !xen, !domU, smp, !pae
r.add(ktrove + '-modules', flavor='~!xen,~!domU,~' + ktrove + '-modules.smp,~!' + ktrove + '-modules.pae',use=Arch.x86_64)
# x86 & x86_64 !xen, !domU, !smp, !pae, byDefault=False
r.add(ktrove + '-modules', flavor='~!xen,~!domU,~!' + ktrove + '-modules.smp,~!' + ktrove + '-modules.pae',byDefault=False)
r.add('mpg123:runtime',use=Arch.x86)
r.add('mpg123:runtime',flavor=glibcFlavor32,use=Arch.x86_64)
r.add('register')
r.startGroup('group-text-devel', parentGroup='group-os', depCheck=True,autoResolve=True,
byDefault=False)
# Things we need
r.addNewGroup('group-core')
r.addNewGroup('group-development')
r.addNewGroup('group-networking')
# Updating kernel, won't need this once kernel-modules are rebuilt
if Use.xen :
r.replace('kernel',newVersionStr=kernelVersion,newFlavor=kernelFlavor,groupName='group-core')
r.add('kernel:build-tree',kernelVersion,flavor=kernelFlavor)
elif Use.vmware :
r.replace('kernel',newVersionStr=kernelVersionNEW,newFlavor=kernelFlavor,groupName='group-core')
r.add('kernel:build-tree',kernelVersion,flavor=kernelFlavor)
else :
r.replace('kernel',newVersionStr=kernelVersionNEW,newFlavor=kernelFlavor,groupName='group-core')
r.add('kernel:build-tree',kernelVersionNEW,flavor=kernelFlavor)
r.add('kernel',kernelVersionNEW,kernelFlavorUP,byDefault=False)
r.add('kernel:build-tree', kernelVersionNEW,flavor=kernelFlavorUP,byDefault=False)