summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/base.bbclass14
-rw-r--r--classes/gconf.bbclass2
-rw-r--r--classes/gtk-icon-cache.bbclass38
-rw-r--r--conf/bitbake.conf6
-rw-r--r--conf/distro/openmn.conf2
-rw-r--r--conf/distro/unslung.conf2
-rw-r--r--conf/machine/akita.conf4
-rw-r--r--conf/machine/c7x0.conf2
-rw-r--r--conf/machine/epia.conf2
-rw-r--r--conf/machine/include/poodle-2.6.conf40
-rw-r--r--conf/machine/include/tosa-2.6.conf4
-rw-r--r--conf/machine/include/tune-arm926ejs.conf4
-rw-r--r--conf/machine/include/zaurus-clamshell-2.6.conf45
-rw-r--r--conf/machine/include/zaurus-clamshell.conf2
-rw-r--r--conf/machine/ipaq-pxa270.conf2
-rw-r--r--conf/machine/netvista.conf4
-rw-r--r--conf/machine/nokia770.conf2
-rw-r--r--conf/machine/spitz.conf5
-rw-r--r--conf/machine/sun4cdm.conf2
-rw-r--r--packages/images/bootstrap-image-bootchart.bb4
-rw-r--r--packages/images/bootstrap-image.bb4
-rw-r--r--packages/images/dvb-image.bb2
-rw-r--r--packages/images/e-image-core.bb4
-rw-r--r--packages/images/gpe-image.bb4
-rw-r--r--packages/images/maemo-image.bb4
-rw-r--r--packages/images/mythfront-image.bb2
-rw-r--r--packages/images/opie-image.bb4
-rw-r--r--packages/images/sdl-image.bb4
-rw-r--r--packages/images/sectest-gpe-image.bb4
-rw-r--r--packages/images/twin-image.bb4
-rw-r--r--packages/images/uml-image.bb2
-rw-r--r--packages/images/xfce-image.bb2
-rw-r--r--packages/images/xterminal-image.bb2
-rw-r--r--packages/tasks/task-base.bb255
34 files changed, 368 insertions, 115 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index e413afb2b3..670b97a72d 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -40,6 +40,20 @@ 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_both_contain(variable1, variable2, checkvalue, d):
+ import bb
+ if bb.data.getVar(variable1,d,1).find(checkvalue) != -1 and bb.data.getVar(variable2,d,1).find(checkvalue) != -1:
+ return checkvalue
+ else:
+ return ""
+
DEPENDS_prepend="${@base_dep_prepend(d)} "
def base_set_filespath(path, d):
diff --git a/classes/gconf.bbclass b/classes/gconf.bbclass
index b0c5723873..686f8e6596 100644
--- a/classes/gconf.bbclass
+++ b/classes/gconf.bbclass
@@ -1,3 +1,5 @@
+DEPENDS += "gconf"
+
gconf_postinst() {
if [ "$1" = configure ]; then
if [ "x$D" != "x" ]; then
diff --git a/classes/gtk-icon-cache.bbclass b/classes/gtk-icon-cache.bbclass
new file mode 100644
index 0000000000..0f68e6812b
--- /dev/null
+++ b/classes/gtk-icon-cache.bbclass
@@ -0,0 +1,38 @@
+FILES_${PN} += "${datadir}/icons/hicolor"
+
+gtk-icon-cache_postinst() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+gtk-update-icon-cache -q /usr/share/icons/hicolor
+}
+
+gtk-icon-cache_postrm() {
+gtk-update-icon-cache -q /usr/share/icons/hicolor
+}
+
+python populate_packages_append () {
+ import os.path
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+
+ for pkg in packages:
+ icon_dir = '%s/install/%s/%s/icons/hicolor' % (workdir, pkg, bb.data.getVar('datadir', d, 1))
+ if not os.path.exists(icon_dir):
+ continue
+
+ bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg)
+
+ postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1)
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += bb.data.getVar('gtk-icon-cache_postinst', d, 1)
+ bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+
+ postrm = bb.data.getVar('pkg_postrm_%s' % pkg, d, 1) or bb.data.getVar('pkg_postrm', d, 1)
+ if not postrm:
+ postrm = '#!/bin/sh\n'
+ postrm += bb.data.getVar('gtk-icon-cache_postrm', d, 1)
+ bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d)
+}
+
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 0a141f883e..9f94bae3f5 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -188,8 +188,6 @@ IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE
EXTRA_IMAGECMD = ""
EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000"
EXTRA_IMAGECMD_squashfs = "-le -b 16384"
-IMAGE_FSTYPE = "jffs2"
-IMAGE_FSTYPES = "${IMAGE_FSTYPE}"
IMAGE_ROOTFS_SIZE_ext2 = "65536"
IMAGE_ROOTFS_SIZE_ext2.gz = "65536"
@@ -389,7 +387,7 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}"
# This works for functions as well, they are really just environment variables.
#OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}"
# Alternative OVERRIDES to make compilation fail fast, we will enable it by default soon
-OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast"
+OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
##################################################################
# Include the rest of the config files.
@@ -409,7 +407,9 @@ require conf/sanity.conf
# Weak variables (usually to retain backwards compatibility)
##################################################################
+IMAGE_FSTYPES ?= "jffs2"
PCMCIA_MANAGER ?= "pcmcia-cs"
+MACHINE_TASK_PROVIDER ?= "task-bootstrap"
##################################################################
diff --git a/conf/distro/openmn.conf b/conf/distro/openmn.conf
index 0e3d36ed2d..8118acb1da 100644
--- a/conf/distro/openmn.conf
+++ b/conf/distro/openmn.conf
@@ -16,6 +16,6 @@ IPKG_EXTRA_ARCHS = "armv5te openmn"
FEED_URIS = "mnci54##http://www.mn-solutions.de/feed/mnci54/base"
-IMAGE_FSTYPE = "jffs2"
+IMAGE_FSTYPES = "jffs2"
EXTRA_IMAGECMD_jffs2 = "--pad=0x1ec0000 --eraseblock=0x40000"
IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/rootfs.${MACHINE} ${EXTRA_IMAGECMD}"
diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf
index 0c757edc45..da1efa9cc4 100644
--- a/conf/distro/unslung.conf
+++ b/conf/distro/unslung.conf
@@ -34,7 +34,7 @@ FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-reg
INHERIT += " package_ipk nslu2-jffs2-image"
-IMAGE_FSTYPE = "jffs2"
+IMAGE_FSTYPES = "jffs2"
UNSLUNG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-unslung.txt')}"
EXTRA_IMAGECMD_jffs2 = "--no-eraseblock-headers --pad --big-endian --eraseblock=0x20000 -D ${UNSLUNG_DEVICE_TABLE}"
diff --git a/conf/machine/akita.conf b/conf/machine/akita.conf
index 005a70e664..0358864c70 100644
--- a/conf/machine/akita.conf
+++ b/conf/machine/akita.conf
@@ -4,6 +4,8 @@
include conf/machine/include/zaurus-clamshell.conf
include conf/machine/include/zaurus-clamshell-2.6.conf
-IPKG_EXTRA_ARCHS += "armv4 armv4t iwmmxt"
+
+IPKG_EXTRA_ARCHS += "iwmmxt"
+IMAGE_FSTYPES ?= "jffs2"
ROOT_FLASH_SIZE = "58"
diff --git a/conf/machine/c7x0.conf b/conf/machine/c7x0.conf
index 0bd9623526..4b1d8edb80 100644
--- a/conf/machine/c7x0.conf
+++ b/conf/machine/c7x0.conf
@@ -5,5 +5,7 @@
include conf/machine/include/zaurus-clamshell.conf
include conf/machine/include/zaurus-clamshell-2.6.conf
+IMAGE_FSTYPES ?= "jffs2"
+
ROOT_FLASH_SIZE = "25"
# yes, we are aware that the husky (c760,c860) has 54MB rootfs, but we don't make a special image for it.
diff --git a/conf/machine/epia.conf b/conf/machine/epia.conf
index dd6b0f0b93..e82da27574 100644
--- a/conf/machine/epia.conf
+++ b/conf/machine/epia.conf
@@ -1,7 +1,7 @@
TARGET_ARCH = "i586"
TARGET_VENDOR = "-oe"
PREFERRED_PROVIDER_virtual/kernel = "linux-epia"
-IMAGE_FSTYPE = "ext2.gz"
+IMAGE_FSTYPES = "ext2.gz"
BOOTSTRAP_EXTRA_RDEPENDS = "pciutils udev kernel-modules"
udevdir = "/dev"
OLDEST_KERNEL = "2.6.5"
diff --git a/conf/machine/include/poodle-2.6.conf b/conf/machine/include/poodle-2.6.conf
index 1b128ea6cb..eff0ad4c7c 100644
--- a/conf/machine/include/poodle-2.6.conf
+++ b/conf/machine/include/poodle-2.6.conf
@@ -1,39 +1 @@
-PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
-
-PCMCIA_MANAGER ?= "pcmciautils"
-
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel udev sysfsutils spectrum-fw \
-${PCMCIA_MANAGER} apm wireless-tools irda-utils udev-utils keymaps hostap-utils prism3-firmware prism3-support \
-ppp ppp-dialin alsa-utils-alsactl alsa-utils-alsamixer module-init-tools alsa-conf zaurusd"
-
-# Ethernet modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pcnet-cs"
-# NFS Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-nfs kernel-module-lockd kernel-module-sunrpc"
-# Crypto Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-des kernel-module-md5"
-# SMB and CRAMFS
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-smbfs kernel-module-cramfs"
-# Serial Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-8250 kernel-module-serial-cs"
-# Bluetooth Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-bluetooth kernel-module-l2cap kernel-module-rfcomm kernel-module-hci-vhci \
- kernel-module-bnep kernel-module-hidp kernel-module-hci-uart kernel-module-sco \
- kernel-module-bt3c-cs kernel-module-bluecard-cs kernel-module-btuart-cs kernel-module-dtl1-cs"
-# Infrared Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pxaficp-ir kernel-module-irda kernel-module-ircomm \
- kernel-module-ircomm-tty kernel-module-irlan kernel-module-irnet kernel-module-ir-usb"
-
-# USB Gadget Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-gadgetfs kernel-module-g-file-storage \
- kernel-module-g-serial kernel-module-g-ether"
-
-# Wireless Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-hostap kernel-module-hostap-cs \
- kernel-module-hermes kernel-module-orinoco \
- kernel-module-orinoco-cs kernel-module-spectrum-cs \
- hostap-conf orinoco-conf"
-
-# Sound Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss"
-BOOTSTRAP_EXTRA_RDEPENDS_append_poodle += " kernel-module-snd-soc-poodle "
+require conf/machine/include/zaurus-clamshell-2.6.conf
diff --git a/conf/machine/include/tosa-2.6.conf b/conf/machine/include/tosa-2.6.conf
index c7805c36fe..6831b0ea91 100644
--- a/conf/machine/include/tosa-2.6.conf
+++ b/conf/machine/include/tosa-2.6.conf
@@ -1,6 +1,6 @@
include conf/machine/include/zaurus-clamshell-2.6.conf
# wlan-ng Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "wlan-ng-modules-usb"
+MACHINE_EXTRA_RDEPENDS += "wlan-ng-modules-usb"
# WM97xx Modules
-#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-wm97xx-core kernel-module-wm9705 kernel-module-pxa-wm97xx"
+#MACHINE_EXTRA_RRECOMMENDS += "kernel-module-wm97xx-core kernel-module-wm9705 kernel-module-pxa-wm97xx"
diff --git a/conf/machine/include/tune-arm926ejs.conf b/conf/machine/include/tune-arm926ejs.conf
index 5e2f6b7c62..ce1d4f7203 100644
--- a/conf/machine/include/tune-arm926ejs.conf
+++ b/conf/machine/include/tune-arm926ejs.conf
@@ -1,3 +1,5 @@
-#if gcc breaks change arm926ejs to arm926ej-s
+# For gcc 3.x you need:
TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs"
+# For gcc 4.x you need:
+#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ej-s"
PACKAGE_ARCH = "armv5te"
diff --git a/conf/machine/include/zaurus-clamshell-2.6.conf b/conf/machine/include/zaurus-clamshell-2.6.conf
index 2433c5a748..e0a9e38e91 100644
--- a/conf/machine/include/zaurus-clamshell-2.6.conf
+++ b/conf/machine/include/zaurus-clamshell-2.6.conf
@@ -6,42 +6,15 @@ PREFERRED_VERSION_wpa_supplicant = "0.4.7"
PCMCIA_MANAGER ?= "pcmciautils"
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel udev sysfsutils spectrum-fw \
-${PCMCIA_MANAGER} apm wireless-tools irda-utils udev-utils keymaps hostap-utils prism3-firmware prism3-support \
-ppp ppp-dialin wpa-supplicant-nossl alsa-utils-alsactl alsa-utils-alsamixer module-init-tools alsa-conf zaurusd"
+MACHINE_FEATURES = "kernel26 apm alsa pcmcia bluetooth irda usbgadget"
+MACHINE_FEATURES_akita = "kernel26 apm alsa pcmcia bluetooth irda usbgadget usbhost"
+MACHINE_FEATURES_spitz = "kernel26 apm alsa pcmcia bluetooth irda usbgadget usbhost ext2"
-# Ethernet modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pcnet-cs"
-# NFS Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-nfs kernel-module-lockd kernel-module-sunrpc"
-# Crypto Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-des kernel-module-md5"
-# SMB and CRAMFS
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-smbfs kernel-module-cramfs"
-# Serial Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-8250 kernel-module-serial-cs"
-# Bluetooth Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-bluetooth kernel-module-l2cap kernel-module-rfcomm kernel-module-hci-vhci \
- kernel-module-bnep kernel-module-hidp kernel-module-hci-uart kernel-module-sco \
- kernel-module-bt3c-cs kernel-module-bluecard-cs kernel-module-btuart-cs kernel-module-dtl1-cs"
-# Infrared Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pxaficp-ir kernel-module-irda kernel-module-ircomm \
- kernel-module-ircomm-tty kernel-module-irlan kernel-module-irnet kernel-module-ir-usb"
-# USB Gadget Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-gadgetfs kernel-module-g-file-storage \
- kernel-module-g-serial kernel-module-g-ether"
+MACHINE_EXTRA_RDEPENDS = "zaurusd"
+MACHINE_EXTRA_RRECOMMENDS_c7x0 = "kernel-module-snd-soc-corgi"
+MACHINE_EXTRA_RRECOMMENDS_akita = "kernel-module-snd-soc-spitz"
+MACHINE_EXTRA_RRECOMMENDS_spitz = "kernel-module-snd-soc-spitz"
+MACHINE_EXTRA_RRECOMMENDS_poodle = "kernel-module-snd-soc-poodle"
-# Wireless Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-hostap kernel-module-hostap-cs \
- kernel-module-hermes kernel-module-orinoco \
- kernel-module-orinoco-cs kernel-module-spectrum-cs \
- hostap-conf orinoco-conf"
-
-# Sound Modules
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss"
-
-BOOTSTRAP_EXTRA_RDEPENDS_append_c7x0 += " kernel-module-snd-soc-corgi "
-BOOTSTRAP_EXTRA_RDEPENDS_append_akita += " kernel-module-snd-soc-spitz "
-BOOTSTRAP_EXTRA_RDEPENDS_append_spitz += " kernel-module-snd-soc-spitz "
-BOOTSTRAP_EXTRA_RDEPENDS_append_poodle += " kernel-module-snd-soc-poodle "
+MACHINE_TASK_PROVIDER = "task-base" \ No newline at end of file
diff --git a/conf/machine/include/zaurus-clamshell.conf b/conf/machine/include/zaurus-clamshell.conf
index f85c2a1221..97728fa5b6 100644
--- a/conf/machine/include/zaurus-clamshell.conf
+++ b/conf/machine/include/zaurus-clamshell.conf
@@ -14,7 +14,7 @@ IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
# add a summary to the jffs2 file to make it mount a lot faster
EXTRA_IMAGECMD_jffs2 += "&& sumtool -i ${T}/${IMAGE_NAME}.rootfs.jffs2 \
-o ${T}/${IMAGE_NAME}.rootfs.jffs2.summary \
- --eraseblock=0x4000 -l -p"
+ --eraseblock=0x4000 -l -p"
IMAGE_CMD_jffs2 += "; cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \
${T}/${IMAGE_NAME}.rootfs.jffs2.summary > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.summary.img"
diff --git a/conf/machine/ipaq-pxa270.conf b/conf/machine/ipaq-pxa270.conf
index fa3675fb59..d6281e3016 100644
--- a/conf/machine/ipaq-pxa270.conf
+++ b/conf/machine/ipaq-pxa270.conf
@@ -18,6 +18,8 @@ EXTRA_IMAGECMD_jffs2 = "; sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jf
-o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \
-e 256KiB -p"
+IMAGE_FSTYPES ?= "jffs2"
+
MODUTILS = "26"
PCMCIA_MANAGER = "pcmciautils"
BOOTSTRAP_EXTRA_RDEPENDS = "kernel ipaq-boot-params "
diff --git a/conf/machine/netvista.conf b/conf/machine/netvista.conf
index 9d483d4c55..2b9b572024 100644
--- a/conf/machine/netvista.conf
+++ b/conf/machine/netvista.conf
@@ -7,13 +7,13 @@ PREFERRED_PROVIDER_xserver = "xserver-xorg"
PREFERRED_PROVIDER_virtual/kernel = "linux-netvista"
BOOTSTRAP_EXTRA_RDEPENDS = "kernel pciutils"
#BOOTSTRAP_EXTRA_RRECOMMENDS = "hostap-modules"
-#IMAGE_FSTYPE = "cramfs"
+#IMAGE_FSTYPES = "cramfs"
EXTRA_IMAGEDEPENDS = ""
SERIAL_CONSOLE = "ttyS0 115200 vt100"
TARGET_VENDOR = "-oe"
PREFERRED_PROVIDERS_append = " virtual/kernel:linux-netvista"
-IMAGE_FSTYPE = "ext2"
+IMAGE_FSTYPES = "ext2"
GUI_MACHINE_CLASS = "bigscreen"
GPE_EXTRA_INSTALL += "gaim sylpheed gpe-mini-browser abiword"
diff --git a/conf/machine/nokia770.conf b/conf/machine/nokia770.conf
index edd7213346..eee389faf1 100644
--- a/conf/machine/nokia770.conf
+++ b/conf/machine/nokia770.conf
@@ -21,6 +21,8 @@ include conf/machine/include/tune-arm926ejs.conf
ROOT_FLASH_SIZE = "123"
EXTRA_IMAGECMD_jffs2_nokia770 = "--pad --little-endian --eraseblock=0x20000"
+IMAGE_FSTYPES ?= "jffs2"
+
# serial console port on devboard rev. B3
SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/spitz.conf b/conf/machine/spitz.conf
index 3d80a41486..b8851f6170 100644
--- a/conf/machine/spitz.conf
+++ b/conf/machine/spitz.conf
@@ -5,15 +5,14 @@
include conf/machine/include/zaurus-clamshell.conf
include conf/machine/include/zaurus-clamshell-2.6.conf
-IPKG_EXTRA_ARCHS += "armv4 armv4t iwmmxt"
-
PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}"
PIVOTBOOT_EXTRA_RRECOMMENDS += ""
# Useful things for the built-in Harddisk
BOOTSTRAP_EXTRA_RDEPENDS += "hdparm e2fsprogs e2fsprogs-e2fsck e2fsprogs-mke2fs"
-IMAGE_FSTYPES = "jffs2 tar.gz"
+IPKG_EXTRA_ARCHS += "iwmmxt"
+IMAGE_FSTYPES ?= "tar.gz"
ROOT_FLASH_SIZE = "100"
# actually that should really read ROOTFS_SIZE = "100", because with modern kernels,
diff --git a/conf/machine/sun4cdm.conf b/conf/machine/sun4cdm.conf
index 5376be0dda..36974d1336 100644
--- a/conf/machine/sun4cdm.conf
+++ b/conf/machine/sun4cdm.conf
@@ -1,6 +1,6 @@
TARGET_ARCH = "sparc"
-IMAGE_FSTYPE = "cramfs"
+IMAGE_FSTYPES = "cramfs"
BOOTSTRAP_EXTRA_RDEPENDS = "kernel module-init-tools udev"
diff --git a/packages/images/bootstrap-image-bootchart.bb b/packages/images/bootstrap-image-bootchart.bb
index 68cfac7490..04b1aa299d 100644
--- a/packages/images/bootstrap-image-bootchart.bb
+++ b/packages/images/bootstrap-image-bootchart.bb
@@ -1,8 +1,8 @@
export IMAGE_BASENAME = "bootstrap-image-bootchart"
export IMAGE_LINGUAS = ""
-export IPKG_INSTALL = "task-bootstrap bootchart acct"
+export IPKG_INSTALL = "${MACHINE_TASK_PROVIDER} bootchart acct"
-DEPENDS = "task-bootstrap bootchart"
+DEPENDS = "${MACHINE_TASK_PROVIDER} bootchart"
RDEPENDS = "acct"
inherit image_ipk
diff --git a/packages/images/bootstrap-image.bb b/packages/images/bootstrap-image.bb
index 1791dd8f56..50c1a8f354 100644
--- a/packages/images/bootstrap-image.bb
+++ b/packages/images/bootstrap-image.bb
@@ -1,8 +1,8 @@
export IMAGE_BASENAME = "bootstrap-image"
export IMAGE_LINGUAS = ""
-export IPKG_INSTALL = "task-bootstrap"
+export IPKG_INSTALL = "${MACHINE_TASK_PROVIDER}"
-DEPENDS = "task-bootstrap"
+DEPENDS = "${MACHINE_TASK_PROVIDER}"
inherit image_ipk
diff --git a/packages/images/dvb-image.bb b/packages/images/dvb-image.bb
index fa964b4490..b1c714c79e 100644
--- a/packages/images/dvb-image.bb
+++ b/packages/images/dvb-image.bb
@@ -2,7 +2,7 @@ export IMAGE_BASENAME = "dvb-image"
IMAGE_LINGUAS = ""
-DVB_PACKAGES = "task-bootstrap task-dvb"
+DVB_PACKAGES = "${MACHINE_TASK_PROVIDER} task-dvb"
export IPKG_INSTALL = "${DVB_PACKAGES}"
DEPENDS = "${DVB_PACKAGES}"
diff --git a/packages/images/e-image-core.bb b/packages/images/e-image-core.bb
index 9a1ed51a1a..f41f04ee23 100644
--- a/packages/images/e-image-core.bb
+++ b/packages/images/e-image-core.bb
@@ -5,7 +5,7 @@ PR = "r1"
export IMAGE_BASENAME = "e-image-core"
export IMAGE_LINGUAS = ""
-DEPENDS = "task-bootstrap \
+DEPENDS = "${MACHINE_TASK_PROVIDER} \
xserver-kdrive \
task-e-x11-core"
@@ -16,6 +16,6 @@ PREFERRED_PROVIDER_virtual/imlib2 = "imlib2-x11"
PREFERRED_PROVIDER_virtual/libxine = "libxine-x11"
PREFERRED_PROVIDER_libx11 = "libx11"
-export IPKG_INSTALL = "task-bootstrap task-e-x11-core xserver-kdrive-fbdev glibc-charmap-utf-8 glibc-localedata-i18n"
+export IPKG_INSTALL = "${MACHINE_TASK_PROVIDER} task-e-x11-core xserver-kdrive-fbdev glibc-charmap-utf-8 glibc-localedata-i18n"
inherit image_ipk
diff --git a/packages/images/gpe-image.bb b/packages/images/gpe-image.bb
index 92bed0dd5c..75aa14a0f4 100644
--- a/packages/images/gpe-image.bb
+++ b/packages/images/gpe-image.bb
@@ -24,11 +24,11 @@ GPE_EXTRA_INSTALL += ${GPE_BIGFLASH_INSTALL}
XSERVER ?= "xserver-kdrive-fbdev"
-DEPENDS = "task-bootstrap task-gpe"
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-gpe"
RDEPENDS = "${IPKG_INSTALL}"
export IPKG_INSTALL = "\
- task-bootstrap \
+ ${MACHINE_TASK_PROVIDER} \
gpe-task-base \
gpe-task-pim \
gpe-task-settings \
diff --git a/packages/images/maemo-image.bb b/packages/images/maemo-image.bb
index 2adc88b958..19157b6a5f 100644
--- a/packages/images/maemo-image.bb
+++ b/packages/images/maemo-image.bb
@@ -15,11 +15,11 @@ MAEMO_EXTRA_INSTALL = "osso-af-services osso-af-base-apps scap dosfstools"
XSERVER ?= "xserver-kdrive-omap"
-DEPENDS = "task-bootstrap \
+DEPENDS = "${MACHINE_TASK_PROVIDER} \
meta-maemo \
${MAEMO_EXTRA_DEPENDS}"
-export IPKG_INSTALL = "task-bootstrap maemo-task-base maemo-task-theme \
+export IPKG_INSTALL = "${MACHINE_TASK_PROVIDER} maemo-task-base maemo-task-theme \
maemo-task-apps ${MAEMO_EXTRA_INSTALL} \
${XSERVER}"
diff --git a/packages/images/mythfront-image.bb b/packages/images/mythfront-image.bb
index 7836258940..31992e4bc8 100644
--- a/packages/images/mythfront-image.bb
+++ b/packages/images/mythfront-image.bb
@@ -4,7 +4,7 @@ IMAGE_ROOTFS_SIZE_ext2 = "85000"
IMAGE_ROOTFS_SIZE_ext2.gz = "85000"
IMAGE_LINGUAS = ""
-MYTHFRONT_PACKAGES = "task-bootstrap task-mythfront"
+MYTHFRONT_PACKAGES = "${MACHINE_TASK_PROVIDER} task-mythfront"
export IPKG_INSTALL = "${MYTHFRONT_PACKAGES}"
DEPENDS = "${MYTHFRONT_PACKAGES}"
diff --git a/packages/images/opie-image.bb b/packages/images/opie-image.bb
index c786f67e0b..b7c68ec505 100644
--- a/packages/images/opie-image.bb
+++ b/packages/images/opie-image.bb
@@ -6,12 +6,12 @@ FEED_URIS_append_familiar = " opie##http://familiar.handhelds.org/releases/${D
LICENSE = "MIT"
PR = "r21"
-DEPENDS = "task-bootstrap task-opie"
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-opie"
RDEPENDS = "${INSTALL_PACKAGES}"
extra_stuff := '${@base_conditional("ROOT_FLASH_SIZE", "24", "", "task-opie-extra-games task-opie-extra-apps task-opie-extra-styles",d)}'
-INSTALL_PACKAGES = "task-bootstrap task-opie-base task-opie-base-applets \
+INSTALL_PACKAGES = "${MACHINE_TASK_PROVIDER} task-opie-base task-opie-base-applets \
task-opie-base-inputmethods task-opie-base-apps \
task-opie-base-settings task-opie-base-decorations \
task-opie-base-styles task-opie-base-pim \
diff --git a/packages/images/sdl-image.bb b/packages/images/sdl-image.bb
index 0f3254b56e..79c8094f34 100644
--- a/packages/images/sdl-image.bb
+++ b/packages/images/sdl-image.bb
@@ -2,8 +2,8 @@ LICENSE = MIT
export IMAGE_BASENAME = "sdl-image"
-DEPENDS = "task-bootstrap task-sdl"
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-sdl"
-export IPKG_INSTALL = "task-bootstrap sdl-base"
+export IPKG_INSTALL = "${MACHINE_TASK_PROVIDER} sdl-base"
inherit image_ipk
diff --git a/packages/images/sectest-gpe-image.bb b/packages/images/sectest-gpe-image.bb
index be7f28fb91..1ddd022d08 100644
--- a/packages/images/sectest-gpe-image.bb
+++ b/packages/images/sectest-gpe-image.bb
@@ -21,11 +21,11 @@ GPE_EXTRA_INSTALL += "${GPE_EXTRA_INSTALL_${GUI_MACHINE_CLASS}}"
XSERVER ?= "xserver-kdrive-fbdev"
-DEPENDS = "task-bootstrap task-gpe"
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-gpe"
RDEPENDS = "${IPKG_INSTALL}"
export IPKG_INSTALL = "\
- task-bootstrap \
+ ${MACHINE_TASK_PROVIDER} \
gpe-task-base \
gpe-task-pim \
gpe-task-settings \
diff --git a/packages/images/twin-image.bb b/packages/images/twin-image.bb
index 7015f7020c..f609dfd07e 100644
--- a/packages/images/twin-image.bb
+++ b/packages/images/twin-image.bb
@@ -1,13 +1,13 @@
export IMAGE_BASENAME="twin-image"
-DEPENDS = 'task-bootstrap \
+DEPENDS = '${MACHINE_TASK_PROVIDER} \
twin \
orpheus \
nano \
vim \
mutt'
-export IPKG_INSTALL = 'task-bootstrap \
+export IPKG_INSTALL = '${MACHINE_TASK_PROVIDER} \
twin \
orpheus \
nano \
diff --git a/packages/images/uml-image.bb b/packages/images/uml-image.bb
index 6ebbf04537..5b6981488e 100644
--- a/packages/images/uml-image.bb
+++ b/packages/images/uml-image.bb
@@ -6,7 +6,7 @@ export IMAGE_BASENAME = "uml-image"
OPIE_LIBS = "qte qpf-bitstream-vera libqpe-opie libopie2"
OPIE_BASE = "opie-qcop opie-quicklauncher opie-taskbar"
-DEPENDS = "task-bootstrap"
+DEPENDS = "${MACHINE_TASK_PROVIDER}"
export IPKG_INSTALL = "${DEPENDS}"
inherit image_ipk
diff --git a/packages/images/xfce-image.bb b/packages/images/xfce-image.bb
index 5605a6b2ee..f861b9e6dd 100644
--- a/packages/images/xfce-image.bb
+++ b/packages/images/xfce-image.bb
@@ -5,7 +5,7 @@ IMAGE_LINGUAS = ""
X_DEPENDS = "virtual/xserver"
X_RDEPENDS = "xserver-kdrive-fbdev"
-XFCE_DEPENDS = "task-bootstrap task-xfce-base"
+XFCE_DEPENDS = "${MACHINE_TASK_PROVIDER} task-xfce-base"
XFCE_RDEPENDS = "${XFCE_DEPENDS}"
export IPKG_INSTALL = "${X_RDEPENDS} ${XFCE_RDEPENDS}"
diff --git a/packages/images/xterminal-image.bb b/packages/images/xterminal-image.bb
index 2b98ec98fc..d6cc7b1640 100644
--- a/packages/images/xterminal-image.bb
+++ b/packages/images/xterminal-image.bb
@@ -2,7 +2,7 @@ export IMAGE_BASENAME = "xterminal-image"
IMAGE_LINGUAS = ""
-XTERMINAL_PACKAGES = "task-bootstrap task-xterminal"
+XTERMINAL_PACKAGES = "${MACHINE_TASK_PROVIDER} task-xterminal"
export IPKG_INSTALL = "${XTERMINAL_PACKAGES}"
DEPENDS = "${XTERMINAL_PACKAGES}"
diff --git a/packages/tasks/task-base.bb b/packages/tasks/task-base.bb
new file mode 100644
index 0000000000..61b8744105
--- /dev/null
+++ b/packages/tasks/task-base.bb
@@ -0,0 +1,255 @@
+DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
+MAINTAINER = "Richard Purdie <richard@openedhand.com>"
+PR = "r0"
+
+PACKAGES = "task-base \
+ task-base-oh-minimal"
+
+ALLOW_EMPTY = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# Valid only in MACHINE_FEATURES:
+#
+# kernel24
+# kernel26
+# apm
+
+# Valid only in DISTO_FEATURES:
+#
+# nfs
+# smbfs
+# ipsec
+# wifi
+# ppp
+
+# Valid COMBINED_FEATURES:
+# (These features need to be supported by both the machine and the distro)
+#
+# alsa
+# bluetooth
+# ext2
+# irda
+# pcmcia
+# usbgadget
+# usbhost
+
+
+MACHINE_FEATURES ?= "kernel26"
+DISTRO_FEATURES ?= ""
+
+DISTRO_EXTRA_RDEPENDS ?= ""
+DISTRO_EXTRA_RRECOMMENDS ?= ""
+MACHINE_EXTRA_RDEPENDS ?= ""
+MACHINE_EXTRA_RRECOMMENDS ?= ""
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
+
+
+COMBINED_FEATURES = "\
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "alsa", d)} \
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "bluetooth", d)} \
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "ext2", d)} \
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "irda", d)} \
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pcmcia", d)} \
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} \
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)}"
+
+
+#
+# task-base
+#
+RDEPENDS_task-base = "\
+ kernel \
+ ${@base_contains("MACHINE_FEATURES", "kernel26", "${task-base-kernel26-rdepends}", "",d)} \
+ ${@base_contains("MACHINE_FEATURES", "apm", "${task-base-apm-rdepends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "alsa", "${task-base-alsa-rdepends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "ext2", "${task-base-ext2-rdepends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "irda", "${task-base-irda-rdepends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "${task-base-pcmcia-rdepends}", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "ipsec", "${task-distro-ipsec-rdepends}", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "ppp", "${task-distro-ppp-rdepends}", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "${task-distro-wifi-rdepends}", "",d)} \
+ ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
+ ${MACHINE_EXTRA_RDEPENDS} \
+ ${DISTRO_EXTRA_RDEPENDS}"
+
+RRECOMMENDS_task-base = "\
+ ${@base_contains("MACHINE_FEATURES", "kernel26", "${task-base-kernel26-extras-rrecommends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "alsa", "${task-base-alsa-rrecommends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "${task-base-pcmcia-rrecommends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "bluetooth", "${task-base-bluetooth-rrecommends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "irda", "${task-base-irda-rrecommends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "usbgadget", "${task-base-usbgadget-rrecommends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "usbhost", "${task-base-usbhost-rrecommends}", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "ppp", "${task-distro-ppp-rrecommends}", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "nfs", "${task-distro-nfs-rrecommends}", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "ipsec", "${task-distro-ipsec-rrecommends}", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "cramfs", "${task-distro-cramfs-rrecommends}", "",d)} \
+ ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} \
+ ${MACHINE_EXTRA_RRECOMMENDS} \
+ ${DISTRO_EXTRA_RRECOMMENDS}"
+
+
+#
+# task-base-oh-minimal
+# An example of a small cut down machine configuration
+#
+RDEPENDS_task-base-oh-minimal = "\
+ kernel \
+ ${@base_contains("MACHINE_FEATURES", "kernel26", "${task-base-kernel26-rdepends}", "",d)} \
+ ${@base_contains("MACHINE_FEATURES", "apm", "${task-base-apm-rdepends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "${PCMCIA_MANAGER}", "",d)} \
+ ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"
+
+RRECOMMENDS_task-base-minimal = "\
+ ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
+
+task-base-kernel26-rdepends = "\
+ udev \
+ keymaps \
+ sysfsutils \
+ module-init-tools"
+
+task-base-kernel26-extras-rrecommends = "\
+ kernel-module-input \
+ kernel-module-uinput"
+
+task-base-apm-rdepends = "\
+ apm \
+ apmd \
+ ${@base_contains("MACHINE_FEATURES", "kernel24", "network-suspend-scripts", "",d)}"
+
+task-base-ext2-rdepends = "\
+ hdparm \
+ e2fsprogs \
+ e2fsprogs-e2fsck \
+ e2fsprogs-mke2fs"
+
+task-base-alsa-rdepends = "\
+ alsa-utils-alsactl \
+ alsa-utils-alsamixer \
+ alsa-conf"
+
+task-base-alsa-rrecommends = "\
+ kernel-module-snd-mixer-oss \
+ kernel-module-snd-pcm-oss"
+
+task-base-pcmcia-rdepends = "\
+ ${PCMCIA_MANAGER} \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "prism3-firmware", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "prism3-support", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "spectrum-fw", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "hostap-conf", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "orinoco-conf", "",d)}"
+
+task-base-pcmcia-rrecommends = "\
+ kernel-module-airo-cs \
+ kernel-module-pcnet-cs \
+ kernel-module-serial-cs \
+ kernel-module-hostap-cs \
+ kernel-module-ide-cs \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "kernel-module-orinoco-cs", "",d)} \
+ ${@base_contains("DISTRO_FEATURES", "wifi", "kernel-module-spectrum-cs", "",d)}"
+
+task-base-bluetooth-rrecommends = "\
+ kernel-module-bluetooth \
+ kernel-module-l2cap \
+ kernel-module-rfcomm \
+ kernel-module-hci-vhci \
+ kernel-module-bnep \
+ kernel-module-hidp \
+ kernel-module-hci-uart \
+ kernel-module-sco \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluetooth3c-cs", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluecard-cs", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluetoothuart-cs", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-dtl1-cs", "",d)}"
+
+task-base-irda-rdepends = "\
+ irda-utils"
+
+task-base-irda-rrecommends = "\
+ kernel-module-pxaficp-ir \
+ kernel-module-irda \
+ kernel-module-ircomm \
+ kernel-module-ircomm-tty \
+ kernel-module-irlan \
+ kernel-module-irnet \
+ kernel-module-irport \
+ kernel-module-irtty \
+ kernel-module-ir-usb"
+
+task-base-usbgadget-rrecommends = "\
+ kernel-module-gadgetfs \
+ kernel-module-g-file-storage \
+ kernel-module-g-serial \
+ kernel-module-g-ether"
+
+task-base-usbhost-rrecommends = "\
+ kernel-module-ohci-hcd \
+ kernel-module-usbcore \
+ kernel-module-usbhid \
+ kernel-module-usbnet \
+ kernel-module-sd-mod \
+ kernel-module-scsi-mod \
+ kernel-module-usbmouse \
+ kernel-module-mousedev \
+ kernel-module-hci-usb \
+ kernel-module-usbserial \
+ kernel-module-usb-storage \
+ kernel-module-ir-usb"
+
+task-distro-ppp-rdepends = "\
+ ppp \
+ ppp-dialin"
+
+task-distro-ppp-rrecommends = "\
+ kernel-module-ppp-async \
+ kernel-module-ppp-deflate \
+ kernel-module-ppp-mppe"
+
+task-distro-ipsec-rdepends = "\
+ openswan"
+
+task-distro-ipsec-rrecommends = "\
+ kernel-module-ipsec"
+
+task-distro-wifi-rdepends = "\
+ wireless-tools \
+ hostap-utils \
+ wpa-supplicant-nossl"
+
+task-distro-smbfs-rrecommends = "\
+ kernel-module-smbfs"
+
+task-distro-cramfs-rrecommends = "\
+ kernel-module-cramfs"
+
+task-distro-nfs-rrecommends = "\
+ kernel-module-nfs \
+ kernel-module-lockd \
+ kernel-module-sunrpc"
+
+
+# Tosort
+# kernel-module-ipv6
+# kernel-module-ipsec
+# kernel-module-nvrd
+# kernel-module-mip6-mn
+# kernel-module-tun
+# kernel-module-ide-disk
+# kernel-module-ide-probe-mo
+# kernel-module-loop
+# kernel-module-vfat
+# kernel-module-ext2
+# kernel-module-nfs
+# kernel-module-sco
+# kernel-module-af_packet
+# kernel-module-ip-gre
+# kernel-module-ip-tables
+# kernel-module-ipip
+# kernel-module-des
+# kernel-module-md5
+# kernel-module-8250
+# Should be DISTRO_EXTRA_RRECOMMENDS: lrzsz