Remove DISTRO_TYPE, replacing with IMAGE_FEATURES. Documentation is in local.conf...
authorRichard Purdie <richard@openedhand.com>
Wed, 20 Dec 2006 00:00:03 +0000 (00:00 +0000)
committerRichard Purdie <richard@openedhand.com>
Wed, 20 Dec 2006 00:00:03 +0000 (00:00 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1053 311d38ba-8fff-0310-9ca6-ca027cbcb966

build/conf/local.conf.sample
meta/classes/base.bbclass
meta/conf/distro/poky.conf
meta/packages/dropbear/dropbear.inc
meta/packages/images/oh-image-base.bb
meta/packages/images/oh-image-core.bb
meta/packages/images/oh-image-pda.bb
meta/packages/images/oh-image-sdk.bb
meta/packages/linux/linux-rp.inc
meta/packages/tasks/task-oh-sdk.bb
meta/packages/tasks/task-oh.bb

index 9fb83dc..e5d1430 100644 (file)
@@ -28,12 +28,21 @@ DISTRO = "poky"
 # For bleeding edge / experimental / unstable package versions
 # DISTRO = "poky-bleeding"
 
-# DISTRO_TYPE determines the type of images that will be built
-# "release" - create a streamlined and secure image
-# "debug"   - enable easier ssh access 
-#           - include the devtools and testapps packages
-
-DISTRO_TYPE = "debug"
+# IMAGE_FEATURES configuration of the generated images 
+# (Some of these are automatically added to certain image types)
+# "dev-pkgs"   - add -dev packages for all installed packages
+#                (useful if you want to develop against libs in the image)
+# "dbg-pkgs"   - add -dbg packages for all installed packages
+#                (adds symbol information for debugging/profiling)
+# "apps-core"  - core applications
+# "apps-pda"   - add PDA application suite (contacts, dates, etc.)
+# "dev-tools"  - add development tools (gcc, make, pkgconfig etc.)
+# "dbg-tools"  - add debugging tools (gdb, strace, oprofile, etc.)
+# "test-tools" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image for suitable of development
+#                  e.g. ssh root access has a blank password
+
+IMAGE_FEATURES = "dbg-tools test-tools debug-tweaks"
 
 # A list of packaging systems used in generated images
 # The first package type listed will be used for rootfs generation
index e7725b7..e08a2be 100644 (file)
@@ -41,12 +41,17 @@ def base_conditional(variable, checkvalue, truevalue, falsevalue, d):
        else:
                return falsevalue
 
-def base_contains(variable, checkvalue, truevalue, falsevalue, d):
-       import bb
-       if bb.data.getVar(variable,d,1).find(checkvalue) != -1:
-               return truevalue
-       else:
-               return falsevalue
+def base_contains(variable, checkvalues, truevalue, falsevalue, d):
+       import bb
+       matches = 0
+       if type(checkvalues).__name__ == "str":
+               checkvalues = [checkvalues]
+       for value in checkvalues:
+               if bb.data.getVar(variable,d,1).find(value) != -1:      
+                       matches = matches + 1
+       if matches == len(checkvalues):
+               return truevalue                
+       return falsevalue
 
 def base_both_contain(variable1, variable2, checkvalue, d):
        import bb
index d42f592..f57c07d 100644 (file)
@@ -5,8 +5,6 @@ DISTRO = "poky"
 DISTRO_NAME = "OpenedHand Linux (Poky)"
 DISTRO_VERSION = "0.0-snapshot-${DATE}"
 
-DISTRO_TYPE ?= "release"
-
 MAINTAINER = "OpenedHand <poky@openedhand.com>"
 
 PACKAGE_CLASSES ?= "package_ipk"
@@ -186,3 +184,29 @@ DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi"
 DISTRO_FEATURES_cmx270 = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost"
 DISTRO_EXTRA_RDEPENDS_qemuarm += "qemu-distcc"
 DISTRO_EXTRA_RDEPENDS_qemux86 += "qemu-distcc"
+
+IMAGE_FEATURES ?= ""
+
+DISTRO_TASKS = "\
+    task-oh-boot \
+    ${@base_contains("IMAGE_FEATURES", "dbg-pkgs", "task-oh-boot-dbg", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", "dev-pkgs", "task-oh-boot-dev", "",d)} \
+    task-oh-boot-extras \
+    ${@base_contains("IMAGE_FEATURES", "dbg-pkgs", "task-oh-boot-extras-dbg", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", "dev-pkgs", "task-oh-boot-extras-dev", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", "apps-core", "task-oh-base", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["apps-core", "dbg-pkgs"], "task-oh-base-dbg", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["apps-core", "dev-pkgs"], "task-oh-base-dev", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", "apps-pda", "task-oh-standard", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["apps-pda", "dbg-pkgs"], "task-oh-standard-dbg", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["apps-pda", "dev-pkgs"], "task-oh-standard-dev", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", "dev-tools", "task-oh-sdk", "",d)} \    
+    ${@base_contains("IMAGE_FEATURES", ["dev-tools", "dbg-pkgs"], "task-oh-sdk-dbg", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["dev-tools", "dev-pkgs"], "task-oh-sdk-dev", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", "dbg-tools", "task-oh-devtools", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["dbg-tools", "dbg-pkgs"], "task-oh-devtools-dbg", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["dbg-tools", "dev-pkgs"], "task-oh-devtools-dev", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", "test-tools", "task-oh-testapps", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["test-tools", "dbg-pkgs"], "task-oh-testapps-dbg", "",d)} \
+    ${@base_contains("IMAGE_FEATURES", ["test-tools", "dev-pkgs"], "task-oh-testapps-dev", "",d)} \
+    "
index 301ac24..19224a9 100644 (file)
@@ -25,6 +25,8 @@ SBINCOMMANDS = "dropbear dropbearkey dropbearconvert"
 BINCOMMANDS = "dbclient ssh scp"
 EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"'
 
+DISTRO_TYPE = "${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)} \
+
 do_configure_prepend() {
        if [ "x${DISTRO}" != "xfamiliar" -a "${DISTRO_TYPE}" == "debug" ]; then
                oenote "WARNING: applying allow-nopw.patch which allows password-less logins!"
index 4a61e70..9b87f83 100644 (file)
@@ -4,7 +4,7 @@ export IMAGE_BASENAME = "oh-image-base"
 
 DEPENDS = "task-oh"
     
-RDEPENDS = "task-oh-boot task-oh-boot-extras"
+RDEPENDS = "${DISTRO_TASKS}"
 
 export PACKAGE_INSTALL = "${RDEPENDS}"
 
index e416d84..0e2e7d6 100644 (file)
@@ -2,12 +2,11 @@ PR = "r0"
 
 export IMAGE_BASENAME = "oh-image-core"
 
+IMAGE_FEATURES += "apps-core"
+
 DEPENDS = "task-oh"
     
-RDEPENDS = "\
-    task-oh-boot \
-    task-oh-boot-extras \
-    task-oh-base "
+RDEPENDS = "${DISTRO_TASKS}" 
 
 export PACKAGE_INSTALL = "${RDEPENDS}"
 
index d4576a0..b072458 100644 (file)
@@ -2,15 +2,11 @@ PR = "r10"
 
 export IMAGE_BASENAME = "oh-image-pda"
 
+IMAGE_FEATURES += "apps-core apps-pda"
+
 DEPENDS = "task-oh"
 
-RDEPENDS = "\
-    task-oh-boot \
-    task-oh-boot-extras \
-    task-oh-base \
-    task-oh-standard \
-    ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-devtools", "",d)} \
-    ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-testapps", "",d)} "
+RDEPENDS = "${DISTRO_TASKS}"   
 
 export PACKAGE_INSTALL = "${RDEPENDS}"
 
index d94ce2b..581defb 100644 (file)
@@ -2,20 +2,13 @@ PR = "r9"
 
 export IMAGE_BASENAME = "oh-image-sdk"
 
+IMAGE_FEATURES += "apps-core apps-pda dev-tools dev-pkgs dbg-pkgs"
+
 DEPENDS = "\
     task-oh \
     task-oh-sdk"
     
-RDEPENDS = "\
-    task-oh-boot \
-    task-oh-boot-extras \
-    task-oh-base \
-    task-oh-standard \
-    task-oh-devtools \
-    task-oh-testapps \
-    task-oh-sdk \
-    task-oh-sdk-base"
-
+RDEPENDS = "${DISTRO_TASKS}"
 export PACKAGE_INSTALL = "${RDEPENDS}"
 
 inherit image
index ba446bd..fe52edb 100644 (file)
@@ -27,7 +27,7 @@ CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
 CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2"
 CMDLINE_ROOT_spitz = "root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw"
 CMDLINE_OTHER = "dyntick=enable"
-CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
+CMDLINE_DEBUG = '${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "quiet", d)}'
 
 ##############################################################
 # Configure memory/ramdisk split for collie
index a142816..ac3aaec 100644 (file)
@@ -1,10 +1,13 @@
 DESCRIPTON = "Software Development Tasks for OpenedHand Poky"
-PR = "r11"
+PR = "r12"
 DEPENDS = "task-oh"
 ALLOW_EMPTY = "1"
-PACKAGEFUNCS =+ 'generate_sdk_pkgs'
+#PACKAGEFUNCS =+ 'generate_sdk_pkgs'
 
-PACKAGES = "task-oh-sdk"
+PACKAGES = "\
+    task-oh-sdk \
+    task-oh-sdk-dbg \
+    task-oh-sdk-dev"
 
 RDEPENDS_task-oh-sdk = "\
     autoconf \
@@ -19,43 +22,43 @@ RDEPENDS_task-oh-sdk = "\
     pkgconfig \
     distcc"
 
-python generate_sdk_pkgs () {
-    ohpkgs = read_pkgdata('task-oh', d)['PACKAGES']
-    pkgs = bb.data.getVar('PACKAGES', d, 1).split()
-    for pkg in ohpkgs.split():
-        newpkg = pkg.replace('task-oh', 'task-oh-sdk')
-
-        # for each of the task packages, add a corresponding sdk task
-        pkgs.append(newpkg)
-
-        # for each sdk task, take the rdepends of the non-sdk task, and turn
-        # that into rrecommends upon the -dev versions of those, not unlike
-        # the package depchain code
-        spkgdata = read_subpkgdata(pkg, d)
-
-        rdepends = explode_deps(spkgdata.get('RDEPENDS_%s' % pkg) or '')
-        rreclist = []
-
-        for depend in rdepends:
-            split_depend = depend.split(' (')
-            name = split_depend[0].strip()
-            if packaged('%s-dev' % name, d):
-                rreclist.append('%s-dev' % name)
-            else:
-                deppkgdata = read_subpkgdata(name, d)
-                rdepends2 = explode_deps(deppkgdata.get('RDEPENDS_%s' % name) or '')
-                for depend in rdepends2:
-                    split_depend = depend.split(' (')
-                    name = split_depend[0].strip()
-                    if packaged('%s-dev' % name, d):
-                        rreclist.append('%s-dev' % name)
-
-            oldrrec = bb.data.getVar('RRECOMMENDS_%s' % newpkg, d) or ''
-            bb.data.setVar('RRECOMMENDS_%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist), d)
-            # bb.note('RRECOMMENDS_%s = "%s"' % (newpkg, bb.data.getVar('RRECOMMENDS_%s' % newpkg, d)))
-
-    # bb.note('pkgs is %s' % pkgs)
-    bb.data.setVar('PACKAGES', ' '.join(pkgs), d)
-}
-
-PACKAGES_DYNAMIC = "task-oh-sdk-*"
+#python generate_sdk_pkgs () {
+#    ohpkgs = read_pkgdata('task-oh', d)['PACKAGES']
+#    pkgs = bb.data.getVar('PACKAGES', d, 1).split()
+#    for pkg in ohpkgs.split():
+#        newpkg = pkg.replace('task-oh', 'task-oh-sdk')
+#
+#        # for each of the task packages, add a corresponding sdk task
+#        pkgs.append(newpkg)
+#
+#        # for each sdk task, take the rdepends of the non-sdk task, and turn
+#        # that into rrecommends upon the -dev versions of those, not unlike
+#        # the package depchain code
+#        spkgdata = read_subpkgdata(pkg, d)
+#
+#        rdepends = explode_deps(spkgdata.get('RDEPENDS_%s' % pkg) or '')
+#        rreclist = []
+#
+#        for depend in rdepends:
+#            split_depend = depend.split(' (')
+#            name = split_depend[0].strip()
+#            if packaged('%s-dev' % name, d):
+#                rreclist.append('%s-dev' % name)
+#            else:
+#                deppkgdata = read_subpkgdata(name, d)
+#                rdepends2 = explode_deps(deppkgdata.get('RDEPENDS_%s' % name) or '')
+#                for depend in rdepends2:
+#                    split_depend = depend.split(' (')
+#                    name = split_depend[0].strip()
+#                    if packaged('%s-dev' % name, d):
+#                        rreclist.append('%s-dev' % name)
+#
+#            oldrrec = bb.data.getVar('RRECOMMENDS_%s' % newpkg, d) or ''
+#            bb.data.setVar('RRECOMMENDS_%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist), d)
+#            # bb.note('RRECOMMENDS_%s = "%s"' % (newpkg, bb.data.getVar('RRECOMMENDS_%s' % newpkg, d)))
+#
+#    # bb.note('pkgs is %s' % pkgs)
+#    bb.data.setVar('PACKAGES', ' '.join(pkgs), d)
+#}
+#
+#PACKAGES_DYNAMIC = "task-oh-sdk-*"
index d7f9b05..5b9ce8c 100644 (file)
@@ -1,14 +1,28 @@
-DESCRIPTION = "Tasks for OpenedHand Poky"
-PR = "r43"
+pDESCRIPTION = "Tasks for OpenedHand Poky"
+PR = "r44"
 
 PACKAGES = "\
     task-oh-base \
+    task-oh-base-dbg \
+    task-oh-base-dev \
     task-oh-boot \
+    task-oh-boot-dbg \
+    task-oh-boot-dev \
     task-oh-standard \
+    task-oh-standard-dbg \
+    task-oh-standard-dev \
     task-oh-boot-extras \
+    task-oh-boot-extras-dbg \
+    task-oh-boot-extras-dev \
     task-oh-boot-min-extras \
+    task-oh-boot-min-extras-dbg \
+    task-oh-boot-min-extras-dev \
     task-oh-devtools \
-    task-oh-testapps"
+    task-oh-devtools-dbg \
+    task-oh-devtools-dev \
+    task-oh-testapps \
+    task-oh-testapps-dbg \
+    task-oh-testapps-dev"
 
 XSERVER ?= "xserver-kdrive-fbdev"
 
@@ -29,7 +43,6 @@ RDEPENDS_task-oh-boot = "\
     ipkg \
     update-alternatives \
     module-init-tools-depmod"
-#    linux-hotplug \
 
 RDEPENDS_task-oh-boot-extras = "\
     task-base"