summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-07-26 22:22:44 +0000
committerRichard Purdie <richard@openedhand.com>2006-07-26 22:22:44 +0000
commit4952c7e0fede3efbaf5bb9b1e153daa5071ef6a5 (patch)
treef705b0e1e1ea9aa10e4786212eed4a7685362e43
parent36a7962e7428a79c5bde3f3b0fd36ce3ed19b439 (diff)
downloadopenembedded-core-4952c7e0fede3efbaf5bb9b1e153daa5071ef6a5.tar.gz
openembedded-core-4952c7e0fede3efbaf5bb9b1e153daa5071ef6a5.tar.bz2
openembedded-core-4952c7e0fede3efbaf5bb9b1e153daa5071ef6a5.tar.xz
openembedded-core-4952c7e0fede3efbaf5bb9b1e153daa5071ef6a5.zip
Totally rework task handling for machine/distro specific features. Create task-base.bb to handle this and update machine/distro files accordingly. MACHINE_FEATURES and DISTRO_FEATURES together combine to configure the machine specific task-base and other specific tasks can easily be created (task-base-oh-minimal is an exmaple)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@562 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/conf/distro/poky.conf2
-rw-r--r--meta/conf/machine/include/handheld-common.conf23
-rw-r--r--meta/conf/machine/include/zaurus-clamshell-2.6.conf42
-rw-r--r--meta/conf/machine/ipaq-pxa270.conf7
-rw-r--r--meta/conf/machine/spitz.conf4
-rw-r--r--meta/packages/tasks/task-base.bb246
-rw-r--r--meta/packages/tasks/task-oh.bb19
7 files changed, 262 insertions, 81 deletions
diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf
index 4218ce80b..4bfe462a4 100644
--- a/meta/conf/distro/poky.conf
+++ b/meta/conf/distro/poky.conf
@@ -171,3 +171,5 @@ PCMCIA_MANAGER ?= "pcmciautils"
CVS_TARBALL_STASH += "http://www.o-hand.com/~richard/poky/sources/"
IMAGE_LINGUAS = "en-gb"
+
+DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi"
diff --git a/meta/conf/machine/include/handheld-common.conf b/meta/conf/machine/include/handheld-common.conf
deleted file mode 100644
index f8767d2dd..000000000
--- a/meta/conf/machine/include/handheld-common.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-HANDHELD_MODULES = "ipv6 \
-ipsec \
-nvrd \
-mip6-mn \
-tun \
-ide-cs ide-disk ide-probe-mod \
-loop \
-vfat ext2 \
-sunrpc nfs \
-btuart-cs dtl1-cs bt3c-cs rfcomm bnep l2cap sco hci_uart hidp \
-pcnet-cs serial-cs airo-cs \
-af_packet \
-ppp-async ppp-deflate ppp-mppe \
-ip-gre ip-tables ipip \
-irda irlan irnet irport irtty ircomm-tty \
-input uinput \
-"
-
-# Configuration bits for "generic handheld"
-BOOTSTRAP_EXTRA_RDEPENDS += "${PCMCIA_MANAGER} apm apmd network-suspend-scripts"
-BOOTSTRAP_EXTRA_RRECOMMENDS += "ppp wireless-tools irda-utils openswan wpa-supplicant-nossl lrzsz ppp-dialin ${@linux_module_packages('${HANDHELD_MODULES}', d)}"
-
-INHERIT += "linux_modules"
diff --git a/meta/conf/machine/include/zaurus-clamshell-2.6.conf b/meta/conf/machine/include/zaurus-clamshell-2.6.conf
index 3c19ef3da..fa2adda6f 100644
--- a/meta/conf/machine/include/zaurus-clamshell-2.6.conf
+++ b/meta/conf/machine/include/zaurus-clamshell-2.6.conf
@@ -6,41 +6,13 @@ 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 openswan 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"
-# 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_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 "
-# For OSS
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss" \ No newline at end of file
diff --git a/meta/conf/machine/ipaq-pxa270.conf b/meta/conf/machine/ipaq-pxa270.conf
index ffa8b2d9c..1aeb8f3f2 100644
--- a/meta/conf/machine/ipaq-pxa270.conf
+++ b/meta/conf/machine/ipaq-pxa270.conf
@@ -4,11 +4,9 @@
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4 armv5te ipaqpxa hx4700"
-#use this for a hx47xx ipaq
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
#use this for a hx2xxx ipaq
-#PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
+PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
PREFERRED_VERSION_orinoco-modules = "0.15rc1"
@@ -42,7 +40,8 @@ include conf/machine/include/tune-xscale.conf
# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
#include conf/machine/include/tune-iwmmxt.conf
-BOOTSTRAP_EXTRA_RRECOMMENDS += "${@linux_module_packages('${HX4700_MODULES}', d)}"
+BOOTSTRAP_EXTRA_RRECOMMENDS += ""
+#${@linux_module_packages('${HX4700_MODULES}', d)}
HX4700_MODULES = "i2c-pxa asic3_mmc hx4700_bt hx4700_leds hx4700_navpt hx4700_pcmcia \
hx4700_ts hx4700_wlan snd_hx4700_audio hx4700_power"
diff --git a/meta/conf/machine/spitz.conf b/meta/conf/machine/spitz.conf
index f8b0572b4..6588702a8 100644
--- a/meta/conf/machine/spitz.conf
+++ b/meta/conf/machine/spitz.conf
@@ -6,10 +6,6 @@ include conf/machine/include/zaurus-clamshell.conf
include conf/machine/include/zaurus-clamshell-2.6.conf
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 ?= "tar.gz"
diff --git a/meta/packages/tasks/task-base.bb b/meta/packages/tasks/task-base.bb
new file mode 100644
index 000000000..d2db0dd29
--- /dev/null
+++ b/meta/packages/tasks/task-base.bb
@@ -0,0 +1,246 @@
+DESCRIPTION = "Machine Tasks for OpenedHand Poky"
+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 COMBINED_FEATURES:
+# (These features need to be supported by both the machine and the distro)
+#
+# alsa
+# bluetooth
+# ext2
+# irda
+# pcmcia
+# usbgadget
+# usbhost
+
+# Valid only in DISTO_FEATURES:
+#
+# nfs
+# smbfs
+# ipsec
+# wifi
+# ppp
+
+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", "kernel26", "${task-base-kernel26-extras-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
+#
+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-rdepends = "\
+# udev-utils"
+
+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 = "\
+ "
+
+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
diff --git a/meta/packages/tasks/task-oh.bb b/meta/packages/tasks/task-oh.bb
index 8c0c637ff..c7f45bb63 100644
--- a/meta/packages/tasks/task-oh.bb
+++ b/meta/packages/tasks/task-oh.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Tasks for OpenedHand Poky"
MAINTAINER = "Richard Purdie <richard@openedhand.com>"
-PR = "r37"
+PR = "r40"
PACKAGES = "\
task-oh-base \
@@ -25,20 +25,15 @@ RDEPENDS_task-oh-boot = "\
modutils-initscripts \
fuser \
setserial \
- linux-hotplug \
ipkg \
module-init-tools-depmod"
+# linux-hotplug \
RDEPENDS_task-oh-boot-extras = "\
- ${BOOTSTRAP_EXTRA_RDEPENDS}"
+ task-base"
RDEPENDS_task-oh-boot-min-extras = "\
- kernel \
- udev \
- sysfsutils \
- ${PCMCIA_MANAGER} \
- apm \
- udev-utils"
+ task-base-oh-minimal"
RDEPENDS_task-oh-base = "\
matchbox-common \
@@ -94,12 +89,6 @@ RDEPENDS_task-oh-standard = "\
gnome-vfs-plugin-http \
gtk-theme-clearlooks"
-RDEPENDS_task-oh-standard_append_c7x0 = " zaurusd "
-RDEPENDS_task-oh-standard_append_spitz = " zaurusd "
-RDEPENDS_task-oh-standard_append_akita = " zaurusd "
-
-PACKAGE_ARCH_task-oh-standard = "${MACHINE_ARCH}"
-
RDEPENDS_task-oh-devtools = "\
oprofile \
gdb \