[weasel-commit] Source: group-desktop-platform=2.95+r20100101-1

  • From: rbuilder@xxxxxxxxx
  • To: weasel-commit@xxxxxxxxxxxxx
  • Date: Fri, 01 Jan 2010 07:06:34 -0500

================================
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

Other related posts:

  • » [weasel-commit] Source: group-desktop-platform=2.95+r20100101-1 - rbuilder