[oe] RFC: Task-base rewrite
Marcin Juszkiewicz
openembedded at hrw.one.pl
Sun Mar 4 21:28:02 UTC 2007
During last two months I was working on new version of task-base. It was
done from time to time without too much testing as I had many other
things on my todo list.
The main problem of task-base is that it give one package as result so if
you want to create smaller rootfs for only few features you need to
create own-task-base and base image on it.
My version create several task-base-*, task-distro-* packages which cover
several features one by one. Some features contain extra stuff only if
other features are available (for example Bluetooth on USB bus only if
distro supports BT and device support USB Host).
Code needs cleanup, changes here and there but it should be better then
current implementation. Recent changes made to task-base in .dev are not
in my version yet.
Opinions? Ideas? Patches? Suggestions?
--
JID: hrw-jabber.org
OpenEmbedded developer/consultant
Try not! Do, or do not! There is no try!
-- Yoda
-------------- next part --------------
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
PR = "r17.6"
PACKAGES = "\
task-base-minimal \
task-base-core-default \
\
task-base \
${@base_contains("MACHINE_FEATURES","acpi","task-base-acpi","", d)} \
${@base_contains("MACHINE_FEATURES","alsa","task-base-alsa","", d)} \
${@base_contains("MACHINE_FEATURES","apm","task-base-apm","", d)} \
${@base_contains("MACHINE_FEATURES","bluetooth","task-base-bluetooth","", d)} \
${@base_contains("MACHINE_FEATURES","ext2","task-base-ext2","", d)} \
${@base_contains("MACHINE_FEATURES","irda","task-base-irda","", d)} \
${@base_contains("MACHINE_FEATURES","keyboard","task-base-keyboard","", d)} \
${@base_contains("MACHINE_FEATURES","nfs","task-base-nfs","", d)} \
${@base_contains("MACHINE_FEATURES","pci","task-base-pci","", d)} \
${@base_contains("MACHINE_FEATURES","pcmcia","task-base-pcmcia","", d)} \
${@base_contains("MACHINE_FEATURES","phone","task-base-phone","", d)} \
${@base_contains("MACHINE_FEATURES","screen","task-base-screen","", d)} \
${@base_contains("MACHINE_FEATURES","smbfs","task-base-smbfs","", d)} \
${@base_contains("MACHINE_FEATURES","touchscreen","task-base-touchscreen","", d)} \
${@base_contains("MACHINE_FEATURES","usbgadget","task-base-usbgadget","", d)} \
${@base_contains("MACHINE_FEATURES","usbhost","task-base-usbhost","", d)} \
${@base_contains("MACHINE_FEATURES","wifi","task-base-wifi","", d)} \
${@base_contains("MACHINE_FEATURES","kernel26","task-base-kernel26","task-base-kernel24",d)} \
\
${@base_contains("DISTRO_FEATURES","cramfs","task-distro-cramfs","", d)} \
${@base_contains("DISTRO_FEATURES","ipsec","task-distro-ipsec","", d)} \
${@base_contains("DISTRO_FEATURES","ipv6","task-distro-ipv6","", d)} \
${@base_contains("DISTRO_FEATURES","nfs","task-distro-nfs","", d)} \
${@base_contains("DISTRO_FEATURES","ppp","task-distro-ppp","", d)} \
${@base_contains("DISTRO_FEATURES","smbfs","task-distro-smbfs","", d)} \
${@base_contains("DISTRO_FEATURES","wifi","task-distro-wifi","", d)} \
\
task-distro-base \
task-distro-extras \
task-base-machine \
task-base-machine-extras \
"
ALLOW_EMPTY = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
# Valid only in MACHINE_FEATURES:
#
# kernel24
# kernel26
# apm
# keyboard
# touchscreen
# screen
# pci
# acpi
# phone
# Valid only in DISTRO_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
# pci
# pcmcia
# usbgadget
# usbhost
DISTRO_CORE_PACKAGE ?= "task-base-core-default"
#
# task-base
#
#
# task-base-oh-minimal
# An example of a small cut down machine configuration
#
RDEPENDS_task-base-minimal = "\
kernel \
${@base_contains("MACHINE_FEATURES","kernel26","task-base-kernel26","task-base-kernel24",d)} \
${@base_contains("MACHINE_FEATURES","apm","task-base-apm","",d)} \
${@base_contains("COMBINED_FEATURES","pcmcia","${PCMCIA_MANAGER}","",d)} \
${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"
RRECOMMENDS_task-base-minimal = "\
${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
RDEPENDS_task-base-core-default = "\
base-files \
base-passwd \
busybox \
initscripts \
netbase \
sysvinit \
sysvinit-pidof \
tinylogin \
modutils-initscripts"
RRECOMMENDS_task-base-core-default = "\
dropbear \
fuser \
setserial"
RDEPENDS_task-base = "\
${DISTRO_CORE_PACKAGE} \
kernel \
${@base_contains("MACHINE_FEATURES", "kernel24", "task-base-kernel24","",d)} \
${@base_contains("MACHINE_FEATURES", "kernel26", "task-base-kernel26","",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("DISTRO_FEATURES", "nfs", "task-distro-nfs","",d)} \
${@base_contains("DISTRO_FEATURES", "ipsec", "task-distro-ipsec","",d)} \
${@base_contains("DISTRO_FEATURES", "ppp", "task-distro-ppp","",d)} \
task-base-machine \
task-distro-base"
RRECOMMENDS_task-base = "\
${@base_contains("MACHINE_FEATURES", "kernel26", "task-base-kernel26-extras","",d)} \
task-base-machine-extras \
task-distro-extras"
RDEPENDS_task-distro-base = "${DISTRO_EXTRA_RDEPENDS}"
RRECOMMENDS_task-distro-extras = "${DISTRO_EXTRA_RRECOMMENDS}"
RDEPENDS_task-base-machine = "${MACHINE_EXTRA_RDEPENDS} ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"
RRECOMMENDS_task-base-machine-extras = "\
${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} \
${MACHINE_EXTRA_RRECOMMENDS}"
RDEPENDS_task-base-kernel24 = "\
modutils-depmod \
linux-hotplug"
RDEPENDS_task-base-kernel26 = "\
udev \
sysfsutils \
module-init-tools"
RRECOMMENDS_task-base-kernel24-extras = "\
kernel-module-input \
kernel-module-uinput"
RRECOMMENDS_task-base-kernel26-extras = "\
kernel-module-input \
kernel-module-uinput"
RDEPENDS_task-base-keyboard = "\
keymaps"
RDEPENDS_task-base-pci = "\
pciutils"
RDEPENDS_task-base-acpi = "\
acpid"
RDEPENDS_task-base-apm = "\
apm \
apmd \
${@base_contains("MACHINE_FEATURES", "kernel24", "network-suspend-scripts","",d)}"
RDEPENDS_task-base-ext2 = "\
e2fsprogs \
e2fsprogs-e2fsck \
e2fsprogs-mke2fs"
RRECOMMENDS_task-base-ext2 = "\
hdparm"
RDEPENDS_task-base-alsa = "\
alsa-utils-alsactl \
alsa-utils-alsamixer"
RRECOMMENDS_task-base-alsa = "\
kernel-module-snd-mixer-oss \
kernel-module-snd-pcm-oss"
RDEPENDS_task-base-pcmcia = "\
${PCMCIA_MANAGER}"
RRECOMMENDS_task-base-pcmcia = "\
${@base_contains("DISTRO_FEATURES","wifi","task-base-pcmcia-wifi","", d)} \
${@base_contains("DISTRO_FEATURES","bluetooth","task-base-pcmcia-bluetooth","", d)} \
kernel-module-pcmcia \
kernel-module-airo-cs \
kernel-module-pcnet-cs \
kernel-module-serial-cs \
kernel-module-ide-cs"
RDEPENDS_task-base-pcmcia-wifi = "\
prism3-firmware \
prism3-support \
spectrum-fw \
hostap-conf \
orinoco-conf \
${@base_contains("MACHINE_FEATURES","kernel26","kernel-module-hostap-cs kernel-module-orinoco-cs kernel-module-spectrum-cs","hostap-modules-cs orinoco-modules-cs",d)}"
RRECOMMENDS_task-base-pcmcia-wifi = "\
hostap-utils"
RDEPENDS_task-base-bluetooth = "\
bluez-utils"
RRECOMMENDS_task-base-bluetooth = "\
blueprobe \
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"
RRECOMMENDS_task-base-usbhost-bluetooth = "\
kernel-module-hci-usb"
RRECOMMENDS_task-base-pcmcia-bluetooth = "\
kernel-module-bluetooth3c-cs \
kernel-module-bluecard-cs \
kernel-module-bluetoothuart-cs \
kernel-module-dtl1-cs \
kernel-module-serial-cs"
RDEPENDS_task-base-irda = "\
irda-utils"
RRECOMMENDS_task-base-irda = "\
${@base_contains("DISTRO_FEATURES","ppp","task-base-irda-ppp","", d)} \
kernel-module-pxaficp-ir \
kernel-module-irda \
kernel-module-ircomm \
kernel-module-ircomm-tty \
kernel-module-irlan \
kernel-module-irport \
kernel-module-irtty"
RRECOMMENDS_task-base-irda-ppp = "\
kernel-module-irnet"
RRECOMMENDS_task-base-usbhost-irda = "\
kernel-module-ir-usb"
RRECOMMENDS_task-base-usbgadget = "\
kernel-module-pxa27x_udc \
kernel-module-gadgetfs \
kernel-module-g-file-storage \
kernel-module-g-serial \
kernel-module-g-ether"
RDEPENDS_task-base-usbhost = "\
usbutils"
RRECOMMENDS_task-base-usbhost = "\
${@base_contains("DISTRO_FEATURES","bluetooth","task-base-usbhost-bluetooth","", d)} \
${@base_contains("DISTRO_FEATURES","irda","task-base-usbhost-irda","", d)} \
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-usbserial \
kernel-module-usb-storage"
RRECOMMENDS_task-base-pci-wifi = "\
hostap-utils"
RDEPENDS_task-distro-ppp = "\
ppp \
ppp-dialin"
RRECOMMENDS_task-distro-ppp = "\
kernel-module-ppp-async \
kernel-module-ppp-deflate \
kernel-module-ppp-mppe"
RDEPENDS_task-distro-ipsec = "\
openswan"
RRECOMMENDS_task-distro-ipsec = "\
kernel-module-ipsec"
RDEPENDS_task-distro-wifi = "\
wireless-tools"
RRECOMMENDS_task-distro-wifi = "\
kernel-module-ieee80211-crypt \
kernel-module-ieee80211-crypt-ccmp \
kernel-module-ieee80211-crypt-tkip \
kernel-module-ieee80211-crypt-wep \
kernel-module-arc4 \
kernel-module-michael-mic \
kernel-module-aes \
wpa-supplicant"
RRECOMMENDS_task-distro-smbfs = "\
kernel-module-cifs \
kernel-module-smbfs"
RRECOMMENDS_task-distro-cramfs = "\
kernel-module-cramfs"
RDEPENDS_task-distro-nfs = "\
portmap"
RRECOMMENDS_task-distro-nfs = "\
kernel-module-nfs \
kernel-module-lockd \
kernel-module-sunrpc"
RRECOMMENDS_task-distro-ipv6 = "\
kernel-module-ipv6"
# Tosort
# 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-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
More information about the Openembedded-devel
mailing list