From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
To: openembedded-devel@lists.openembedded.org
Subject: RFC: Task-base rewrite
Date: Sun, 4 Mar 2007 22:28:02 +0100 [thread overview]
Message-ID: <200703042228.03665.openembedded@hrw.one.pl> (raw)
[-- Attachment #1: Type: text/plain, Size: 1003 bytes --]
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
[-- Attachment #2: task-base-new.bb --]
[-- Type: text/plain, Size: 11040 bytes --]
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
next reply other threads:[~2007-03-04 21:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-04 21:28 Marcin Juszkiewicz [this message]
2007-03-04 22:55 ` RFC: Task-base rewrite Koen Kooi
2007-03-05 8:04 ` Marcin Juszkiewicz
2007-03-07 17:09 ` Koen Kooi
2007-03-08 13:57 ` Marcin Juszkiewicz
2007-04-12 18:35 ` Marcin Juszkiewicz
2007-04-12 19:19 ` Koen Kooi
2007-04-12 22:26 ` Richard Purdie
2007-04-12 22:31 ` Rod Whitby
2007-04-13 6:19 ` Marcin Juszkiewicz
2007-04-13 8:47 ` Marcin Juszkiewicz
2007-04-17 3:22 ` Cliff Brake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200703042228.03665.openembedded@hrw.one.pl \
--to=openembedded@hrw.one.pl \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.