[oe-commits] org.oe.dev task-base: major restructure

hrw commit openembedded-commits at lists.openembedded.org
Fri Apr 13 08:46:40 UTC 2007


task-base: major restructure

- task-base-FEATURENAME are built nevermind does MACHINE supports them
- task-base depends on task-* packages only - MACHINE/DISTRO features only
- task-boot contain stuff needed to get minimal bootable image
- task-distro-base contain distro addons
- task-machine-base contain machine specific addons

- ability to choose SSH daemon (dropbear, openssh, none) by distro
- ability to choose /dev/ manager (udev, devfsd, mdev) by distro
- ability to choose getty provider (tinylogin by default) by distro

With this version it is easier to create smaller rootfs - for example 
image with ONLY bluetooth support is "task-boot + task-base-bluetooth".

Author: hrw at openembedded.org
Branch: org.openembedded.dev
Revision: 920ac556972b3741bd36f97a55819f16113df339
ViewMTN: http://monotone.openembedded.org/revision.psp?id=920ac556972b3741bd36f97a55819f16113df339
Files:
1
packages/tasks/task-base.bb
Diffs:

#
# mt diff -re755497dfd644bfbaaadd5ba2b9046430e337e89 -r920ac556972b3741bd36f97a55819f16113df339
#
# 
# 
# patch "packages/tasks/task-base.bb"
#  from [c9bcc6674946fa0a5e8a46c40921b23ac7bf83e2]
#    to [ba167a1701e4d67cf6eb6556b68dc18ca16eabd0]
# 
============================================================
--- packages/tasks/task-base.bb	c9bcc6674946fa0a5e8a46c40921b23ac7bf83e2
+++ packages/tasks/task-base.bb	ba167a1701e4d67cf6eb6556b68dc18ca16eabd0
@@ -1,207 +1,229 @@ DESCRIPTION = "Merge machine and distro 
 DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
-PR = "r23"
+PR = "r26"
 
-PACKAGES = "task-base \
-            task-base-oh-minimal \
-            task-base-core-default"
+PACKAGES = 'task-boot \
+            task-base \
+            task-distro-base \
+            task-machine-base \
+            \
+            task-base-acpi \
+            task-base-alsa \
+            task-base-apm \
+            task-base-bluetooth \
+            task-base-ext2 \
+            task-base-irda \
+            task-base-keyboard \
+            task-base-pci \
+            task-base-pcmcia \
+            task-base-phone \
+            task-base-screen \
+            task-base-serial \
+            task-base-touchscreen \
+            task-base-usbgadget \
+            task-base-usbhost \
+            task-base-wifi \
+            \
+            task-base-cramfs \
+            task-base-ipsec \
+            task-base-ipv6 \
+            task-base-nfs \
+            task-base-ppp \
+            task-base-smbfs \
+	    \
+            ${@base_contains("MACHINE_FEATURES","kernel26","task-base-kernel26","task-base-kernel24",d)} \
+	    '
 
 ALLOW_EMPTY = "1"
 
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+PACKAGE_ARCH = "all"
 
-# Valid only in MACHINE_FEATURES:
 #
-# kernel24
-# kernel26
-# apm
-# keyboard
-# touchscreen
-# screen
-# pci
-# acpi
-# phone
+# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
+#
+PACKAGE_ARCH_task-base = "${MACHINE_ARCH}"
+PACKAGE_ARCH_task-machine-base = "${MACHINE_ARCH}"
+PACKAGE_ARCH_task-base-apm = "${MACHINE_ARCH}"
+PACKAGE_ARCH_task-base-pcmcia = "${MACHINE_ARCH}"
 
-# Valid only in DISTRO_FEATURES:
 #
-# nfs
-# smbfs
-# ipsec
-# wifi
-# ppp
+# udev, devfsd, mdev (from busybox) or none
+#
+DISTRO_DEV_MANAGER ?= "${@base_contains("MACHINE_FEATURES", "kernel26",  "udev","",d)} "
 
-# Valid COMBINED_FEATURES:
-# (These features need to be supported by both the machine and the distro)
 #
-# alsa
-# bluetooth
-# ext2
-# irda
-# pci
-# pcmcia
-# redboot
-# uboot
-# usbgadget
-# usbhost
+# sysvinit, upstart
+#
+DISTRO_INIT_MANAGER ?= "sysvinit"
 
+#
+# tinylogin, getty
+#
+DISTRO_LOGIN_MANAGER ?= "tinylogin"
 
-DISTRO_CORE_PACKAGE ?= "task-base-core-default"
+#
+# linux-hotplug or none
+#
+HOTPLUG ?= "${@base_contains("MACHINE_FEATURES", "kernel24",  "linux-hotplug","",d)} "
 
 #
-# task-base
+# dropbear, openssh or none
 #
-RDEPENDS_task-base = "\
-    ${DISTRO_CORE_PACKAGE} \
-    kernel \
-    ${@base_contains("MACHINE_FEATURES", "kernel24", "${task-base-kernel24-rdepends}", "",d)} \
-    ${@base_contains("MACHINE_FEATURES", "kernel26", "${task-base-kernel26-rdepends}", "",d)} \
-    ${@base_contains("MACHINE_FEATURES", "apm", "${task-base-apm-rdepends}", "",d)} \
-    ${@base_contains("MACHINE_FEATURES", "acpi", "${task-base-acpi-rdepends}", "",d)} \
-    ${@base_contains("MACHINE_FEATURES", "keyboard", "${task-base-keyboard-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", "pci", "${task-base-pci-rdepends}", "",d)} \
-    ${@base_contains("COMBINED_FEATURES", "pcmcia", "${task-base-pcmcia-rdepends}", "",d)} \
-    ${@base_contains("COMBINED_FEATURES", "usbhost", "${task-base-usbhost-rdepends}", "",d)} \
-    ${@base_contains("COMBINED_FEATURES", "bluetooth", "${task-base-bluetooth-rdepends}", "",d)} \
-    ${@base_contains("COMBINED_FEATURES", "wifi", "${task-distro-wifi-rdepends}", "",d)} \
-    ${@base_contains("COMBINED_FEATURES", "uboot", "${task-base-uboot-rdepends}", "",d)} \
-    ${@base_contains("COMBINED_FEATURES", "redboot", "${task-base-redboot-rdepends}", "",d)} \
-    ${@base_contains("DISTRO_FEATURES", "nfs", "${task-distro-nfs-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", "raid", "${task-distro-raid-rdepends}", "",d)} \
-    ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
-    ${MACHINE_EXTRA_RDEPENDS} \
-    ${DISTRO_EXTRA_RDEPENDS}"
+DISTRO_SSH_DAEMON ?= "dropbear"
 
-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", "wifi", "${task-distro-wifi-rrecommends}", "",d)} \
-    ${@base_contains("DISTRO_FEATURES", "cramfs", "${task-distro-cramfs-rrecommends}", "",d)} \
-    ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} \
-    ${MACHINE_EXTRA_RRECOMMENDS} \
-    ${DISTRO_EXTRA_RRECOMMENDS}"
+#
+# pcmciautils for >= 2.6.13-rc1, pcmcia-cs for others
+#
+PCMCIA_MANAGER ?= "${@base_contains('MACHINE_FEATURES', 'kernel26','pcmciautils','pcmcia-cs',d)} "
 
+#
+# those ones can be set in machine config to supply packages needed to get machine booting
+#
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
 
 #
-# task-base-oh-minimal
-# An example of a small cut down machine configuration
+# task-base contain stuff needed for base system (machine related)
 #
-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}"
+RDEPENDS_task-base = "\
+    task-boot \
+    task-distro-base \
+    task-machine-base \
+    ${DISTRO_SSH_DAEMON} \
+    ${HOTPLUG} \
+    \
+    ${@base_contains('MACHINE_FEATURES', 'kernel26','task-base-kernel26','task-base-kernel24',d)} \
+    ${@base_contains('MACHINE_FEATURES', 'apm', 'task-base-apm', '',d)} \
+    ${@base_contains('MACHINE_FEATURES', 'acpi', 'task-base-acpi', '',d)} \
+    ${@base_contains('MACHINE_FEATURES', 'keyboard', 'task-base-keyboard', '',d)} \
+    \
+    ${@base_contains('COMBINED_FEATURES', 'alsa', 'task-base-alsa', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'ext2', 'task-base-ext2', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'irda', 'task-base-irda', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'pci', 'task-base-pci', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'pcmcia', 'task-base-pcmcia', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'usbhost', 'task-base-usbhost', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'bluetooth', 'task-base-bluetooth', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'wifi', 'task-base-wifi', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'uboot', 'task-base-uboot', '',d)} \
+    ${@base_contains('COMBINED_FEATURES', 'redboot', 'task-base-redboot', '',d)} \
+    \
+    ${@base_contains('DISTRO_FEATURES', 'nfs', 'task-base-nfs', '',d)} \
+    ${@base_contains('DISTRO_FEATURES', 'ipv6', 'task-base-ipv6', '',d)} \
+    ${@base_contains('DISTRO_FEATURES', 'ipsec', 'task-base-ipsec', '',d)} \
+    ${@base_contains('DISTRO_FEATURES', 'ppp', 'task-base-ppp', '',d)} \
+    ${@base_contains('DISTRO_FEATURES', 'raid', 'task-base-raid', '',d)} \
+    "
 
-RRECOMMENDS_task-base-oh-minimal = "\
-    ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
+#
+# packages added by distribution
+#
+RDEPENDS_task-distro-base = "${DISTRO_EXTRA_RDEPENDS}"
+RRECOMMENDS_task-distro-base = "${DISTRO_EXTRA_RRECOMMENDS}"
 
+#
+# packages added by machine config
+#
+RDEPENDS_task-machine-base = "${MACHINE_EXTRA_RDEPENDS}"
+RRECOMMENDS_task-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}"
 
-HOTPLUG ?= "linux-hotplug"
-
-RDEPENDS_task-base-core-default = '\
+#
+# minimal set of packages - needed to boot
+#
+RDEPENDS_task-boot = "\
+    kernel \
     base-files \
     base-passwd \
     busybox \
     initscripts \
-    netbase \
-    sysvinit \
-    sysvinit-pidof \
-    tinylogin \
     modutils-initscripts \
-    fuser \
-    setserial'
-# Lets see if we can kill off hotplug...
-#    ${HOTPLUG}
-#    ${@bootstrap_modutils_rdepends(d)}
+    netbase \
+    ${DISTRO_DEV_MANAGER} \
+    ${DISTRO_INIT_MANAGER} \
+    ${DISTRO_LOGIN_MANAGER} \
+    ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"
 
+RRECOMMENDS_task-boot = "\
+    ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
 
-RRECOMMENDS_task-base-core-default = '\
-    dropbear '
+RDEPENDS_task-base-kernel24 = "\
+    modutils-depmod"
 
-task-base-kernel24-rdepends = "\
-    modutils-depmod \
-    linux-hotplug "
-
-task-base-kernel26-rdepends = "\
-    udev \
+RDEPENDS_task-base-kernel26 = "\
     sysfsutils \
     module-init-tools"
 
-task-base-keyboard-rdepends = "\
-    keymaps"
+RRECOMMENDS_task-base-kernel24 = "\
+    kernel-module-input \
+    kernel-module-uinput"
 
-task-base-pci-rdepends = "\
-    pciutils"
-
-task-base-kernel26-extras-rrecommends = "\
+RRECOMMENDS_task-base-kernel26 = "\
     kernel-module-input \
     kernel-module-uinput"
 
-task-base-acpi-rdepends = "\
+RDEPENDS_task-base-keyboard = "\
+    keymaps"
+
+RDEPENDS_task-base-pci = "\
+    pciutils"
+
+RDEPENDS_task-base-acpi = "\
     acpid"
 
-task-base-apm-rdepends = "\
+RDEPENDS_task-base-apm = "\
     apm \
     apmd \
-    ${@base_contains("MACHINE_FEATURES", "kernel24", "network-suspend-scripts", "",d)}"
+    ${@base_contains('MACHINE_FEATURES', 'kernel24', 'network-suspend-scripts', '',d)}"
 
-task-base-ext2-rdepends = "\
+RDEPENDS_task-base-ext2 = "\
     hdparm \
     e2fsprogs \
     e2fsprogs-e2fsck \
     e2fsprogs-mke2fs"
 
-task-base-alsa-rdepends = "\
+RDEPENDS_task-base-alsa = "\
     alsa-utils-alsactl \
     alsa-utils-alsamixer"
 
-task-base-alsa-rrecommends = "\
+#
+# alsa-state is machine related so can be missing in feed, OSS support is optional
+#
+RRECOMMENDS_task-base-alsa = "\
+    alsa-state \
     kernel-module-snd-mixer-oss \
     kernel-module-snd-pcm-oss"
 
-task-base-pcmcia-rdepends = "\
+RDEPENDS_task-base-pcmcia = "\
     ${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)}"
+    ${@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 = "\
+RRECOMMENDS_task-base-pcmcia = "\
+    ${@base_contains('MACHINE_FEATURES', 'kernel26', '${task-base-pcmcia26}', '${task-base-pcmcia24}',d)} \
     kernel-module-pcmcia \
     kernel-module-airo-cs \
     kernel-module-pcnet-cs \
     kernel-module-serial-cs \
     kernel-module-ide-cs \
     kernel-module-ide-disk \
-    ${@base_contains("MACHINE_FEATURES", "kernel26", "${task-base-pcmcia26-rrecommends}", "${task-base-pcmcia24-rrecommends}",d)} "
+    "
 
-task-base-pcmcia24-rrecommends = "\
-    ${@base_contains("DISTRO_FEATURES", "wifi", "hostap-modules-cs", "",d)} \
-    ${@base_contains("DISTRO_FEATURES", "wifi", "orinoco-modules-cs", "",d)}"
+task-base-pcmcia24 = "\
+    ${@base_contains('DISTRO_FEATURES', 'wifi', 'hostap-modules-cs', '',d)} \
+    ${@base_contains('DISTRO_FEATURES', 'wifi', 'orinoco-modules-cs', '',d)}"
 
-task-base-pcmcia26-rrecommends = "\
-    ${@base_contains("DISTRO_FEATURES", "wifi", "kernel-module-hostap-cs", "",d)} \
-    ${@base_contains("DISTRO_FEATURES", "wifi", "kernel-module-orinoco-cs", "",d)} \
-    ${@base_contains("DISTRO_FEATURES", "wifi", "kernel-module-spectrum-cs", "",d)}"
+task-base-pcmcia26 = "\
+    ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-hostap-cs', '',d)} \
+    ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-orinoco-cs', '',d)} \
+    ${@base_contains('DISTRO_FEATURES', 'wifi', 'kernel-module-spectrum-cs', '',d)}"
 
-task-base-bluetooth-rdepends = "\ 
-	blueprobe \
-	bluez-utils"
+RDEPENDS_task-base-bluetooth = "\ 
+    blueprobe \
+    bluez-utils"
 
-task-base-bluetooth-rrecommends = "\
+RRECOMMENDS_task-base-bluetooth = "\
     kernel-module-bluetooth \
     kernel-module-l2cap \
     kernel-module-rfcomm \
@@ -210,39 +232,39 @@ task-base-bluetooth-rrecommends = "\
     kernel-module-hidp \
     kernel-module-hci-uart \
     kernel-module-sco \
-    ${@base_contains("COMBINED_FEATURES", "usbhost", "kernel-module-hci-usb", "",d)} \
-    ${@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)}"
+    ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-hci-usb', '',d)} \
+    ${@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 = "\
+RDEPENDS_task-base-irda = "\
     irda-utils"
 
-task-base-irda-rrecommends = "\
+RRECOMMENDS_task-base-irda = "\
     kernel-module-pxaficp-ir \
     kernel-module-irda \
     kernel-module-ircomm \
     kernel-module-ircomm-tty \
     kernel-module-irlan \
-    ${@base_contains("DISTRO_FEATURES", "ppp", "kernel-module-irnet", "",d)} \
+    ${@base_contains('DISTRO_FEATURES', 'ppp', 'kernel-module-irnet', '',d)} \
     kernel-module-irport \
     kernel-module-irtty \
     kernel-module-irtty-sir \
     kernel-module-sir-dev \
-    ${@base_contains("COMBINED_FEATURES", "usbhost", "kernel-module-ir-usb", "",d)} "
+    ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-ir-usb', '',d)} "
 
-task-base-usbgadget-rrecommends = "\
+RRECOMMENDS_task-base-usbgadget = "\
     kernel-module-pxa27x_udc \
     kernel-module-gadgetfs \
     kernel-module-g-file-storage \
     kernel-module-g-serial \
     kernel-module-g-ether"
 
-task-base-usbhost-rdepends = "\
+RDEPENDS_task-base-usbhost = "\
     usbutils "
 
-task-base-usbhost-rrecommends = "\
+RRECOMMENDS_task-base-usbhost = "\
     kernel-module-uhci-hcd \
     kernel-module-ohci-hcd \
     kernel-module-ehci-hcd \
@@ -256,34 +278,41 @@ task-base-usbhost-rrecommends = "\
     kernel-module-usbserial \
     kernel-module-usb-storage "
 
-task-base-uboot-rdepends = "\
-        uboot-utils"
+RDEPENDS_task-base-ub%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list