From 4952c7e0fede3efbaf5bb9b1e153daa5071ef6a5 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 26 Jul 2006 22:22:44 +0000 Subject: 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 --- meta/conf/distro/poky.conf | 2 + meta/conf/machine/include/handheld-common.conf | 23 -- .../conf/machine/include/zaurus-clamshell-2.6.conf | 42 +--- meta/conf/machine/ipaq-pxa270.conf | 7 +- meta/conf/machine/spitz.conf | 4 - meta/packages/tasks/task-base.bb | 246 +++++++++++++++++++++ meta/packages/tasks/task-oh.bb | 19 +- 7 files changed, 262 insertions(+), 81 deletions(-) delete mode 100644 meta/conf/machine/include/handheld-common.conf create mode 100644 meta/packages/tasks/task-base.bb 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 " +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 " -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 \ -- cgit v1.2.3