OE-Core Task Rework
From Openembedded.org
Revision as of 17:40, 15 August 2012 by PaulEggleton (talk | contribs) (More variable-controlled packages)
Aims
See the following thread (cross-posted to OE/Yocto mailing lists): [1] [2] [3]
Existing tasks
Key:
- # - enabled/disabled by appropriate MACHINE_FEATURES or DISTRO_FEATURES
- % - substitutable using a variable in distro config (e.g. VIRTUAL_RUNTIME_*)
Note: recipe descriptions are extracted from the DESCRIPTION field in the recipe, and as you can see they need improvement.
Task package | RDEPENDS | RRECOMMENDS | Comments | |
task-base Merge machine and distro options to create a basic machine task/package | ||||
---|---|---|---|---|
task-base | task-distro-base task-machine-base sysfsutils module-init-tools task-base-apm# task-base-acpi# task-base-keyboard# task-base-phone# task-base-alsa# task-base-ext2# task-base-irda# task-base-pci# task-base-pcmcia# task-base-usbgadget# task-base-usbhost# task-base-bluetooth# task-base-nfs# task-base-cramfs# task-base-smbfs# task-base-ipv6# task-base-ppp# task-base-raid# task-base-zeroconf# |
kernel-module-nls-utf8 kernel-module-input kernel-module-uinput kernel-module-rtc-dev kernel-module-rtc-proc kernel-module-rtc-sysfs kernel-module-unix |
||
task-base-extended | task-base task-base-wifi# task-base-bluetooth# task-base-3g# |
Intended to add bluetooth/3g/wifi packages if it is possible to plug in an adapter for these into the machine (determined by availability of pci/usb/pcmcia etc.) Along with task-core-boot, this task is installed by default in any image that inherits from core-image.bbclass (unless the image sets its own value for IMAGE_INSTALL - e.g. core-image-minimal does this). | ||
task-distro-base | ${DISTRO_EXTRA_RDEPENDS} | ${DISTRO_EXTRA_RRECOMMENDS} | ||
task-machine-base | ${MACHINE_EXTRA_RDEPENDS} | ${MACHINE_EXTRA_RRECOMMENDS} | ||
task-base-alsa# | alsa-utils-alsactl alsa-utils-alsamixer alsa-state% |
kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss |
||
task-base-acpi# | acpid libacpi |
|||
task-base-apm# | apm% apmd |
|||
task-base-ext2# | hdparm e2fsprogs e2fsprogs-e2fsck e2fsprogs-mke2fs |
|||
task-base-vfat# | kernel-module-msdos kernel-module-vfat kernel-module-nls-iso8859-1 kernel-module-nls-cp437 |
|||
task-base-ipsec# | openswan | We don't actually have openswan in OE-Core, thus if ipsec is in DISTRO_FEATURES and no other layer is enabled that does contain it -> fail! | ||
task-base-irda# | irda-utils | 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-irtty-sir kernel-module-sir-dev kernel-module-ir-usb# |
||
task-base-keyboard# | keymaps | |||
task-base-pci# | pciutils | |||
task-base-pcmcia# | pcmciautils | kernel-module-pcmcia kernel-module-airo-cs kernel-module-pcnet-cs kernel-module-serial-cs kernel-module-ide-cs kernel-module-ide-disk kernel-module-hostap-cs kernel-module-orinoco-cs kernel-module-spectrum-cs |
||
task-base-phone# | ofono | |||
task-base-screen# | ||||
task-base-serial# | setserial lrzsz |
|||
task-base-touchscreen# | ||||
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# | usbutils | kernel-module-uhci-hcd kernel-module-ohci-hcd kernel-module-ehci-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 |
||
task-base-uboot# | Obsolete? | |||
task-base-redboot# | Obsolete? | |||
task-base-apex# | Obsolete? | |||
task-base-bluetooth# | bluez4 | 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-hci-usb kernel-module-bluetooth3c-cs kernel-module-bluecard-cs kernel-module-bluetoothuart-cs kernel-module-dtl1-cs |
||
task-base-wifi# | wireless-tools hostap-utils# wpa-supplicant |
kernel-module-zd1211rw# kernel-module-ieee80211-crypt kernel-module-ieee80211-crypt-ccmp kernel-module-ieee80211-crypt-tkip kernel-module-ieee80211-crypt-wep kernel-module-ecb kernel-module-arc4 kernel-module-crypto_algapi kernel-module-cryptomgr kernel-module-michael-mic kernel-module-aes-generic kernel-module-aes |
||
task-base-3g# | ofono | kernel-module-cdc-acm kernel-module-cdc-wdm |
||
task-base-cramfs# | kernel-module-cramfs | |||
task-base-ipv6# | kernel-module-ipv6 | |||
task-base-nfs# | portmap | kernel-module-nfs | ||
task-base-ppp# | ppp ppp-dialin |
kernel-module-ppp-async kernel-module-ppp-deflate kernel-module-ppp-generic kernel-module-ppp-mppe kernel-module-slhc |
||
task-base-smbfs# | kernel-module-cifs kernel-module-smbfs |
|||
task-base-raid# | Doesn't do anything - maybe could bring in mdadm? | |||
task-base-zeroconf# | avahi-daemon | |||
task-core-apps-x11-pimlico X11 Pimlico Appications List | ||||
task-core-apps-x11-pimlico | evolution-data-server contacts dates tasks gaku |
|||
task-core-basic Create Basic Image Tasks | ||||
task-core-basic | task-core-base-utils task-core-basic-libs task-core-basic-utils task-core-basic-extended task-core-dev-utils task-core-multiuser task-core-initscripts task-core-rpm task-core-sys-services |
Note: this was intended for LSB, possibly to be renamed | ||
task-core-base-utils | busybox | Poorly named and doesn't seem particularly useful | ||
task-core-basic-libs | glib-2.0 | |||
task-core-basic-utils | bash acl attr bc coreutils cpio e2fsprogs ed file findutils gawk gmp grep makedevs mc mktemp ncurses net-tools pax popt procps psmisc sed tar time udev util-linux zlib |
|||
task-core-basic-extended | iproute2 iputils iptables module-init-tools openssl |
|||
task-core-dev-utils | byacc diffutils m4 make patch |
|||
task-core-multiuser | cracklib gzip libuser libpam shadow sudo |
|||
task-core-initscripts | initscripts sysvinit ethtool mingetty sysklogd |
|||
task-core-rpm | beecrypt rpm zypper |
|||
task-core-sys-services | at bzip2 cronie dbus dbus-glib python-dbus elfutils gzip less libcap libevent lighttpd logrotate nfs-utils pciutils libpcre rpcbind sysfsutils tcp-wrappers tzdata |
|||
task-core-boot Task for OpenedHand Poky - minimal bootable image | ||||
task-core-boot | base-files base-passwd busybox initscripts% keymaps# modutils-initscripts netbase tinylogin% sysvinit% udev% update-alternatives-cworth% ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} |
${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} | The main task installed by most images in OE-Core and any image that inherits from core-image.bbclass. | |
task-core-clutter Clutter Tasks for OpenedHand Poky | ||||
task-core-clutter-core | clutter-1.8 clutter-gst-1.8 clutter-gtk-1.8 |
|||
task-core-clutter-apps | Commented out | |||
task-core-clutter-tests | Commented out | |||
task-core-console Tasks for core console applications | ||||
task-core-apps-console | avahi-daemon dbus portmap psplash% |
psplash is not really an application... | ||
task-core-gtk-directfb gkt+ over directfb without x11 | ||||
task-core-gtk-directfb | ||||
task-core-gtk-directfb-base | directfb directfb-examples pango pango-modules fontconfig gtk+ gtk-demo dropbear tslib tslib-calibrate tslib-tests |
|||
task-core-lsb Create Small Image Tasks | ||||
task-core-lsb | task-core-sys-extended task-core-db task-core-misc task-core-perl task-core-python task-core-tcl task-core-lsb-perl-add task-core-lsb-python-add task-core-lsb-graphic-add task-core-lsb-runtime-add task-core-lsb-command-add |
|||
task-core-sys-extended | binutils binutils-symlinks chkconfig curl dhcp-client diffutils gamin hdparm libaio libxml2 lrzsz lzo mc mdadm minicom neon parted pth% quota screen setserial sysstat unzip watchdog which xinetd zip lsbinitscripts |
|||
task-core-db | db sqlite3 |
|||
task-core-misc | elfutils gettext gettext-runtime groff lsb lsbsetup lsbtest lsof man man-pages ncurses strace libusb1 usbutils zlib |
|||
task-core-perl | gdbm perl zlib |
|||
task-core-python | expat gdbm gmp ncurses openssl python readline zip |
|||
task-core-tcl | tcl | |||
task-core-lsb-perl-add | perl-modules perl-misc perl-pod |
|||
task-core-lsb-python-add | python-modules python-misc |
|||
task-core-lsb-graphic-add | libqtcore4 libqtgui4 libqtsql4 libqtsvg4 libqtxml4 libqtnetwork4 libxt libxxf86vm libdrm libglu libxi libxtst qt4-plugin-sqldriver-sqlite libx11-locale xorg-minimal-fonts gdk-pixbuf-loader-ico gdk-pixbuf-loader-bmp gdk-pixbuf-loader-ani gdk-pixbuf-xlib liberation-fonts gtk+ atk libasound libqtopengl4% |
|||
task-core-lsb-runtime-add | ldd pam-plugin-wheel e2fsprogs-mke2fs mkfontdir liburi-perl libxml-parser-perl libxml-perl libxml-sax-perl eglibc-localedatas eglibc-gconvs eglibc-charmaps eglibc-binaries eglibc-localedata-posix eglibc-extra-nss eglibc-pcprofile eglibc-pic eglibc-utils |
|||
task-core-lsb-command-add | localedef fontconfig-utils mailx msmtp chkconfig xdg-utils foomatic-filters cups ghostscript |
|||
task-core-nfs NFS tasks for Poky | ||||
task-core-nfs-server | nfs-utils nfs-utils-client |
glibc-utils | ||
task-core-qt Qt Tasks for Poky | ||||
task-core-qt-demos | quicky fotowall |
|||
task-core-sdk Software Development Tasks for OpenedHand Poky | ||||
task-core-sdk | autoconf automake binutils binutils-symlinks coreutils cpp cpp-symlinks ccache diffutils gcc gcc-symlinks g++ g++-symlinks gettext make intltool libstdc++ libstdc++-dev libtool perl-module-re perl-module-text-wrap pkgconfig findutils quilt less distcc ldd file tcl |
libgomp libgomp-dev |
||
task-core-sdk-gmae Gnome Mobile And Embedded Software Development Kit for OE-Core | ||||
task-core-sdk-gmae | task-core-sdk libglade-dev dbus-dev% dbus-glib-dev% gtk+-dev% gstreamer-dev% bluez4-dev% gconf-dev% avahi-dev% telepathy-glib-dev% evolution-data-server-dev% libecal-dev% libebook-dev% libxi-dev% libsqlite3-dev% galago-daemon% gnome-desktop% gssdp% gupnp% gupnp-av% gupnp-tools% gypsy% libart-lgpl% libgalago% libtelepathy% pulseaudio% telepathy-glib% telepathy-idle% telepathy-mission-control% telepathy-python% valgrind% lttng-ust-dev% |
Contents mostly controlled by SDK-GMAE and SDK-EXTRAS variables | ||
task-core-ssh-dropbear Dropbear SSH task for Poky | ||||
task-core-ssh-dropbear | dropbear | |||
task-core-ssh-openssh OpenSSH SSH task for Poky | ||||
task-core-ssh-openssh | openssh | |||
task-core-standalone-gmae-sdk-target Gnome Mobile And Embedded Software Development Kit for OE-Core | ||||
task-core-standalone-gmae-sdk-target | task-core-standalone-sdk-target libglade-dev dbus-dev% dbus-glib-dev% gtk+-dev% gstreamer-dev% bluez4-dev% gconf-dev% avahi-dev% telepathy-glib-dev% evolution-data-server-dev% libecal-dev% libebook-dev% libxi-dev% libsqlite3-dev% galago-daemon% gnome-desktop% gssdp% gupnp% gupnp-av% gupnp-tools% gypsy% libart-lgpl% libgalago% libtelepathy% pulseaudio% telepathy-glib% telepathy-idle% telepathy-mission-control% telepathy-python% valgrind% lttng-ust-dev% |
Contents mostly controlled by SDK-GMAE and SDK-EXTRAS variables | ||
task-core-standalone-sdk-target Target packages for the standalone SDK | ||||
task-core-standalone-sdk-target | libgcc libgcc-dev libstdc++ libstdc++-dev libsegfault eglibc eglibc-dbg eglibc-dev eglibc-utils eglibc-thread-db eglibc-localedata-i18n eglibc-gconv-ibm850 eglibc-gconv-cp1252 eglibc-gconv-iso8859-1 eglibc-gconv-iso8859-15 |
|||
task-core-tools-debug Debug tools tasks for OE-Core | ||||
task-core-tools-debug | gdb gdbserver tcf-agent openssh-sftp-server rsync strace libc-mtrace |
|||
task-core-tools-profile Profile tools tasks for OE-Core | ||||
task-core-tools-profile | oprofile% oprofileui-server% powertop% latencytop% lttng-control% lttng-viewer% lttng-ust% systemtap% valgrind% |
perf trace-cmd kernel-module-oprofile blktrace sysprof |
Contents controlled by PROFILETOOLS, LTTNGUST, SYSTEMTAP and VALGRIND variables; the last three are to avoid pulling these packages in on platforms where they don't work. | |
task-core-tools-testapps Test apps task for OE-Core | ||||
task-core-tools-testapps | blktool fstests tslib-calibrate tslib-tests lrzsz kexec alsa-utils-amixer alsa-utils-aplay owl-video gst-meta-video gst-meta-audio mesa-demos x11perf xrestop xwininfo xprop xvideo-tests clutter-box2d ltp |
|||
task-core-x11 Tasks for core X11 applications | ||||
task-core-apps-x11-core | leafpad pcmanfm% matchbox-terminal sato-screenshot |
|||
task-core-apps-x11-games | oh-puzzles | |||
task-core-x11-base | dbus pointercal matchbox-wm matchbox-keyboard matchbox-keyboard-applet matchbox-keyboard-im matchbox-panel-2 matchbox-desktop matchbox-session xserver-kdrive-fbdev% x11-common% xserver-nodm-init% liberation-fonts xauth xhost xset xrandr |
This is probably useless - replace with task-core-x11-mini and move other bits to sato-specific tasks | ||
task-core-x11-mini Tasks for core X11 applications | ||||
task-core-x11-mini | dbus pointercal matchbox-terminal matchbox-wm mini-x-session xserver-kdrive-fbdev% x11-common% xserver-nodm-init% liberation-fonts xauth xhost xset xrandr |
Contents partially controlled by XSERVER and other variables | ||
task-core-x11-sato Sato Tasks for Poky | ||||
task-core-x11-sato | matchbox-desktop matchbox-session-sato matchbox-keyboard matchbox-stroke matchbox-config-gtk xcursor-transparent-theme sato-icon-theme settings-daemon gtk-sato-engine gthumb x11vnc libsdl gaku connman-gnome% |
|||
task-qt4e QT4 Embedded base Image Feed | ||||
task-qt4e | ||||
task-qt4e-base | qt4-embedded libqt-embedded3support4 libqt-embeddedclucene4 libqt-embeddedcore4 libqt-embeddeddbus4 libqt-embeddedgui4 libqt-embeddedhelp4 libqt-embeddedmultimedia4 libqt-embeddednetwork4 libqt-embeddedscript4 libqt-embeddedscripttools4 libqt-embeddedsql4 libqt-embeddedsvg4 libqt-embeddedtest4 libqt-embeddedwebkit4 libqt-embeddedxml4 qt4-embedded-fonts-ttf-dejavu qt4-embedded-fonts-ttf-vera qt4-embedded-plugin-iconengine-svgicon qt4-embedded-plugin-imageformat-gif qt4-embedded-plugin-imageformat-ico qt4-embedded-plugin-imageformat-jpeg qt4-embedded-plugin-imageformat-mng qt4-embedded-plugin-imageformat-svg qt4-embedded-plugin-imageformat-tiff qt4-embedded-plugin-mousedriver-tslib qt4-embedded-plugin-phonon-backend-gstreamer qt4-embedded-plugin-script-dbus qt4-embedded-plugin-sqldriver-sqlite tslib tslib-calibrate tslib-tests qt4-embedded-demos qt4-embedded-examples qt-demo-init qt4-embedded-assistant |
libqt-embeddedxmlpatterns4 | ||
task-qte-toolchain-host-nativesdk Host packages for Qt Embedded SDK | ||||
task-qte-toolchain-host-nativesdk | pkgconfig-nativesdk qemu-nativesdk qemu-helper-nativesdk pseudo-nativesdk unfs-server-nativesdk opkg-nativesdk libtool-nativesdk autoconf-nativesdk automake-nativesdk qt4-tools-nativesdk |
|||
task-qte-toolchain-target Target packages for Qt Embedded SDK | ||||
task-qte-toolchain-target | task-core-standalone-sdk-target qt4-embedded-mkspecs libqt-embeddedmultimedia4-dev libqt-embeddedphonon4-dev libqt-embedded3support4-dev libqt-embeddedclucene4-dev libqt-embeddedcore4-dev libqt-embeddeddbus4-dev libqt-embeddeddesignercomponents4-dev libqt-embeddeddesigner4-dev libqt-embeddeduitools4-dev libqt-embeddedgui4-dev libqt-embeddedhelp4-dev libqt-embeddednetwork4-dev libqt-embeddedscript4-dev libqt-embeddedscripttools4-dev libqt-embeddedsql4-dev libqt-embeddedsvg4-dev libqt-embeddedtest4-dev libqt-embeddedwebkit4-dev libqt-embeddedxml4-dev libsqlite3-dev expat-dev |
|||
task-sdk-host-nativesdk Host packages for the standalone SDK or external toolchain | ||||
task-sdk-host-nativesdk | pkgconfig-nativesdk qemu-nativesdk qemu-helper-nativesdk pseudo-nativesdk unfs-server-nativesdk opkg-nativesdk libtool-nativesdk autoconf-nativesdk automake-nativesdk |
|||
task-self-hosted Create Basic Image Tasks | ||||
task-self-hosted | task-self-hosted-debug task-self-hosted-sdk task-self-hosted-extended task-self-hosted-graphics task-self-hosted-host-tools |
Intended to pull in the packages for build-appliance-image - i.e. packages required to actually run the build system on the target. | ||
task-self-hosted-debug | gdb gdbserver rsync strace tcf-agent |
|||
task-self-hosted-sdk | autoconf automake binutils binutils-symlinks ccache coreutils cpp cpp-symlinks distcc eglibc-utils eglibc-gconv-ibm850 file findutils g++ g++-symlinks gcc gcc-symlinks intltool ldd less libstdc++ libstdc++-dev libtool make mktemp perl-module-re perl-module-text-wrap pkgconfig quilt sed |
|||
task-self-hosted-extended | bzip2 chkconfig chrpath cpio curl diffstat diffutils elfutils expat gamin gawk gdbm gettext gettext-runtime git grep groff gzip hicolor-icon-theme libaio libusb1 libxml2 lrzsz lsof lzo man man-pages mdadm minicom mtools ncurses neon nfs-utils nfs-utils-client openssl opkg opkg-utils patch perl perl-dev perl-modules perl-pod pth% python python-compile python-compiler python-compression python-core python-curses python-datetime python-distutils python-elementtree python-email python-fcntl python-logging python-misc python-multiprocessing python-netclient python-netserver python-pickle python-pkgutil python-re python-rpm python-shell python-sqlite3 python-subprocess python-textutils python-unixadmin python-xmlrpc quota readline rpm setserial socat subversion sudo sysstat tar tcl texi2html texinfo unzip usbutils watchdog wget which xinetd zip zlib |
|||
task-self-hosted-graphics | builder libgl libgl-dev libglu libglu-dev libsdl libsdl-dev libx11-dev python-pygtk gtk-theme-clearlooks |
|||
task-self-hosted-host-tools | connman connman-plugin-ethernet dhcp-client e2fsprogs e2fsprogs-e2fsck e2fsprogs-fsck e2fsprogs-mke2fs e2fsprogs-tune2fs genext2fs hdparm iptables kernel-module-tun kernel-module-iptable-raw kernel-module-iptable-nat kernel-module-iptable-mangle kernel-module-iptable-filter lsb mc parted pseudo screen vte |
The previous table was mostly assembled using this script (with a bunch of editing afterwards, of course - you also have to force on all DISTRO_FEATURES/MACHINE_FEATURES if processing tasks like task-base that look at those variables):
#!/bin/bash # Hacked up OE task info extraction script extractvalue() { grep "^$1=" $tempfile | sed -e "s/^$1=\"//" -e 's/"$//' -E -e "s/[ \t]+/ /g" } if [ -z "$1" ] ; then echo "Please specify a recipe" exit 1 fi tempfile=`mktemp` bitbake -e $1 > $tempfile PACKAGES=`extractvalue PACKAGES` maindesc=`extractvalue DESCRIPTION` cgiturl="http://cgit.openembedded.org/openembedded-core/tree/" recipe=`extractvalue FILE | sed 's!^.*/meta!meta!'` echo "!colspan=\"5\"|''[${cgiturl}${recipe} $1]''<BR>$maindesc" echo "|-" for pkg in $PACKAGES ; do echo "$pkg" | grep -q -- '-dev$' && continue echo "$pkg" | grep -q -- '-dbg$' && continue echo "$pkg" | grep -q -- '-doc$' && continue echo "$pkg" | grep -q -- '-staticdev$' && continue echo "$pkg" | grep -q -- '-locale$' && continue deps=`extractvalue RDEPENDS_$pkg | sed 's/ /<BR>/g'` recs=`extractvalue RRECOMMENDS_$pkg | sed 's/ /<BR>/g'` echo "||$pkg||$deps||$recs||" echo "|-" done rm $tempfile