All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.