================================ group-desktop-platform:source=2.95+r20100101-1 cvc rdiff group-desktop-platform -1 /weasel.rpath.org@wgl:3-devel/2.95+r20100101-1 ================================ 2.95+r20100101-1 Filip Brcic (brcha@xxxxxxx) Fri Jan 1 07:06:26 2010 New group scheme started... cook.sh: new --- /dev/null +++ cook.sh @@ -0,0 +26 @@ +#!/bin/sh + +LANG=C + +branch=$(grep -m 1 ^branch CONARY) +case $branch in + */weasel.rpath.org@wgl:3-devel) + BRANCH="weasel.rpath.org@wgl:3-devel" + CONTEXT="wgl:3-devel" + ;; + */weasel.rpath.org@wgl:3-qa) + BRANCH="weasel.rpath.org@wgl:3-qa" + CONTEXT="wgl:3-qa" + ;; + */weasel.rpath.org@wgl:3) + echo "DO NOT COOK ON STABLE LABEL! SEE promote SCRIPT INSTEAD!" + exit 1 + ;; + *) + echo "WHERE ARE YOU?" + exit 1 + ;; +esac + +time cvc cook --context $CONTEXT --build-label=$BRANCH group-desktop-platform=$BRANCH'[is: x86]' group-desktop-platform=$BRANCH'[is: x86_64]' --allow-flavor-change 2> log +date group-desktop-platform.recipe: new --- /dev/null +++ group-desktop-platform.recipe @@ -0,0 +349 @@ +# +# Copyright (c) 2009 Filip Brcic <brcha@xxxxxxx> +# Distributed under the terms of the GNU General Public License v3 +# + +import datetime + +class GroupDesktopPlatform(GroupRecipe): + name = 'group-desktop-platform' + version = '2.95+r' + datetime.date.today().strftime("%Y%m%d") + + autoResolve = True + depCheck = True + checkOnlyByDefaultDeps = True + checkPathConflicts = False # This is not done in the group-world + requireLatest = False + + # Separate some package components + supDocComponents = [ 'supdoc', ] + develComponents = [ 'build-tree', 'devellib', 'devel', ] + docComponents = [ 'supdoc', 'doc', ] + localeComponents = [ 'locale', ] + + # Some common groups + bucketDevelGroups = [ + 'group-gnome-devel', + 'group-kde-devel', + 'group-desktop-common-devel', + 'group-system-devel', + ] + bucketExtraDocGroups = [ + 'group-extra-docs', + ] + + + def wglCreateGroup(r, name, parentGroup=None, depCheck=False, + byDefault=True, checkOnlyByDefaultDeps=True, + autoResolve = False, dynamicGroup = False, + checkPathConflicts=None): + # This method is stolen from foresight's group-desktop-platform + # and renamed from flCreateGroup to wglCreateGroup for conveniance. + # It was also customized for better suiting Weasel GNU/Linux + # + # 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. + if parentGroup: + r.setDefaultGroup(parentGroup) + r.createGroup(name, autoResolve=autoResolve, depCheck=depCheck, + checkOnlyByDefaultDeps=checkOnlyByDefaultDeps, + byDefault=byDefault, checkPathConflicts=checkPathConflicts) + if parentGroup: + r.addNewGroup(name, groupName=parentGroup, byDefault=byDefault) + r.setDefaultGroup(name) + + + if parentGroup and not name in r.bucketExtraDocGroups: + r.moveComponents(r.supDocComponents, name, 'group-extra-docs') + + if parentGroup and not dynamicGroup: + if name == 'group-kde': + r.copyComponents(r.develComponents, name, 'group-kde-devel') + elif name == 'group-gnome': + r.copyComponents(r.develComponents, name, 'group-gnome-devel') + elif name == 'group-system': + r.copyComponents(r.develComponents, name, 'group-system-devel') + elif name not in r.bucketDevelGroups + r.bucketExtraDocGroups + \ + [ 'group-kde', 'group-gnome', 'group-system', ]: + r.copyComponents(r.develComponents, name, 'group-desktop-common-devel') + + def wglAddTroves(r, troves, **kwargs): + for trove in troves: + r.wglAdd(trove, **kwargs) + + def wglAdd(r, name, components = None, source=None, versionStr=None, + groupName=None, flavor=None, byDefault=True): + + searchPath = (r.groupLabel) + + if not versionStr: + versionStr = r.groupLabel + + if isinstance(name, tuple): + # This allows us to put troves created with PackageSpec into + # lists where each trove is added iteratively, and still specify + # an explicit source. + name, source = name + + if not versionStr: + requireLatest = True + else: + requireLatest = False + + if not flavor: + if Arch.x86_64: + flavor = 'is: x86 x86_64' + else: + flavor = 'is: x86' + + # first, we add the trove, normally + r.add(name, + components = components, + versionStr = versionStr, + source=source, + groupName=groupName, + flavor=flavor, + byDefault=byDefault, + searchPath=searchPath, + requireLatest = requireLatest + ) + + def setup(r): + r.groupLabel=r.macros.buildlabel + r.setSearchPath(r.groupLabel) + + # The uppermost group is group-world + r.wglCreateGroup('group-world') + + r.addNewGroup('group-desktop-platform', groupName='group-world') + + # First create some common groups + r.wglCreateGroup('group-extra-docs', parentGroup='group-desktop-platform', + dynamicGroup=True) + + # Create devel groups + r.wglCreateGroup('group-system-devel', parentGroup='group-desktop-platform', + dynamicGroup=True, depCheck=False, autoResolve=False, + checkPathConflicts=True) + + r.wglCreateGroup('group-desktop-common-devel', parentGroup='group-desktop-platform', + dynamicGroup=True, depCheck=False, autoResolve=False, + checkPathConflicts=True) + + r.wglCreateGroup('group-gnome-devel', parentGroup='group-desktop-platform', + dynamicGroup=True, depCheck=False, autoResolve=False, + checkPathConflicts=True) + r.addNewGroup('group-system-devel', groupName='group-gnome-devel') + r.addNewGroup('group-desktop-common-devel', groupName='group-gnome-devel') + + r.wglCreateGroup('group-kde-devel', parentGroup='group-desktop-platform', + dynamicGroup=True, depCheck=False, autoResolve=False, + checkPathConflicts=True) + r.addNewGroup('group-system-devel', groupName='group-kde-devel') + r.addNewGroup('group-desktop-common-devel', groupName='group-kde-devel') + + # Common stuff + r.wglCreateGroup('group-desktop-common', parentGroup='group-desktop-platform') + + # System group - the bottom-most group containing the core components + r.wglCreateGroup('group-system', parentGroup='group-desktop-common') + for t in [ + 'filesystem', # base system directories + 'setup', # base system configuration files + # base system users (and their groups) + 'info-root', + 'info-bin', + 'info-daemon', + 'info-adm', + 'info-lp', + 'info-sync', + 'info-shutdown', + 'info-halt', + 'info-news', + 'info-uucp', + 'info-operator', + 'info-nobody', + 'info-nscd', + # base system groups + 'info-sys', + 'info-tty', + 'info-disk', + 'info-mem', + 'info-kmem', + 'info-wheel', + 'info-floppy', + 'info-console', + 'info-audio', + 'info-cdrom', + 'info-tape', + 'info-video', + 'info-cdrw', + 'info-usb', + 'info-users', + 'info-utmp', + 'info-nogroup', + + 'man-pages', + 'glibc', # TODO: recompile with gd + ('nscd', 'glibc'), + 'timezone-data', + 'gmp', + 'mpfr', + 'zlib', + 'gcc', + ('libgcc', 'gcc'), + ('libstdc++', 'gcc'), + 'sed', + 'e2fsprogs', + 'coreutils', + 'iana-etc', + 'ncurses', # TODO: rebuild with gpm + 'procps', + 'iproute2', + 'perl', + 'readline', + 'bash', + 'bzip2', + 'diffutils', + 'file', + 'findutils', + 'gawk', + 'gettext', + 'grep', + 'groff', + 'gzip', + 'iputils', # rebuild with openjade + 'kbd', + 'less', + 'xz-utils', + 'man', + 'module-init-tools', + 'psmisc', + 'sysvinit', + 'metalog', + 'tar', + ('info', 'texinfo'), + ('install-info', 'texinfo'), + 'util-linux-ng', + 'vim', + 'grub', # TODO: rebuild with freetype, fix for initramfs, etc + 'os-prober', + 'expat', + 'perl-XML-Parser', + 'intltool', + 'cpio', + 'tcl', + 'icu', + 'sqlite', + 'krb5', + 'openssl', # TODO: maybe rebuild without sse2? + 'debianutils', + 'ca-certificates', + 'gdbm', + 'python', # TODO: build db and libffi + ('idle', 'python'), + ('dev', 'MAKEDEV'), + ('libelf', 'elfutils'), + 'popt', +# 'beecrypt', <- not needed for now +# 'neon', <- not needed for now + 'nspr', + 'nss', + 'pcre', + 'mktemp', + 'python-setuptools', + 'unzip', + 'zip', + 'sgmlop', + 'elementtree', + 'kid', + 'pycrypto', + 'm2crypto', + 'conary', + 'distro-conary-config', + 'distro-release', + 'lsb-release', + 'udev', # TODO: rebuild with extras turned on after glib and gprof are built + 'glib', # TODO: rebuild with gamin, gtk-doc + 'pciutils', + 'libpng', + 'slang', + 'openrc', + 'libssh2', + 'c-ares', + 'libidn', # TODO: rebuild with java, mono + 'db', # TODO: rebuild with java + 'cracklib', + 'cracklib-words', + 'pam', + 'pambase', # TODO: rebuild with consolekit, gnome-keyring, passwdqc, mktemp, ssh + 'cyrus-sasl', # TODO: rebuild with java + 'openslp', + 'tcp_wrappers', + ('openldap-clients', 'openldap'), + 'openldap', # TODO: rebuild with unixODBC + 'audit', + 'curl', + 'linux', + 'shadow', # TODO: rebuild with skey, selinux support + 'dhcpcd', + 'lvm2', # TODO: rebuild with selinux support + 'parted', # TODO: rebuild with selinux support + 'perl-HTML-Template', # dep of yaird + 'perl-Parse-RecDescent', # dep of yaird + 'ext3flush', + 'yaird', # TODO: rebuild with xmlto + 'dash', + 'attr', + 'acl', + 'libcap', + 'gpm', + 'libffi', + ]: + r.wglAdd(t, groupName='group-system') + + # System development group - devel files from group system + some extras + # this is the bottommost development group with core development components + for t in [ + 'linux-headers', + 'binutils', + ('gcc-c++', 'gcc'), + ('gcc-objc', 'gcc'), + ('gcc-fortran', 'gcc'), + 'm4', + 'bison', + 'libtool', + 'flex', + 'autoconf', + 'automake', + 'make', + 'patch', + 'texinfo', + 'MAKEDEV', + 'elfutils', + 'lua', + 'pkg-config', + 'debugedit', + 'info-emerge', + 'conary-build', + 'conary-repository', + 'conary-policy', + ]: + r.wglAdd(t, groupName='group-system-devel') + + r.wglCreateGroup('group-extras', parentGroup='group-desktop-platform', + dynamicGroup=False) + # Put everything else here + for t in [ + 'info-ldap', + ('openldap-servers', 'openldap'), + ]: + r.wglAdd(t, groupName='group-extras') Committed by: brcha