Configured layers: layer repository name: bitbake layer uri: git://git.openembedded.net/bitbake layer branch/revision: master/HEAD Updating layer at layers/bitbake Current branch master is up to date. Layers present in repository: layer repository name: openembedded-core layer uri: git://git.openembedded.org/openembedded-core layer branch/revision: master/HEAD Updating layer at layers/openembedded-core Current branch master is up to date. Layers present in repository: openembedded-core/meta openembedded-core/meta-rt layer repository name: meta-angstrom layer uri: git://git.angstrom-distribution.org/meta-angstrom layer branch/revision: master/HEAD Updating layer at layers/meta-angstrom Current branch master is up to date. Layers present in repository: meta-angstrom layer repository name: meta-openembedded layer uri: git://git.openembedded.net/meta-openembedded layer branch/revision: master/HEAD Updating layer at layers/meta-openembedded Current branch master is up to date. Layers present in repository: meta-openembedded/meta-efl meta-openembedded/meta-oe meta-openembedded/meta-gnome meta-openembedded/meta-gpe layer repository name: meta-texasinstruments layer uri: git://git.angstrom-distribution.org/meta-texasinstruments layer branch/revision: master/HEAD Updating layer at layers/meta-texasinstruments Current branch master is up to date. Layers present in repository: meta-texasinstruments Using /home/koen/.oe/environment-oecore to setup needed variables. It is recommended to do '. /home/koen/.oe/environment-oecore' and run 'bitbake something' without using ./oebb.sh as wrapper Executing: MACHINE=beagleboard bitbake -e console-image Loading cache...done. Loaded 1457 entries from dependency cache. Parsing recipes...done. Parsing of 1148 .bb files complete (1147 cached, 1 parsed). 1457 targets, 32 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies NOTE: multiple providers are available for runtime psplash-support (psplash, psplash-angstrom, psplash-omap3pandora, psplash-ti) NOTE: consider defining a PREFERRED_PROVIDER entry to match psplash-support # LANG=en_US.UTF-8 LANG="en_US.UTF-8" # TERM=screen export TERM="screen" # SHELL=/bin/bash export SHELL="/bin/bash" # PSEUDO_BUILD=0 PSEUDO_BUILD="0" # TOPDIR=/OE/tentacle TOPDIR="/OE/tentacle" # BBFILES=/OE/tentacle/sources/openembedded-core/meta/packages/*/*.bb /OE/tentacle/sources/openembedded-core/meta/recipes-*/*/*.bb /OE/tentacle/sources/meta-angstrom/recipes*/*/*.bb /OE/tentacle/sources/meta-angstrom/recipes*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-efl/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-efl/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-gpe/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-gpe/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-gnome/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-gnome/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-texasinstruments/recipes*/*/*.bb /OE/tentacle/sources/meta-texasinstruments/recipes*/*/*.bbappend BBFILES="/OE/tentacle/sources/openembedded-core/meta/packages/*/*.bb /OE/tentacle/sources/openembedded-core/meta/recipes-*/*/*.bb /OE/tentacle/sources/meta-angstrom/recipes*/*/*.bb /OE/tentacle/sources/meta-angstrom/recipes*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-efl/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-efl/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-gpe/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-gpe/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-openembedded/meta-gnome/recipes-*/*/*.bb /OE/tentacle/sources/meta-openembedded/meta-gnome/recipes-*/*/*.bbappend /OE/tentacle/sources/meta-texasinstruments/recipes*/*/*.bb /OE/tentacle/sources/meta-texasinstruments/recipes*/*/*.bbappend" # BBLAYERS= ${TOPDIR}/sources/openembedded-core/meta ${TOPDIR}/sources/meta-angstrom ${TOPDIR}/sources/meta-openembedded/meta-oe ${TOPDIR}/sources/meta-openembedded/meta-efl ${TOPDIR}/sources/meta-openembedded/meta-gpe ${TOPDIR}/sources/meta-openembedded/meta-gnome ${TOPDIR}/sources/meta-texasinstruments BBLAYERS="/OE/tentacle/sources/openembedded-core/meta /OE/tentacle/sources/meta-angstrom /OE/tentacle/sources/meta-openembedded/meta-oe /OE/tentacle/sources/meta-openembedded/meta-efl /OE/tentacle/sources/meta-openembedded/meta-gpe /OE/tentacle/sources/meta-openembedded/meta-gnome /OE/tentacle/sources/meta-texasinstruments" # LCONF_VERSION=3 LCONF_VERSION="3" # BBPATH=${TOPDIR}:/OE/tentacle/sources/openembedded-core/meta:/OE/tentacle/sources/meta-angstrom:/OE/tentacle/sources/meta-openembedded/meta-oe:/OE/tentacle/sources/meta-openembedded/meta-efl:/OE/tentacle/sources/meta-openembedded/meta-gpe:/OE/tentacle/sources/meta-openembedded/meta-gnome:/OE/tentacle/sources/meta-texasinstruments BBPATH="/OE/tentacle:/OE/tentacle/sources/openembedded-core/meta:/OE/tentacle/sources/meta-angstrom:/OE/tentacle/sources/meta-openembedded/meta-oe:/OE/tentacle/sources/meta-openembedded/meta-efl:/OE/tentacle/sources/meta-openembedded/meta-gpe:/OE/tentacle/sources/meta-openembedded/meta-gnome:/OE/tentacle/sources/meta-texasinstruments" # MACHINE=beagleboard unset MACHINE # PWD=/OE/tentacle export PWD="/OE/tentacle" # LOGNAME=koen export LOGNAME="koen" # USER=koen export USER="koen" # FILE=/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image.bb FILE="/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image.bb" # PATH=${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}/${base_bindir_native}:/OE/tentacle/sources/openembedded-core/scripts:/OE/tentacle/sources/bitbake/bin:/OE/tentacle/sources/openembedded-core/scripts:/OE/tentacle/sources/bitbake/bin:/OE/tentacle/sources/openembedded-core/scripts:/OE/tentacle/sources/bitbake/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/X11/bin:/usr/local/bin:/usr/local/enlightenment/bin:/usr/local/j2re1.4.1/bin:/OE/tentacle/sources/openembedded-core/scripts export PATH="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi:/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/bin/crossscripts:/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/sbin:/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin:/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/sbin:/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux//bin:/OE/tentacle/sources/openembedded-core/scripts:/OE/tentacle/sources/bitbake/bin:/OE/tentacle/sources/openembedded-core/scripts:/OE/tentacle/sources/bitbake/bin:/OE/tentacle/sources/openembedded-core/scripts:/OE/tentacle/sources/bitbake/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/X11/bin:/usr/local/bin:/usr/local/enlightenment/bin:/usr/local/j2re1.4.1/bin:/OE/tentacle/sources/openembedded-core/scripts" # HOME=/home/koen export HOME="/home/koen" # DISTRO=angstrom unset DISTRO # _=/OE/tentacle/sources/bitbake/bin/bitbake _="/OE/tentacle/sources/bitbake/bin/bitbake" # BB_ENV_EXTRAWHITE=PSEUDO_BUILD PSEUDO_DISABLED MACHINE DISTRO TCLIBC TCMODE GIT_PROXY_COMMAND http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS BB_ENV_EXTRAWHITE="PSEUDO_BUILD PSEUDO_DISABLED MACHINE DISTRO TCLIBC TCMODE GIT_PROXY_COMMAND http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS" # PREFERRED_VERSION_qt4-x11-free=${ANGSTROM_QT_VERSION} PREFERRED_VERSION_qt4-x11-free="4.7.1" # SRCREV_pn-libccss=92bc59e1d39302c8be500d53cb5dd8b05c2e4a15 SRCREV_pn-libccss="92bc59e1d39302c8be500d53cb5dd8b05c2e4a15" # STAGING_INCDIR_NATIVE=${STAGING_DIR_NATIVE}${includedir_native} STAGING_INCDIR_NATIVE="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/include" # ROOT_FLASH_SIZE=256 ROOT_FLASH_SIZE="256" # PREFERRED_VERSION_autoconf-native=2.65 PREFERRED_VERSION_autoconf-native="2.65" # PREFERRED_VERSION_opie-todo=${OPIE_VERSION} PREFERRED_VERSION_opie-todo="1.2.4" # localstatedir=${base_prefix}/var export localstatedir="/var" # PREFERRED_VERSION_opie-mediaplayer1-libmodplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer1-libmodplugin="1.2.4" # PREFERRED_VERSION_opie-today=${OPIE_VERSION} PREFERRED_VERSION_opie-today="1.2.4" # prefix=/usr export prefix="/usr" # PREFERRED_VERSION_opie-irc=${OPIE_VERSION} PREFERRED_VERSION_opie-irc="1.2.4" # FREESMARTPHONE_GIT=git://git.freesmartphone.org FREESMARTPHONE_GIT="git://git.freesmartphone.org" # MKUBIFS_ARGS=-m 2048 -e 129024 -c 1996 MKUBIFS_ARGS="-m 2048 -e 129024 -c 1996" # PREFERRED_VERSION_opie-confeditor=${OPIE_VERSION} PREFERRED_VERSION_opie-confeditor="1.2.4" # CPP=${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} export CPP="arm-angstrom-linux-gnueabi-gcc -E --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # PREFERRED_VERSION_opie-mediaplayer2-skin-techno=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer2-skin-techno="1.2.4" # IMAGE_ROOTFS_SIZE_ext2=65536 IMAGE_ROOTFS_SIZE_ext2="65536" # CVSDIR=${CO_DIR}/cvs CVSDIR="/OE/tentacle/sources/downloads/cvs" # SVNDIR=${CO_DIR}/svn SVNDIR="/OE/tentacle/sources/downloads/svn" # mandir=${datadir}/man export mandir="/usr/share/man" # PREFERRED_VERSION_gcc-cross-intermediate=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-cross-intermediate="4.5" # PREFERRED_PROVIDER_virtual/update-alternatives=opkg PREFERRED_PROVIDER_virtual/update-alternatives="opkg" # PREFERRED_VERSION_fontconfig=2.8.0 PREFERRED_VERSION_fontconfig="2.8.0" # bindir_cross=/bin bindir_cross="/bin" # HOST_CC_ARCH=${TARGET_CC_ARCH} HOST_CC_ARCH="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize -mthumb-interwork -mno-thumb" # PKGWRITEDIRIPK=${WORKDIR}/deploy-ipks PKGWRITEDIRIPK="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/deploy-ipks" # PREFERRED_VERSION_qt4-tools-native=${ANGSTROM_QT_VERSION} PREFERRED_VERSION_qt4-tools-native="4.7.1" # BASEDEPENDS=${@base_dep_prepend(d)} # PREFERRED_PROVIDER_libgcc-nativesdk=libgcc-nativesdk PREFERRED_PROVIDER_libgcc-nativesdk="libgcc-nativesdk" # DISTRO_BLUETOOTH_MANAGER=blueprobe bluez4 DISTRO_BLUETOOTH_MANAGER="blueprobe bluez4" # FAKEROOTDIRS=${PSEUDO_LOCALSTATEDIR} FAKEROOTDIRS="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/pseudo/" # STRIP=${HOST_PREFIX}strip export STRIP="arm-angstrom-linux-gnueabi-strip" # PREFERRED_VERSION_opie-usermanager=${OPIE_VERSION} PREFERRED_VERSION_opie-usermanager="1.2.4" # PREFERRED_VERSION_opie-style-web=${OPIE_VERSION} PREFERRED_VERSION_opie-style-web="1.2.4" # STAGING_DATADIR=${STAGING_DIR_HOST}${datadir} STAGING_DATADIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/share" # target_datadir=/usr/share target_datadir="/usr/share" # PREFERRED_VERSION_opie-security=${OPIE_VERSION} PREFERRED_VERSION_opie-security="1.2.4" # BUILD_VENDOR= # PREFERRED_VERSION_qt4-x11-free-gles=${ANGSTROM_QT_VERSION} PREFERRED_VERSION_qt4-x11-free-gles="4.7.1" # IMAGE_ROOTFS=${WORKDIR}/rootfs IMAGE_ROOTFS="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs" # XTERM_TERMCMDRUN=${XTERM_TERMCMD} -e $SHELLCMDS XTERM_TERMCMDRUN="xterm -T \"$TERMWINDOWTITLE\" -e $SHELLCMDS" # STAGING_SIPDIR=${STAGING_DATADIR_NATIVE}/sip export STAGING_SIPDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/share/sip" # base_bindir_native=/bin base_bindir_native="/bin" # MACHINE_OVERRIDES= ${FEED_ARCH} ${SOC_FAMILY} MACHINE_OVERRIDES="armv7a omap3" # SECTION_${PN}-dbg=None # PREFERRED_VERSION_opie-minesweep=${OPIE_VERSION} PREFERRED_VERSION_opie-minesweep="1.2.4" # DATETIME=${DATE}${TIME} DATETIME="20110510174610" # P=${PN}-${PV} P="console-image-1.0" # ASSUME_PROVIDED=bzip2-native cvs-native grep-native diffstat-native mercurial-native patch-native perl-native-runtime python-native-runtime svn-native tar-native texinfo-native virtual/libintl-native ASSUME_PROVIDED="bzip2-native cvs-native grep-native diffstat-native mercurial-native patch-native perl-native-runtime python-native-runtime svn-native tar-native texinfo-native virtual/libintl-native" # PREFERRED_VERSION_binutils-crosssdk=${ANGSTROM_BINUTILS_VERSION} PREFERRED_VERSION_binutils-crosssdk="2.20.1" # IMAGE_DEV_MANAGER=${@base_contains("MACHINE_FEATURES", "kernel26", "udev","",d)} IMAGE_DEV_MANAGER="udev" # PREFERRED_VERSION_opie-light-and-power=${OPIE_VERSION} PREFERRED_VERSION_opie-light-and-power="1.2.4" # PREFERRED_VERSION_opie-keyboard=${OPIE_VERSION} PREFERRED_VERSION_opie-keyboard="1.2.4" # PREFERRED_VERSION_opie-sh-snes=${OPIE_VERSION} PREFERRED_VERSION_opie-sh-snes="1.2.4" # PREFERRED_VERSION_opie-today-mailplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-today-mailplugin="1.2.4" # BUILD_CC=${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} export BUILD_CC="ccache gcc" # SOURCE_MIRROR_URL=None # PREFERRED_VERSION_opie-deco-polished=${OPIE_VERSION} PREFERRED_VERSION_opie-deco-polished="1.2.4" # PREFERRED_VERSION_opie-citytime=${OPIE_VERSION} PREFERRED_VERSION_opie-citytime="1.2.4" # PREFERRED_VERSION_opie-go=${OPIE_VERSION} PREFERRED_VERSION_opie-go="1.2.4" # PREFERRED_VERSION_opie-snake=${OPIE_VERSION} PREFERRED_VERSION_opie-snake="1.2.4" # PREFERRED_PROVIDER_classpath=classpath PREFERRED_PROVIDER_classpath="classpath" # PREFERRED_VERSION_qt4-tools-sdk=${ANGSTROM_QT_VERSION} PREFERRED_VERSION_qt4-tools-sdk="4.7.1" # PREFERRED_VERSION_opie-packagemanager=${OPIE_VERSION} PREFERRED_VERSION_opie-packagemanager="1.2.4" # PREFERRED_VERSION_libmailwrapper=${OPIE_VERSION} PREFERRED_VERSION_libmailwrapper="1.2.4" # E_SVN=svn://svn.enlightenment.org/svn/e E_SVN="svn://svn.enlightenment.org/svn/e" # BUILD_CXXFLAGS=${BUILD_CFLAGS} -fpermissive export BUILD_CXXFLAGS="-isystem/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/include -O2 -pipe -fpermissive" # PREFERRED_VERSION_xserver-kdrive=1.4.0.90 PREFERRED_VERSION_xserver-kdrive="1.4.0.90" # OBJCOPY=${HOST_PREFIX}objcopy export OBJCOPY="arm-angstrom-linux-gnueabi-objcopy" # IMAGE_INIT_MANAGER=sysvinit sysvinit-pidof IMAGE_INIT_MANAGER="sysvinit sysvinit-pidof" # PREFERRED_PROVIDER_gdk-pixbuf=gtk+ PREFERRED_PROVIDER_gdk-pixbuf="gtk+" # PREFERRED_VERSION_binutils_avr32=2.17 PREFERRED_VERSION_binutils_avr32="2.17" # EXTENDPEVER=${@['','${PE\x7d:'][bb.data.getVar('PE',d,1) > 0]} # ANGSTROM_MESA_VERSION=7.8.2 ANGSTROM_MESA_VERSION="7.8.2" # SRCREV_pn-librest=14d35103d9649dc1e10c3e9ac2c690b3165c8184 SRCREV_pn-librest="14d35103d9649dc1e10c3e9ac2c690b3165c8184" # PREFERRED_VERSION_opie-rotateapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-rotateapplet="1.2.4" # PREFERRED_VERSION_opie-pics=${OPIE_VERSION} PREFERRED_VERSION_opie-pics="1.2.4" # PALMTOP_USE_MULTITHREADED_QT=yes PALMTOP_USE_MULTITHREADED_QT="yes" # SOLIBSDEV_darwin8=.dylib SOLIBSDEV_darwin8=".dylib" # SOLIBSDEV_darwin9=.dylib SOLIBSDEV_darwin9=".dylib" # IMAGE_INSTALL= ${IMAGE_BOOT} task-base ${ANGSTROM_EXTRA_INSTALL} ${SPLASH} ${ZZAPSPLASH} task-boot update-alternatives-cworth dropbear task-base-extended IMAGE_INSTALL="initscripts udev sysvinit sysvinit-pidof tinylogin task-base psplash-zap task-boot update-alternatives-cworth dropbear task-base-extended" # PREFERRED_VERSION_wpa-supplicant=0.7.3 PREFERRED_VERSION_wpa-supplicant="0.7.3" # SRC_URI=file://${FILE} SRC_URI="file:///OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image.bb" # SSTATEPOSTINSTFUNCS= # includedir_native=${prefix_native}/include includedir_native="/usr/include" # DEPENDS_virtclass-native=${BASEDEPENDS} DEPENDS_virtclass-native="" # PREFERRED_VERSION_opie-textedit=${OPIE_VERSION} PREFERRED_VERSION_opie-textedit="1.2.4" # OES_BITBAKE_CONF=1 OES_BITBAKE_CONF="1" # SRCREV_pn-mozilla-headless-services=c7873654894af6c7c6c01194d6185db46667b81f SRCREV_pn-mozilla-headless-services="c7873654894af6c7c6c01194d6185db46667b81f" # PREFERRED_VERSION_opie-sheet=${OPIE_VERSION} PREFERRED_VERSION_opie-sheet="1.2.4" # SUMMARY_${PN}-doc=None # EXTENDPV=${EXTENDPEVER}${PV}-${PR} EXTENDPV="1.0-r0" # PREFERRED_VERSION_opie-addressbook=${OPIE_VERSION} PREFERRED_VERSION_opie-addressbook="1.2.4" # PREFERRED_VERSION_opie-handwriting=${OPIE_VERSION} PREFERRED_VERSION_opie-handwriting="1.2.4" # MACHINE_EXTRA_RRECOMMENDS= # STAGING_BINDIR=${STAGING_DIR_HOST}${bindir} STAGING_BINDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/bin" # BBFILE_COLLECTIONS= normal angstrom-layer openembedded-layer efl-layer gpe-layer gnome-layer meta-ti BBFILE_COLLECTIONS="normal angstrom-layer openembedded-layer efl-layer gpe-layer gnome-layer meta-ti" # UPDATECOMMAND=ERROR, this must be a BitBake bug UPDATECOMMAND="ERROR, this must be a BitBake bug" # ANGSTROM_URI=http://feeds.angstrom-distribution.org ANGSTROM_URI="http://feeds.angstrom-distribution.org" # MACHINE_KERNEL_PR=r99 MACHINE_KERNEL_PR="r99" # OLDEST_KERNEL_ppc64=2.4.21 OLDEST_KERNEL_ppc64="2.4.21" # EXTENDPE=${@['','${PE\x7d_'][bb.data.getVar('PE',d,1) > 0]} # QTE_VERSION=2.3.10 QTE_VERSION="2.3.10" # PREFERRED_VERSION_opie-notesapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-notesapplet="1.2.4" # FILESDIR=${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')} FILESDIR="/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/." # PREFERRED_VERSION_qte-mt=${QTE_VERSION} PREFERRED_VERSION_qte-mt="2.3.10" # PREFERRED_VERSION_gcc-cross-initial=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-cross-initial="4.5" # MACHINE_KERNEL_VERSION=2.6 MACHINE_KERNEL_VERSION="2.6" # DISTRO_EXTRA_RDEPENDS= angstrom-version ${ANGSTROM_FEED_CONFIGS} util-linux-mount util-linux-umount angstrom-libc-fixup-hack DISTRO_EXTRA_RDEPENDS="angstrom-version angstrom-feed-configs util-linux-mount util-linux-umount angstrom-libc-fixup-hack" # SSTATE_VERSION=2 SSTATE_VERSION="2" # SDK_NAME=${DISTRO}-${TCLIBC}-${SDK_ARCH}-${FEED_ARCH} SDK_NAME="angstrom-eglibc-x86_64-armv7a" # OELAYOUT_ABI=7 OELAYOUT_ABI="7" # PREFERRED_VERSION_opie-bluetoothmanager=${OPIE_VERSION} PREFERRED_VERSION_opie-bluetoothmanager="1.2.4" # TMPDIR=/OE/tentacle/build/tmp-angstrom_2010_x TMPDIR="/OE/tentacle/build/tmp-angstrom_2010_x" # PREFERRED_VERSION_ti-dm355mm-module=1_13 PREFERRED_VERSION_ti-dm355mm-module="1_13" # PREFERRED_VERSION_ti-codecs-dm6446=2_05_00_00 PREFERRED_VERSION_ti-codecs-dm6446="2_05_00_00" # ANGSTROM_GCC_VERSION_ppc405=4.1.1 ANGSTROM_GCC_VERSION_ppc405="4.1.1" # PREFERRED_VERSION_opie-zkbapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-zkbapplet="1.2.4" # PREFERRED_VERSION_libtool=${ANGSTROM_LIBTOOL_VERSION} PREFERRED_VERSION_libtool="2.4" # QEMU_OPTIONS_iwmmxt=-cpu pxa270-c5 QEMU_OPTIONS_iwmmxt="-cpu pxa270-c5" # PREFERRED_VERSION_opie-today-fortuneplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-today-fortuneplugin="1.2.4" # PREFERRED_VERSION_opie-mediummount=${OPIE_VERSION} PREFERRED_VERSION_opie-mediummount="1.2.4" # libexecdir=${exec_prefix}/libexec export libexecdir="/usr/libexec" # PREFERRED_VERSION_opie-lockapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-lockapplet="1.2.4" # PREFERRED_VERSION_opie-wirelessapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-wirelessapplet="1.2.4" # UBOOT_MACHINE=omap3_beagle_config UBOOT_MACHINE="omap3_beagle_config" # PREFERRED_VERSION_opie-mediaplayer1-libtremorplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer1-libtremorplugin="1.2.4" # PREFERRED_VERSION_opie-ftplib=${OPIE_VERSION} PREFERRED_VERSION_opie-ftplib="1.2.4" # PREFERRED_VERSION_opie-vmemo-settings=${OPIE_VERSION} PREFERRED_VERSION_opie-vmemo-settings="1.2.4" # IMAGE_ROOTFS_SIZE_ext3.gz=65536 IMAGE_ROOTFS_SIZE_ext3.gz="65536" # TINDER_MACHINE=${MACHINE}-${TCLIBC}-build-image TINDER_MACHINE="beagleboard-eglibc-build-image" # PREFERRED_VERSION_opie-examples-python=${OPIE_VERSION} PREFERRED_VERSION_opie-examples-python="1.2.4" # BB_HASHBASE_WHITELIST=TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE BB_HASHBASE_WHITELIST="TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE" # FILES_${PN}-dbg=None # servicedir=${base_prefix}/srv export servicedir="/srv" # PREFERRED_VERSION_opie-tictac=${OPIE_VERSION} PREFERRED_VERSION_opie-tictac="1.2.4" # PREFERRED_VERSION_ti-linuxutils=2_25_05_11 PREFERRED_VERSION_ti-linuxutils="2_25_05_11" # PREFERRED_VERSION_gst-pulse=0.9.7 PREFERRED_VERSION_gst-pulse="0.9.7" # BBFILE_PRIORITY_meta-ti=10 BBFILE_PRIORITY_meta-ti="10" # bindir_native=${prefix_native}/bin bindir_native="/usr/bin" # BB_MIN_VERSION=1.8.10 BB_MIN_VERSION="1.8.10" # datadir_native=${prefix_native}/share datadir_native="/usr/share" # QTDIR=${STAGING_DIR_HOST}/qt2 export QTDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/qt2" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc=None # PREFERRED_VERSION_opie-mediaplayer1-libmadplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer1-libmadplugin="1.2.4" # PREFERRED_VERSION_opie-formatter=${OPIE_VERSION} PREFERRED_VERSION_opie-formatter="1.2.4" # SYSROOT_LOCK=${STAGING_DIR}/staging.lock SYSROOT_LOCK="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/staging.lock" # COMBINED_FEATURES=${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "alsa", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "bluetooth", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "ext2", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "vfat", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "irda", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pcmcia", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pci", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)} ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "wifi", d)} COMBINED_FEATURES="alsa vfat usbgadget usbhost" # KONSOLE_TERMCMDRUN=${KONSOLE_TERMCMD} -e $SHELLCMDS KONSOLE_TERMCMDRUN="konsole -T \"$TERMWINDOWTITLE\" -e $SHELLCMDS" # GIT_CONFIG=${STAGING_DIR_NATIVE}/usr/etc/gitconfig GIT_CONFIG="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/etc/gitconfig" # PREFERRED_VERSION_opie-wellenreiter=${OPIE_VERSION} PREFERRED_VERSION_opie-wellenreiter="1.2.4" # datadir=${prefix}/share export datadir="/usr/share" # STAGING_ETCDIR_NATIVE=${STAGING_DIR_NATIVE}${sysconfdir_native} STAGING_ETCDIR_NATIVE="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/etc" # STAGING_DATADIR_NATIVE=${STAGING_DIR_NATIVE}${datadir_native} STAGING_DATADIR_NATIVE="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/share" # PREFERRED_VERSION_opie-suspendapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-suspendapplet="1.2.4" # HOST_EXEEXT= # SRCDATE=${DATE} SRCDATE="20110510" # OVERRIDE_INTERWORK=${@['', 'thumb-interwork:'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']} OVERRIDE_INTERWORK="thumb-interwork:" # GNOME_TERMCMDRUN=${GNOME_TERMCMD} -x $SHELLCMDS GNOME_TERMCMDRUN="gnome-terminal --disable-factory -t \"$TERMWINDOWTITLE\" -x $SHELLCMDS" # SEPPUKU_PASS=None # PREFERRED_VERSION_opie-cardapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-cardapplet="1.2.4" # TINDER_HOST=ewi546.ewi.utwente.nl TINDER_HOST="ewi546.ewi.utwente.nl" # PREFERRED_VERSION_opie-recorder=${OPIE_VERSION} PREFERRED_VERSION_opie-recorder="1.2.4" # SUMMARY=${PN} version ${PV}-${PR} SUMMARY="console-image version 1.0-r0" # TERMCMDRUN=${XTERM_TERMCMDRUN} TERMCMDRUN="xterm -T \"$TERMWINDOWTITLE\" -e $SHELLCMDS" # TARGET_CC_ARCH=-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT} TARGET_CC_ARCH="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize -mthumb-interwork -mno-thumb" # QEMU_OPTIONS_armv6=-cpu arm1136 QEMU_OPTIONS_armv6="-cpu arm1136" # HOST_ARCH=${TARGET_ARCH} HOST_ARCH="arm" # ENABLE_BINARY_LOCALE_GENERATION=0 ENABLE_BINARY_LOCALE_GENERATION="0" # TARGET_OS=linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d,1) in ['ppce500', 'ppce500v2']]} TARGET_OS="linux-gnueabi" # PREFERRED_VERSION_dropbear=0.52 PREFERRED_VERSION_dropbear="0.52" # GPEPHONE_MIRROR=http://gpephone.linuxtogo.org/download/gpephone GPEPHONE_MIRROR="http://gpephone.linuxtogo.org/download/gpephone" # GPEPHONE_SVN=svn://projects.linuxtogo.org/svn/gpephone/trunk/source;module=${PN} GPEPHONE_SVN="svn://projects.linuxtogo.org/svn/gpephone/trunk/source;module=console-image" # sbindir_native=${prefix_native}/sbin sbindir_native="/usr/sbin" # SOLIBS_darwin8=.*.dylib SOLIBS_darwin8=".*.dylib" # SOLIBS_darwin9=.*.dylib SOLIBS_darwin9=".*.dylib" # PREFERRED_VERSION_ti-xdais=6_26_00_02 PREFERRED_VERSION_ti-xdais="6_26_00_02" # ARM_KEEP_OABI_pn-linux-openmoko-2.6.28_om-gta01=1 ARM_KEEP_OABI_pn-linux-openmoko-2.6.28_om-gta01="1" # GUI_MACHINE_CLASS=bigscreen GUI_MACHINE_CLASS="bigscreen" # RMWORK_ORIG_TASK=build RMWORK_ORIG_TASK="build" # PREFERRED_VERSION_opie-batteryapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-batteryapplet="1.2.4" # FETCHCMD_hg=/usr/bin/env hg FETCHCMD_hg="/usr/bin/env hg" # PREFERRED_VERSION_opie-taskbar-images=${OPIE_VERSION} PREFERRED_VERSION_opie-taskbar-images="1.2.4" # ANGSTROM_GCC_VERSION=4.5 ANGSTROM_GCC_VERSION="4.5" # IPK_FEED_URIS=None # PREFERRED_VERSION_opie-launcher-settings=${OPIE_VERSION} PREFERRED_VERSION_opie-launcher-settings="1.2.4" # PREFERRED_VERSION_pkgconfig=0.25 PREFERRED_VERSION_pkgconfig="0.25" # BUILD_CXX=${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH} export BUILD_CXX="ccache g++" # FULL_OPTIMIZATION=-O2 -pipe ${DEBUG_FLAGS} FULL_OPTIMIZATION="-O2 -pipe -g -feliminate-unused-debug-types" # CPU_FEATURES=vfp CPU_FEATURES="vfp" # PREFERRED_VERSION_opie-style-metal=${OPIE_VERSION} PREFERRED_VERSION_opie-style-metal="1.2.4" # PREFERRED_VERSION_opie-networkapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-networkapplet="1.2.4" # SRCREV_pn-mutter=aff4cf110307e149d3497d20543cde27b9699758 SRCREV_pn-mutter="aff4cf110307e149d3497d20543cde27b9699758" # PREFERRED_VERSION_opie-restartapplet2=${OPIE_VERSION} PREFERRED_VERSION_opie-restartapplet2="1.2.4" # UPDATECOMMAND_cvs=/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS} UPDATECOMMAND_cvs="/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}" # PREFERRED_VERSION_pkgconfig-native=0.25 PREFERRED_VERSION_pkgconfig-native="0.25" # FILES_${PN}=None # PREFERRED_VERSION_opie-rdesktop=${OPIE_VERSION} PREFERRED_VERSION_opie-rdesktop="1.2.4" # MKTEMPCMD=mktemp -q ${TMPBASE} MKTEMPCMD="mktemp -q ${TMPBASE}" # DATE=20110510 DATE="20110510" # FETCHCOMMAND_cvs=/usr/bin/env cvs '-d${CVSROOT}' co ${CVSCOOPTS} ${CVSMODULE} FETCHCOMMAND_cvs="/usr/bin/env cvs '-d${CVSROOT}' co ${CVSCOOPTS} ${CVSMODULE}" # PREFERRED_VERSION_qte=${QTE_VERSION} PREFERRED_VERSION_qte="2.3.10" # PREFERRED_VERSION_opie-dagger=${OPIE_VERSION} PREFERRED_VERSION_opie-dagger="1.2.4" # BASEPKG_HOST_SYS=${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS} BASEPKG_HOST_SYS="armv7a-angstrom-linux-gnueabi" # LD=${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} export LD="arm-angstrom-linux-gnueabi-ld --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # HOST_VENDOR=${TARGET_VENDOR} HOST_VENDOR="-angstrom" # PATCHRESOLVE=user PATCHRESOLVE="user" # DISTRO_NAME=Angstrom DISTRO_NAME="Angstrom" # PREFERRED_VERSION_opie-quicklauncher=${OPIE_VERSION} PREFERRED_VERSION_opie-quicklauncher="1.2.4" # PREFERRED_VERSION_opie-eye=${OPIE_VERSION} PREFERRED_VERSION_opie-eye="1.2.4" # PREFERRED_VERSION_opie-clipboardapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-clipboardapplet="1.2.4" # SSTATE_MANFILEBASE=${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}- SSTATE_MANFILEBASE="/OE/tentacle/build/tmp-angstrom_2010_x/sstate-control-eglibc/manifest-beagleboard-" # MACHINE_TASK_PROVIDER=${DEFAULT_TASK_PROVIDER} MACHINE_TASK_PROVIDER="task-base" # EXTRA_OEMAKE=-e MAKEFLAGS= EXTRA_OEMAKE="-e MAKEFLAGS=" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial=None # PREFERRED_VERSION_opie-multikeyapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-multikeyapplet="1.2.4" # UDEV_GE_141=1 UDEV_GE_141="1" # TARGET_FPU_armv6=hard TARGET_FPU_armv6="hard" # LDFLAGS=${TARGET_LDFLAGS} export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu" # DISTRO_TYPE=debug DISTRO_TYPE="debug" # HOST_NONSYSV=None # BBFILE_PATTERN_angstrom-layer=^/OE/tentacle/sources/meta-angstrom/ BBFILE_PATTERN_angstrom-layer="^/OE/tentacle/sources/meta-angstrom/" # MULTIMACH_TARGET_SYS=${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS} MULTIMACH_TARGET_SYS="beagleboard-angstrom-linux-gnueabi" # PREFERRED_VERSION_libtool-cross=${ANGSTROM_LIBTOOL_VERSION} PREFERRED_VERSION_libtool-cross="2.4" # FREEBSD_MIRROR=ftp://ftp.freebsd.org/pub/FreeBSD/ FREEBSD_MIRROR="ftp://ftp.freebsd.org/pub/FreeBSD/" # PREFERRED_VERSION_binutils-cross=${ANGSTROM_BINUTILS_VERSION} PREFERRED_VERSION_binutils-cross="2.20.1" # PREFERRED_VERSION_opie-advancedfm=${OPIE_VERSION} PREFERRED_VERSION_opie-advancedfm="1.2.4" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils=None # IMAGE_LOGIN_MANAGER=tinylogin IMAGE_LOGIN_MANAGER="tinylogin" # THUMB_INTERWORK=yes THUMB_INTERWORK="yes" # SUMMARY_${PN}-dbg=None # UBINIZE_ARGS=-m 2048 -p 128KiB -s 512 UBINIZE_ARGS="-m 2048 -p 128KiB -s 512" # SRCREV_pn-twitter-glib=849bec29292df88590e0b2898b50b9b8d766817e SRCREV_pn-twitter-glib="849bec29292df88590e0b2898b50b9b8d766817e" # PREFERRED_VERSION_qt4-embedded-gles=${ANGSTROM_QT_VERSION} PREFERRED_VERSION_qt4-embedded-gles="4.7.1" # PREFERRED_VERSION_opie-wordgame=${OPIE_VERSION} PREFERRED_VERSION_opie-wordgame="1.2.4" # BUILDSTATS_BASE=${TMPDIR}/buildstats/ BUILDSTATS_BASE="/OE/tentacle/build/tmp-angstrom_2010_x/buildstats/" # SYSVINIT_ENABLED_GETTYS=None # DISTRO_EXTRA_RRECOMMENDS= kernel-module-vfat kernel-module-ext2 kernel-module-ext3 kernel-module-af-packet avahi-daemon avahi-autoipd openssh-sftp-server ${DEBUG_APPS} DISTRO_EXTRA_RRECOMMENDS="kernel-module-vfat kernel-module-ext2 kernel-module-ext3 kernel-module-af-packet avahi-daemon avahi-autoipd openssh-sftp-server strace procps" # TARGET_CXXFLAGS=${TARGET_CFLAGS} -fpermissive export TARGET_CXXFLAGS="-O2 -pipe -g -feliminate-unused-debug-types -fpermissive" # PREFERRED_VERSION_opie-qss=${OPIE_VERSION} PREFERRED_VERSION_opie-qss="1.2.4" # PREFERRED_VERSION_opie-vtapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-vtapplet="1.2.4" # BUILD_ARCH=${@os.uname()[4]} BUILD_ARCH="x86_64" # GNOME_TERMCMD=gnome-terminal --disable-factory -t "$TERMWINDOWTITLE" GNOME_TERMCMD="gnome-terminal --disable-factory -t \"$TERMWINDOWTITLE\"" # HOST_SYS=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} HOST_SYS="arm-angstrom-linux-gnueabi" # TOOLCHAIN_PATH=${STAGING_DIR_NATIVE}${prefix_native}/bin/${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS} TOOLCHAIN_PATH="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi" # PREFERRED_VERSION_libgemwidget=1.0 PREFERRED_VERSION_libgemwidget="1.0" # MAKE=make export MAKE="make" # PREFERRED_VERSION_opie-securityplugin-blueping=${OPIE_VERSION} PREFERRED_VERSION_opie-securityplugin-blueping="1.2.4" # PREFERRED_VERSION_libqpe-opie=${OPIE_VERSION} PREFERRED_VERSION_libqpe-opie="1.2.4" # SRCREV_pn-xf86-video-psb=b6b3bba06fe5a3fe0b1bd6e31a7369dd83812bab SRCREV_pn-xf86-video-psb="b6b3bba06fe5a3fe0b1bd6e31a7369dd83812bab" # includedir=${exec_prefix}/include export includedir="/usr/include" # TARGET_CPPFLAGS= # PREFERRED_VERSION_gcc=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc="4.5" # PREFERRED_VERSION_opie-dvorak=${OPIE_VERSION} PREFERRED_VERSION_opie-dvorak="1.2.4" # PREFERRED_VERSION_eglibc-initial=2.12 PREFERRED_VERSION_eglibc-initial="2.12" # SELECTED_OPTIMIZATION=${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)} SELECTED_OPTIMIZATION="-O2 -pipe -g -feliminate-unused-debug-types" # PCMCIA_MANAGER=pcmciautils PCMCIA_MANAGER="pcmciautils" # PREFERRED_VERSION_opie-tonleiter=${OPIE_VERSION} PREFERRED_VERSION_opie-tonleiter="1.2.4" # PREFERRED_VERSION_linux-libc-headers=${LINUX_LIBC_HEADERS_VERSION} PREFERRED_VERSION_linux-libc-headers="2.6.37.2" # PREFERRED_VERSION_ti-biosutils=1_02_02 PREFERRED_VERSION_ti-biosutils="1_02_02" # PREFERRED_VERSION_libopieobex0=${OPIE_VERSION} PREFERRED_VERSION_libopieobex0="1.2.4" # BBFILE_PRIORITY_openembedded-layer=6 BBFILE_PRIORITY_openembedded-layer="6" # PREFERRED_VERSION_glibmm=2.24.0 PREFERRED_VERSION_glibmm="2.24.0" # PREFERRED_VERSION_opie-mediaplayer2-skin-default-landscape=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer2-skin-default-landscape="1.2.4" # PREFERRED_VERSION_libopie2=${OPIE_VERSION} PREFERRED_VERSION_libopie2="1.2.4" # PREFERRED_VERSION_opie-mobilemsg=${OPIE_VERSION} PREFERRED_VERSION_opie-mobilemsg="1.2.4" # TARGET_FPU_arm=soft TARGET_FPU_arm="soft" # PREFERRED_VERSION_opie-camera=${OPIE_VERSION} PREFERRED_VERSION_opie-camera="1.2.4" # libdir_native=${prefix_native}/lib libdir_native="/usr/lib" # PREFERRED_VERSION_opie-zsafe=${OPIE_VERSION} PREFERRED_VERSION_opie-zsafe="1.2.4" # PREFERRED_VERSION_opie-backgammon=${OPIE_VERSION} PREFERRED_VERSION_opie-backgammon="1.2.4" # PREFERRED_VERSION_libopietooth1=${OPIE_VERSION} PREFERRED_VERSION_libopietooth1="1.2.4" # PREFERRED_PROVIDER_dbus-glib=dbus-glib PREFERRED_PROVIDER_dbus-glib="dbus-glib" # FILES_${PN}-doc=None # exec_prefix=/usr export exec_prefix="/usr" # ANGSTROM_BLACKLIST_pn-gconf-dbus=gconf-dbus has been merged back into main GConf ANGSTROM_BLACKLIST_pn-gconf-dbus="gconf-dbus has been merged back into main GConf" # bindir_crossscripts=${bindir}/crossscripts bindir_crossscripts="/usr/bin/crossscripts" # PRIORITY=optional PRIORITY="optional" # PREFERRED_VERSION_binutils=${ANGSTROM_BINUTILS_VERSION} PREFERRED_VERSION_binutils="2.20.1" # BBMASK= # OPIEDIR=${STAGING_DIR_HOST} export OPIEDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # FEED_ARCH_bfin=blackfin FEED_ARCH_bfin="blackfin" # PREFERRED_VERSION_libtool-sdk=${ANGSTROM_LIBTOOL_VERSION} PREFERRED_VERSION_libtool-sdk="2.4" # PREFERRED_VERSION_mythplugins=0.23 PREFERRED_VERSION_mythplugins="0.23" # PREFERRED_VERSION_gcc-cross-canadian=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-cross-canadian="4.5" # PREFERRED_PROVIDER_virtual/java-native=jamvm-native PREFERRED_PROVIDER_virtual/java-native="jamvm-native" # DISTRO_PR=.9 DISTRO_PR=".9" # TARGET_FPU_armv6-novfp=soft TARGET_FPU_armv6-novfp="soft" # SDK_CC_ARCH=${BUILD_CC_ARCH} # MAINTAINER=Angstrom Developers MAINTAINER="Angstrom Developers " # SDKPATH=/usr/local/${SDK_NAME} SDKPATH="/usr/local/angstrom-eglibc-x86_64-armv7a" # GROUP_locale=None # FILESPATH=${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)} FILESPATH="/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/thumb-interwork:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/libc-glibc:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/local:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/beagleboard:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/angstrom:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/linux-gnueabi:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/arm:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/build-linux:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/fail-fast:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/pn-console-image:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/forcevariable:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/armv7a:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/omap3:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0-r0/:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/thumb-interwork:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/libc-glibc:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/local:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/beagleboard:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/angstrom:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/linux-gnueabi:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/arm:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/build-linux:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/fail-fast:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/pn-console-image:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/forcevariable:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/armv7a:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/omap3:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/thumb-interwork:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/libc-glibc:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/local:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/beagleboard:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/angstrom:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/linux-gnueabi:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/arm:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/build-linux:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/fail-fast:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/pn-console-image:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/forcevariable:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/armv7a:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/omap3:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/thumb-interwork:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/libc-glibc:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/local:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/beagleboard:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/angstrom:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/linux-gnueabi:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/arm:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/build-linux:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/fail-fast:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/pn-console-image:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/forcevariable:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/armv7a:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/omap3:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image-1.0/:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/thumb-interwork:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/libc-glibc:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/local:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/beagleboard:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/angstrom:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/linux-gnueabi:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/arm:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/build-linux:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/fail-fast:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/pn-console-image:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/forcevariable:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/armv7a:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/omap3:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/console-image/:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/thumb-interwork:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/libc-glibc:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/local:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/beagleboard:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/angstrom:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/linux-gnueabi:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/arm:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/build-linux:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/fail-fast:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/pn-console-image:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/forcevariable:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/armv7a:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/omap3:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/files/:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/thumb-interwork:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/libc-glibc:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/local:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/beagleboard:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/angstrom:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/linux-gnueabi:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/arm:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/build-linux:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/fail-fast:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/pn-console-image:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/forcevariable:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/armv7a:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/omap3:/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images/" # BUILD_LDFLAGS=-L${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1 export BUILD_LDFLAGS="-L/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib -Wl,-O1" # SSTATE_PKGNAME=${SSTATE_PKGSPEC}${BB_TASKHASH} SSTATE_PKGNAME="sstate-console-image-beagleboard-angstrom-linux-gnueabi-1.0-r0-beagleboard-2-${BB_TASKHASH}" # STAGING_LIBDIR=${STAGING_DIR_HOST}${libdir} STAGING_LIBDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/lib" # BUILDNAME=Angstrom ${DISTRO_VERSION} BUILDNAME="Angstrom v2011.05-core" # OPKG_SRCREV=554 OPKG_SRCREV="554" # TARGET_ARCH=arm unset TARGET_ARCH # PREFERRED_VERSION_dbus=1.2.24 PREFERRED_VERSION_dbus="1.2.24" # FETCHCMD_cvs=/usr/bin/env cvs FETCHCMD_cvs="/usr/bin/env cvs" # IMAGE_FEATURES= ${EXTRA_IMAGE_FEATURES} IMAGE_FEATURES="${EXTRA_IMAGE_FEATURES}" # ARM_KEEP_OABI_pn-linux-openmoko-2.6.24_om-gta01=1 ARM_KEEP_OABI_pn-linux-openmoko-2.6.24_om-gta01="1" # PREFERRED_VERSION_opie-style-phase=${OPIE_VERSION} PREFERRED_VERSION_opie-style-phase="1.2.4" # PREFERRED_VERSION_linux-libc-headers-native=${LINUX_LIBC_HEADERS_VERSION} PREFERRED_VERSION_linux-libc-headers-native="2.6.37.2" # PREFERRED_VERSION_ti-codecs-dm355-server=1_13_000 PREFERRED_VERSION_ti-codecs-dm355-server="1_13_000" # USERDISTRO=angstrom-2010.x USERDISTRO="angstrom-2010.x" # PREFERRED_PROVIDER_libgcc=libgcc PREFERRED_PROVIDER_libgcc="libgcc" # GENTOO_MIRROR=http://distfiles.gentoo.org/distfiles GENTOO_MIRROR="http://distfiles.gentoo.org/distfiles" # CO_DIR=${DL_DIR} CO_DIR="/OE/tentacle/sources/downloads" # bindir=${exec_prefix}/bin export bindir="/usr/bin" # PREFERRED_VERSION_opie-bartender=${OPIE_VERSION} PREFERRED_VERSION_opie-bartender="1.2.4" # ALLOW_EMPTY_${PN}-dbg=None # PREFERRED_VERSION_opie-alarm=${OPIE_VERSION} PREFERRED_VERSION_opie-alarm="1.2.4" # QUILTRCFILE=${STAGING_BINDIR_NATIVE}/quiltrc QUILTRCFILE="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/quiltrc" # PREFERRED_VERSION_lighttpd=1.4.26 PREFERRED_VERSION_lighttpd="1.4.26" # BUILD_PREFIX= # TOOLCHAIN_BRAND= # PREFERRED_VERSION_opie-unikeyboard=${OPIE_VERSION} PREFERRED_VERSION_opie-unikeyboard="1.2.4" # BOOTSTRAP_EXTRA_RDEPENDS= # PREFERRED_VERSION_tiff=3.8.2 PREFERRED_VERSION_tiff="3.8.2" # BBINCLUDELOGS_LINES=None # BUILD_LD=${BUILD_PREFIX}ld export BUILD_LD="ld" # BUILD_SYS=${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS} BUILD_SYS="x86_64-linux" # PREFERRED_VERSION_opie-autorotateapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-autorotateapplet="1.2.4" # STAGING_INCDIR=${STAGING_DIR_HOST}${includedir} STAGING_INCDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/include" # PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk=None # PREFERRED_VERSION_ti-codecs-dm6446-server=2_05_00_00 PREFERRED_VERSION_ti-codecs-dm6446-server="2_05_00_00" # PREFERRED_VERSION_glib-2.0=2.28.6 PREFERRED_VERSION_glib-2.0="2.28.6" # PREFERRED_VERSION_pango-native=1.28.3 PREFERRED_VERSION_pango-native="1.28.3" # PREFERRED_PROVIDER_hotplug=udev PREFERRED_PROVIDER_hotplug="udev" # TARGET_CC_ARCH_pn-cairo_armv5te=-march=armv4t TARGET_CC_ARCH_pn-cairo_armv5te="-march=armv4t" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++=None # PREFERRED_VERSION_opie-restartapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-restartapplet="1.2.4" # IMAGE_ROOTFS_SIZE_ext3=65536 IMAGE_ROOTFS_SIZE_ext3="65536" # PREFERRED_VERSION_ti-dmai-tests=2_10_00_01+svnr% PREFERRED_VERSION_ti-dmai-tests="2_10_00_01+svnr%" # PREFERRED_VERSION_automake=1.11.1 PREFERRED_VERSION_automake="1.11.1" # STAGING_EXECPREFIXDIR=${STAGING_DIR_HOST}${exec_prefix} STAGING_EXECPREFIXDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr" # PATCHDEPENDENCY=${PATCHTOOL}-native:do_populate_sysroot PATCHDEPENDENCY="quilt-native:do_populate_sysroot" # PREFERRED_VERSION_opie-screenshotapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-screenshotapplet="1.2.4" # BUILDSDK_CPPFLAGS=-isystem${STAGING_INCDIR} BUILDSDK_CPPFLAGS="-isystem/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/include" # OPKGBUILDCMD=opkg-build -o 0 -g 0 OPKGBUILDCMD="opkg-build -o 0 -g 0" # PREFERRED_VERSION_opie-bluetoothapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-bluetoothapplet="1.2.4" # IMAGE_KEEPROOTFS= # ANGSTROM_BLACKLIST_pn-libiconv=the eglibc provided iconv library is used ANGSTROM_BLACKLIST_pn-libiconv="the eglibc provided iconv library is used" # PREFERRED_VERSION_opie-datebook=${OPIE_VERSION} PREFERRED_VERSION_opie-datebook="1.2.4" # SEPPUKU_AUTOBUILD=1 SEPPUKU_AUTOBUILD="1" # E_MIRROR=http://download.enlightenment.org/releases E_MIRROR="http://download.enlightenment.org/releases" # PREFERRED_VERSION_opie-clock=${OPIE_VERSION} PREFERRED_VERSION_opie-clock="1.2.4" # PREFERRED_VERSION_opie-today-stocktickerplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-today-stocktickerplugin="1.2.4" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial=None # FETCHCMD_svn=/usr/bin/env svn FETCHCMD_svn="/usr/bin/env svn" # ONLINE_PACKAGE_MANAGEMENT=full ONLINE_PACKAGE_MANAGEMENT="full" # PREFERRED_VERSION_mplayer=0.0+1.0rc3+svnr% PREFERRED_VERSION_mplayer="0.0+1.0rc3+svnr%" # PREFERRED_VERSION_classpath-initial=0.93 PREFERRED_VERSION_classpath-initial="0.93" # GPE_EXTRA_SVN=svn://projects.linuxtogo.org/svn/gpe/trunk/extra;module=${PN} GPE_EXTRA_SVN="svn://projects.linuxtogo.org/svn/gpe/trunk/extra;module=console-image" # oldincludedir=${exec_prefix}/include export oldincludedir="/usr/include" # PREFERRED_VERSION_opie-helpbrowser=${OPIE_VERSION} PREFERRED_VERSION_opie-helpbrowser="1.2.4" # ANGSTROM_BINUTILS_VERSION=2.20.1 ANGSTROM_BINUTILS_VERSION="2.20.1" # SCREEN_TERMCMDRUN=${SCREEN_TERMCMD} $SHELLCMDS SCREEN_TERMCMDRUN="screen -D -m -t \"$TERMWINDOWTITLE\" $SHELLCMDS" # PREFERRED_VERSION_openssl=1.0.0c PREFERRED_VERSION_openssl="1.0.0c" # SEPPUKU_ADDCOMMENT=http://bugs.openembedded.net/process_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other& SEPPUKU_ADDCOMMENT="http://bugs.openembedded.net/process_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other&" # PREFERRED_PROVIDER_virtual/kernel=linux-omap-psp PREFERRED_PROVIDER_virtual/kernel="linux-omap-psp" # DEPENDS_virtclass-nativesdk=${BASEDEPENDS} DEPENDS_virtclass-nativesdk="" # ARM_INSTRUCTION_SET_pn-uclibc-initial=arm ARM_INSTRUCTION_SET_pn-uclibc-initial="arm" # sysconfdir=${base_prefix}/etc export sysconfdir="/etc" # PREFERRED_VERSION_opie-sshkeys=${OPIE_VERSION} PREFERRED_VERSION_opie-sshkeys="1.2.4" # TINDER_URL=/tinderbox TINDER_URL="/tinderbox" # TINDER_TREE=Angstrom TINDER_TREE="Angstrom" # PREFERRED_VERSION_samba=3.3.9 PREFERRED_VERSION_samba="3.3.9" # CCLD=${CC} export CCLD="ccache arm-angstrom-linux-gnueabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize -mthumb-interwork -mno-thumb --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # TIME=174610 TIME="174610" # CHECKCOMMAND_wget=/usr/bin/env wget --spider -t 5 --passive-ftp -P ${DL_DIR} '${URI}' CHECKCOMMAND_wget="/usr/bin/env wget --spider -t 5 --passive-ftp -P /OE/tentacle/sources/downloads '${URI}'" # localstatedir_nativesdk=/var localstatedir_nativesdk="/var" # UPDATECOMMAND_svn=/usr/bin/env svn update ${SVNCOOPTS} UPDATECOMMAND_svn="/usr/bin/env svn update ${SVNCOOPTS}" # RRECOMMENDS_${PN}-dbg=None # SHELLCMDS=bash export SHELLCMDS="bash" # KERNEL=kernel26 KERNEL="kernel26" # PREFERRED_VERSION_opie-odict=${OPIE_VERSION} PREFERRED_VERSION_opie-odict="1.2.4" # PREFERRED_VERSION_ti-local-power-manager=1_24_02_09 PREFERRED_VERSION_ti-local-power-manager="1_24_02_09" # SEPPUKU_USER=None # METADATA_BRANCH=${@base_detect_branch(d)} METADATA_BRANCH="master" # SRCREV_pn-libgdbus=aeab6e3c0185b271ca343b439470491b99cc587f SRCREV_pn-libgdbus="aeab6e3c0185b271ca343b439470491b99cc587f" # FEED_DEPLOYDIR_BASE_URI=None # SECTION=base SECTION="base" # PREFERRED_VERSION_perl-native=5.12.3 PREFERRED_VERSION_perl-native="5.12.3" # DEBIAN_NAMES=1 DEBIAN_NAMES="1" # QPEDIR=${STAGING_DIR_HOST} export QPEDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # PREFERRED_VERSION_opie-i18n=${OPIE_VERSION} PREFERRED_VERSION_opie-i18n="1.2.4" # LC_ALL=C export LC_ALL="C" # QA_LOG=1 QA_LOG="1" # PREFERRED_VERSION_ti-lpm-module=1_24_02_09 PREFERRED_VERSION_ti-lpm-module="1_24_02_09" # SRCREV_pn-json-glib=930fdf4c4dff1f5310a946c2a9f5b6860f7c8ba8 SRCREV_pn-json-glib="930fdf4c4dff1f5310a946c2a9f5b6860f7c8ba8" # PREFERRED_VERSION_opie-memoryapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-memoryapplet="1.2.4" # PREFERRED_VERSION_opie-aboutapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-aboutapplet="1.2.4" # PREFERRED_VERSION_opie-kbill=${OPIE_VERSION} PREFERRED_VERSION_opie-kbill="1.2.4" # TINDER_BRANCH=org.openembedded.dev TINDER_BRANCH="org.openembedded.dev" # BUILD_CCLD=${BUILD_PREFIX}gcc export BUILD_CCLD="gcc" # DEBUG_FLAGS=-g -feliminate-unused-debug-types DEBUG_FLAGS="-g -feliminate-unused-debug-types" # CCACHE=${@bb.which(bb.data.getVar('PATH', d, 1), 'ccache') and 'ccache '} CCACHE="ccache" # STAGING_DIR_TCBOOTSTRAP=${STAGING_DIR_TARGET}-tcbootstrap STAGING_DIR_TCBOOTSTRAP="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc-tcbootstrap" # STAGING_LIBDIR_NATIVE=${STAGING_DIR_NATIVE}${libdir_native} STAGING_LIBDIR_NATIVE="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib" # PREFERRED_VERSION_ti-dsplink-module=1_65_00_03 PREFERRED_VERSION_ti-dsplink-module="1_65_00_03" # BB_SCHEDULER=completion BB_SCHEDULER="completion" # PREFERRED_VERSION_ti-codecs_omapl138=1_00_00 PREFERRED_VERSION_ti-codecs_omapl138="1_00_00" # GROUP_packaging=None # PREFERRED_VERSION_ti-codecs_omapl137=1_00_00 PREFERRED_VERSION_ti-codecs_omapl137="1_00_00" # B=${S} B="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/console-image-1.0" # GROUP_fetcher=None # OVERRIDES=${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}libc-glibc:local:${MACHINE}:${DISTROOVERRIDES}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}:forcevariable:${FEED_ARCH}:${SOC_FAMILY} OVERRIDES="thumb-interwork:libc-glibc:local:beagleboard:angstrom:linux-gnueabi:arm:build-linux:fail-fast:pn-console-image:forcevariable:armv7a:omap3" # TARGET_FPU_ppc405=soft TARGET_FPU_ppc405="soft" # INHERIT= rm_work debian sanity angstrom-blacklist devshell angstrom-mirrors insane sstate testlab package_ipk image-prelink sanity INHERIT="rm_work debian sanity angstrom-blacklist devshell angstrom-mirrors insane sstate testlab package_ipk image-prelink sanity" # PREFERRED_VERSION_gtk+-native=2.20.1 PREFERRED_VERSION_gtk+-native="2.20.1" # XTERM_TERMCMD=xterm -T "$TERMWINDOWTITLE" XTERM_TERMCMD="xterm -T \"$TERMWINDOWTITLE\"" # PREFERRED_VERSION_opie-clockapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-clockapplet="1.2.4" # SDK_SYS=${SDK_ARCH}${SDK_VENDOR}${@['-' + bb.data.getVar('SDK_OS', d, 1), ''][bb.data.getVar('SDK_OS', d, 1) == ('' or 'custom')]} SDK_SYS="x86_64-angstromsdk-linux" # BBFILE_PRIORITY_gnome-layer=7 BBFILE_PRIORITY_gnome-layer="7" # SSTATE_PKGARCH=${MULTIMACH_ARCH} SSTATE_PKGARCH="beagleboard" # PREFERRED_VERSION_ti-edma3lld=01_11_00_03 PREFERRED_VERSION_ti-edma3lld="01_11_00_03" # PREMIRRORS=cvs://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #svn://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #git://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #hg://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #bzr://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #osc://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #p4://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #svk://.*/.* http://www.angstrom-distribution.org/unstable/sources/ # PREMIRRORS="cvs://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ svn://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ git://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ hg://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ bzr://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ osc://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ p4://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ svk://.*/.* http://www.angstrom-distribution.org/unstable/sources/" # PREFERRED_VERSION_libgpephone=0.4 PREFERRED_VERSION_libgpephone="0.4" # PREFERRED_VERSION_mesa=${ANGSTROM_MESA_VERSION} PREFERRED_VERSION_mesa="7.8.2" # base_dep=def base_dep_prepend(d): # # # # Ideally this will check a flag so we will operate properly in # # the case where host == build == target, for now we don't work in # # that case though. # # # # deps = "" # # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not # # we need that built is the responsibility of the patch function / class, not # # the application. # if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d): # if (bb.data.getVar('HOST_SYS', d, 1) != # bb.data.getVar('BUILD_SYS', d, 1)): # deps += " virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc " # return deps # base_dep="def base_dep_prepend(d): \ # \ # Ideally this will check a flag so we will operate properly in \ # the case where host == build == target, for now we don't work in \ # that case though. \ # \ \ deps = \"\" \ # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not \ # we need that built is the responsibility of the patch function / class, not \ # the application. \ if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d): \ if (bb.data.getVar('HOST_SYS', d, 1) != \ bb.data.getVar('BUILD_SYS', d, 1)): \ deps += \" virtual/arm-angstrom-linux-gnueabi-gcc virtual/arm-angstrom-linux-gnueabi-compilerlibs virtual/libc \" \ return deps" # DL_DIR=/OE/tentacle/sources/downloads DL_DIR="/OE/tentacle/sources/downloads" # PREFERRED_PROVIDER_virtual/libiconv-nativesdk=eglibc-nativesdk PREFERRED_PROVIDER_virtual/libiconv-nativesdk="eglibc-nativesdk" # base_libdir=${base_prefix}/lib export base_libdir="/lib" # do_package_write_rpm=None # FETCHCMD_wget=/usr/bin/env wget -t 5 -q FETCHCMD_wget="/usr/bin/env wget -t 5 -q" # BUILD_OPTIMIZATION=-O2 -pipe BUILD_OPTIMIZATION="-O2 -pipe" # ARM_THUMB_M_OPT=${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']} ARM_THUMB_M_OPT="-mno-thumb" # GROUP_dependencies=None # UBOOT_ENTRYPOINT=0x80008000 UBOOT_ENTRYPOINT="0x80008000" # PREFERRED_VERSION_ti-dspbios=5_41_07_24 PREFERRED_VERSION_ti-dspbios="5_41_07_24" # SANITY_ABIFILE=${TMPDIR}/abi_version SANITY_ABIFILE="/OE/tentacle/build/tmp-angstrom_2010_x/abi_version" # PREFERRED_VERSION_libecj-bootstrap=3.6 PREFERRED_VERSION_libecj-bootstrap="3.6" # do_package_write_deb=None # UBOOT_LOADADDRESS=0x80008000 UBOOT_LOADADDRESS="0x80008000" # PREFERRED_VERSION_gcc-cross=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-cross="4.5" # BPN=${@base_prune_suffix(bb.data.getVar('PN', d, True), bb.data.getVar('SPECIAL_PKGSUFFIX', d, True).split(), d)} BPN="console-image" # TRANSLATED_TARGET_ARCH=${TARGET_ARCH} TRANSLATED_TARGET_ARCH="arm" # PREFERRED_VERSION_opie-doctab=${OPIE_VERSION} PREFERRED_VERSION_opie-doctab="1.2.4" # PREFERRED_VERSION_opie-sounds=${OPIE_VERSION} PREFERRED_VERSION_opie-sounds="1.2.4" # RDEPENDS= ${IMAGE_INSTALL} RDEPENDS="initscripts udev sysvinit sysvinit-pidof tinylogin task-base psplash-zap task-boot update-alternatives-cworth dropbear task-base-extended" # PACKAGES= # PREFERRED_VERSION_opie-appearance=${OPIE_VERSION} PREFERRED_VERSION_opie-appearance="1.2.4" # PREFERRED_VERSION_opie-today-weatherplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-today-weatherplugin="1.2.4" # TARGET_CFLAGS=${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION} export TARGET_CFLAGS="-O2 -pipe -g -feliminate-unused-debug-types" # base_bindir=${base_prefix}/bin export base_bindir="/bin" # PREFERRED_VERSION_opie-mailapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-mailapplet="1.2.4" # IPKGCONF_TARGET=${WORKDIR}/opkg.conf IPKGCONF_TARGET="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf" # PREFERRED_VERSION_opie-deco-liquid=${OPIE_VERSION} PREFERRED_VERSION_opie-deco-liquid="1.2.4" # PREFERRED_VERSION_ti-dvsdk-demos=3_10_00_11 PREFERRED_VERSION_ti-dvsdk-demos="3_10_00_11" # PREFERRED_VERSION_opie-libqrsync=${OPIE_VERSION} PREFERRED_VERSION_opie-libqrsync="1.2.4" # PKGDESTWORK=${WORKDIR}/pkgdata PKGDESTWORK="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/pkgdata" # PREFERRED_VERSION_binutils-cross_avr32=2.17 PREFERRED_VERSION_binutils-cross_avr32="2.17" # BUILD_CPP=${BUILD_PREFIX}cpp export BUILD_CPP="cpp" # PREFERRED_VERSION_ti-codecs-dm6467=1_00_00_03 PREFERRED_VERSION_ti-codecs-dm6467="1_00_00_03" # HOMEPAGE=unknown HOMEPAGE="unknown" # SANITY_VERSION=1 SANITY_VERSION="1" # BZRDIR=${CO_DIR}/bzr BZRDIR="/OE/tentacle/sources/downloads/bzr" # STAGING_DATADIR_JAVA=${STAGING_DIR_JAVA} STAGING_DATADIR_JAVA="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/java" # PREFERRED_VERSION_gtkmm=2.20.0 PREFERRED_VERSION_gtkmm="2.20.0" # PKG_CONFIG_LIBDIR=${PKG_CONFIG_DIR} export PKG_CONFIG_LIBDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc//usr/lib/pkgconfig" # PREFERRED_VERSION_opie-datebook-nationalholidayplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-datebook-nationalholidayplugin="1.2.4" # PREFERRED_VERSION_opie-lrelease-native=${OPIE_VERSION} PREFERRED_VERSION_opie-lrelease-native="1.2.4" # PREFERRED_VERSION_libqtaux2=${OPIE_VERSION} PREFERRED_VERSION_libqtaux2="1.2.4" # BBFILE_PRIORITY_normal=5 BBFILE_PRIORITY_normal="5" # PACKAGELOCK=${STAGING_DIR}/package-output.lock PACKAGELOCK="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/package-output.lock" # APACHE_MIRROR=http://www.apache.org/dist APACHE_MIRROR="http://www.apache.org/dist" # GITDIR=${CO_DIR}/git2 GITDIR="/OE/tentacle/sources/downloads/git2" # RESUMECOMMAND_wget=/usr/bin/env wget -c -t 5 -q --passive-ftp -P ${DL_DIR} '${URI}' RESUMECOMMAND_wget="/usr/bin/env wget -c -t 5 -q --passive-ftp -P /OE/tentacle/sources/downloads '${URI}'" # XAUTHORITY=${HOME}/.Xauthority XAUTHORITY="/home/koen/.Xauthority" # PREFERRED_VERSION_automake-native=1.11.1 PREFERRED_VERSION_automake-native="1.11.1" # TOOLCHAIN_OUTPUTNAME=${SDK_NAME}-${DISTRO_VERSION}-toolchain TOOLCHAIN_OUTPUTNAME="angstrom-eglibc-x86_64-armv7a-v2011.05-core-toolchain" # prefix_native=/usr prefix_native="/usr" # PREFERRED_PROVIDER_virtual/xserver-xf86=xserver-xorg PREFERRED_PROVIDER_virtual/xserver-xf86="xserver-xorg" # GPE_MIRROR=http://gpe.linuxtogo.org/download/source GPE_MIRROR="http://gpe.linuxtogo.org/download/source" # PREFERRED_VERSION_opie-dasher=${OPIE_VERSION} PREFERRED_VERSION_opie-dasher="1.2.4" # BNFILE=${BUILDSTATS_BASE}/.buildname BNFILE="/OE/tentacle/build/tmp-angstrom_2010_x/buildstats//.buildname" # SECTION_${PN}-dev=None # base_sbindir_native=/sbin base_sbindir_native="/sbin" # prefix_nativesdk=/usr prefix_nativesdk="/usr" # sbindir=${exec_prefix}/sbin export sbindir="/usr/sbin" # PREFERRED_VERSION_opie-taskbar=${OPIE_VERSION} PREFERRED_VERSION_opie-taskbar="1.2.4" # CFLAGS=${TARGET_CFLAGS} export CFLAGS="-O2 -pipe -g -feliminate-unused-debug-types" # PREFERRED_VERSION_opie-showimg=${OPIE_VERSION} PREFERRED_VERSION_opie-showimg="1.2.4" # PREFERRED_VERSION_opie-help-en=${OPIE_VERSION} PREFERRED_VERSION_opie-help-en="1.2.4" # SSTATE_SCAN_CMD=find ${SSTATE_BUILDDIR} \( -name "*.la" -o -name "*-config" \) -type f SSTATE_SCAN_CMD="find ${SSTATE_BUILDDIR} \( -name \"*.la\" -o -name \"*-config\" \) -type f" # IMAGE_BOOT=${IMAGE_INITSCRIPTS} ${IMAGE_DEV_MANAGER} ${IMAGE_INIT_MANAGER} ${IMAGE_LOGIN_MANAGER} IMAGE_BOOT="initscripts udev sysvinit sysvinit-pidof tinylogin" # BUILD_AR=${BUILD_PREFIX}ar export BUILD_AR="ar" # AUTO_LIBNAME_PKGS=${PACKAGES} # PREFERRED_PROVIDER_virtual/libqpe1=libqpe-opie PREFERRED_PROVIDER_virtual/libqpe1="libqpe-opie" # CE_VERSION=latest CE_VERSION="latest" # HANDHELDS_CVS=cvs://anoncvs:anoncvs@anoncvs.handhelds.org/cvs HANDHELDS_CVS="cvs://anoncvs:anoncvs@anoncvs.handhelds.org/cvs" # sharedstatedir=${base_prefix}/com export sharedstatedir="/com" # PREFERRED_VERSION_ti-dsplink=1_65_00_03 PREFERRED_VERSION_ti-dsplink="1_65_00_03" # SSTATE_MANFILEPREFIX=${SSTATE_MANFILEBASE}${PN} SSTATE_MANFILEPREFIX="/OE/tentacle/build/tmp-angstrom_2010_x/sstate-control-eglibc/manifest-beagleboard-console-image" # PREFERRED_VERSION_mesa-xlib=${ANGSTROM_MESA_VERSION} PREFERRED_VERSION_mesa-xlib="7.8.2" # DEBIAN_MIRROR=ftp://ftp.debian.org/debian/pool DEBIAN_MIRROR="ftp://ftp.debian.org/debian/pool" # PREFERRED_PROVIDER_virtual/libc=${TCLIBC} PREFERRED_PROVIDER_virtual/libc="eglibc" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc=None # DEFAULT_TASK_PROVIDER=task-base DEFAULT_TASK_PROVIDER="task-base" # TARGET_FPU_ppc603e=hard TARGET_FPU_ppc603e="hard" # BOOTSTRAP_EXTRA_RRECOMMENDS= # ANGSTROM_GCC_VERSION_bfin=4.1.2 ANGSTROM_GCC_VERSION_bfin="4.1.2" # IMAGE_ROOTFS_SIZE_ext2.gz=65536 IMAGE_ROOTFS_SIZE_ext2.gz="65536" # PREFERRED_VERSION_ti-cgt6x=6_1_17 PREFERRED_VERSION_ti-cgt6x="6_1_17" # PREFERRED_VERSION_opie-volumeapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-volumeapplet="1.2.4" # BBFILE_PATTERN_openembedded-layer=^/OE/tentacle/sources/meta-openembedded/meta-oe/ BBFILE_PATTERN_openembedded-layer="^/OE/tentacle/sources/meta-openembedded/meta-oe/" # SHLIBSWORKDIR=${WORKDIR}/shlibs SHLIBSWORKDIR="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/shlibs" # IMAGE_LINGUAS= # BBFILE_PRIORITY_angstrom-layer=7 BBFILE_PRIORITY_angstrom-layer="7" # PREFERRED_VERSION_opie-multikey=${OPIE_VERSION} PREFERRED_VERSION_opie-multikey="1.2.4" # PREFERRED_VERSION_pango=1.28.3 PREFERRED_VERSION_pango="1.28.3" # PREFERRED_PROVIDER_virtual/libc-nativesdk=${TCLIBC}-nativesdk PREFERRED_PROVIDER_virtual/libc-nativesdk="eglibc-nativesdk" # ENABLE_BINARY_LOCALE_GENERATION_ep9312=0 ENABLE_BINARY_LOCALE_GENERATION_ep9312="0" # ALLOWED_FLAGS=-O -mcpu -march -pipe ALLOWED_FLAGS="-O -mcpu -march -pipe" # PARALLEL_MAKE=-j4 PARALLEL_MAKE="-j4" # PREFERRED_VERSION_opie-examples=${OPIE_VERSION} PREFERRED_VERSION_opie-examples="1.2.4" # STAGING_DIR_JAVA=${STAGING_DIR}/java STAGING_DIR_JAVA="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/java" # PREFERRED_VERSION_mythtv=0.23 PREFERRED_VERSION_mythtv="0.23" # VIRTUAL-RUNTIME_update-alternatives=opkg VIRTUAL-RUNTIME_update-alternatives="opkg" # PREFERRED_VERSION_opie-bluepin=${OPIE_VERSION} PREFERRED_VERSION_opie-bluepin="1.2.4" # PREFERRED_VERSION_opie-solitaire=${OPIE_VERSION} PREFERRED_VERSION_opie-solitaire="1.2.4" # PREFERRED_PROVIDER_virtual/java-initial=jamvm-initial PREFERRED_PROVIDER_virtual/java-initial="jamvm-initial" # SSTATE_MANMACH=beagleboard SSTATE_MANMACH="beagleboard" # FILE_DIRNAME=${@os.path.dirname(bb.data.getVar('FILE', d))} FILE_DIRNAME="/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images" # SSTATETASKS=do_package_write_ipk do_package do_populate_sysroot SSTATETASKS="do_package_write_ipk do_package do_populate_sysroot" # SOURCEFORGE_MIRROR=http://downloads.sourceforge.net SOURCEFORGE_MIRROR="http://downloads.sourceforge.net" # BBFILE_PRIORITY_efl-layer=7 BBFILE_PRIORITY_efl-layer="7" # TOOLCHAIN_SYSPATH=${TOOLCHAIN_PATH}/${TARGET_SYS} TOOLCHAIN_SYSPATH="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi" # PREFERRED_PROVIDER_opkg=opkg PREFERRED_PROVIDER_opkg="opkg" # PREFERRED_VERSION_linux-handhelds-2.6=2.6.21-hh20 PREFERRED_VERSION_linux-handhelds-2.6="2.6.21-hh20" # PREFERRED_VERSION_ti-dm365mm-module=1_0_3 PREFERRED_VERSION_ti-dm365mm-module="1_0_3" # OBJDUMP=${HOST_PREFIX}objdump export OBJDUMP="arm-angstrom-linux-gnueabi-objdump" # BB_HASHFILENAME=${SSTATE_PKGNAME} BB_HASHFILENAME="sstate-console-image-beagleboard-angstrom-linux-gnueabi-1.0-r0-beagleboard-2-${BB_TASKHASH}" # IMAGE_BASENAME=console-image export IMAGE_BASENAME="console-image" # PATCHTOOL=quilt PATCHTOOL="quilt" # XORG_MIRROR=http://xorg.freedesktop.org/releases XORG_MIRROR="http://xorg.freedesktop.org/releases" # SYSROOT_DESTDIR=${WORKDIR}/sysroot-destdir/ SYSROOT_DESTDIR="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/sysroot-destdir/" # IMAGE_ROOTFS_SIZE=65536 IMAGE_ROOTFS_SIZE="65536" # PREFERRED_VERSION_opie-mediaplayer1=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer1="1.2.4" # PREFERRED_VERSION_opie-symlinker=${OPIE_VERSION} PREFERRED_VERSION_opie-symlinker="1.2.4" # BUILD_CFLAGS=${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION} export BUILD_CFLAGS="-isystem/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/include -O2 -pipe" # PREFERRED_VERSION_opie-calibrate=${OPIE_VERSION} PREFERRED_VERSION_opie-calibrate="1.2.4" # TINDER_LOG=${TMPDIR}/tinder.log TINDER_LOG="/OE/tentacle/build/tmp-angstrom_2010_x/tinder.log" # PREFERRED_VERSION_opie-pimconverter=${OPIE_VERSION} PREFERRED_VERSION_opie-pimconverter="1.2.4" # PSEUDO_LOCALSTATEDIR=${WORKDIR}/pseudo/ PSEUDO_LOCALSTATEDIR="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/pseudo/" # SPECIAL_PKGSUFFIX=-native -cross -initial -intermediate -nativesdk -crosssdk -cross-canadian SPECIAL_PKGSUFFIX="-native -cross -initial -intermediate -nativesdk -crosssdk -cross-canadian" # BUILD_EXEEXT= # PREFERRED_VERSION_opie-homeapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-homeapplet="1.2.4" # PREFERRED_VERSION_wget=1.11.4 PREFERRED_VERSION_wget="1.11.4" # ASSUME_SHLIBS=None # OLDEST_KERNEL=2.6.16 OLDEST_KERNEL="2.6.16" # PREFERRED_VERSION_opie-mediaplayer2=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer2="1.2.4" # ANGSTROM_BLACKLIST_pn-bluez-utils=bluez-utils 3.x has been replaced by bluez4 ANGSTROM_BLACKLIST_pn-bluez-utils="bluez-utils 3.x has been replaced by bluez4" # PREFERRED_VERSION_udev=165 PREFERRED_VERSION_udev="165" # ANGSTROM_PKG_FORMAT=ipk ANGSTROM_PKG_FORMAT="ipk" # SECTION_${PN}-doc=None # PREFERRED_VERSION_opie-tableviewer=${OPIE_VERSION} PREFERRED_VERSION_opie-tableviewer="1.2.4" # PR=${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0'} PR="r0" # PREFERRED_VERSION_ti-codec-engine-examples=2_26_01_09 PREFERRED_VERSION_ti-codec-engine-examples="2_26_01_09" # PV=${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[1] or '1.0'} PV="1.0" # PREFERRED_VERSION_opie-networksettings=${OPIE_VERSION} PREFERRED_VERSION_opie-networksettings="1.2.4" # PREFERRED_VERSION_opie-qasteroids=${OPIE_VERSION} PREFERRED_VERSION_opie-qasteroids="1.2.4" # AUTHOR=None # PREFERRED_VERSION_myththemes=0.23 PREFERRED_VERSION_myththemes="0.23" # SDK_PREFIX=${SDK_SYS}- SDK_PREFIX="x86_64-angstromsdk-linux-" # PREFERRED_VERSION_opie-button-settings=${OPIE_VERSION} PREFERRED_VERSION_opie-button-settings="1.2.4" # BUILDSDK_LDFLAGS=-L${STAGING_LIBDIR} -Wl,-rpath-link,${STAGING_LIBDIR} -Wl,-rpath,${libdir} -Wl,-O1 -L${STAGING_DIR_HOST}${base_libdir} -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} -Wl,-rpath,${base_libdir} -Wl,-O1 BUILDSDK_LDFLAGS="-L/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/lib -Wl,-rpath-link,/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/lib -Wl,-rpath,/usr/lib -Wl,-O1 -L/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/lib -Wl,-rpath-link,/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/lib -Wl,-rpath,/lib -Wl,-O1" # PKGDEST=${WORKDIR}/packages-split PKGDEST="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/packages-split" # BBFILE_PATTERN_gnome-layer=^/OE/tentacle/sources/meta-openembedded/meta-gnome/ BBFILE_PATTERN_gnome-layer="^/OE/tentacle/sources/meta-openembedded/meta-gnome/" # PF=${PN}-${EXTENDPE}${PV}-${PR} PF="console-image-1.0-r0" # STAGING_BINDIR_NATIVE=${STAGING_DIR_NATIVE}${bindir_native} STAGING_BINDIR_NATIVE="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin" # PREFERRED_VERSION_glibc=2.10.1 PREFERRED_VERSION_glibc="2.10.1" # PN=${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[0] or 'defaultpkgname'} PN="console-image" # ENABLE_BINARY_LOCALE_GENERATION_armeb=0 ENABLE_BINARY_LOCALE_GENERATION_armeb="0" # PREFERRED_VERSION=None # IPKG_VARIANT=opkg angstrom-version ${ANGSTROM_FEED_CONFIGS} IPKG_VARIANT="opkg angstrom-version angstrom-feed-configs" # TARGET_FPU_armeb=soft TARGET_FPU_armeb="soft" # PREFERRED_VERSION_opie-remote=${OPIE_VERSION} PREFERRED_VERSION_opie-remote="1.2.4" # STAGING_IDLDIR=${STAGING_DATADIR}/idl export STAGING_IDLDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/share/idl" # SOLIBSDEV=.so SOLIBSDEV=".so" # PREFERRED_PROVIDER_swt3.4-gtk=swt3.4-gtk PREFERRED_PROVIDER_swt3.4-gtk="swt3.4-gtk" # FILES_${PN}-dev=None # QMAKE_MKSPEC_PATH=${STAGING_DATADIR_NATIVE}/qmake export QMAKE_MKSPEC_PATH="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/share/qmake" # PREFERRED_VERSION_opie-write=${OPIE_VERSION} PREFERRED_VERSION_opie-write="1.2.4" # S=${WORKDIR}/${BP} S="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/console-image-1.0" # PREFERRED_VERSION_libtool-nativesdk=${ANGSTROM_LIBTOOL_VERSION} PREFERRED_VERSION_libtool-nativesdk="2.4" # DISTRO_VERSION=v${@time.strftime('%Y.%m',time.gmtime())}-core DISTRO_VERSION="v2011.05-core" # DEPLOY_DIR_TAR=${DEPLOY_DIR}/tar DEPLOY_DIR_TAR="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/tar" # DEBUG_APPS= ${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)} DEBUG_APPS="strace procps" # PREFERRED_VERSION_opie-keypebble=${OPIE_VERSION} PREFERRED_VERSION_opie-keypebble="1.2.4" # MKTEMPDIRCMD=mktemp -d -q ${TMPBASE} MKTEMPDIRCMD="mktemp -d -q ${TMPBASE}" # STAGING_KERNEL_DIR=${STAGING_DIR_HOST}/kernel STAGING_KERNEL_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/kernel" # BB_HASHCHECK_FUNCTION=sstate_checkhashes BB_HASHCHECK_FUNCTION="sstate_checkhashes" # PREFERRED_PROVIDER_virtual/gettext=gettext PREFERRED_PROVIDER_virtual/gettext="gettext" # PREFERRED_VERSION_autoconf=2.65 PREFERRED_VERSION_autoconf="2.65" # SEPPUKU_LOGIN=http://bugs.openembedded.net/query.cgi? SEPPUKU_LOGIN="http://bugs.openembedded.net/query.cgi?" # PREFERRED_PROVIDER_linux-libc-headers=linux-libc-headers PREFERRED_PROVIDER_linux-libc-headers="linux-libc-headers" # SEPPUKU_PRODUCT=Openembedded SEPPUKU_PRODUCT="Openembedded" # IPKGCONF_SDK=${WORKDIR}/opkg-sdk.conf IPKGCONF_SDK="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg-sdk.conf" # PREFERRED_VERSION_uclibc-initial=git PREFERRED_VERSION_uclibc-initial="git" # ADOBE_MIRROR=http://fpdownload.macromedia.com/get/flashplayer/current/ ADOBE_MIRROR="http://fpdownload.macromedia.com/get/flashplayer/current/" # PREFERRED_VERSION_opie-login=${OPIE_VERSION} PREFERRED_VERSION_opie-login="1.2.4" # SOLIBS=.so.* SOLIBS=".so.*" # MULTIMACH_ARCH=${PACKAGE_ARCH} MULTIMACH_ARCH="beagleboard" # PROVIDES=${P} ${PF} ${PN} PROVIDES="console-image-1.0 console-image-1.0-r0 console-image" # PKG_CONFIG_DIR=${STAGING_DIR_HOST}/${libdir}/pkgconfig export PKG_CONFIG_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc//usr/lib/pkgconfig" # TARGET_LDFLAGS=-Wl,-O1 ${TARGET_LINK_HASH_STYLE} export TARGET_LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu" # IMAGE_PREPROCESS_COMMAND=rootfs_update_timestamp IMAGE_PREPROCESS_COMMAND="rootfs_update_timestamp" # SRCREV=INVALID SRCREV="INVALID" # DEBIANRDEP= # do_package_write_tar=None # SRCREV_pn-bickley=de9431b7c6040bc3731157c05947159ad2c7a0a9 SRCREV_pn-bickley="de9431b7c6040bc3731157c05947159ad2c7a0a9" # docdir=${datadir}/doc export docdir="/usr/share/doc" # ARM_INTERWORK_M_OPT=${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']} ARM_INTERWORK_M_OPT="-mthumb-interwork" # BBFILE_PATTERN_normal=^/OE/tentacle/sources/openembedded-core/meta/ BBFILE_PATTERN_normal="^/OE/tentacle/sources/openembedded-core/meta/" # PREFERRED_VERSION_binutils-cross-sdk_avr32=2.17 PREFERRED_VERSION_binutils-cross-sdk_avr32="2.17" # DISTRO_FEATURES=largefile ipv4 ipv6 nfs smbfs wifi ppp alsa bluetooth ext2 vfat irda pcmcia usbgadget usbhost pci pam xattr argp tk ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]} DISTRO_FEATURES="largefile ipv4 ipv6 nfs smbfs wifi ppp alsa bluetooth ext2 vfat irda pcmcia usbgadget usbhost pci pam xattr argp tk thumb-interwork" # TARGET_SYS=${TARGET_ARCH}${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]} TARGET_SYS="arm-angstrom-linux-gnueabi" # PREFERRED_VERSION_ti-codecs-dm365=3_10_00_02 PREFERRED_VERSION_ti-codecs-dm365="3_10_00_02" # BB_HASHTASK_WHITELIST=(.*-cross$|.*-native$|.*-cross-initial$|.*-cross-intermediate$|^virtual:native:.*|^virtual:nativesdk:.*) BB_HASHTASK_WHITELIST="(.*-cross$|.*-native$|.*-cross-initial$|.*-cross-intermediate$|^virtual:native:.*|^virtual:nativesdk:.*)" # PREFERRED_VERSION_opie-osearch=${OPIE_VERSION} PREFERRED_VERSION_opie-osearch="1.2.4" # palmtopdir=${libdir}/opie export palmtopdir="/usr/lib/opie" # PREFERRED_VERSION_opie-ftp=${OPIE_VERSION} PREFERRED_VERSION_opie-ftp="1.2.4" # PREFERRED_VERSION_jamvm-initial=1.4.5 PREFERRED_VERSION_jamvm-initial="1.4.5" # ANGSTROM_BLACKLIST_pn-fso-apm=regular apmd is good enough ANGSTROM_BLACKLIST_pn-fso-apm="regular apmd is good enough" # TERMCMD=${XTERM_TERMCMD} TERMCMD="xterm -T \"$TERMWINDOWTITLE\"" # PREFERRED_VERSION_konqueror-embedded=20070316 PREFERRED_VERSION_konqueror-embedded="20070316" # PREFERRED_PROVIDER_qemu-native=qemu-native PREFERRED_PROVIDER_qemu-native="qemu-native" # PKG_CONFIG_DISABLE_UNINSTALLED=yes export PKG_CONFIG_DISABLE_UNINSTALLED="yes" # RESUMECOMMAND=ERROR, this must be a BitBake bug RESUMECOMMAND="ERROR, this must be a BitBake bug" # DESCRIPTION_${PN}-dev=None # PREFERRED_VERSION_cairo=1.10.0 PREFERRED_VERSION_cairo="1.10.0" # TESTLABLOG=remote TESTLABLOG="remote" # infodir=${datadir}/info export infodir="/usr/share/info" # PREFERRED_VERSION_opie-tetrix=${OPIE_VERSION} PREFERRED_VERSION_opie-tetrix="1.2.4" # EFL_SRCREV=53914 EFL_SRCREV="53914" # PREFERRED_VERSION_opie-sh=${OPIE_VERSION} PREFERRED_VERSION_opie-sh="1.2.4" # libdir=${exec_prefix}/lib export libdir="/usr/lib" # LINUX_LIBC_HEADERS_VERSION=2.6.37.2 LINUX_LIBC_HEADERS_VERSION="2.6.37.2" # DISTROOVERRIDES=${DISTRO} DISTROOVERRIDES="angstrom" # SPLASH= # ANGSTROM_FEED_CONFIGS=angstrom-feed-configs ANGSTROM_FEED_CONFIGS="angstrom-feed-configs" # KONSOLE_TERMCMD=konsole -T "$TERMWINDOWTITLE" KONSOLE_TERMCMD="konsole -T \"$TERMWINDOWTITLE\"" # LOCALE_UTF8_ONLY=1 LOCALE_UTF8_ONLY="1" # ALLOW_EMPTY_${PN}-dev=None # PREFERRED_VERSION_qt4-embedded=${ANGSTROM_QT_VERSION} PREFERRED_VERSION_qt4-embedded="4.7.1" # base_prefix= # STAGING_BINDIR_TOOLCHAIN=${STAGING_DIR_NATIVE}${bindir_native}/${BASEPKG_TARGET_SYS} STAGING_BINDIR_TOOLCHAIN="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi" # PREFERRED_VERSION_ti-codecs-omap3530=4_00_00_00 PREFERRED_VERSION_ti-codecs-omap3530="4_00_00_00" # CC=${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} export CC="ccache arm-angstrom-linux-gnueabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize -mthumb-interwork -mno-thumb --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # SYSROOT_PREPROCESS_FUNCS= # THISDIR=${@os.path.dirname(bb.data.getVar('FILE', d, True))} THISDIR="/OE/tentacle/sources/meta-angstrom/recipes-angstrom/images" # PREFERRED_VERSION_ti-codecs-omapl138-server=1_00_00 PREFERRED_VERSION_ti-codecs-omapl138-server="1_00_00" # PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-initial-nativesdk=None # HGDIR=${CO_DIR}/hg HGDIR="/OE/tentacle/sources/downloads/hg" # PACKAGE_EXTRA_ARCHS=arm armv4 armv4t armv5te armv6 armv7 armv7a PACKAGE_EXTRA_ARCHS="arm armv4 armv4t armv5te armv6 armv7 armv7a" # PREFERRED_VERSION_opie-sysinfo=${OPIE_VERSION} PREFERRED_VERSION_opie-sysinfo="1.2.4" # PREFERRED_VERSION_gcc-crosssdk-initial=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-crosssdk-initial="4.5" # SEPPUKU_QUERY=http://bugs.openembedded.net/buglist.cgi? SEPPUKU_QUERY="http://bugs.openembedded.net/buglist.cgi?" # PREFERRED_VERSION_opie-gutenbrowser=${OPIE_VERSION} PREFERRED_VERSION_opie-gutenbrowser="1.2.4" # BUILD_OS=${@os.uname()[0].lower()} BUILD_OS="linux" # IMAGE_FSTYPES= tar.bz2 tar.bz2 ubi IMAGE_FSTYPES="tar.bz2 tar.bz2 ubi" # PREFERRED_VERSION_opie-mail=${OPIE_VERSION} PREFERRED_VERSION_opie-mail="1.2.4" # PREFERRED_VERSION_opie-embeddedkonsole=${OPIE_VERSION} PREFERRED_VERSION_opie-embeddedkonsole="1.2.4" # FAKEROOTENV=PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0 FAKEROOTENV="PSEUDO_PREFIX=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr PSEUDO_LOCALSTATEDIR=/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/pseudo/ PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0" # STAGING_LOADER_DIR=${STAGING_DIR_HOST}/loader STAGING_LOADER_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/loader" # SSTATE_PKG=${SSTATE_DIR}/${SSTATE_PKGNAME} SSTATE_PKG="/OE/tentacle/build/sstate-cache/sstate-console-image-beagleboard-angstrom-linux-gnueabi-1.0-r0-beagleboard-2-${BB_TASKHASH}" # TOOLCHAIN_OPTIONS= --sysroot=${STAGING_DIR_TARGET} TOOLCHAIN_OPTIONS="--sysroot=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # LIBC_DEPENDENCIES=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 locale-base-en-gb LIBC_DEPENDENCIES="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 locale-base-en-gb" # BB_NUMBER_THREADS=4 BB_NUMBER_THREADS="4" # PREFERRED_VERSION_opie-oxygen=${OPIE_VERSION} PREFERRED_VERSION_opie-oxygen="1.2.4" # PREFERRED_VERSION_opie-zsame=${OPIE_VERSION} PREFERRED_VERSION_opie-zsame="1.2.4" # PREFERRED_VERSION_ti-codecs-dm355=1_13_000 PREFERRED_VERSION_ti-codecs-dm355="1_13_000" # PREFERRED_VERSION_icedtea6-native=1.7.5 PREFERRED_VERSION_icedtea6-native="1.7.5" # PREFERRED_VERSION_opie-today-todolistplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-today-todolistplugin="1.2.4" # PYTHON=${@sys.executable} PYTHON="/usr/bin/python" # PREFERRED_VERSION_usbutils=0.86 PREFERRED_VERSION_usbutils="0.86" # CACHE=/OE/tentacle/build/tmp-angstrom_2010_x/cache/eglibc/beagleboard CACHE="/OE/tentacle/build/tmp-angstrom_2010_x/cache/eglibc/beagleboard" # PREFERRED_PROVIDER_virtual/libx11=libx11 PREFERRED_PROVIDER_virtual/libx11="libx11" # TARGET_PREFIX=${TARGET_SYS}- TARGET_PREFIX="arm-angstrom-linux-gnueabi-" # PREFERRED_VERSION_opie-mindbreaker=${OPIE_VERSION} PREFERRED_VERSION_opie-mindbreaker="1.2.4" # expansion of SRCPV threw ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure for URL: 'None'. SRCREV was used yet no valid SCM was found in SRC_URI # PREFERRED_VERSION_pulseaudio=0.9.22 PREFERRED_VERSION_pulseaudio="0.9.22" # DISTRO_REVISION=5 DISTRO_REVISION="5" # PREFERRED_VERSION_networkmanager-openvpn=0.8.1 PREFERRED_VERSION_networkmanager-openvpn="0.8.1" # HOST_OS=${TARGET_OS} HOST_OS="linux-gnueabi" # palmqtdir=${palmtopdir} export palmqtdir="/usr/lib/opie" # LAYER_CONF_VERSION=4 LAYER_CONF_VERSION="4" # IMAGE_NAME=${DISTRO_NAME}-${IMAGE_BASENAME}-${TCLIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE} IMAGE_NAME="Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard" # MULTIMACH_HOST_SYS=${MULTIMACH_ARCH}${HOST_VENDOR}-${HOST_OS} MULTIMACH_HOST_SYS="beagleboard-angstrom-linux-gnueabi" # PREFERRED_VERSION_opie-bounce=${OPIE_VERSION} PREFERRED_VERSION_opie-bounce="1.2.4" # TARGET_FPU=hard TARGET_FPU="hard" # DOTDEBUG-dbg=${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug ${libdir}/matchbox-panel/.debug /usr/src/debug DOTDEBUG-dbg="/usr/bin/.debug /usr/sbin/.debug /usr/libexec/.debug /usr/lib/.debug /bin/.debug /sbin/.debug /lib/.debug /usr/lib/console-image/.debug /usr/lib/matchbox-panel/.debug /usr/src/debug" # STAGING_DIR_NATIVE=${STAGING_DIR}/${BUILD_SYS} STAGING_DIR_NATIVE="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux" # SEPPUKU_NEWREPORT=http://bugs.openembedded.net/post_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom%20unstable&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other& SEPPUKU_NEWREPORT="http://bugs.openembedded.net/post_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom%20unstable&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other&" # PACKAGE_ARCHS=all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH} PACKAGE_ARCHS="all any noarch arm armv4 armv4t armv5te armv6 armv7 armv7a beagleboard" # TESTLABREMOTEDIR=/OE/angstrom-testlab-yocto TESTLABREMOTEDIR="/OE/angstrom-testlab-yocto" # PREFERRED_VERSION_opie-keyview=${OPIE_VERSION} PREFERRED_VERSION_opie-keyview="1.2.4" # DEPLOY_DIR=${TMPDIR}/deploy/${TCLIBC} DEPLOY_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc" # PREFERRED_VERSION_opie-sfcave=${OPIE_VERSION} PREFERRED_VERSION_opie-sfcave="1.2.4" # PACKAGE_ARCH=${MACHINE_ARCH} PACKAGE_ARCH="beagleboard" # PREFERRED_VERSION_gtk+=2.20.1 PREFERRED_VERSION_gtk+="2.20.1" # PREFERRED_VERSION_opie-pyquicklaunchapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-pyquicklaunchapplet="1.2.4" # MACHINE_EXTRA_RDEPENDS= # EXTRA_OECONF= # BUILD_F77=${CCACHE}${BUILD_PREFIX}g77 ${BUILD_CC_ARCH} export BUILD_F77="ccache g77" # MULTI_PROVIDER_WHITELIST=virtual/libintl virtual/libintl-native virtual/libintl-nativesdk virtual/xserver MULTI_PROVIDER_WHITELIST="virtual/libintl virtual/libintl-native virtual/libintl-nativesdk virtual/xserver" # DISTRO_CHECK=v2011.05-core DISTRO_CHECK="v2011.05-core" # ANGSTROM_BLACKLIST_pn-bluez-libs=bluez-libs 3.x has been replaced by bluez4 ANGSTROM_BLACKLIST_pn-bluez-libs="bluez-libs 3.x has been replaced by bluez4" # PREFERRED_VERSION_network-manager-applet=0.8.1 PREFERRED_VERSION_network-manager-applet="0.8.1" # MACHINE_ESSENTIAL_EXTRA_RDEPENDS= # STAMP=${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PF} STAMP="/OE/tentacle/build/tmp-angstrom_2010_x/stamps/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0" # PREFERRED_VERSION_opie-datebook-birthdayplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-datebook-birthdayplugin="1.2.4" # BBFILE_PATTERN_meta-ti=^/OE/tentacle/sources/meta-texasinstruments/ BBFILE_PATTERN_meta-ti="^/OE/tentacle/sources/meta-texasinstruments/" # BBINCLUDELOGS=None # PREFERRED_VERSION_classpath=0.98 PREFERRED_VERSION_classpath="0.98" # PREFERRED_PROVIDER_virtual/libintl=eglibc PREFERRED_PROVIDER_virtual/libintl="eglibc" # PREFERRED_VERSION_cacaoh-native=0.99.3 PREFERRED_VERSION_cacaoh-native="0.99.3" # PREFERRED_VERSION_opie-icon-reload=${OPIE_VERSION} PREFERRED_VERSION_opie-icon-reload="1.2.4" # SSTATE_MANIFESTS=${TMPDIR}/sstate-control-${TCLIBC} SSTATE_MANIFESTS="/OE/tentacle/build/tmp-angstrom_2010_x/sstate-control-eglibc" # ANGSTROM_ARM_INSTRUCTION_SET=arm ANGSTROM_ARM_INSTRUCTION_SET="arm" # BB_DEFAULT_TASK=rm_work_all BB_DEFAULT_TASK="rm_work_all" # RPROVIDES= # PREFERRED_VERSION_openssl-native=1.0.0c PREFERRED_VERSION_openssl-native="1.0.0c" # DESCRIPTION_${PN}-dbg=None # PREFERRED_VERSION_ti-codecs-omap3530-server=4_00_00_00 PREFERRED_VERSION_ti-codecs-omap3530-server="4_00_00_00" # PREFERRED_VERSION_opie-securityplugin-notice=${OPIE_VERSION} PREFERRED_VERSION_opie-securityplugin-notice="1.2.4" # OVERRIDE_THUMB=${@['', 'thumb:'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']} # PREFERRED_VERSION_opie-style-fresh=${OPIE_VERSION} PREFERRED_VERSION_opie-style-fresh="1.2.4" # base_libdir_nativesdk=/lib base_libdir_nativesdk="/lib" # PACKAGEFUNCS=perform_packagecopy ${PACKAGE_PREPROCESS_FUNCS} package_do_split_locales split_and_strip_files populate_packages package_do_filedeps package_do_shlibs package_do_pkgconfig read_shlibdeps package_depchains emit_pkgdata do_package_qa PACKAGEFUNCS="perform_packagecopy package_do_split_locales split_and_strip_files populate_packages package_do_filedeps package_do_shlibs package_do_pkgconfig read_shlibdeps package_depchains emit_pkgdata do_package_qa" # PREFERRED_VERSION_opie-parashoot=${OPIE_VERSION} PREFERRED_VERSION_opie-parashoot="1.2.4" # PREFERRED_VERSION_mesa-dri=${ANGSTROM_MESA_VERSION} PREFERRED_VERSION_mesa-dri="7.8.2" # OPIE_VERSION=1.2.4 OPIE_VERSION="1.2.4" # ANGSTROM_BLACKLIST_pn-ipkg=ipkg has been superseded by opkg ANGSTROM_BLACKLIST_pn-ipkg="ipkg has been superseded by opkg" # DEPLOY_DIR_TOOLS=${DEPLOY_DIR}/tools DEPLOY_DIR_TOOLS="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/tools" # BBFILE_PATTERN_efl-layer=^/OE/tentacle/sources/meta-openembedded/meta-efl/ BBFILE_PATTERN_efl-layer="^/OE/tentacle/sources/meta-openembedded/meta-efl/" # PREFERRED_VERSION_classpath-native=0.98 PREFERRED_VERSION_classpath-native="0.98" # GPE_SVN=svn://projects.linuxtogo.org/svn/gpe/trunk/base;module=${PN} GPE_SVN="svn://projects.linuxtogo.org/svn/gpe/trunk/base;module=console-image" # TARGET_CC_ARCH_pn-webkit-gtk_armv5te=-march=armv4t TARGET_CC_ARCH_pn-webkit-gtk_armv5te="-march=armv4t" # CPPFLAGS=${TARGET_CPPFLAGS} # PREFERRED_VERSION_busybox=1.18.4 PREFERRED_VERSION_busybox="1.18.4" # LICENSE=MIT LICENSE="MIT" # QEMUIMAGETESTS=/OE/tentacle/sources/openembedded-core/scripts/qemuimage-tests QEMUIMAGETESTS="/OE/tentacle/sources/openembedded-core/scripts/qemuimage-tests" # SUMMARY_${PN}-dev=None # FULL_OPTIMIZATION_pn-perl=-O1 -g FULL_OPTIMIZATION_pn-perl="-O1 -g" # PREFERRED_VERSION_opie-irdaapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-irdaapplet="1.2.4" # SOLIBS_darwin=.*.dylib SOLIBS_darwin=".*.dylib" # HOST_PREFIX=${TARGET_PREFIX} HOST_PREFIX="arm-angstrom-linux-gnueabi-" # BP=${BPN}-${PV} BP="console-image-1.0" # PREFERRED_VERSION_opie-calculator=${OPIE_VERSION} PREFERRED_VERSION_opie-calculator="1.2.4" # IMAGE_INITSCRIPTS=initscripts IMAGE_INITSCRIPTS="initscripts" # PKGDATA_DIR=${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS} PKGDATA_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/pkgdata/beagleboard-angstrom-linux-gnueabi" # sysconfdir_native=/etc sysconfdir_native="/etc" # XLIBS_MIRROR=http://xlibs.freedesktop.org/release XLIBS_MIRROR="http://xlibs.freedesktop.org/release" # SDK_ARCH=${BUILD_ARCH} SDK_ARCH="x86_64" # PACKAGE_PREPROCESS_FUNCS= # PREFERRED_PROVIDER_virtual/update-alternatives-native=opkg-native PREFERRED_PROVIDER_virtual/update-alternatives-native="opkg-native" # PREFERRED_VERSION_jamvm-native=1.5.3 PREFERRED_VERSION_jamvm-native="1.5.3" # PREFERRED_VERSION_opie-console=${OPIE_VERSION} PREFERRED_VERSION_opie-console="1.2.4" # STAGING_PYDIR=${STAGING_DIR}/lib/python2.4 STAGING_PYDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/lib/python2.4" # DEBUGFILEDIRECTORY-dbg=/usr/lib/debug /usr/src/debug DEBUGFILEDIRECTORY-dbg="/usr/lib/debug /usr/src/debug" # PREFERRED_VERSION_uclibc=git PREFERRED_VERSION_uclibc="git" # DEPCHAIN_POST=-dev -dbg DEPCHAIN_POST="-dev -dbg" # PREFERRED_VERSION_opie-pickboard=${OPIE_VERSION} PREFERRED_VERSION_opie-pickboard="1.2.4" # PREFERRED_VERSION_ti-codecs_omapl137-server=1_00_00 PREFERRED_VERSION_ti-codecs_omapl137-server="1_00_00" # IMAGE_PKGTYPE=ipk IMAGE_PKGTYPE="ipk" # SHLIBSDIR=${STAGING_DIR_HOST}/shlibs SHLIBSDIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/shlibs" # BB_GENERATE_MIRROR_TARBALLS=0 BB_GENERATE_MIRROR_TARBALLS="0" # TARGET_FPU_ixp4xx=soft TARGET_FPU_ixp4xx="soft" # PREFERRED_VERSION_opie-securityplugin-pin=${OPIE_VERSION} PREFERRED_VERSION_opie-securityplugin-pin="1.2.4" # PREFERRED_VERSION_cacao=0.99.3 PREFERRED_VERSION_cacao="0.99.3" # SSTATE_DIR=/OE/tentacle/build/sstate-cache SSTATE_DIR="/OE/tentacle/build/sstate-cache" # MACHINE_FEATURES=kernel26 screen apm usbgadget usbhost vfat alsa MACHINE_FEATURES="kernel26 screen apm usbgadget usbhost vfat alsa" # D=${WORKDIR}/image D="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/image" # GNU_MIRROR=ftp://ftp.gnu.org/gnu GNU_MIRROR="ftp://ftp.gnu.org/gnu" # SOURCE_MIRROR_FETCH=None # RANLIB=${HOST_PREFIX}ranlib export RANLIB="arm-angstrom-linux-gnueabi-ranlib" # ANGSTROM_GCC_VERSION_xilinx-ml403=4.1.1 ANGSTROM_GCC_VERSION_xilinx-ml403="4.1.1" # SEPPUKU_ATTACHMENT=http://bugs.openembedded.net/attachment.cgi? SEPPUKU_ATTACHMENT="http://bugs.openembedded.net/attachment.cgi?" # PREFERRED_VERSION_opie-kpacman=${OPIE_VERSION} PREFERRED_VERSION_opie-kpacman="1.2.4" # T=${WORKDIR}/temp T="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/temp" # PACKAGE_DEPENDS= rpm-native file-native pax-utils-native desktop-file-utils-native PACKAGE_DEPENDS="rpm-native file-native pax-utils-native desktop-file-utils-native" # PSTAGE_EXTRAPATH=${TCLIBC} PSTAGE_EXTRAPATH="eglibc" # PREFERRED_VERSION_ti-codecs-dm6467-server=1_00_00_03 PREFERRED_VERSION_ti-codecs-dm6467-server="1_00_00_03" # ANGSTROM_LIBTOOL_VERSION=2.4 ANGSTROM_LIBTOOL_VERSION="2.4" # ANGSTROM_GCC_VERSION_avr32=4.2.2 ANGSTROM_GCC_VERSION_avr32="4.2.2" # PREFERRED_VERSION_opie-jumpx=${OPIE_VERSION} PREFERRED_VERSION_opie-jumpx="1.2.4" # STAGING_DIR_HOST=${STAGING_DIR}/${MACHINE}-${TCLIBC} STAGING_DIR_HOST="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # base_sbindir=${base_prefix}/sbin export base_sbindir="/sbin" # PREFERRED_VERSION_gcc-crosssdk-intermediate=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-crosssdk-intermediate="4.5" # PREFERRED_VERSION_ti-dmai=2_10_00_01+svnr% PREFERRED_VERSION_ti-dmai="2_10_00_01+svnr%" # CXX=${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} export CXX="ccache arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize -mthumb-interwork -mno-thumb --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # PREFERRED_VERSION_opie-drawpad=${OPIE_VERSION} PREFERRED_VERSION_opie-drawpad="1.2.4" # SDKPATHNATIVE=${SDKPATH}/sysroots/${SDK_SYS} SDKPATHNATIVE="/usr/local/angstrom-eglibc-x86_64-armv7a/sysroots/x86_64-angstromsdk-linux" # PREFERRED_PROVIDER_linux-libc-headers-nativesdk=linux-libc-headers-nativesdk PREFERRED_PROVIDER_linux-libc-headers-nativesdk="linux-libc-headers-nativesdk" # BUILD_CC_ARCH= # TARGET_CC_KERNEL_ARCH= -mno-thumb-interwork -mno-thumb TARGET_CC_KERNEL_ARCH="-mno-thumb-interwork -mno-thumb" # PREFERRED_VERSION_opie-systemtime=${OPIE_VERSION} PREFERRED_VERSION_opie-systemtime="1.2.4" # FETCHCOMMAND=ERROR, this must be a BitBake bug FETCHCOMMAND="ERROR, this must be a BitBake bug" # LAYERDIR=None # TINDER_REPORT=1 TINDER_REPORT="1" # PREFERRED_VERSION_opie-mediaplayer2-skin-pod=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer2-skin-pod="1.2.4" # MACHINE_ARCH=${@[bb.data.getVar('BASE_PACKAGE_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))].replace('-', '_')} MACHINE_ARCH="beagleboard" # IMAGE_OVERHEAD_FACTOR=1.3 IMAGE_OVERHEAD_FACTOR="1.3" # PREFERRED_VERSION_ti-codecs-dm365-server=3_10_00_02 PREFERRED_VERSION_ti-codecs-dm365-server="3_10_00_02" # SCREEN_TERMCMD=screen -D -m -t "$TERMWINDOWTITLE" SCREEN_TERMCMD="screen -D -m -t \"$TERMWINDOWTITLE\"" # LIBTOOL_HAS_SYSROOT=yes LIBTOOL_HAS_SYSROOT="yes" # SDK_VENDOR=-angstromsdk SDK_VENDOR="-angstromsdk" # SRCREV_pn-moblin-menus=e1d63681739dd16195d005b3cf15752df294bd3c SRCREV_pn-moblin-menus="e1d63681739dd16195d005b3cf15752df294bd3c" # PREFERRED_VERSION_opie-today-addressbookplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-today-addressbookplugin="1.2.4" # PREFERRED_PROVIDER_virtual/libiconv=eglibc PREFERRED_PROVIDER_virtual/libiconv="eglibc" # PREFERRED_PROVIDER_virtual/libqte2=${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "qte-mt", "qte", d)} PREFERRED_PROVIDER_virtual/libqte2="qte-mt" # PREFERRED_VERSION_opie-reader=${OPIE_VERSION} PREFERRED_VERSION_opie-reader="1.2.4" # ARM_INSTRUCTION_SET_pn-uclibc=arm ARM_INSTRUCTION_SET_pn-uclibc="arm" # BUILD_RANLIB=${BUILD_PREFIX}ranlib export BUILD_RANLIB="ranlib" # OLDEST_KERNEL_linux-gnueabi=2.6.16 OLDEST_KERNEL_linux-gnueabi="2.6.16" # bindir_nativesdk=${prefix_nativesdk}/bin bindir_nativesdk="/usr/bin" # MIRRORS= ${DEBIAN_MIRROR}/main http://snapshot.debian.net/archive/pool \n ${DEBIAN_MIRROR} ftp://ftp.de.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.au.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.cl.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.hr.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.fi.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.hk.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.hu.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.ie.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.it.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.jp.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.no.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.pl.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.ro.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.si.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.es.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.se.debian.org/debian/pool \n ${DEBIAN_MIRROR} ftp://ftp.tr.debian.org/debian/pool \n ${GNU_MIRROR} ftp://mirrors.kernel.org/gnu \n ${GNU_MIRROR} ftp://ftp.matrix.com.br/pub/gnu \n ${GNU_MIRROR} ftp://ftp.cs.ubc.ca/mirror2/gnu \n ${GNU_MIRROR} ftp://sunsite.ust.hk/pub/gnu \n ${GNU_MIRROR} ftp://ftp.ayamura.org/pub/gnu \n ${KERNELORG_MIRROR} http://www.kernel.org/pub \n ${KERNELORG_MIRROR} ftp://ftp.us.kernel.org/pub \n ${KERNELORG_MIRROR} ftp://ftp.uk.kernel.org/pub \n ${KERNELORG_MIRROR} ftp://ftp.hk.kernel.org/pub \n ${KERNELORG_MIRROR} ftp://ftp.au.kernel.org/pub \n ${KERNELORG_MIRROR} ftp://ftp.jp.kernel.org/pub \n ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/ \n ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.surfnet.nl/pub/security/gnupg/ \n ftp://ftp.gnupg.org/gcrypt/ http://gulus.USherbrooke.ca/pub/appl/GnuPG/ \n ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnutls.org/pub/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/ \n http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n http://www.apache.org/dist http://archive.apache.org/dist \n ftp://.*/.* http://www.angstrom-distribution.org/unstable/sources/ #https?$://.*/.* http://www.angstrom-distribution.org/unstable/sources/ # MIRRORS="ftp://ftp.debian.org/debian/pool/main http://snapshot.debian.net/archive/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.de.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.au.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.cl.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.hr.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.fi.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.hk.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.hu.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.ie.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.it.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.jp.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.no.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.pl.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.ro.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.si.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.es.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.se.debian.org/debian/pool \n ftp://ftp.debian.org/debian/pool ftp://ftp.tr.debian.org/debian/pool \n ftp://ftp.gnu.org/gnu ftp://mirrors.kernel.org/gnu \n ftp://ftp.gnu.org/gnu ftp://ftp.matrix.com.br/pub/gnu \n ftp://ftp.gnu.org/gnu ftp://ftp.cs.ubc.ca/mirror2/gnu \n ftp://ftp.gnu.org/gnu ftp://sunsite.ust.hk/pub/gnu \n ftp://ftp.gnu.org/gnu ftp://ftp.ayamura.org/pub/gnu \n http://kernel.org/pub http://www.kernel.org/pub \n http://kernel.org/pub ftp://ftp.us.kernel.org/pub \n http://kernel.org/pub ftp://ftp.uk.kernel.org/pub \n http://kernel.org/pub ftp://ftp.hk.kernel.org/pub \n http://kernel.org/pub ftp://ftp.au.kernel.org/pub \n http://kernel.org/pub ftp://ftp.jp.kernel.org/pub \n ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/ \n ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.surfnet.nl/pub/security/gnupg/ \n ftp://ftp.gnupg.org/gcrypt/ http://gulus.USherbrooke.ca/pub/appl/GnuPG/ \n ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnutls.org/pub/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/ \n ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/ \n http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n http://www.apache.org/dist http://archive.apache.org/dist \n ftp://.*/.* http://www.angstrom-distribution.org/unstable/sources/ \ https?$://.*/.* http://www.angstrom-distribution.org/unstable/sources/" # PERSISTENT_DIR=${TMPDIR}/cache PERSISTENT_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/cache" # PKG_CONFIG_SYSROOT_DIR=${STAGING_DIR_HOST} export PKG_CONFIG_SYSROOT_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # BASEPKG_TARGET_SYS=${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS} BASEPKG_TARGET_SYS="armv7a-angstrom-linux-gnueabi" # PREFERRED_PROVIDER-gconf-dbus=gconf PREFERRED_PROVIDER-gconf-dbus="gconf" # LOG_DIR=${TMPDIR}/log LOG_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/log" # KERNELORG_MIRROR=http://kernel.org/pub KERNELORG_MIRROR="http://kernel.org/pub" # PREFERRED_VERSION_jamvm=1.5.2 PREFERRED_VERSION_jamvm="1.5.2" # DEPCHAIN_PRE= # ANGSTROM_QT_VERSION=4.7.1 ANGSTROM_QT_VERSION="4.7.1" # FEED_ARCH=armv7a FEED_ARCH="armv7a" # PACKAGERDEPTASK= # GNOME_GIT=git://git.gnome.org GNOME_GIT="git://git.gnome.org" # SEPPUKU_COMPONENT=org.openembedded.dev SEPPUKU_COMPONENT="org.openembedded.dev" # PREFERRED_VERSION_gcc-runtime-nativesdk=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-runtime-nativesdk="4.5" # CONF_VERSION=1 CONF_VERSION="1" # FEED_BASEPATH=feeds/core/${ANGSTROM_PKG_FORMAT}/${TCLIBC}/ FEED_BASEPATH="feeds/core/ipk/eglibc/" # PKGD=${WORKDIR}/package PKGD="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/package" # TOOLCHAIN_TYPE=internal TOOLCHAIN_TYPE="internal" # PKG_CONFIG_PATH=${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig export PKG_CONFIG_PATH="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc//usr/lib/pkgconfig:/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/share/pkgconfig" # PREFERRED_PROVIDER_virtual/javac-native=ecj-bootstrap-native PREFERRED_PROVIDER_virtual/javac-native="ecj-bootstrap-native" # PREFERRED_PROVIDER_opkg-native=opkg-native PREFERRED_PROVIDER_opkg-native="opkg-native" # FILES= # TCLIBC=eglibc TCLIBC="eglibc" # PREFERRED_PROVIDER_virtual/xserver=xserver-xorg PREFERRED_PROVIDER_virtual/xserver="xserver-xorg" # XSERVER=xserver-xorg xf86-input-evdev xf86-input-mouse xf86-video-omapfb xf86-input-keyboard XSERVER="xserver-xorg xf86-input-evdev xf86-input-mouse xf86-video-omapfb xf86-input-keyboard" # EXTRA_IMAGECMD_jffs2=-lnp EXTRA_IMAGECMD_jffs2="-lnp" # PREFERRED_VERSION_opie-tinykate=${OPIE_VERSION} PREFERRED_VERSION_opie-tinykate="1.2.4" # PREFERRED_VERSION_binutils-cross-canadian=${ANGSTROM_BINUTILS_VERSION} PREFERRED_VERSION_binutils-cross-canadian="2.20.1" # PREFERRED_VERSION_opie-stumbler=${OPIE_VERSION} PREFERRED_VERSION_opie-stumbler="1.2.4" # STAGING_DIR_TARGET=${STAGING_DIR}/${MACHINE}-${TCLIBC} STAGING_DIR_TARGET="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # PREFERRED_VERSION_opie-checkbook=${OPIE_VERSION} PREFERRED_VERSION_opie-checkbook="1.2.4" # FREEDESKTOP_CVS=cvs://anoncvs:anoncvs@anoncvs.freedesktop.org/cvs FREEDESKTOP_CVS="cvs://anoncvs:anoncvs@anoncvs.freedesktop.org/cvs" # PREFERRED_VERSION_opie-vmemo=${OPIE_VERSION} PREFERRED_VERSION_opie-vmemo="1.2.4" # PREFERRED_VERSION_opie-mediaplayer1-libwavplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer1-libwavplugin="1.2.4" # PREFERRED_VERSION_opie-powerchord=${OPIE_VERSION} PREFERRED_VERSION_opie-powerchord="1.2.4" # PREFERRED_VERSION_opie-oyatzee=${OPIE_VERSION} PREFERRED_VERSION_opie-oyatzee="1.2.4" # BUILD_CPPFLAGS=-isystem${STAGING_INCDIR_NATIVE} export BUILD_CPPFLAGS="-isystem/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/include" # PREFERRED_VERSION_ti-dmai-apps=2_10_00_01+svnr% PREFERRED_VERSION_ti-dmai-apps="2_10_00_01+svnr%" # PATCH_GET=0 export PATCH_GET="0" # PREFERRED_VERSION_ti-framework-components=2_25_03_07 PREFERRED_VERSION_ti-framework-components="2_25_03_07" # SITE_CONF_VERSION=1 SITE_CONF_VERSION="1" # DISTRO_FEED_CONFIGS=${ANGSTROM_FEED_CONFIGS} DISTRO_FEED_CONFIGS="angstrom-feed-configs" # BUILD_NM=${BUILD_PREFIX}nm export BUILD_NM="nm" # PREFERRED_VERSION_opie-euroconv=${OPIE_VERSION} PREFERRED_VERSION_opie-euroconv="1.2.4" # PREFERRED_VERSION_opie-keytabs=${OPIE_VERSION} PREFERRED_VERSION_opie-keytabs="1.2.4" # PREFERRED_VERSION_opie-performance=${OPIE_VERSION} PREFERRED_VERSION_opie-performance="1.2.4" # CXXFLAGS=${TARGET_CXXFLAGS} -fvisibility-inlines-hidden export CXXFLAGS="-O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden" # PREFERRED_VERSION_gcc-runtime=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-runtime="4.5" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate=None # DEPLOY_DIR_IMAGE=${DEPLOY_DIR}/images/${MACHINE} DEPLOY_DIR_IMAGE="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard" # TARGET_VENDOR=-angstrom TARGET_VENDOR="-angstrom" # COMPATIBLE_MACHINE=None # PREFERRED_VERSION_glibc-initial=2.10.1 PREFERRED_VERSION_glibc-initial="2.10.1" # BBFILE_PATTERN_gpe-layer=^/OE/tentacle/sources/meta-openembedded/meta-gpe/ BBFILE_PATTERN_gpe-layer="^/OE/tentacle/sources/meta-openembedded/meta-gpe/" # PREFERRED_VERSION_ti-dsplink-examples=1_65_00_03 PREFERRED_VERSION_ti-dsplink-examples="1_65_00_03" # SLOT=0 SLOT="0" # PREFERRED_VERSION_opie-datebook-chrisholidayplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-datebook-chrisholidayplugin="1.2.4" # KERNEL_CCSUFFIX_archos5=-4.2.1+csl-arm-2007q3-53 KERNEL_CCSUFFIX_archos5="-4.2.1+csl-arm-2007q3-53" # NM=${HOST_PREFIX}nm export NM="arm-angstrom-linux-gnueabi-nm" # PREFERRED_VERSION_opie-mediaplayer2-skin-default=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer2-skin-default="1.2.4" # PREFERRED_VERSION_opie-fifteen=${OPIE_VERSION} PREFERRED_VERSION_opie-fifteen="1.2.4" # PREFERRED_VERSION_opie-aqpkg=${OPIE_VERSION} PREFERRED_VERSION_opie-aqpkg="1.2.4" # PREFERRED_VERSION_opie-deco-flat=${OPIE_VERSION} PREFERRED_VERSION_opie-deco-flat="1.2.4" # PREFERRED_VERSION_networkmanager=0.8.1 PREFERRED_VERSION_networkmanager="0.8.1" # PREFERRED_VERSION_python-pycairo=1.8.0 PREFERRED_VERSION_python-pycairo="1.8.0" # PREFERRED_VERSION_opie-style-liquid=${OPIE_VERSION} PREFERRED_VERSION_opie-style-liquid="1.2.4" # DEPENDS=${BASEDEPENDS} task-base ${SPLASH} ${ZZAPSPLASH} task-base-extended DEPENDS="task-base psplash-zap task-base-extended" # PREFERRED_VERSION_gcc-crosssdk=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_gcc-crosssdk="4.5" # PREFERRED_VERSION_libtool-native=${ANGSTROM_LIBTOOL_VERSION} PREFERRED_VERSION_libtool-native="2.4" # FILES_${PN}-locale=None # PREFERRED_VERSION_openjdk-6-jre=6b18-1.8 PREFERRED_VERSION_openjdk-6-jre="6b18-1.8" # PREFERRED_PROVIDER_virtual/fakeroot-native=pseudo-native PREFERRED_PROVIDER_virtual/fakeroot-native="pseudo-native" # TARGET_LINK_HASH_STYLE=${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH',d,1) in ['mips', 'mipsel', 'mips64', 'mips64el']]} TARGET_LINK_HASH_STYLE="-Wl,--hash-style=gnu" # SOLIBSDEV_darwin=.dylib SOLIBSDEV_darwin=".dylib" # SERIAL_CONSOLE=115200 ttyS2 SERIAL_CONSOLE="115200 ttyS2" # PREFERRED_VERSION_opie-notes=${OPIE_VERSION} PREFERRED_VERSION_opie-notes="1.2.4" # ARM_KEEP_OABI=0 ARM_KEEP_OABI="0" # BUILDSDK_CFLAGS=${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION} BUILDSDK_CFLAGS="-isystem/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/include -O2 -pipe" # PREFERRED_VERSION_opie-brightnessapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-brightnessapplet="1.2.4" # PREFERRED_PROVIDER_virtual/libintl-nativesdk=eglibc-nativesdk PREFERRED_PROVIDER_virtual/libintl-nativesdk="eglibc-nativesdk" # FETCHCOMMAND_wget=/usr/bin/env wget -t 5 -q --passive-ftp -P ${DL_DIR} '${URI}' FETCHCOMMAND_wget="/usr/bin/env wget -t 5 -q --passive-ftp -P /OE/tentacle/sources/downloads '${URI}'" # F77=${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} export F77="ccache arm-angstrom-linux-gnueabi-g77 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize -mthumb-interwork -mno-thumb --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc" # PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs=None # PREFERRED_VERSION_opie-language=${OPIE_VERSION} PREFERRED_VERSION_opie-language="1.2.4" # CPU_FEATURES_arm=vfp CPU_FEATURES_arm="vfp" # PREFERRED_VERSION_opie-kcheckers=${OPIE_VERSION} PREFERRED_VERSION_opie-kcheckers="1.2.4" # IMAGE_LINK_NAME=${IMAGE_BASENAME}-${MACHINE} IMAGE_LINK_NAME="console-image-beagleboard" # FETCHCMD_bzr=/usr/bin/env bzr FETCHCMD_bzr="/usr/bin/env bzr" # METADATA_REVISION=${@base_detect_revision(d)} METADATA_REVISION="8039fa98efbe933c1beb2b8a7d0c0459d986da60" # PREFERRED_VERSION_hal=0.5.14 PREFERRED_VERSION_hal="0.5.14" # PREFERRED_VERSION_opie-lupdate-native=${OPIE_VERSION} PREFERRED_VERSION_opie-lupdate-native="1.2.4" # PREFERRED_VERSION_opie-qcop=${OPIE_VERSION} PREFERRED_VERSION_opie-qcop="1.2.4" # EXTRA_IMAGEDEPENDS= u-boot x-load EXTRA_IMAGEDEPENDS="u-boot x-load" # BUILD_STRIP=${BUILD_PREFIX}strip export BUILD_STRIP="strip" # KERNEL_IMAGETYPE=uImage KERNEL_IMAGETYPE="uImage" # libdir_nativesdk=${prefix_nativesdk}/lib libdir_nativesdk="/usr/lib" # QEMU_OPTIONS_armv7a=-cpu cortex-a8 QEMU_OPTIONS_armv7a="-cpu cortex-a8" # SDK_OS=${BUILD_OS} SDK_OS="linux" # PREFERRED_VERSION_opie-backup=${OPIE_VERSION} PREFERRED_VERSION_opie-backup="1.2.4" # PREFERRED_VERSION_ti-lpm-utils=1_24_02_09 PREFERRED_VERSION_ti-lpm-utils="1_24_02_09" # STAGING_DIR=${TMPDIR}/sysroots STAGING_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots" # IMAGE_POSTPROCESS_COMMAND= do_testlab ; IMAGE_POSTPROCESS_COMMAND="do_testlab ;" # PREFERRED_VERSION_opie-buzzword=${OPIE_VERSION} PREFERRED_VERSION_opie-buzzword="1.2.4" # MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS= # PREFERRED_VERSION_eglibc=2.12 PREFERRED_VERSION_eglibc="2.12" # BB_SIGNATURE_HANDLER=basic BB_SIGNATURE_HANDLER="basic" # SOC_FAMILY=omap3 SOC_FAMILY="omap3" # TINDER_CLOBBER=1 TINDER_CLOBBER="1" # TARGET_FPU_armv7a=hard TARGET_FPU_armv7a="hard" # SRCREV_pn-mojito=0542c4b0e26c0e3b69c5ad1fa1898dc276fb9f48 SRCREV_pn-mojito="0542c4b0e26c0e3b69c5ad1fa1898dc276fb9f48" # PREFERRED_VERSION_opie-logoutapplet=${OPIE_VERSION} PREFERRED_VERSION_opie-logoutapplet="1.2.4" # PREFERRED_VERSION_opie-mediaplayer1-core=${OPIE_VERSION} PREFERRED_VERSION_opie-mediaplayer1-core="1.2.4" # RPMDEPS=${STAGING_LIBDIR_NATIVE}/rpm/bin/rpmdeps RPMDEPS="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib/rpm/bin/rpmdeps" # PREFERRED_VERSION_ti-codec-engine=2_26_01_09 PREFERRED_VERSION_ti-codec-engine="2_26_01_09" # COREBASE=/OE/tentacle/sources/openembedded-core COREBASE="/OE/tentacle/sources/openembedded-core" # GNOME_MIRROR=http://ftp.gnome.org/pub/GNOME/sources GNOME_MIRROR="http://ftp.gnome.org/pub/GNOME/sources" # PREFERRED_VERSION_libgcc=${ANGSTROM_GCC_VERSION} PREFERRED_VERSION_libgcc="4.5" # PACKAGES_DYNAMIC=${PN}-locale-* PACKAGES_DYNAMIC="console-image-locale-*" # SSTATE_PKGSPEC=sstate-${PN}-${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}-${PV}-${PR}-${SSTATE_PKGARCH}-${SSTATE_VERSION}- SSTATE_PKGSPEC="sstate-console-image-beagleboard-angstrom-linux-gnueabi-1.0-r0-beagleboard-2-" # LOCALCONF_VERSION=1 LOCALCONF_VERSION="1" # PREFERRED_VERSION_opie-tabmanager=${OPIE_VERSION} PREFERRED_VERSION_opie-tabmanager="1.2.4" # PREFERRED_VERSION_opie-zlines=${OPIE_VERSION} PREFERRED_VERSION_opie-zlines="1.2.4" # OLDEST_KERNEL_sparc64=2.4.21 OLDEST_KERNEL_sparc64="2.4.21" # PREFERRED_VERSION_opie-kjumpx=${OPIE_VERSION} PREFERRED_VERSION_opie-kjumpx="1.2.4" # COMPATIBLE_HOST=None # SRC_DIST_LOCAL=symlink SRC_DIST_LOCAL="symlink" # BASE_PACKAGE_ARCH=armv7a BASE_PACKAGE_ARCH="armv7a" # PREFERRED_VERSION_opie-freetype=${OPIE_VERSION} PREFERRED_VERSION_opie-freetype="1.2.4" # DEPLOY_DIR_IPK=${DEPLOY_DIR}/ipk DEPLOY_DIR_IPK="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk" # ARM_INSTRUCTION_SET=${ANGSTROM_ARM_INSTRUCTION_SET} ARM_INSTRUCTION_SET="arm" # OESTATS_SERVER=tinderbox.openembedded.org OESTATS_SERVER="tinderbox.openembedded.org" # PREFERRED_VERSION_ti-xdctools=3_20_03_63 PREFERRED_VERSION_ti-xdctools="3_20_03_63" # STAGING_FIRMWARE_DIR=${STAGING_DIR_HOST}/firmware STAGING_FIRMWARE_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/firmware" # KERNEL_CCSUFFIX_archos5it=-4.2.1+csl-arm-2007q3-53 KERNEL_CCSUFFIX_archos5it="-4.2.1+csl-arm-2007q3-53" # AS=${HOST_PREFIX}as export AS="arm-angstrom-linux-gnueabi-as" # AR=${HOST_PREFIX}ar export AR="arm-angstrom-linux-gnueabi-ar" # PREFERRED_VERSION_opie-search=${OPIE_VERSION} PREFERRED_VERSION_opie-search="1.2.4" # DEBUG_OPTIMIZATION=-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe DEBUG_OPTIMIZATION="-O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -pipe" # ANGSTROM_BLACKLIST_pn-gconf-dbus-native=gconf-dbus has been merged back into main GConf ANGSTROM_BLACKLIST_pn-gconf-dbus-native="gconf-dbus has been merged back into main GConf" # BBFILE_PRIORITY_gpe-layer=7 BBFILE_PRIORITY_gpe-layer="7" # RDEPENDS_${PN}-dev=None # PREFERRED_VERSION_opie-today-datebookplugin=${OPIE_VERSION} PREFERRED_VERSION_opie-today-datebookplugin="1.2.4" # PREFERRED_VERSION_xserver-common=1.33 PREFERRED_VERSION_xserver-common="1.33" # AUTOREV=${@bb.fetch2.get_autorev(d)} AUTOREV="AUTOINC" # PREFERRED_VERSION_opie-theme=${OPIE_VERSION} PREFERRED_VERSION_opie-theme="1.2.4" # WORKDIR=${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PF} WORKDIR="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0" # DESCRIPTION=${SUMMARY} DESCRIPTION="console-image version 1.0-r0" # PREFERRED_VERSION_glib-2.0-native=2.28.6 PREFERRED_VERSION_glib-2.0-native="2.28.6" # FETCHCOMMAND_svn=/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT} ${SVNMODULE} FETCHCOMMAND_svn="/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT} ${SVNMODULE}" # DEPLOY_DIR_DEB=${DEPLOY_DIR}/deb DEPLOY_DIR_DEB="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/deb" # PREFERRED_VERSION_perl=5.12.3 PREFERRED_VERSION_perl="5.12.3" # DEPLOY_DIR_RPM=${DEPLOY_DIR}/rpm DEPLOY_DIR_RPM="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/rpm" # PREFERRED_VERSION_opie-style-flat=${OPIE_VERSION} PREFERRED_VERSION_opie-style-flat="1.2.4" # DESCRIPTION_${PN}-doc=None # CLEANFUNCS= sstate_cleanall CLEANFUNCS="sstate_cleanall" # QEMU_OPTIONS=-cpu cortex-a8 QEMU_OPTIONS="-cpu cortex-a8" # PREFERRED_VERSION_libsdl-x11=1.2.14 PREFERRED_VERSION_libsdl-x11="1.2.14" # STAGING_BINDIR_CROSS=${STAGING_BINDIR}/crossscripts STAGING_BINDIR_CROSS="/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/bin/crossscripts" # IMAGE_CMD_cpio.gz=cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz) IMAGE_CMD_cpio.gz="cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs && (find . | cpio -o -H newc | gzip -c -9 >/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.cpio.gz)" # IPKG_ARGS=-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} --force-overwrite IPKG_ARGS="-f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite" # IMAGE_DEPENDS_ubi=mtd-utils-native IMAGE_DEPENDS_ubi="mtd-utils-native" # USE_DEVFS=0 USE_DEVFS="0" # ANGSTROM_EXTRA_INSTALL= # IMAGE_DEPENDS_yaffs2=yaffs2-utils-native IMAGE_DEPENDS_yaffs2="yaffs2-utils-native" # MACHINE_POSTPROCESS_COMMAND= # PID=${@os.getpid()} PID="10673" # EXTRA_IMAGECMD_ext3=-i 8192 EXTRA_IMAGECMD_ext3="-i 8192" # EXTRA_IMAGECMD_ext2=-i 8192 EXTRA_IMAGECMD_ext2="-i 8192" # opkglibdir=${localstatedir}/lib/opkg opkglibdir="/var/lib/opkg" # OPKG_POSTPROCESS_COMMANDS=ipk_insert_feed_uris OPKG_POSTPROCESS_COMMANDS="ipk_insert_feed_uris" # ZZAPSPLASH= ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} ZZAPSPLASH="psplash-zap" # IMAGE_CMD_squashfs=mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend IMAGE_CMD_squashfs="mksquashfs /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.squashfs -noappend" # IMAGETEST=dummy IMAGETEST="dummy" # EXTRAOPKGCONFIG= # IMAGE_DEPENDS_cramfs=cramfs-native IMAGE_DEPENDS_cramfs="cramfs-native" # IMAGE_DEPENDS= # EXTRA_IMAGECMD_yaffs2=1 EXTRA_IMAGECMD_yaffs2="1" # LDCONFIGDEPEND=ldconfig-native:do_populate_sysroot LDCONFIGDEPEND="ldconfig-native:do_populate_sysroot" # IMAGE_DEPENDS_ubifs=mtd-utils-native IMAGE_DEPENDS_ubifs="mtd-utils-native" # EXCLUDE_FROM_WORLD=1 EXCLUDE_FROM_WORLD="1" # IMAGE_CMD_ubifs=mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubifs.img ${MKUBIFS_ARGS} IMAGE_CMD_ubifs="mkfs.ubifs -r /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -o /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.ubifs.img -m 2048 -e 129024 -c 1996" # IMAGE_DEPENDS_ext2.gz=genext2fs-native IMAGE_DEPENDS_ext2.gz="genext2fs-native" # IMAGE_DEPENDS_jffs2=mtd-utils-native IMAGE_DEPENDS_jffs2="mtd-utils-native" # ROOTFS_POSTPROCESS_COMMAND= # LDCONFIGDEPEND_linux-uclibceabi= # IMAGE_DEPENDS_ext3.gz=genext2fs-native e2fsprogs-native IMAGE_DEPENDS_ext3.gz="genext2fs-native e2fsprogs-native" # IMAGE_CMD_tar.bz2=cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 . IMAGE_CMD_tar.bz2="cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs && tar -jcvf /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.tar.bz2 ." # IMAGE_CMD_jffs2=mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD} IMAGE_CMD_jffs2="mkfs.jffs2 --root=/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --faketime --output=/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.jffs2" # IMAGE_CMD_squashfs-lzma=mksquashfs-lzma ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs-lzma ${EXTRA_IMAGECMD} -noappend IMAGE_CMD_squashfs-lzma="mksquashfs-lzma /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.squashfs-lzma -noappend" # LINGUAS_INSTALL=${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVar('IMAGE_LINGUAS', d, 1).split()))} # IMAGE_CMD_tar.gz=cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.gz . IMAGE_CMD_tar.gz="cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs && tar -zcvf /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.tar.gz ." # ROOTFS_PKGMANAGE_BOOTSTRAP=run-postinsts ROOTFS_PKGMANAGE_BOOTSTRAP="run-postinsts" # IMAGE_CMD_ext2=genext2fs -b $ROOTFS_SIZE -d ${IMAGE_ROOTFS} ${EXTRA_IMAGECMD} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 IMAGE_CMD_ext2="genext2fs -b $ROOTFS_SIZE -d /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ext2" # INHIBIT_DEFAULT_DEPS=1 INHIBIT_DEFAULT_DEPS="1" # IMAGE_DEPENDS_ext3=genext2fs-native e2fsprogs-native IMAGE_DEPENDS_ext3="genext2fs-native e2fsprogs-native" # IMAGE_DEPENDS_ext2=genext2fs-native IMAGE_DEPENDS_ext2="genext2fs-native" # IMAGE_CMD_cpio=cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio) IMAGE_CMD_cpio="cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs && (find . | cpio -o -H newc >/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.cpio)" # EXTRA_IMAGECMD_ext3.gz=-i 8192 EXTRA_IMAGECMD_ext3.gz="-i 8192" # IMAGE_DEPENDS_squashfs-lzma=squashfs-lzma-tools-native IMAGE_DEPENDS_squashfs-lzma="squashfs-lzma-tools-native" # EXTRA_IMAGECMD= # PACKAGE_INSTALL=${IMAGE_INSTALL} export PACKAGE_INSTALL="initscripts udev sysvinit sysvinit-pidof tinylogin task-base psplash-zap task-boot update-alternatives-cworth dropbear task-base-extended" # IMAGE_CMD_tar=cd ${IMAGE_ROOTFS} && tar -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar . IMAGE_CMD_tar="cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs && tar -cvf /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.tar ." # LIC_FILES_CHKSUM=file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 LIC_FILES_CHKSUM="file:///OE/tentacle/sources/openembedded-core/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" # IMAGE_CMD_yaffs2=mkyaffs2image ${EXTRA_IMAGECMD} ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.yaffs2 IMAGE_CMD_yaffs2="mkyaffs2image /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.yaffs2" # IMAGE_DEPENDS_squashfs=squashfs-tools-native IMAGE_DEPENDS_squashfs="squashfs-tools-native" # OPKG_PREPROCESS_COMMANDS=package_update_index_ipk; package_generate_ipkg_conf OPKG_PREPROCESS_COMMANDS="package_update_index_ipk; package_generate_ipkg_conf" # LDCONFIGDEPEND_linux-uclibc= # ROOTFS_PKGMANAGE=opkg opkg-collateral ${EXTRAOPKGCONFIG} ROOTFS_PKGMANAGE="opkg opkg-collateral" # IMAGE_CMD_cramfs=mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD} IMAGE_CMD_cramfs="mkcramfs /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.cramfs" # PACKAGE_INSTALL_ATTEMPTONLY= # EXTRA_IMAGECMD_ext2.gz=-i 8192 EXTRA_IMAGECMD_ext2.gz="-i 8192" # DESCRIPTION_console-image-dbg=${DESCRIPTION} This package contains ELF symbols and related sources for debugging purposes. DESCRIPTION_console-image-dbg="console-image version 1.0-r0 This package contains ELF symbols and related sources for debugging purposes." # FILES_console-image-dbg=${@bb.data.getVar(['DOTDEBUG-dbg', 'DEBUGFILEDIRECTORY-dbg'][bb.data.getVar('PACKAGE_DEBUG_SPLIT_STYLE', d, 1) == 'debug-file-directory'], d, 1)} FILES_console-image-dbg="/usr/bin/.debug /usr/sbin/.debug /usr/libexec/.debug /usr/lib/.debug /bin/.debug /sbin/.debug /lib/.debug /usr/lib/console-image/.debug /usr/lib/matchbox-panel/.debug /usr/src/debug" # BB_BASEHASH_task-do_configure=d755387aac50b76cd1d01a4318f9215c BB_BASEHASH_task-do_configure="d755387aac50b76cd1d01a4318f9215c" # ALLOW_EMPTY_console-image-dbg=1 ALLOW_EMPTY_console-image-dbg="1" # BB_BASEHASH_task-do_checkuri=0453ab89de7dc2dc30a657be502dc32d BB_BASEHASH_task-do_checkuri="0453ab89de7dc2dc30a657be502dc32d" # SUMMARY_console-image-doc=${SUMMARY} - Documentation files SUMMARY_console-image-doc="console-image version 1.0-r0 - Documentation files" # BB_BASEHASH_task-do_patch=710074f96d8a0a51fc74d5ba8155f950 BB_BASEHASH_task-do_patch="710074f96d8a0a51fc74d5ba8155f950" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc=${TCLIBC} PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc="eglibc" # SECTION_console-image-doc=doc SECTION_console-image-doc="doc" # BB_BASEHASH_task-do_package_write_ipk=bbef66007778f93b1fd4cdb7c728eb1c BB_BASEHASH_task-do_package_write_ipk="bbef66007778f93b1fd4cdb7c728eb1c" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-g++=gcc-cross PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-g++="gcc-cross" # BB_BASEHASH_task-do_compile=8d76f5effc69f11d7be1cbf1f4b70ac4 BB_BASEHASH_task-do_compile="8d76f5effc69f11d7be1cbf1f4b70ac4" # BB_BASEHASH_task-do_install=3496aa34c1ca3d529c0dc6d0b82f6924 BB_BASEHASH_task-do_install="3496aa34c1ca3d529c0dc6d0b82f6924" # RDEPENDS_console-image-dev=${PN} (= ${EXTENDPV}) RDEPENDS_console-image-dev="console-image (= 1.0-r0)" # BB_BASEHASH_task-do_build=4a8950b1c2ea1aad7fa07b363e57ff3a BB_BASEHASH_task-do_build="4a8950b1c2ea1aad7fa07b363e57ff3a" # BB_BASEHASH_task-do_rootfs=d1729b5af460e5cd738c008dde55eef3 BB_BASEHASH_task-do_rootfs="d1729b5af460e5cd738c008dde55eef3" # BB_BASEHASH_task-do_package_write_ipk_setscene=a8235fea0e52879c7c9f28211a3cc5b8 BB_BASEHASH_task-do_package_write_ipk_setscene="a8235fea0e52879c7c9f28211a3cc5b8" # BB_BASEHASH_task-do_fetch=e42cc0d31c6d79885e670940871df39d BB_BASEHASH_task-do_fetch="e42cc0d31c6d79885e670940871df39d" # PREFERRED_PROVIDER_virtual/x86_64-angstromsdk-linux-libc-for-gcc-nativesdk=${TCLIBC}-nativesdk PREFERRED_PROVIDER_virtual/x86_64-angstromsdk-linux-libc-for-gcc-nativesdk="eglibc-nativesdk" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-binutils=binutils-cross PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-binutils="binutils-cross" # DESCRIPTION_console-image-dev=${DESCRIPTION} This package contains symbolic links, static binaries, header files, and related items necessary for software development. DESCRIPTION_console-image-dev="console-image version 1.0-r0 This package contains symbolic links, static binaries, header files, and related items necessary for software development." # SECTION_console-image-dbg=devel SECTION_console-image-dbg="devel" # BB_BASEHASH_task-do_package_write=4a8950b1c2ea1aad7fa07b363e57ff3a BB_BASEHASH_task-do_package_write="4a8950b1c2ea1aad7fa07b363e57ff3a" # BB_BASEHASH_task-do_clean=ca10924ed9571fb5c8268f36b35c3d64 BB_BASEHASH_task-do_clean="ca10924ed9571fb5c8268f36b35c3d64" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-initial=${TCLIBC}-initial PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-initial="eglibc-initial" # SUMMARY_console-image-dev=${SUMMARY} - Development files SUMMARY_console-image-dev="console-image version 1.0-r0 - Development files" # SECTION_console-image-dev=devel SECTION_console-image-dev="devel" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-gcc-initial=gcc-cross-initial PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-gcc-initial="gcc-cross-initial" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-gcc=gcc-cross PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-gcc="gcc-cross" # SUMMARY_console-image-dbg=${SUMMARY} - Debugging files SUMMARY_console-image-dbg="console-image version 1.0-r0 - Debugging files" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-gcc-intermediate=gcc-cross-intermediate PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-gcc-intermediate="gcc-cross-intermediate" # PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-compilerlibs=gcc-runtime PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-compilerlibs="gcc-runtime" # ALLOW_EMPTY_console-image-dev=1 ALLOW_EMPTY_console-image-dev="1" # FILES_console-image-dev=${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig ${datadir}/aclocal ${base_libdir}/*.a ${base_libdir}/*.o FILES_console-image-dev="/usr/include /usr/lib/lib*.so /usr/lib/*.la /usr/lib/*.a /usr/lib/*.o /usr/lib/pkgconfig /usr/share/pkgconfig /usr/share/aclocal /lib/*.a /lib/*.o" # BB_BASEHASH_task-do_buildall=4a8950b1c2ea1aad7fa07b363e57ff3a BB_BASEHASH_task-do_buildall="4a8950b1c2ea1aad7fa07b363e57ff3a" # BB_BASEHASH_task-do_cleanall=b4091d32619f34d3b862a84cd56f3c52 BB_BASEHASH_task-do_cleanall="b4091d32619f34d3b862a84cd56f3c52" # BB_BASEHASH_task-do_rm_work_all=4a8950b1c2ea1aad7fa07b363e57ff3a BB_BASEHASH_task-do_rm_work_all="4a8950b1c2ea1aad7fa07b363e57ff3a" # DESCRIPTION_console-image-doc=${DESCRIPTION} This package contains documentation. DESCRIPTION_console-image-doc="console-image version 1.0-r0 This package contains documentation." # BB_BASEHASH_task-do_listtasks=e9a2d8780492799ba39e22dd6b2620cf BB_BASEHASH_task-do_listtasks="e9a2d8780492799ba39e22dd6b2620cf" # BB_BASEHASH_task-do_rm_work=e91ae4ffa3402007f32f01e5c17cf58b BB_BASEHASH_task-do_rm_work="e91ae4ffa3402007f32f01e5c17cf58b" # RRECOMMENDS_console-image-dbg=${PN} (= ${EXTENDPV}) RRECOMMENDS_console-image-dbg="console-image (= 1.0-r0)" # BB_BASEHASH_task-do_package_setscene=a8235fea0e52879c7c9f28211a3cc5b8 BB_BASEHASH_task-do_package_setscene="a8235fea0e52879c7c9f28211a3cc5b8" # BB_BASEHASH_task-do_checkuriall=4a8950b1c2ea1aad7fa07b363e57ff3a BB_BASEHASH_task-do_checkuriall="4a8950b1c2ea1aad7fa07b363e57ff3a" # _task_deps={'noexec': {'do_package_write': '1', 'do_build': '1'}, 'tasks': ['do_patch', 'do_populate_sysroot', 'do_populate_sysroot_setscene', 'do_listtasks', 'do_clean', 'do_checkuri', 'do_checkuriall', 'do_fetchall', 'do_buildall', 'do_fetch', 'do_unpack', 'do_configure', 'do_compile', 'do_install', 'do_build', 'do_cleanall', 'do_rm_work', 'do_rm_work_all', 'do_devshell', 'do_package', 'do_package_setscene', 'do_package_write', 'do_package_write_ipk_setscene', 'do_package_write_ipk', 'do_rootfs'], 'rdeptask': {'do_package_write_ipk': ''}, 'recrdeptask': {'do_buildall': 'do_build', 'do_rm_work_all': 'do_rm_work', 'do_build': ' do_deploy ', 'do_fetchall': 'do_fetch', 'do_rootfs': ' do_package_write_ipk', 'do_checkuriall': 'do_checkuri'}, 'depends': {'do_patch': 'quilt-native:do_populate_sysroot', 'do_install': 'virtual/fakeroot-native:do_populate_sysroot', 'do_rootfs': ' prelink-native:do_populate_sysroot opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot mtd-utils-native:do_populate_sysroot u-boot:do_populate_sysroot x-load:do_populate_sysroot', 'do_package': 'virtual/fakeroot-native:do_populate_sysroot'}, 'fakeroot': {'do_install': 1, 'do_package_setscene': 1, 'do_package': 1, 'do_rootfs': '1'}, 'parents': {'do_configure': ['do_unpack', 'do_patch'], 'do_package': ['do_install'], 'do_package_write': ['do_package_write_ipk', 'do_package'], 'do_fetchall': ['do_fetch'], 'do_compile': ['do_configure'], 'do_cleanall': ['do_clean'], 'do_checkuri': [], 'do_rootfs': ['do_install'], 'do_unpack': ['do_fetch'], 'do_build': ['do_rootfs', 'do_package_write', 'do_package', 'do_populate_sysroot'], 'do_fetch': [], 'do_devshell': ['do_patch'], 'do_populate_sysroot': ['do_install'], 'do_populate_sysroot_setscene': [], 'do_checkuriall': ['do_checkuri'], 'do_rm_work': ['do_build'], 'do_install': ['do_compile'], 'do_package_write_ipk': ['do_package'], 'do_listtasks': [], 'do_clean': [], 'do_patch': ['do_unpack'], 'do_package_write_ipk_setscene': [], 'do_buildall': ['do_build'], 'do_rm_work_all': ['do_rm_work'], 'do_package_setscene': []}, 'deptask': {'do_configure': 'do_populate_sysroot'}, 'nostamp': {'do_build': '1', 'do_devshell': '1', 'do_listtasks': '1', 'do_clean': '1', 'do_cleanall': '1', 'do_checkuri': '1', 'do_rootfs': '1', 'do_checkuriall': '1'}} _task_deps="{'noexec': {'do_package_write': '1', 'do_build': '1'}, 'tasks': ['do_patch', 'do_populate_sysroot', 'do_populate_sysroot_setscene', 'do_listtasks', 'do_clean', 'do_checkuri', 'do_checkuriall', 'do_fetchall', 'do_buildall', 'do_fetch', 'do_unpack', 'do_configure', 'do_compile', 'do_install', 'do_build', 'do_cleanall', 'do_rm_work', 'do_rm_work_all', 'do_devshell', 'do_package', 'do_package_setscene', 'do_package_write', 'do_package_write_ipk_setscene', 'do_package_write_ipk', 'do_rootfs'], 'rdeptask': {'do_package_write_ipk': ''}, 'recrdeptask': {'do_buildall': 'do_build', 'do_rm_work_all': 'do_rm_work', 'do_build': ' do_deploy ', 'do_fetchall': 'do_fetch', 'do_rootfs': ' do_package_write_ipk', 'do_checkuriall': 'do_checkuri'}, 'depends': {'do_patch': 'quilt-native:do_populate_sysroot', 'do_install': 'virtual/fakeroot-native:do_populate_sysroot', 'do_rootfs': ' prelink-native:do_populate_sysroot opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot mtd-utils-native:do_populate_sysroot u-boot:do_populate_sysroot x-load:do_populate_sysroot', 'do_package': 'virtual/fakeroot-native:do_populate_sysroot'}, 'fakeroot': {'do_install': 1, 'do_package_setscene': 1, 'do_package': 1, 'do_rootfs': '1'}, 'parents': {'do_configure': ['do_unpack', 'do_patch'], 'do_package': ['do_install'], 'do_package_write': ['do_package_write_ipk', 'do_package'], 'do_fetchall': ['do_fetch'], 'do_compile': ['do_configure'], 'do_cleanall': ['do_clean'], 'do_checkuri': [], 'do_rootfs': ['do_install'], 'do_unpack': ['do_fetch'], 'do_build': ['do_rootfs', 'do_package_write', 'do_package', 'do_populate_sysroot'], 'do_fetch': [], 'do_devshell': ['do_patch'], 'do_populate_sysroot': ['do_install'], 'do_populate_sysroot_setscene': [], 'do_checkuriall': ['do_checkuri'], 'do_rm_work': ['do_build'], 'do_install': ['do_compile'], 'do_package_write_ipk': ['do_package'], 'do_listtasks': [], 'do_clean': [], 'do_patch': ['do_unpack'], 'do_package_write_ipk_setscene': [], 'do_buildall': ['do_build'], 'do_rm_work_all': ['do_rm_work'], 'do_package_setscene': []}, 'deptask': {'do_configure': 'do_populate_sysroot'}, 'nostamp': {'do_build': '1', 'do_devshell': '1', 'do_listtasks': '1', 'do_clean': '1', 'do_cleanall': '1', 'do_checkuri': '1', 'do_rootfs': '1', 'do_checkuriall': '1'}}" # BB_BASEHASH_task-do_package=37479133001df11e9e083dee33a337e5 BB_BASEHASH_task-do_package="37479133001df11e9e083dee33a337e5" # BB_BASEHASH_task-do_populate_sysroot_setscene=a8235fea0e52879c7c9f28211a3cc5b8 BB_BASEHASH_task-do_populate_sysroot_setscene="a8235fea0e52879c7c9f28211a3cc5b8" # FILES_console-image-locale=${datadir}/locale FILES_console-image-locale="/usr/share/locale" # PREFERRED_PROVIDER_virtual/x86_64-angstromsdk-linux-libc-initial-nativesdk=${TCLIBC}-initial-nativesdk PREFERRED_PROVIDER_virtual/x86_64-angstromsdk-linux-libc-initial-nativesdk="eglibc-initial-nativesdk" # FILES_console-image-doc=${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc ${datadir}/gnome/help FILES_console-image-doc="/usr/share/doc /usr/share/man /usr/share/info /usr/share/gtk-doc /usr/share/gnome/help" # BB_BASEHASH_task-do_fetchall=4a8950b1c2ea1aad7fa07b363e57ff3a BB_BASEHASH_task-do_fetchall="4a8950b1c2ea1aad7fa07b363e57ff3a" # FILES_console-image=${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} ${sysconfdir} ${sharedstatedir} ${localstatedir} ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*${SOLIBS} ${datadir}/${PN} ${libdir}/${PN}/* ${datadir}/pixmaps ${datadir}/applications ${datadir}/idl ${datadir}/omf ${datadir}/sounds ${libdir}/bonobo/servers FILES_console-image="/usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.* /etc /com /var /bin/* /sbin/* /lib/*.so.* /usr/share/console-image /usr/lib/console-image/* /usr/share/pixmaps /usr/share/applications /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers" # SSTATETASKNAMES=deploy-ipk package populate-sysroot SSTATETASKNAMES="deploy-ipk package populate-sysroot" # BB_BASEHASH_task-do_unpack=40a5c778092381b0911c32eac4c50b8e BB_BASEHASH_task-do_unpack="40a5c778092381b0911c32eac4c50b8e" # BB_BASEHASH_task-do_devshell=7f1ae2aa16b6db4a9fc473bc165ca89a BB_BASEHASH_task-do_devshell="7f1ae2aa16b6db4a9fc473bc165ca89a" # BB_BASEHASH_task-do_populate_sysroot=65ba141f4e065ed00c3b141e29d1eaf7 BB_BASEHASH_task-do_populate_sysroot="65ba141f4e065ed00c3b141e29d1eaf7" do_devshell() { devshell_do_devshell } die() { bbfatal "$*" } base_do_install() { : } do_fetchall() { : } base_do_package() { : } package_generate_ipkg_conf() { package_generate_archlist echo "src oe file:/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf echo "src oe file:/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg-sdk.conf ipkgarchs="all any noarch arm armv4 armv4t armv5te armv6 armv7 armv7a beagleboard" for arch in $ipkgarchs; do if [ -e /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk/$arch/Packages ] ; then echo "src oe-$arch file:/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk/$arch" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf fi sdkarch=`echo $arch | sed -e 's/arm/x86_64/'` extension=-nativesdk if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then extension="" fi if [ -e /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk/$sdkarch$extension/Packages ] ; then echo "src oe-$sdkarch$extension file:/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk/$sdkarch$extension" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg-sdk.conf fi done } base_do_compile() { if [ -e Makefile -o -e makefile ]; then oe_runmake || die "make failed" else bbnote "nothing to compile" fi } do_rootfs() { #set -x rm -rf /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs mkdir -p /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs mkdir -p /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard if [ "0" != "1" ]; then for devtable in /OE/tentacle/sources/openembedded-core/meta/files/device_table-minimal.txt; do makedevs -r /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -D $devtable done fi rootfs_ipk_do_rootfs insert_feed_uris if [ "xldconfig-native:do_populate_sysroot" != "x" ]; then # Run ldconfig on the image to create a valid cache # (new format for cross arch compatibility) echo executing: ldconfig -r /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -c new -v ldconfig -r /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -c new -v fi # (re)create kernel modules dependencies # This part is done by kernel-module-* postinstall scripts but if image do # not contains modules at all there are few moments in boot sequence with # "unable to open modules.dep" message. if [ -e /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/kernel/kernel-abiversion ]; then KERNEL_VERSION=`cat /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/kernel/kernel-abiversion` mkdir -p /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/lib/modules/$KERNEL_VERSION arm-angstrom-linux-gnueabi-depmod-2.6 -a -b /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -F /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/kernel/System.map-$KERNEL_VERSION $KERNEL_VERSION fi rootfs_update_timestamp # Image generation code for image type tar.bz2 ROOTFS_SIZE=`du -ks /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs|awk '{size = $1 * 1.3; print (size > 65536 ? size : 65536) }'` cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs && tar -jcvf /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.tar.bz2 . cd /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/ rm -f /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.tar.bz2 ln -s Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.tar.bz2 /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.tar.bz2 # Image generation code for image type tar.bz2 ROOTFS_SIZE=`du -ks /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs|awk '{size = $1 * 1.3; print (size > 65536 ? size : 65536) }'` cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs && tar -jcvf /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.tar.bz2 . cd /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/ rm -f /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.tar.bz2 ln -s Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.tar.bz2 /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.tar.bz2 # Image generation code for image type ubi ROOTFS_SIZE=`du -ks /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs|awk '{size = $1 * 1.3; print (size > 65536 ? size : 65536) }'` echo \[ubifs\] > ubinize.cfg echo mode=ubi >> ubinize.cfg echo image=/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ubifs >> ubinize.cfg echo vol_id=0 >> ubinize.cfg echo vol_type=dynamic >> ubinize.cfg echo vol_name=${UBI_VOLNAME} >> ubinize.cfg echo vol_flags=autoresize >> ubinize.cfg mkfs.ubifs -r /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -o /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ubifs -m 2048 -e 129024 -c 1996 && ubinize -o /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ubi -m 2048 -p 128KiB -s 512 ubinize.cfg cd /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/ rm -f /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.ubi ln -s Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ubi /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.ubi do_testlab ; } sstate_unpack_package() { mkdir -p ${SSTATE_INSTDIR} cd ${SSTATE_INSTDIR} tar -xvzf /OE/tentacle/build/sstate-cache/sstate-console-image-beagleboard-angstrom-linux-gnueabi-1.0-r0-beagleboard-2-${BB_TASKHASH} } bbnote() { echo "NOTE: $*" } bbdebug() { USAGE='Usage: bbdebug [123] "message"' if [ $# -lt 2 ]; then bbfatal "$USAGE" fi # Strip off the debug level and ensure it is an integer DBGLVL=$1; shift if ! [[ "$DBGLVL" =~ ^[0-9]+ ]]; then bbfatal "$USAGE" fi # All debug output is printed to the logs echo "DEBUG: $*" } oe_libinstall() { # Purpose: Install a library, in all its forms # Example # # oe_libinstall libltdl /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/lib/ # oe_libinstall -C src/libblah libblah /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/image//usr/lib/ dir="" libtool="" silent="" require_static="" require_shared="" staging_install="" while [ "$#" -gt 0 ]; do case "$1" in -C) shift dir="$1" ;; -s) silent=1 ;; -a) require_static=1 ;; -so) require_shared=1 ;; -*) bbfatal "oe_libinstall: unknown option: $1" ;; *) break; ;; esac shift done libname="$1" shift destpath="$1" if [ -z "$destpath" ]; then bbfatal "oe_libinstall: no destination path specified" fi if echo "$destpath/" | egrep '^/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/lib/' >/dev/null then staging_install=1 fi __runcmd () { if [ -z "$silent" ]; then echo >&2 "oe_libinstall: $*" fi $* } if [ -z "$dir" ]; then dir=`pwd` fi dotlai=$libname.lai # Sanity check that the libname.lai is unique number_of_files=`(cd $dir; find . -name "$dotlai") | wc -l` if [ $number_of_files -gt 1 ]; then bbfatal "oe_libinstall: $dotlai is not unique in $dir" fi dir=$dir`(cd $dir;find . -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"` olddir=`pwd` __runcmd cd $dir lafile=$libname.la # If such file doesn't exist, try to cut version suffix if [ ! -f "$lafile" ]; then libname1=`echo "$libname" | sed 's/-[0-9.]*$//'` lafile1=$libname.la if [ -f "$lafile1" ]; then libname=$libname1 lafile=$lafile1 fi fi if [ -f "$lafile" ]; then # libtool archive eval `cat $lafile|grep "^library_names="` libtool=1 else library_names="$libname.so* $libname.dll.a $libname.*.dylib" fi __runcmd install -d $destpath/ dota=$libname.a if [ -f "$dota" -o -n "$require_static" ]; then rm -f $destpath/$dota __runcmd install -m 0644 $dota $destpath/ fi if [ -f "$dotlai" -a -n "$libtool" ]; then rm -f $destpath/$libname.la __runcmd install -m 0644 $dotlai $destpath/$libname.la fi for name in $library_names; do files=`eval echo $name` for f in $files; do if [ ! -e "$f" ]; then if [ -n "$libtool" ]; then bbfatal "oe_libinstall: $dir/$f not found." fi elif [ -L "$f" ]; then __runcmd cp -P "$f" $destpath/ elif [ ! -L "$f" ]; then libfile="$f" rm -f $destpath/$libfile __runcmd install -m 0755 $libfile $destpath/ fi done done if [ -z "$libfile" ]; then if [ -n "$require_shared" ]; then bbfatal "oe_libinstall: unable to locate shared library" fi elif [ -z "$libtool" ]; then # special case hack for non-libtool .so.#.#.# links baselibfile=`basename "$libfile"` if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then sonamelink=`arm-angstrom-linux-gnueabi-readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'` if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then __runcmd ln -sf $baselibfile $destpath/$sonamelink fi __runcmd ln -sf $baselibfile $destpath/$solink fi fi __runcmd cd "$olddir" } sysroot_stage_all() { sysroot_stage_dirs /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/image /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/sysroot-destdir/ } do_configure() { base_do_configure } do_build() { : } bbfatal() { echo "ERROR: $*" exit 1 } devshell_do_devshell() { export DISPLAY='${DISPLAY}' export DBUS_SESSION_BUS_ADDRESS='${DBUS_SESSION_BUS_ADDRESS}' export XAUTHORITY='/home/koen/.Xauthority' export TERMWINDOWTITLE="Bitbake Developer Shell" export EXTRA_OEMAKE='-e MAKEFLAGS=' export SHELLCMDS="bash" xterm -T "$TERMWINDOWTITLE" -e $SHELLCMDS if [ $? -ne 0 ]; then echo "Fatal: 'xterm -T "$TERMWINDOWTITLE"' not found. Check TERMCMD variable." exit 1 fi } do_rm_work() { cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0 for dir in * do if [ `basename /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/console-image-1.0` = $dir ]; then rm -rf $dir # The package and packages-split directories are retained by sstate for # do_package so we retain them here too. Anything in sstate 'plaindirs' # should be retained. Also retain logs and other files in temp. elif [ $dir != 'temp' ] && [ $dir != 'package' ] && [ $dir != 'packages-split' ]; then rm -rf $dir fi done # Need to add pseudo back or subsqeuent work in this workdir # might fail since setscene may not rerun to recreate it mkdir /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/pseudo/ # Change normal stamps into setscene stamps as they better reflect the # fact WORKDIR is now empty # Also leave noexec stamps since setscene stamps don't cover them cd `dirname /OE/tentacle/build/tmp-angstrom_2010_x/stamps/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0` for i in `basename /OE/tentacle/build/tmp-angstrom_2010_x/stamps/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0`* do for j in do_package_write_ipk do_package do_populate_sysroot do case $i in *do_setscene*) break ;; *do_package_write*) i=dummy break ;; *do_build*) i=dummy break ;; *_setscene*) i=dummy break ;; *$j|*$j.*) mv $i `echo $i | sed -e "s#${j}#${j}_setscene#"` i=dummy break ;; esac done rm -f $i done } bbplain() { echo "$*" } do_package_write() { : } sysroot_stage_dir() { src="$1" dest="$2" # if the src doesn't exist don't do anything if [ ! -d "$src" ]; then return fi # We only want to stage the contents of $src if it's non-empty so first rmdir $src # then if it still exists (rmdir on non-empty dir fails) we can copy its contents rmdir "$src" 2> /dev/null || true # However we always want to stage a $src itself, even if it's empty mkdir -p "$dest" if [ -d "$src" ]; then tar -cf - -C "$src" -ps . | tar -xf - -C "$dest" fi } do_testlab() { if [ -e /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/opkg ] && [ "full" = "full" ] ; then IPKG_TMP_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs-tmp" IPKG_ARGS="-f /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/etc/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -t ${IPKG_TMP_DIR}" TESTLAB_DIR="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard-testlab" mkdir -p ${TESTLAB_DIR}/ mkdir -p ${IPKG_TMP_DIR}/ ls -laR /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs > ${TESTLAB_DIR}/files-in-image.txt echo > ${TESTLAB_DIR}/installed-packages.txt echo -e "digraph depends {\n node [shape=plaintext]" > ${TESTLAB_DIR}/depends.dot for pkg in $(opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite list_installed | awk '{print $1}') ; do opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite info $pkg | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" | awk '/^Package/ {printf $2"_"} /^Version/ {printf $2"_"} /^Archi/ {print $2".ipk"}' >> ${TESTLAB_DIR}/installed-packages.txt for depends in $(opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite info $pkg | grep ^Depends) ; do echo "$pkg OPP $depends;" | grep -v "(" | grep -v ")" | grep -v "$pkg OPP Depends" | sed -e 's:,::g' -e 's:-:_:g' -e 's:\.:_:g' -e 's:+::g' |sed 's:OPP:->:g' >> ${TESTLAB_DIR}/depends.dot done for recommends in $(opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite info $pkg | grep ^Recom) ; do echo "$pkg OPP $recommends [style=dotted];" | grep -v "(" | grep -v ")" | grep -v "$pkg OPP Recom" | sed -e 's:,::g' -e 's:-:_:g' -e 's:\.:_:g' -e 's:+::g' |sed 's:OPP:->:g' >> ${TESTLAB_DIR}/depends.dot done done echo "}" >> ${TESTLAB_DIR}/depends.dot rm -rf ${IPKG_TMP_DIR} grep -v kernel_2 ${TESTLAB_DIR}/depends.dot | grep -v kernel_image > ${TESTLAB_DIR}/depends-nokernel.dot grep -v libc6 ${TESTLAB_DIR}/depends-nokernel.dot | grep -v libgcc > ${TESTLAB_DIR}/depends-nokernel-nolibc.dot grep -v update_ ${TESTLAB_DIR}/depends-nokernel-nolibc.dot > ${TESTLAB_DIR}/depends-nokernel-nolibc-noupdate.dot grep -v kernel_module ${TESTLAB_DIR}/depends-nokernel-nolibc-noupdate.dot > ${TESTLAB_DIR}/depends-nokernel-nolibc-noupdate-nomodules.dot #dot has some library troubles when run under fakeroot, uncomment at your own risk #dot -Tpng -o ${TESTLAB_DIR}/image-dependencies.png ${TESTLAB_DIR}/depends.dot #dot -Tpng -o ${TESTLAB_DIR}/image-dependencies-nokernel-nolibc.png ${TESTLAB_DIR}/depends-nokernel-nolibc.dot #dot -Tpng -o ${TESTLAB_DIR}/image-dependencies-nokernel-nolibc-noupdate.png ${TESTLAB_DIR}/depends-nokernel-nolibc-noupdate.dot #dot -Tpng -o ${TESTLAB_DIR}/image-dependencies-nokernel-nolibc-noupdate-nomodules.png ${TESTLAB_DIR}/depends-nokernel-nolibc-noupdate-nomodules.dot for file in $(cat ${TESTLAB_DIR}/installed-packages.txt) ; do du -k $(find /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk -name "$file") | head -n1 done | grep "\.ipk" | sed -e s:/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk::g | sort -n -r | awk '{print $1 "\tKiB " $2}' > ${TESTLAB_DIR}/installed-package-sizes.txt # Log results to a git controlled directory structure than can be pushed to a remote location if [ "remote" = "remote" ] && [ -n "/OE/angstrom-testlab-yocto" ] ; then TESTLABLOGDIR="beagleboard/console-image" mkdir -p /OE/angstrom-testlab-yocto/${TESTLABLOGDIR} cp ${TESTLAB_DIR}/*package* ${TESTLAB_DIR}/depends.dot /OE/angstrom-testlab-yocto/${TESTLABLOGDIR} # force change to record builds where the testlab contents didn't change, but other things (e.g. git rev) did echo "beagleboard: console-image configured for angstrom v2011.05-core using branch master and revision 8039fa98efbe933c1beb2b8a7d0c0459d986da60 " > /OE/angstrom-testlab-yocto/${TESTLABLOGDIR}/build-id # This runs inside fakeroot, so the git author is listed as root (or whatever root configured it to be) :( ( cd /OE/angstrom-testlab-yocto/ git add ${TESTLABLOGDIR}/* git commit ${TESTLABLOGDIR}/ -m "beagleboard: console-image configured for angstrom v2011.05-core using branch master and revision 8039fa98efbe933c1beb2b8a7d0c0459d986da60" --author "testlab " || true) fi fi } bberror() { echo "ERROR: $*" } bbwarn() { echo "WARNING: $*" } base_do_configure() { : } do_buildall() { : } oe_soinstall() { # Purpose: Install shared library file and # create the necessary links # Example: # # oe_ # #bbnote installing shared library $1 to $2 # libname=`basename $1` install -m 755 $1 $2/$libname sonamelink=`arm-angstrom-linux-gnueabi-readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` solink=`echo $libname | sed -e 's/\.so\..*/.so/'` ln -sf $libname $2/$sonamelink ln -sf $libname $2/$solink } create_wrapper() { # Create a wrapper script # # These are useful to work around relocation issues, by setting environment # variables which point to paths in the filesystem. # # Usage: create_wrapper FILENAME [[VAR=VALUE]..] cmd=$1 shift # run echo via env to test syntactic validity of the variable arguments env $@ echo "Generating wrapper script for $cmd" mv $cmd $cmd.real cmdname=`basename $cmd`.real cat <$cmd #!/bin/sh exec env $@ \`dirname \$0\`/$cmdname "\$@" END chmod +x $cmd } create_cmdline_wrapper() { # Create a wrapper script # # These are useful to work around relocation issues, by setting environment # variables which point to paths in the filesystem. # # Usage: create_wrapper FILENAME [[VAR=VALUE]..] cmd=$1 shift # run echo via env to test syntactic validity of the variable arguments echo "Generating wrapper script for $cmd" mv $cmd $cmd.real cmdname=`basename $cmd`.real cat <$cmd #!/bin/sh exec \`dirname \$0\`/$cmdname "\$@" END chmod +x $cmd } do_install() { base_do_install } do_checkuriall() { : } package_update_index_ipk() { set -x ipkgarchs="all any noarch arm armv4 armv4t armv5te armv6 armv7 armv7a beagleboard" if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then return fi packagedirs="/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk" for arch in $ipkgarchs; do sdkarch=`echo $arch | sed -e 's/arm/x86_64/'` packagedirs="$packagedirs /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk/$arch /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/ipk/$sdkarch-nativesdk" done for pkgdir in $packagedirs; do if [ -e $pkgdir/ ]; then touch $pkgdir/Packages flock $pkgdir/Packages.flock -c "opkg-make-index -r $pkgdir/Packages -p $pkgdir/Packages -l $pkgdir/Packages.filelist -m $pkgdir/" fi done } sysroot_stage_dirs() { from="$1" to="$2" sysroot_stage_dir $from/usr/include $to/usr/include if [ "x86_64-linux" = "arm-angstrom-linux-gnueabi" ]; then sysroot_stage_dir $from/usr/bin $to/usr/bin sysroot_stage_dir $from/usr/sbin $to/usr/sbin sysroot_stage_dir $from/bin $to/bin sysroot_stage_dir $from/sbin $to/sbin sysroot_stage_dir $from/usr/libexec $to/usr/libexec sysroot_stage_dir $from/etc $to/etc sysroot_stage_dir $from/var $to/var fi if [ -d $from/usr/lib ] then sysroot_stage_libdir $from//usr/lib $to/usr/lib fi if [ -d $from/lib ] then sysroot_stage_libdir $from/lib $to/lib fi sysroot_stage_dir $from/usr/share $to/usr/share } oe_machinstall() { # Purpose: Install machine dependent files, if available # If not available, check if there is a default # If no default, just touch the destination # Example: # $1 $2 $3 $4 # oe_machinstall -m 0644 fstab /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/image/etc/fstab # # TODO: Check argument number? # filename=`basename $3` dirname=`dirname $3` for o in `echo thumb-interwork:libc-glibc:local:beagleboard:angstrom:linux-gnueabi:arm:build-linux:fail-fast:pn-console-image:forcevariable:armv7a:omap3 | tr ':' ' '`; do if [ -e $dirname/$o/$filename ]; then bbnote $dirname/$o/$filename present, installing to $4 install $1 $2 $dirname/$o/$filename $4 return fi done # bbnote overrides specific file NOT present, trying default=$3... if [ -e $3 ]; then bbnote $3 present, installing to $4 install $1 $2 $3 $4 else bbnote $3 NOT present, touching empty $4 touch $4 fi } do_rm_work_all() { : } sstate_create_package() { cd ${SSTATE_BUILDDIR} # Need to handle empty directories if [ "$(ls -A)" ]; then tar -czf /OE/tentacle/build/sstate-cache/sstate-console-image-beagleboard-angstrom-linux-gnueabi-1.0-r0-beagleboard-2-${BB_TASKHASH} * else tar -cz --file=/OE/tentacle/build/sstate-cache/sstate-console-image-beagleboard-angstrom-linux-gnueabi-1.0-r0-beagleboard-2-${BB_TASKHASH} --files-from=/dev/null fi cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0 rm -rf ${SSTATE_BUILDDIR} } ldconfig_postinst_fragment() { if [ x"$D" = "x" ]; then [ -x /sbin/ldconfig ] && /sbin/ldconfig fi } ipk_log_check() { target="$1" lf_path="$2" lf_txt="`cat $lf_path`" for keyword_die in "exit 1" "Collected errors" ERR Fail do if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1 then echo "log_check: There were error messages in the logfile" echo -e "log_check: Matched keyword: [$keyword_die]\n" echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die" echo "" do_exit=1 fi done test "$do_exit" = 1 && exit 1 true } package_install_internal_ipk() { local target_rootfs="${INSTALL_ROOTFS_IPK}" local conffile="${INSTALL_CONF_IPK}" local package_to_install="${INSTALL_PACKAGES_NORMAL_IPK}" local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_IPK}" local package_lingusa="${INSTALL_PACKAGES_LINGUAS_IPK}" local task="${INSTALL_TASK_IPK}" mkdir -p ${target_rootfs}/var/lib/opkg/ local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite" opkg-cl ${ipkg_args} update # Uclibc builds don't provide this stuff... if [ xlinux-gnueabi = "xlinux" ] || [ xlinux-gnueabi = "xlinux-gnueabi" ] ; then if [ ! -z "${package_lingusa}" ]; then for i in ${package_lingusa}; do opkg-cl ${ipkg_args} install $i done fi fi if [ ! -z "${package_to_install}" ]; then opkg-cl ${ipkg_args} install ${package_to_install} fi if [ ! -z "${package_attemptonly}" ]; then opkg-cl ${ipkg_args} install ${package_attemptonly} > "/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/temp/log.do_${task}_attemptonly.10673" || true fi } packagedstaging_fastpath() { : } package_generate_archlist() { ipkgarchs="all any noarch arm armv4 armv4t armv5te armv6 armv7 armv7a beagleboard" priority=1 for arch in $ipkgarchs; do sdkarch=`echo $arch | sed -e 's/arm/x86_64/'` echo "arch $arch $priority" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf extension=-nativesdk if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then extension="" fi echo "arch $sdkarch$extension $priority" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg-sdk.conf priority=$(expr $priority + 5) done } do_compile() { base_do_compile } oe_runmake() { if [ x"$MAKE" = x ]; then MAKE=make; fi bbnote make -e MAKEFLAGS= "$@" make -e MAKEFLAGS= "$@" || die "oe_runmake failed" } prelink_image() { # export PSEUDO_DEBUG=4 # /bin/env | /bin/grep PSEUDO # echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" # echo "LD_PRELOAD=$LD_PRELOAD" pre_prelink_size=`du -ks /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs | awk '{size = $1 ; print size }'` echo "Size before prelinking $pre_prelink_size." # We need a prelink conf on the filesystem, add one if it's missing if [ ! -e /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/prelink.conf ]; then cp /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/etc/prelink.conf \ /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/prelink.conf dummy_prelink_conf=true; else dummy_prelink_conf=false; fi # prelink! /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/sbin/prelink --root /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -amR # Remove the prelink.conf if we had to add it. if [ "$dummy_prelink_conf" == "true" ]; then rm -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/prelink.conf fi # Cleanup temporary file, it's not needed... rm -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/prelink.cache pre_prelink_size=`du -ks /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs | awk '{size = $1 ; print size }'` echo "Size after prelinking $pre_prelink_size." } sysroot_stage_libdir() { src="$1" dest="$2" sysroot_stage_dir $src $dest } write_image_manifest() { rootfs_ipk_write_manifest rm -f /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.manifest ln -s Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.manifest /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.manifest } IMAGE_CMD_ubi() { echo \[ubifs\] > ubinize.cfg echo mode=ubi >> ubinize.cfg echo image=/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ubifs >> ubinize.cfg echo vol_id=0 >> ubinize.cfg echo vol_type=dynamic >> ubinize.cfg echo vol_name=${UBI_VOLNAME} >> ubinize.cfg echo vol_flags=autoresize >> ubinize.cfg mkfs.ubifs -r /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs -o /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ubifs -m 2048 -e 129024 -c 1996 && ubinize -o /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ubi -m 2048 -p 128KiB -s 512 ubinize.cfg } log_check() { for target in $* do lf_path="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/temp/log.do_$target.10673" echo "log_check: Using $lf_path as logfile" if test -e "$lf_path" then ipk_log_check $target $lf_path else echo "Cannot find logfile [$lf_path]" fi echo "Logfile is clean" done } rootfs_ipk_do_rootfs() { set -x rm -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf touch /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf package_update_index_ipk; package_generate_ipkg_conf mkdir -p /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/temp/ #install export INSTALL_PACKAGES_ATTEMPTONLY_IPK="" export INSTALL_PACKAGES_LINGUAS_IPK="" export INSTALL_TASK_IPK="rootfs" export INSTALL_ROOTFS_IPK="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs" export INSTALL_CONF_IPK="/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf" export INSTALL_PACKAGES_NORMAL_IPK=" initscripts udev sysvinit sysvinit-pidof tinylogin task-base psplash-zap task-boot update-alternatives-cworth dropbear task-base-extended " package_install_internal_ipk #post install export D=/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs export OFFLINE_ROOT=/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs export IPKG_OFFLINE_ROOT=/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs export OPKG_OFFLINE_ROOT=${IPKG_OFFLINE_ROOT} # Distro specific packages should create this #mkdir -p /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/opkg/ #grep "^arch" /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf >/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/opkg/arch.conf ipk_insert_feed_uris ${ROOTFS_POSTINSTALL_COMMAND} for i in /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/var/lib/opkg/info/*.preinst; do if [ -f $i ] && ! sh $i; then opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite flag unpacked `basename $i .preinst` fi done for i in /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/var/lib/opkg/info/*.postinst; do if [ -f $i ] && ! sh $i configure; then opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite flag unpacked `basename $i .postinst` fi done install -d /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs//etc echo Angstrom v2011.05-core > /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs//etc/version rm -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/var/lib/opkg/lists/* log_check rootfs } rootfs_trim_schemas() { for schema in /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/gconf/schemas/*.schemas do # Need this in case no files exist if [ -e $schema ]; then oe-trim-schemas $schema > $schema.new mv $schema.new $schema fi done } runimagecmd() { # Image generation code for image type ${type} ROOTFS_SIZE=`du -ks /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs|awk '{size = $1 * 1.3; print (size > 65536 ? size : 65536) }'` ${cmd} cd /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/ rm -f /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.${type} ln -s Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.${type} /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/console-image-beagleboard.${type} } insert_feed_uris() { echo "Building feeds for [angstrom].." for line in ${FEED_URIS} do # strip leading and trailing spaces/tabs, then split into name and uri line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`" feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`" feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`" echo "Added $feed_name feed with URL $feed_uri" # insert new feed-sources echo "src/gz $feed_name $feed_uri" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/opkg/${feed_name}-feed.conf done } set_image_autologin() { sed -i 's%^AUTOLOGIN=\"false"%AUTOLOGIN="true"%g' /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/sysconfig/gpelogin } rootfs_no_x_startup() { if [ -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/init.d/xserver-nodm ]; then chmod a-x /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/init.d/xserver-nodm fi } zap_root_password() { sed 's%^root:[^:]*:%root:*:%' < /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/passwd >/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/passwd.new mv /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/passwd.new /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/passwd } IMAGE_CMD_ext3() { genext2fs -b $ROOTFS_SIZE -d /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ext3 tune2fs -j /OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.ext3 } remove_init_link() { if [ -h /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/sbin/init ]; then LINKFILE=/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs`readlink /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/sbin/init` rm /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/sbin/init cp $LINKFILE /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/sbin/init fi } rootfs_ipk_write_manifest() { manifest=/OE/tentacle/build/tmp-angstrom_2010_x/deploy/eglibc/images/beagleboard/Angstrom-console-image-eglibc-ipk-v2011.05-core-beagleboard.rootfs.manifest cp /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/var/lib/opkg/status $manifest sed '/Depends/d' -i $manifest sed '/Status/d' -i $manifest sed '/Architecture/d' -i $manifest sed '/Installed-Time/d' -i $manifest sed '/Auto-Installed/d' -i $manifest sed '/Recommends/d' -i $manifest sed '/Provides/d' -i $manifest sed '/Conflicts/d' -i $manifest } make_zimage_symlink_relative() { if [ -L /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/boot/zImage ]; then (cd /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/boot/ && for i in `ls zImage-* | sort`; do ln -sf $i zImage; done) fi } remove_packaging_data_files() { rm -rf /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/var/lib/opkg # We need the directory for the package manager lock mkdir /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/var/lib/opkg } ipk_insert_feed_uris() { echo "Building from feeds activated!" for line in ${IPK_FEED_URIS} do # strip leading and trailing spaces/tabs, then split into name and uri line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`" feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`" feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`" echo "Added $feed_name feed with URL $feed_uri" # insert new feed-sources echo "src/gz $feed_name $feed_uri" >> /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf done } rootfs_update_timestamp() { date -u +%2m%2d%2H%2M%4Y >/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/etc/timestamp } install_all_locales() { PACKAGES_TO_INSTALL="" INSTALLED_PACKAGES=`grep ^Package: /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs/var/lib/opkg/status |sed "s/^Package: //"|egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)"` for pkg in $INSTALLED_PACKAGES do for lang in ${IMAGE_LOCALES} do if [ `opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite info $pkg-locale-$lang | wc -l` -gt 2 ] then PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL $pkg-locale-$lang" fi done done if [ "$PACKAGES_TO_INSTALL" != "" ] then opkg-cl -f /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/opkg.conf -o /OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/rootfs --force-overwrite install $PACKAGES_TO_INSTALL fi } python sstate_install () { def sstate_install(ss, d): import oe.path sharedfiles = [] shareddirs = [] bb.mkdirhier(bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sstate-control-eglibc", d)) manifest = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sstate-control-eglibc/manifest-beagleboard-console-image.%s" % ss['name'], d) if os.access(manifest, os.R_OK): bb.fatal("Package already staged (%s)?!" % manifest) locks = [] for lock in ss['lockfiles-shared']: locks.append(bb.utils.lockfile(lock, True)) for lock in ss['lockfiles']: locks.append(bb.utils.lockfile(lock)) for state in ss['dirs']: oe.path.copytree(state[1], state[2]) for walkroot, dirs, files in os.walk(state[1]): for file in files: srcpath = os.path.join(walkroot, file) dstpath = srcpath.replace(state[1], state[2]) bb.debug(2, "Staging %s to %s" % (srcpath, dstpath)) sharedfiles.append(dstpath) for dir in dirs: srcdir = os.path.join(walkroot, dir) dstdir = srcdir.replace(state[1], state[2]) bb.debug(2, "Staging %s to %s" % (srcdir, dstdir)) if not dstdir.endswith("/"): dstdir = dstdir + "/" shareddirs.append(dstdir) f = open(manifest, "w") for file in sharedfiles: f.write(file + "\n") # We want to ensure that directories appear at the end of the manifest # so that when we test to see if they should be deleted any contents # added by the task will have been removed first. dirs = sorted(shareddirs, key=len) # Must remove children first, which will have a longer path than the parent for di in reversed(dirs): f.write(di + "\n") f.close() for postinst in (bb.data.getVar('SSTATEPOSTINSTFUNCS', d, True) or '').split(): bb.build.exec_func(postinst, d) for lock in locks: bb.utils.unlockfile(lock) } python sstate_hardcode_path () { def sstate_hardcode_path(d): # Need to remove hardcoded paths and fix these when we install the # staging packages. sstate_scan_cmd = bb.data.getVar('SSTATE_SCAN_CMD', d, True) p = os.popen("%s" % sstate_scan_cmd) file_list = p.read() if file_list == "": p.close() return staging = bb.data.getVar('STAGING_DIR', d, True) staging_target = bb.data.getVar('STAGING_DIR_TARGET', d, True) staging_host = bb.data.getVar('STAGING_DIR_HOST', d, True) sstate_builddir = bb.data.getVar('SSTATE_BUILDDIR', d, True) for i in file_list.split('\n'): if not i: continue if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d): cmd = "sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging, i) elif bb.data.inherits_class('cross', d): cmd = "sed -i -e s:%s:FIXMESTAGINGDIRTARGET:g %s \ sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging_target, i, staging, i) else: cmd = "sed -i -e s:%s:FIXMESTAGINGDIRHOST:g %s" % (staging_host, i) os.system(cmd) os.system("echo %s | sed -e 's:%s::' >> %sfixmepath" % (i, sstate_builddir, sstate_builddir)) p.close() } python do_listtasks () { import sys # emit variables and shell functions #bb.data.emit_env(sys.__stdout__, d) # emit the metadata which isnt valid shell for e in d.keys(): if bb.data.getVarFlag(e, 'task', d): bb.plain("%s" % e) } python do_package_write_ipk () { bb.build.exec_func("read_subpackage_metadata", d) bb.build.exec_func("do_package_ipk", d) } python machine_paths () { def machine_paths(d): """List any existing machine specific filespath directories""" machine = d.getVar("MACHINE", True) filespathpkg = d.getVar("FILESPATHPKG", True).split(":") for basepath in d.getVar("FILESPATHBASE", True).split(":"): for pkgpath in filespathpkg: machinepath = os.path.join(basepath, pkgpath, machine) if os.path.isdir(machinepath): yield machinepath } python check_sanity_tmpdir_change () { def check_sanity_tmpdir_change(tmpdir): # Sanity checks to be done when the value of TMPDIR changes # Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS) testmsg = check_create_long_filename(tmpdir, "TMPDIR") return testmsg } python package_qa_check_buildpaths () { def package_qa_check_buildpaths(path, name, d, elf): """ Check for build paths inside target files and error if not found in the whitelist """ sane = True # Ignore .debug files, not interesting if path.find(".debug") != -1: return True # Ignore symlinks if os.path.islink(path): return True tmpdir = bb.data.getVar('TMPDIR', d, True) file_content = open(path).read() if tmpdir in file_content: error_msg = "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d) sane = package_qa_handle_error(10, error_msg, name, path, d) return sane } python package_qa_clean_path () { def package_qa_clean_path(path,d): """ Remove the common prefix from the path. In this case it is the TMPDIR""" return path.replace(bb.data.getVar('TMPDIR',d,True),"") } python do_qa_staging () { bb.note("QA checking staging") if not package_qa_check_staged(bb.data.expand('/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/sysroot-destdir///OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/lib',d), d): bb.fatal("QA staging was broken by the package built above") } python base_version_less_or_equal () { def base_version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d): return oe.utils.version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d) } python do_package_setscene () { sstate_setscene(d) } python do_package () { packages = (bb.data.getVar('PACKAGES', d, True) or "").split() if len(packages) < 1: bb.debug(1, "No packages to build, skipping do_package") return workdir = bb.data.getVar('WORKDIR', d, True) outdir = bb.data.getVar('DEPLOY_DIR', d, True) dest = bb.data.getVar('D', d, True) dvar = bb.data.getVar('PKGD', d, True) pn = bb.data.getVar('PN', d, True) if not workdir or not outdir or not dest or not dvar or not pn or not packages: bb.error("WORKDIR, DEPLOY_DIR, D, PN and PKGD all must be defined, unable to package") return for f in (bb.data.getVar('PACKAGEFUNCS', d, True) or '').split(): bb.build.exec_func(f, d) } python sstate_setscene () { def sstate_setscene(d): shared_state = sstate_state_fromvars(d) accelerate = sstate_installpkg(shared_state, d) if not accelerate: raise bb.build.FuncFailed("No suitable staging package found") } python package_do_pkgconfig () { import re packages = bb.data.getVar('PACKAGES', d, True) workdir = bb.data.getVar('WORKDIR', d, True) pkgdest = bb.data.getVar('PKGDEST', d, True) shlibs_dir = bb.data.getVar('SHLIBSDIR', d, True) shlibswork_dir = bb.data.getVar('SHLIBSWORKDIR', d, True) pc_re = re.compile('(.*)\.pc$') var_re = re.compile('(.*)=(.*)') field_re = re.compile('(.*): (.*)') pkgconfig_provided = {} pkgconfig_needed = {} for pkg in packages.split(): pkgconfig_provided[pkg] = [] pkgconfig_needed[pkg] = [] top = os.path.join(pkgdest, pkg) for root, dirs, files in os.walk(top): for file in files: m = pc_re.match(file) if m: pd = bb.data.init() name = m.group(1) pkgconfig_provided[pkg].append(name) path = os.path.join(root, file) if not os.access(path, os.R_OK): continue f = open(path, 'r') lines = f.readlines() f.close() for l in lines: m = var_re.match(l) if m: name = m.group(1) val = m.group(2) bb.data.setVar(name, bb.data.expand(val, pd), pd) continue m = field_re.match(l) if m: hdr = m.group(1) exp = bb.data.expand(m.group(2), pd) if hdr == 'Requires': pkgconfig_needed[pkg] += exp.replace(',', ' ').split() # Take shared lock since we're only reading, not writing lf = bb.utils.lockfile(bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/package-output.lock", d)) for pkg in packages.split(): pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist") if pkgconfig_provided[pkg] != []: f = open(pkgs_file, 'w') for p in pkgconfig_provided[pkg]: f.write('%s\n' % p) f.close() for dir in [shlibs_dir]: if not os.path.exists(dir): continue for file in os.listdir(dir): m = re.match('^(.*)\.pclist$', file) if m: pkg = m.group(1) fd = open(os.path.join(dir, file)) lines = fd.readlines() fd.close() pkgconfig_provided[pkg] = [] for l in lines: pkgconfig_provided[pkg].append(l.rstrip()) for pkg in packages.split(): deps = [] for n in pkgconfig_needed[pkg]: found = False for k in pkgconfig_provided.keys(): if n in pkgconfig_provided[k]: if k != pkg and not (k in deps): deps.append(k) found = True if found == False: bb.note("couldn't find pkgconfig module '%s' in any package" % n) deps_file = os.path.join(pkgdest, pkg + ".pcdeps") if len(deps): fd = open(deps_file, 'w') for dep in deps: fd.write(dep + '\n') fd.close() bb.utils.unlockfile(lf) } python legitimize_package_name () { def legitimize_package_name(s): """ Make sure package names are legitimate strings """ import re def fixutf(m): cp = m.group(1) if cp: return ('\u%s' % cp).decode('unicode_escape').encode('utf-8') # Handle unicode codepoints encoded as , as in glibc locale files. s = re.sub('', fixutf, s) # Remaining package name validity fixes return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-') } python base_get_metadata_monotone_branch () { def base_get_metadata_monotone_branch(path, d): monotone_branch = "" try: monotone_branch = file( "%s/_MTN/options" % path ).read().strip() if monotone_branch.startswith( "database" ): monotone_branch_words = monotone_branch.split() monotone_branch = monotone_branch_words[ monotone_branch_words.index( "branch" )+1][1:-1] except: pass return monotone_branch } python check_create_long_filename () { def check_create_long_filename(filepath, pathname): testfile = os.path.join(filepath, ''.join([`num`[-1] for num in xrange(1,200)])) try: if not os.path.exists(filepath): bb.utils.mkdirhier(filepath) f = file(testfile, "w") f.close() os.remove(testfile) except IOError as (errno, strerror): if errno == 36: # ENAMETOOLONG return "Failed to create a file with a long name in %s. Please use a filesystem that does not unreasonably limit filename length.\n" % pathname else: return "Failed to create a file in %s: %s" % (pathname, strerror) return "" } python package_qa_check_dbg () { def package_qa_check_dbg(path, name,d, elf): """ Check for ".debug" files or directories outside of the dbg package """ sane = True if not "-dbg" in name: if '.debug' in path.split(os.path.sep): error_msg = "non debug package contains .debug directory: %s path %s" % \ (name, package_qa_clean_path(path,d)) sane = package_qa_handle_error(3, error_msg, name, path, d) return sane } python sstate_clean_cachefile () { def sstate_clean_cachefile(ss, d): import oe.path sstatepkgdir = bb.data.getVar('SSTATE_DIR', d, True) sstatepkgfile = sstatepkgdir + '/' + bb.data.getVar('SSTATE_PKGSPEC', d, True) + "*_" + ss['name'] + ".tgz*" bb.note("Removing %s" % sstatepkgfile) oe.path.remove(sstatepkgfile) } python runtime_mapping_rename () { def runtime_mapping_rename (varname, d): #bb.note("%s before: %s" % (varname, bb.data.getVar(varname, d, True))) new_depends = [] deps = bb.utils.explode_dep_versions(bb.data.getVar(varname, d, True) or "") for depend in deps: # Have to be careful with any version component of the depend new_depend = get_package_mapping(depend, d) if deps[depend]: new_depends.append("%s (%s)" % (new_depend, deps[depend])) else: new_depends.append(new_depend) bb.data.setVar(varname, " ".join(new_depends) or None, d) #bb.note("%s after: %s" % (varname, bb.data.getVar(varname, d, True))) } python split_and_strip_files () { import commands, stat, errno dvar = bb.data.getVar('PKGD', d, True) # We default to '.debug' style if bb.data.getVar('PACKAGE_DEBUG_SPLIT_STYLE', d, True) == 'debug-file-directory': # Single debug-file-directory style debug info debugappend = ".debug" debugdir = "" debuglibdir = "/usr/lib/debug" debugsrcdir = "/usr/src/debug" else: # Original Poky, a.k.a. ".debug", style debug info debugappend = "" debugdir = "/.debug" debuglibdir = "" debugsrcdir = "/usr/src/debug" os.chdir(dvar) # Return type (bits): # 0 - not elf # 1 - ELF # 2 - stripped # 4 - executable # 8 - shared library def isELF(path): type = 0 pathprefix = "export PATH=%s; " % bb.data.getVar('PATH', d, True) ret, result = commands.getstatusoutput("%sfile '%s'" % (pathprefix, path)) if ret: bb.error("split_and_strip_files: 'file %s' failed" % path) return type # Not stripped if "ELF" in result: type |= 1 if "not stripped" not in result: type |= 2 if "executable" in result: type |= 4 if "shared" in result: type |= 8 return type # # First lets figure out all of the files we may have to process ... do this only once! # file_list = {} file_links = {} if (bb.data.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT', d, True) != '1') and \ (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, True) != '1'): for root, dirs, files in os.walk(dvar): for f in files: file = os.path.join(root, f) # Only process files (and symlinks)... Skip files that are obviously debug files if not (debugappend != "" and file.endswith(debugappend)) and \ not (debugdir != "" and debugdir in os.path.dirname(file[len(dvar):])) and \ os.path.isfile(file): try: s = os.stat(file) except OSError, (err, strerror): if err != errno.ENOENT: raise # Skip broken symlinks continue # Is the item excutable? Then we need to process it. if (s[stat.ST_MODE] & stat.S_IXUSR) or \ (s[stat.ST_MODE] & stat.S_IXGRP) or \ (s[stat.ST_MODE] & stat.S_IXOTH): # If it's a symlink, and points to an ELF file, we capture the readlink target if os.path.islink(file): target = os.readlink(file) if not os.path.isabs(target): ltarget = os.path.join(os.path.dirname(file), target) else: ltarget = target if isELF(ltarget): #bb.note("Sym: %s (%d)" % (ltarget, isELF(ltarget))) file_list[file] = "sym: " + target continue # It's a file (or hardlink), not a link # ...but is it ELF, and is it already stripped? elf_file = isELF(file) if elf_file & 1: # Check if it's a hard link to something else if s.st_nlink > 1: file_reference = "%d_%d" % (s.st_dev, s.st_ino) # Hard link to something else file_list[file] = "hard: " + file_reference continue file_list[file] = "ELF: %d" % elf_file # # First lets process debug splitting # if (bb.data.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT', d, True) != '1'): for file in file_list: src = file[len(dvar):] dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend fpath = dvar + dest # Preserve symlinks in debug area... if file_list[file].startswith("sym: "): ltarget = file_list[file][5:] lpath = os.path.dirname(ltarget) lbase = os.path.basename(ltarget) ftarget = "" if lpath and lpath != ".": ftarget += lpath + debugdir + "/" ftarget += lbase + debugappend bb.mkdirhier(os.path.dirname(fpath)) #bb.note("Symlink %s -> %s" % (fpath, ftarget)) os.symlink(ftarget, fpath) continue # Preserve hard links in debug area... file_reference = "" if file_list[file].startswith("hard: "): file_reference = file_list[file][6:] if file_reference not in file_links: # If this is a new file, add it as a reference, and # update it's type, so we can fall through and split file_list[file] = "ELF: %d" % (isELF(file)) else: target = file_links[file_reference][len(dvar):] ftarget = dvar + debuglibdir + os.path.dirname(target) + debugdir + "/" + os.path.basename(target) + debugappend bb.mkdirhier(os.path.dirname(fpath)) #bb.note("Link %s -> %s" % (fpath, ftarget)) os.link(ftarget, fpath) continue # It's ELF... if file_list[file].startswith("ELF: "): elf_file = int(file_list[file][5:]) if elf_file & 2: bb.warn("File '%s' was already stripped, this will prevent future debugging!" % (src)) continue # Split the file... bb.mkdirhier(os.path.dirname(fpath)) #bb.note("Split %s -> %s" % (file, fpath)) # Only store off the hard link reference if we successfully split! if splitfile(file, fpath, debugsrcdir, d) == 0 and file_reference != "": file_links[file_reference] = file # The above may have generated dangling symlinks, remove them! # Dangling symlinks are a result of something NOT being split, such as a stripped binary. # This should be a rare occurance, but we want to clean up anyway. for file in file_list: if file_list[file].startswith("sym: "): src = file[len(dvar):] dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend fpath = dvar + dest try: s = os.stat(fpath) except OSError, (err, strerror): if err != errno.ENOENT: raise #bb.note("Remove dangling link %s -> %s" % (fpath, os.readlink(fpath))) os.unlink(fpath) # This could leave an empty debug directory laying around # take care of the obvious case... os.system("rmdir %s 2>/dev/null" % os.path.dirname(fpath)) # Process the debugsrcdir if requested... # This copies and places the referenced sources for later debugging... splitfile2(debugsrcdir, d) # # End of debug splitting # # # Now lets go back over things and strip them # if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, True) != '1'): for file in file_list: if file_list[file].startswith("ELF: "): elf_file = int(file_list[file][5:]) #bb.note("Strip %s" % file) runstrip(file, elf_file, d) # # End of strip # } python oe_popen () { def oe_popen(d, cmd, **kwargs): import oe.process kwargs["env"] = oe_popen_env(d) return oe.process.Popen(cmd, **kwargs) } python pstaging_fetch () { def pstaging_fetch(sstatepkg, d): import bb.fetch2 # Only try and fetch if the user has configured a mirror mirrors = bb.data.getVar('SSTATE_MIRRORS', d, True) if not mirrors: return # Copy the data object and override DL_DIR and SRC_URI localdata = bb.data.createCopy(d) bb.data.update_data(localdata) dldir = bb.data.expand("/OE/tentacle/build/sstate-cache", localdata) srcuri = "file://" + os.path.basename(sstatepkg) bb.mkdirhier(dldir) bb.data.setVar('DL_DIR', dldir, localdata) bb.data.setVar('PREMIRRORS', mirrors, localdata) bb.data.setVar('SRC_URI', srcuri, localdata) # Try a fetch from the sstate mirror, if it fails just return and # we will build the package try: fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False) fetcher.download() # Need to optimise this, if using file:// urls, the fetcher just changes the local path # For now work around by symlinking localpath = bb.data.expand(fetcher.localpath(srcuri), localdata) if localpath != sstatepkg and os.path.exists(localpath) and not os.path.exists(sstatepkg): os.symlink(localpath, sstatepkg) except bb.fetch2.BBFetchException: pass } python run_buildstats () { import bb.build import bb.event import bb.data import time, subprocess, platform if isinstance(e, bb.event.BuildStarted): ############################################## # at first pass make the buildstats heriarchy and then # set the buildname ############################################## try: bb.mkdirhier(bb.data.getVar('BUILDSTATS_BASE', e.data, True)) except: pass set_bn(e) bn = get_bn(e) bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) try: bb.mkdirhier(bsdir) except: pass set_timedata("__timedata_build", e.data) build_time = os.path.join(bsdir, "build_stats") # write start of build into build_time file = open(build_time,"a") host_info = platform.uname() file.write("Host Info: ") for x in host_info: if x: file.write(x + " ") file.write("\n") file.write("Build Started: %0.2f \n" % time.time()) file.close() elif isinstance(e, bb.event.BuildCompleted): bn=get_bn(e) timedata = get_timedata("__timedata_build", e.data) if not timedata: return time, cpu = timedata bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) build_time = os.path.join(bsdir, "build_stats") # write end of build and cpu used into build_time file = open(build_time, "a") file.write("Elapsed time: %0.2f seconds \n" % (time)) if cpu: file.write("CPU usage: %0.1f%% \n" % cpu) file.close() if isinstance(e, bb.build.TaskStarted): bn=get_bn(e) set_timedata("__timedata_task", e.data) bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) taskdir = os.path.join(bsdir, bb.data.expand("console-image-1.0-r0", e.data)) try: bb.mkdirhier(taskdir) except: pass # write into the task event file the name and start time file = open(os.path.join(taskdir, e.task), "a") file.write("Event: %s \n" % bb.event.getName(e)) file.write("Started: %0.2f \n" % time.time()) file.close() elif isinstance(e, bb.build.TaskSucceeded): bn=get_bn(e) timedata = get_timedata("__timedata_task", e.data) if not timedata: return elapsedtime, cpu = timedata bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) taskdir = os.path.join(bsdir, bb.data.expand("console-image-1.0-r0", e.data)) file = open(os.path.join(taskdir, e.task), "a") file.write(bb.data.expand("console-image-1.0-r0: %s: Elapsed time: %0.2f seconds \n" % (e.task, elapsedtime), e.data)) file.write("Ended: %0.2f \n" % time.time()) if cpu: file.write("CPU usage: %0.1f%% \n" % cpu) file.write("Status: PASSED") file.close() ############################################## # Alot of metric gathering occurs here. # Reminder: I stripped out some in process stuff here ############################################## if e.task == "do_rootfs": bs=os.path.join(bsdir, "build_stats") file = open(bs,"a") rootfs = bb.data.getVar('IMAGE_ROOTFS', e.data, True) rootfs_size = subprocess.Popen(["du", "-sh", rootfs], stdout=subprocess.PIPE).stdout.read() file.write("Uncompressed Rootfs size: %s" % rootfs_size) file.close() elif isinstance(e, bb.build.TaskFailed): bn=get_bn(e) timedata = get_timedata("__timedata_task", e.data) if not timedata: return time, cpu = timedata bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) taskdir = os.path.join(bsdir, bb.data.expand("console-image-1.0-r0", e.data)) ############################################## # If the task fails dump the regular data. # fgrep -R "FAILED" # will grep all the events that failed. ############################################## file = open(os.path.join(taskdir, e.task), "a") file.write(bb.data.expand("console-image-1.0-r0: %s: Elapsed time: %0.2f seconds \n" % (e.task, time), e.data)) if cpu: file.write("CPU usage: %0.1f%% \n" % cpu) file.write("Status: FAILED") file.close() ############################################## # Lets make things easier and tell people where the build failed in build_status # We do this here because BuildCompleted triggers no matter what the status of the # build actually is ############################################## build_status = os.path.join(bsdir, "build_stats") file = open(build_status,"a") file.write(bb.data.expand("Failed at: console-image-1.0-r0 at task: %s \n" % e.task, e.data)) file.close() } python emit_pkgdata () { from glob import glob def write_if_exists(f, pkg, var): def encode(str): import codecs c = codecs.getencoder("string_escape") return c(str)[0] val = bb.data.getVar('%s_%s' % (var, pkg), d, True) if val: f.write('%s_%s: %s\n' % (var, pkg, encode(val))) return val = bb.data.getVar('%s' % (var), d, True) if val: f.write('%s: %s\n' % (var, encode(val))) return packages = bb.data.getVar('PACKAGES', d, True) pkgdest = bb.data.getVar('PKGDEST', d, 1) pkgdatadir = bb.data.getVar('PKGDESTWORK', d, True) # Take shared lock since we're only reading, not writing lf = bb.utils.lockfile(bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/package-output.lock", d), True) data_file = pkgdatadir + bb.data.expand("/console-image" , d) f = open(data_file, 'w') f.write("PACKAGES: %s\n" % packages) f.close() workdir = bb.data.getVar('WORKDIR', d, True) for pkg in packages.split(): subdata_file = pkgdatadir + "/runtime/%s" % pkg sf = open(subdata_file, 'w') write_if_exists(sf, pkg, 'PN') write_if_exists(sf, pkg, 'PV') write_if_exists(sf, pkg, 'PR') write_if_exists(sf, pkg, 'DESCRIPTION') write_if_exists(sf, pkg, 'SUMMARY') write_if_exists(sf, pkg, 'RDEPENDS') write_if_exists(sf, pkg, 'RPROVIDES') write_if_exists(sf, pkg, 'RRECOMMENDS') write_if_exists(sf, pkg, 'RSUGGESTS') write_if_exists(sf, pkg, 'RREPLACES') write_if_exists(sf, pkg, 'RCONFLICTS') write_if_exists(sf, pkg, 'PKG') write_if_exists(sf, pkg, 'ALLOW_EMPTY') write_if_exists(sf, pkg, 'FILES') write_if_exists(sf, pkg, 'pkg_postinst') write_if_exists(sf, pkg, 'pkg_postrm') write_if_exists(sf, pkg, 'pkg_preinst') write_if_exists(sf, pkg, 'pkg_prerm') write_if_exists(sf, pkg, 'FILERPROVIDESFLIST') for dfile in (bb.data.getVar('FILERPROVIDESFLIST_' + pkg, d, True) or "").split(): write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) write_if_exists(sf, pkg, 'FILERDEPENDSFLIST') for dfile in (bb.data.getVar('FILERDEPENDSFLIST_' + pkg, d, True) or "").split(): write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile) sf.close() allow_empty = bb.data.getVar('ALLOW_EMPTY_%s' % pkg, d, True) if not allow_empty: allow_empty = bb.data.getVar('ALLOW_EMPTY', d, True) root = "%s/%s" % (pkgdest, pkg) os.chdir(root) g = glob('*') if g or allow_empty == "1": packagedfile = pkgdatadir + '/runtime/%s.packaged' % pkg file(packagedfile, 'w').close() bb.utils.unlockfile(lf) } python explode_deps () { def explode_deps(s): return bb.utils.explode_deps(s) } python package_qa_check_dev () { def package_qa_check_dev(path, name,d, elf): """ Check for ".so" library symlinks in non-dev packages """ sane = True if not name.endswith("-dev") and not name.endswith("-dbg") and path.endswith(".so") and os.path.islink(path): error_msg = "non -dev/-dbg package contains symlink .so: %s path '%s'" % \ (name, package_qa_clean_path(path,d)) sane = package_qa_handle_error(0, error_msg, name, path, d) return sane } python package_qa_check_rpath () { def package_qa_check_rpath(file,name,d, elf): """ Check for dangerous RPATHs """ if not elf: return True sane = True scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf') bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work", bb.data.getVar('STAGING_DIR_TARGET', d, True)] bad_dir_test = bb.data.getVar('TMPDIR', d, True) if not os.path.exists(scanelf): bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found") if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True): bb.fatal("This class assumed that WORKDIR is /OE/tentacle/build/tmp-angstrom_2010_x/work... Not doing any check") output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file)) txt = output.readline().split() for line in txt: for dir in bad_dirs: if dir in line: error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file) sane = sane + package_qa_handle_error(1, error_msg, name, file, d) return sane } python base_get_scmbasepath () { def base_get_scmbasepath(d): path_to_bbfiles = bb.data.getVar( 'BBFILES', d, 1 ).split() return path_to_bbfiles[0][:path_to_bbfiles[0].rindex( "packages" )] } python base_contains () { def base_contains(variable, checkvalues, truevalue, falsevalue, d): return oe.utils.contains(variable, checkvalues, truevalue, falsevalue, d) } python base_prune_suffix () { def base_prune_suffix(var, suffixes, d): return oe.utils.prune_suffix(var, suffixes, d) } python check_sanity_eventhandler () { if bb.event.getName(e) == "ConfigParsed" and bb.data.getVar("BB_WORKERCONTEXT", e.data, True) != "1": check_sanity(e) return } python runstrip () { def runstrip(file, elftype, d): # Function to strip a single file, called from split_and_strip_files below # A working 'file' (one which works on the target architecture) # # The elftype is a bit pattern (explained in split_and_strip_files) to tell # us what type of file we're processing... # 4 - executable # 8 - shared library import commands, stat pathprefix = "export PATH=%s; " % bb.data.getVar('PATH', d, True) strip = bb.data.getVar("STRIP", d, True) # Handle kernel modules specifically - .debug directories here are pointless if file.find("/lib/modules/") != -1 and file.endswith(".ko"): return os.system("%s'%s' --strip-debug --remove-section=.comment --remove-section=.note --preserve-dates '%s'" % (pathprefix, strip, file)) newmode = None if not os.access(file, os.W_OK) or os.access(file, os.R_OK): origmode = os.stat(file)[stat.ST_MODE] newmode = origmode | stat.S_IWRITE | stat.S_IREAD os.chmod(file, newmode) extraflags = "" # .so and shared library if ".so" in file and elftype & 8: extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded" # shared or executable: elif elftype & 8 or elftype & 4: extraflags = "--remove-section=.comment --remove-section=.note" stripcmd = "'%s' %s '%s'" % (strip, extraflags, file) bb.debug(1, "runstrip: %s" % stripcmd) ret = os.system("%s%s" % (pathprefix, stripcmd)) if newmode: os.chmod(file, origmode) if ret: bb.error("runstrip: '%s' strip command failed" % stripcmd) return 0 } python is_machine_specific () { def is_machine_specific(d): """Determine whether the current recipe is machine specific""" machinepaths = set(machine_paths(d)) srcuri = d.getVar("SRC_URI", True).split() for url in srcuri: fetcher = bb.fetch2.Fetch([srcuri], d) if url.startswith("file://"): if any(fetcher.localpath(url).startswith(mp + "/") for mp in machinepaths): return True } python oe_filter () { def oe_filter(f, str, d): return oe.utils.str_filter(f, str, d) } python base_detect_branch () { def base_detect_branch(d): path = base_get_scmbasepath(d) scms = [base_get_metadata_git_branch] for scm in scms: rev = scm(path, d) if rev <> "": return rev.strip() return "" } python oe_system () { def oe_system(d, cmd, **kwargs): """ Popen based version of os.system. """ if not "shell" in kwargs: kwargs["shell"] = True return oe_popen(d, cmd, **kwargs).wait() } python package_qa_check_license () { def package_qa_check_license(workdir, d): """ Check for changes in the license files """ import tempfile sane = True lic_files = bb.data.getVar('LIC_FILES_CHKSUM', d, True) lic = bb.data.getVar('LICENSE', d, True) pn = bb.data.getVar('PN', d, True) if lic == "CLOSED": return True if not lic_files: # just throw a warning now. Once licensing data in entered for enough of the recipes, # this will be converted into error and False will be returned. bb.error(pn + ": Recipe file does not have license file information (LIC_FILES_CHKSUM)") return False srcdir = bb.data.getVar('S', d, True) for url in lic_files.split(): (type, host, path, user, pswd, parm) = bb.decodeurl(url) srclicfile = os.path.join(srcdir, path) if not os.path.isfile(srclicfile): raise bb.build.FuncFailed( pn + ": LIC_FILES_CHKSUM points to invalid file: " + path) if 'md5' not in parm: bb.error(pn + ": md5 checksum is not specified for ", url) return False beginline, endline = 0, 0 if 'beginline' in parm: beginline = int(parm['beginline']) if 'endline' in parm: endline = int(parm['endline']) if (not beginline) and (not endline): md5chksum = bb.utils.md5_file(srclicfile) else: fi = open(srclicfile, 'r') fo = tempfile.NamedTemporaryFile(mode='wb', prefix='poky.', suffix='.tmp', delete=False) tmplicfile = fo.name; lineno = 0 linesout = 0 for line in fi: lineno += 1 if (lineno >= beginline): if ((lineno <= endline) or not endline): fo.write(line) linesout += 1 else: break fo.flush() fo.close() fi.close() md5chksum = bb.utils.md5_file(tmplicfile) os.unlink(tmplicfile) if parm['md5'] == md5chksum: bb.note (pn + ": md5 checksum matched for ", url) else: bb.error (pn + ": md5 data is not matching for ", url) bb.error (pn + ": The new md5 checksum is ", md5chksum) bb.error (pn + ": Check if the license information has changed in") sane = False return sane } python read_subpkgdata () { def read_subpkgdata(pkg, d): return read_pkgdatafile(get_subpkgedata_fn(pkg, d)) } python populate_packages () { import glob, stat, errno, re workdir = bb.data.getVar('WORKDIR', d, True) outdir = bb.data.getVar('DEPLOY_DIR', d, True) dvar = bb.data.getVar('PKGD', d, True) packages = bb.data.getVar('PACKAGES', d, True) pn = bb.data.getVar('PN', d, True) bb.mkdirhier(outdir) os.chdir(dvar) # Sanity check PACKAGES for duplicates - should be moved to # sanity.bbclass once we have the infrastucture package_list = [] for pkg in packages.split(): if pkg in package_list: bb.error("-------------------") bb.error("%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg) bb.error("Please fix the metadata/report this as bug to OE bugtracker.") bb.error("-------------------") else: package_list.append(pkg) pkgdest = bb.data.getVar('PKGDEST', d, True) os.system('rm -rf %s' % pkgdest) seen = [] for pkg in package_list: localdata = bb.data.createCopy(d) root = os.path.join(pkgdest, pkg) bb.mkdirhier(root) bb.data.setVar('PKG', pkg, localdata) overrides = bb.data.getVar('OVERRIDES', localdata, True) if not overrides: raise bb.build.FuncFailed('OVERRIDES not defined') bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata) bb.data.update_data(localdata) filesvar = bb.data.getVar('FILES', localdata, True) or "" files = filesvar.split() file_links = {} for file in files: if os.path.isabs(file): file = '.' + file if not os.path.islink(file): if os.path.isdir(file): newfiles = [ os.path.join(file,x) for x in os.listdir(file) ] if newfiles: files += newfiles continue globbed = glob.glob(file) if globbed: if [ file ] != globbed: files += globbed continue if (not os.path.islink(file)) and (not os.path.exists(file)): continue if file in seen: continue seen.append(file) if os.path.isdir(file) and not os.path.islink(file): bb.mkdirhier(os.path.join(root,file)) os.chmod(os.path.join(root,file), os.stat(file).st_mode) continue fpath = os.path.join(root,file) dpath = os.path.dirname(fpath) bb.mkdirhier(dpath) if not os.path.islink(file): os.link(file, fpath) continue ret = bb.copyfile(file, fpath) if ret is False or ret == 0: raise bb.build.FuncFailed("File population failed") del localdata os.chdir(workdir) unshipped = [] for root, dirs, files in os.walk(dvar): for f in files: path = os.path.join(root[len(dvar):], f) if ('.' + path) not in seen: unshipped.append(path) if unshipped != []: bb.warn("the following files were installed but not shipped in any package:") for f in unshipped: bb.warn(" " + f) bb.build.exec_func("package_name_hook", d) for pkg in package_list: pkgname = bb.data.getVar('PKG_%s' % pkg, d, True) if pkgname is None: bb.data.setVar('PKG_%s' % pkg, pkg, d) dangling_links = {} pkg_files = {} for pkg in package_list: dangling_links[pkg] = [] pkg_files[pkg] = [] inst_root = os.path.join(pkgdest, pkg) for root, dirs, files in os.walk(inst_root): for f in files: path = os.path.join(root, f) rpath = path[len(inst_root):] pkg_files[pkg].append(rpath) try: s = os.stat(path) except OSError, (err, strerror): if err != errno.ENOENT: raise target = os.readlink(path) if target[0] != '/': target = os.path.join(root[len(inst_root):], target) dangling_links[pkg].append(os.path.normpath(target)) for pkg in package_list: rdepends = bb.utils.explode_dep_versions(bb.data.getVar('RDEPENDS_' + pkg, d, True) or bb.data.getVar('RDEPENDS', d, True) or "") for l in dangling_links[pkg]: found = False bb.debug(1, "%s contains dangling link %s" % (pkg, l)) for p in package_list: for f in pkg_files[p]: if f == l: found = True bb.debug(1, "target found in %s" % p) if p == pkg: break if p not in rdepends: rdepends[p] = "" break if found == False: bb.note("%s contains dangling symlink to %s" % (pkg, l)) bb.data.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False), d) } python oe_filter_out () { def oe_filter_out(f, str, d): return oe.utils.str_filter_out(f, str, d) } python base_set_filespath () { def base_set_filespath(path, d): filespath = [] extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "").split() path = extrapaths + path # The ":" ensures we have an 'empty' override overrides = (bb.data.getVar("OVERRIDES", d, 1) or "") + ":" for p in path: for o in overrides.split(":"): filespath.append(os.path.join(p, o)) return ":".join(filespath)} python get_subpkgedata_fn () { def get_subpkgedata_fn(pkg, d): archs = bb.data.expand("all any noarch arm armv4 armv4t armv5te armv6 armv7 armv7a beagleboard", d).split(" ") archs.reverse() pkgdata = bb.data.expand('/OE/tentacle/build/tmp-angstrom_2010_x/pkgdata/', d) targetdir = bb.data.expand('-angstrom-linux-gnueabi/runtime/', d) for arch in archs: fn = pkgdata + arch + targetdir + pkg if os.path.exists(fn): return fn return bb.data.expand('/OE/tentacle/build/tmp-angstrom_2010_x/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/%s' % pkg, d) } python package_qa_get_machine_dict () { def package_qa_get_machine_dict(): return { "darwin9" : { "arm" : (40, 0, 0, True, 32), }, "linux" : { "arm" : (40, 97, 0, True, 32), "armeb": (40, 97, 0, False, 32), "powerpc": (20, 0, 0, False, 32), "i386": ( 3, 0, 0, True, 32), "i486": ( 3, 0, 0, True, 32), "i586": ( 3, 0, 0, True, 32), "i686": ( 3, 0, 0, True, 32), "x86_64": (62, 0, 0, True, 64), "ia64": (50, 0, 0, True, 64), "alpha": (36902, 0, 0, True, 64), "hppa": (15, 3, 0, False, 32), "m68k": ( 4, 0, 0, False, 32), "mips": ( 8, 0, 0, False, 32), "mipsel": ( 8, 0, 0, True, 32), "s390": (22, 0, 0, False, 32), "sh4": (42, 0, 0, True, 32), "sparc": ( 2, 0, 0, False, 32), }, "linux-uclibc" : { "arm" : ( 40, 97, 0, True, 32), "armeb": ( 40, 97, 0, False, 32), "powerpc": ( 20, 0, 0, False, 32), "i386": ( 3, 0, 0, True, 32), "i486": ( 3, 0, 0, True, 32), "i586": ( 3, 0, 0, True, 32), "i686": ( 3, 0, 0, True, 32), "x86_64": ( 62, 0, 0, True, 64), "mips": ( 8, 0, 0, False, 32), "mipsel": ( 8, 0, 0, True, 32), "avr32": (6317, 0, 0, False, 32), "sh4": (42, 0, 0, True, 32), }, "uclinux-uclibc" : { "bfin": ( 106, 0, 0, True, 32), }, "linux-gnueabi" : { "arm" : (40, 0, 0, True, 32), "armeb" : (40, 0, 0, False, 32), }, "linux-uclibceabi" : { "arm" : (40, 0, 0, True, 32), "armeb" : (40, 0, 0, False, 32), }, "linux-gnuspe" : { "powerpc": (20, 0, 0, False, 32), }, "linux-uclibcspe" : { "powerpc": (20, 0, 0, False, 32), }, "linux-gnu" : { "microblaze": (47787, 0, 0, False, 32), }, } } python sstate_state_fromvars () { def sstate_state_fromvars(d, task = None): if task is None: task = bb.data.getVar('BB_CURRENTTASK', d, True) if not task: bb.fatal("sstate code running without task context?!") task = task.replace("_setscene", "") name = bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-name', d), d) inputs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-inputdirs', d) or "", d)).split() outputs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-outputdirs', d) or "", d)).split() plaindirs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-plaindirs', d) or "", d)).split() lockfiles = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile', d) or "", d)).split() lockfilesshared = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile-shared', d) or "", d)).split() interceptfuncs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-interceptfuncs', d) or "", d)).split() if not name or len(inputs) != len(outputs): bb.fatal("sstate variables not setup correctly?!") ss = sstate_init(name, task, d) for i in range(len(inputs)): sstate_add(ss, inputs[i], outputs[i], d) ss['lockfiles'] = lockfiles ss['lockfiles-shared'] = lockfilesshared ss['plaindirs'] = plaindirs ss['interceptfuncs'] = interceptfuncs return ss } python read_shlibdeps () { packages = bb.data.getVar('PACKAGES', d, True).split() for pkg in packages: rdepends = bb.utils.explode_dep_versions(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "") for extension in ".shlibdeps", ".pcdeps", ".clilibdeps": depsfile = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/packages-split/" + pkg + extension, d) if os.access(depsfile, os.R_OK): fd = file(depsfile) lines = fd.readlines() fd.close() for l in lines: rdepends[l.rstrip()] = "" bb.data.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False), d) } python read_subpkgdata_dict () { def read_subpkgdata_dict(pkg, d): ret = {} subd = read_pkgdatafile(get_subpkgedata_fn(pkg, d)) for var in subd: newvar = var.replace("_" + pkg, "") ret[newvar] = subd[var] return ret } python check_gcc3 () { def check_gcc3(data): gcc3_versions = 'gcc-3.4.6 gcc-3.4.7 gcc-3.4 gcc34 gcc-3.4.4 gcc-3.3 gcc33 gcc-3.3.6 gcc-3.2 gcc32' for gcc3 in gcc3_versions.split(): if check_app_exists(gcc3, data): return gcc3 return False } python get_process_cputime () { def get_process_cputime(pid): fields = open("/proc/%d/stat" % pid, "r").readline().rstrip().split() # 13: utime, 14: stime, 15: cutime, 16: cstime return sum(int(field) for field in fields[13:16]) } python base_get_metadata_git_branch () { def base_get_metadata_git_branch(path, d): branch = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path).read() if len(branch) != 0: return branch return "" } python do_populate_sysroot_setscene () { sstate_setscene(d) } python package_qa_check_rdepends () { def package_qa_check_rdepends(pkg, pkgdest, d): sane = True if not "-dbg" in pkg and not "task-" in pkg and not "-image" in pkg: # Copied from package_ipk.bbclass # boiler plate to update the data localdata = bb.data.createCopy(d) root = "%s/%s" % (pkgdest, pkg) bb.data.setVar('ROOT', '', localdata) bb.data.setVar('ROOT_%s' % pkg, root, localdata) pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, True) if not pkgname: pkgname = pkg bb.data.setVar('PKG', pkgname, localdata) bb.data.setVar('OVERRIDES', pkg, localdata) bb.data.update_data(localdata) # Now check the RDEPENDS rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS', localdata, True) or "") # Now do the sanity check!!! for rdepend in rdepends: if "-dbg" in rdepend: error_msg = "%s rdepends on %s" % (pkgname,rdepend) sane = package_qa_handle_error(2, error_msg, pkgname, rdepend, d) return sane } python do_cleanall () { sstate_clean_cachefiles(d) src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split() if len(src_uri) == 0: return localdata = bb.data.createCopy(d) bb.data.update_data(localdata) try: fetcher = bb.fetch2.Fetch(src_uri, localdata) fetcher.clean() except bb.fetch2.BBFetchException, e: raise bb.build.FuncFailed(e) } python set_bn () { def set_bn(e): bn = e.getPkgs()[0] + "-" + bb.data.getVar('MACHINE',e.data, True) try: os.remove(bb.data.getVar('BNFILE',e.data, True)) except: pass file = open(bb.data.getVar('BNFILE',e.data, True), "w") file.write(os.path.join(bn, bb.data.getVar('BUILDNAME', e.data, True))) file.close() } python package_do_split_locales () { if (bb.data.getVar('PACKAGE_NO_LOCALE', d, True) == '1'): bb.debug(1, "package requested not splitting locales") return packages = (bb.data.getVar('PACKAGES', d, True) or "").split() datadir = bb.data.getVar('datadir', d, True) if not datadir: bb.note("datadir not defined") return dvar = bb.data.getVar('PKGD', d, True) pn = bb.data.getVar('PN', d, True) if pn + '-locale' in packages: packages.remove(pn + '-locale') localedir = os.path.join(dvar + datadir, 'locale') if not os.path.isdir(localedir): bb.debug(1, "No locale files in this package") return locales = os.listdir(localedir) # This is *really* broken mainpkg = packages[0] # At least try and patch it up I guess... if mainpkg.find('-dbg'): mainpkg = mainpkg.replace('-dbg', '') if mainpkg.find('-dev'): mainpkg = mainpkg.replace('-dev', '') summary = bb.data.getVar('SUMMARY', d, True) or pn description = bb.data.getVar('DESCRIPTION', d, True) or "" for l in locales: ln = legitimize_package_name(l) pkg = pn + '-locale-' + ln packages.append(pkg) bb.data.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l), d) bb.data.setVar('RDEPENDS_' + pkg, '%s virtual-locale-%s' % (mainpkg, ln), d) bb.data.setVar('RPROVIDES_' + pkg, '%s-locale %s-translation' % (pn, ln), d) bb.data.setVar('SUMMARY_' + pkg, '%s - %s translations' % (summary, l), d) bb.data.setVar('DESCRIPTION_' + pkg, '%s This package contains language translation files for the %s locale.' % (description, l), d) bb.data.setVar('PACKAGES', ' '.join(packages), d) # Disabled by RP 18/06/07 # Wildcards aren't supported in debian # They break with ipkg since glibc-locale* will mean that # glibc-localedata-translit* won't install as a dependency # for some other package which breaks meta-toolchain # Probably breaks since virtual-locale- isn't provided anywhere #rdep = (bb.data.getVar('RDEPENDS_%s' % mainpkg, d, True) or bb.data.getVar('RDEPENDS', d, True) or "").split() #rdep.append('%s-locale*' % pn) #bb.data.setVar('RDEPENDS_%s' % mainpkg, ' '.join(rdep), d) } python base_get_metadata_monotone_revision () { def base_get_metadata_monotone_revision(path, d): monotone_revision = "" try: monotone_revision = file( "%s/_MTN/revision" % path ).read().strip() if monotone_revision.startswith( "format_version" ): monotone_revision_words = monotone_revision.split() monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1] except IOError: pass return monotone_revision } python read_subpackage_metadata () { data = read_pkgdata(bb.data.getVar('PN', d, 1), d) for key in data.keys(): bb.data.setVar(key, data[key], d) for pkg in bb.data.getVar('PACKAGES', d, 1).split(): sdata = read_subpkgdata(pkg, d) for key in sdata.keys(): bb.data.setVar(key, sdata[key], d) } python do_package_write_ipk_setscene () { sstate_setscene(d) } python sstate_task_prefunc () { shared_state = sstate_state_fromvars(d) sstate_clean(shared_state, d) } python patch_do_patch () { import oe.patch src_uri = (bb.data.getVar('SRC_URI', d, 1) or '').split() if not src_uri: return patchsetmap = { "patch": oe.patch.PatchTree, "quilt": oe.patch.QuiltTree, "git": oe.patch.GitApplyTree, } cls = patchsetmap[bb.data.getVar('PATCHTOOL', d, 1) or 'quilt'] resolvermap = { "noop": oe.patch.NOOPResolver, "user": oe.patch.UserResolver, } rcls = resolvermap[bb.data.getVar('PATCHRESOLVE', d, 1) or 'user'] s = bb.data.getVar('S', d, 1) path = os.getenv('PATH') os.putenv('PATH', bb.data.getVar('PATH', d, 1)) classes = {} workdir = bb.data.getVar('WORKDIR', d, 1) for url in src_uri: (type, host, path, user, pswd, parm) = bb.decodeurl(url) local = None base, ext = os.path.splitext(os.path.basename(path)) if ext in ('.gz', '.bz2', '.Z'): local = os.path.join(workdir, base) ext = os.path.splitext(base)[1] if "apply" in parm: apply = parm["apply"] if apply != "yes": if apply != "no": bb.msg.warn(None, "Unsupported value '%s' for 'apply' url param in '%s', please use 'yes' or 'no'" % (apply, url)) continue #elif "patch" in parm: #bb.msg.warn(None, "Deprecated usage of 'patch' url param in '%s', please use 'apply={yes,no}'" % url) elif ext not in (".diff", ".patch"): continue if not local: url = bb.encodeurl((type, host, path, user, pswd, [])) local = os.path.join('/', bb.fetch2.localpath(url, d)) local = bb.data.expand(local, d) if "striplevel" in parm: striplevel = parm["striplevel"] elif "pnum" in parm: #bb.msg.warn(None, "Deprecated usage of 'pnum' url parameter in '%s', please use 'striplevel'" % url) striplevel = parm["pnum"] else: striplevel = '1' if "pname" in parm: pname = parm["pname"] else: pname = os.path.basename(local) if "mindate" in parm or "maxdate" in parm: pn = bb.data.getVar('PN', d, 1) srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1) if not srcdate: srcdate = bb.data.getVar('SRCDATE', d, 1) if srcdate == "now": srcdate = bb.data.getVar('DATE', d, 1) if "maxdate" in parm and parm["maxdate"] < srcdate: bb.note("Patch '%s' is outdated" % pname) continue if "mindate" in parm and parm["mindate"] > srcdate: bb.note("Patch '%s' is predated" % pname) continue if "minrev" in parm: srcrev = bb.data.getVar('SRCREV', d, 1) if srcrev and srcrev < parm["minrev"]: bb.note("Patch '%s' applies to later revisions" % pname) continue if "maxrev" in parm: srcrev = bb.data.getVar('SRCREV', d, 1) if srcrev and srcrev > parm["maxrev"]: bb.note("Patch '%s' applies to earlier revisions" % pname) continue if "rev" in parm: srcrev = bb.data.getVar('SRCREV', d, 1) if srcrev and parm["rev"] not in srcrev: bb.note("Patch '%s' doesn't apply to revision" % pname) continue if "notrev" in parm: srcrev = bb.data.getVar('SRCREV', d, 1) if srcrev and parm["notrev"] in srcrev: bb.note("Patch '%s' doesn't apply to revision" % pname) continue if "patchdir" in parm: patchdir = parm["patchdir"] if not os.path.isabs(patchdir): patchdir = os.path.join(s, patchdir) else: patchdir = s if not patchdir in classes: patchset = cls(patchdir, d) resolver = rcls(patchset) classes[patchdir] = (patchset, resolver) patchset.Clean() else: patchset, resolver = classes[patchdir] bb.note("Applying patch '%s' (%s)" % (pname, oe.path.format_display(local, d))) try: patchset.Import({"file":local, "remote":url, "strippath": striplevel}, True) except Exception: import sys raise bb.build.FuncFailed(str(sys.exc_value)) resolver.Resolve() } python generate_git_config () { def generate_git_config(e): from bb import data if data.getVar('GIT_CORE_CONFIG', e.data, True): gitconfig_path = bb.data.getVar('GIT_CONFIG', e.data, True) proxy_command = " gitproxy = %s\n" % data.getVar('GIT_PROXY_COMMAND', e.data, True) bb.mkdirhier(bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/etc/", e.data)) if (os.path.exists(gitconfig_path)): os.remove(gitconfig_path) f = open(gitconfig_path, 'w') f.write("[core]\n") ignore_hosts = data.getVar('GIT_PROXY_IGNORE', e.data, True).split() for ignore_host in ignore_hosts: f.write(" gitproxy = none for %s\n" % ignore_host) f.write(proxy_command) f.close } python base_path_relative () { def base_path_relative(src, dest): return oe.path.relative(src, dest) } python sysroot_cleansstate () { ss = sstate_state_fromvars(d, "populate_sysroot") sstate_clean(ss, d) } python insane_mapping_rename_hook () { bb.build.exec_func('package_mapping_rename_hook', d) } python package_mapping_rename_hook () { """ Rewrite variables to account for package renaming in things like debian.bbclass or manual PKG variable name changes """ runtime_mapping_rename("RDEPENDS", d) runtime_mapping_rename("RRECOMMENDS", d) runtime_mapping_rename("RSUGGESTS", d) runtime_mapping_rename("RPROVIDES", d) runtime_mapping_rename("RREPLACES", d) runtime_mapping_rename("RCONFLICTS", d) } python package_ipk_fn () { bb.data.setVar('PKGFN', bb.data.getVar('PKG',d), d) } python splitfile () { def splitfile(file, debugfile, debugsrcdir, d): # Function to split a single file, called from split_and_strip_files below # A working 'file' (one which works on the target architecture) # is split and the split off portions go to debugfile. # # The debug information is then processed for src references. These # references are copied to debugsrcdir, if defined. import commands, stat dvar = bb.data.getVar('PKGD', d, True) pathprefix = "export PATH=%s; " % bb.data.getVar('PATH', d, True) objcopy = bb.data.getVar("OBJCOPY", d, True) debugedit = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit", d) workdir = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0", d) workparentdir = os.path.dirname(workdir) sourcefile = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/debugsources.list", d) # We ignore kernel modules, we don't generate debug info files. if file.find("/lib/modules/") != -1 and file.endswith(".ko"): return 1 newmode = None if not os.access(file, os.W_OK) or os.access(file, os.R_OK): origmode = os.stat(file)[stat.ST_MODE] newmode = origmode | stat.S_IWRITE | stat.S_IREAD os.chmod(file, newmode) # We need to extract the debug src information here... if debugsrcdir: os.system("%s'%s' -b '%s' -d '%s' -i -l '%s' '%s'" % (pathprefix, debugedit, workparentdir, debugsrcdir, sourcefile, file)) bb.mkdirhier(os.path.dirname(debugfile)) os.system("%s'%s' --only-keep-debug '%s' '%s'" % (pathprefix, objcopy, file, debugfile)) # Set the debuglink to have the view of the file path on the target os.system("%s'%s' --add-gnu-debuglink='%s' '%s'" % (pathprefix, objcopy, debugfile, file)) if newmode: os.chmod(file, origmode) return 0 } python do_populate_sysroot () { # # if do_stage exists, we're legacy. In that case run the do_stage, # modify the SYSROOT_DESTDIR variable and then run the staging preprocess # functions against staging directly. # # Otherwise setup a destdir, copy the results from do_install # and run the staging preprocess against that # bb.build.exec_func("sysroot_stage_all", d) for f in (bb.data.getVar('SYSROOT_PREPROCESS_FUNCS', d, True) or '').split(): bb.build.exec_func(f, d) } python sstate_package () { def sstate_package(ss, d): import oe.path def make_relative_symlink(path, outputpath, d): # Replace out absolute TMPDIR paths in symlinks with relative ones if not os.path.islink(path): return link = os.readlink(path) if not os.path.isabs(link): return if not link.startswith(tmpdir): return depth = link.rpartition(tmpdir)[2].count('/') base = link.partition(tmpdir)[2].strip() while depth > 1: base = "../" + base depth -= 1 bb.debug(2, "Replacing absolute path %s with relative path %s" % (link, base)) os.remove(path) os.symlink(base, path) tmpdir = bb.data.getVar('TMPDIR', d, True) sstatebuild = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/sstate-build-%s/" % ss['name'], d) sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_'+ ss['name'] + ".tgz" bb.mkdirhier(sstatebuild) bb.mkdirhier(os.path.dirname(sstatepkg)) for state in ss['dirs']: srcbase = state[0].rstrip("/").rsplit('/', 1)[0] for walkroot, dirs, files in os.walk(state[1]): for file in files: srcpath = os.path.join(walkroot, file) dstpath = srcpath.replace(state[1], sstatebuild + state[0]) bb.debug(2, "Preparing %s for packaging at %s" % (srcpath, dstpath)) make_relative_symlink(srcpath, dstpath, d) for dir in dirs: srcpath = os.path.join(walkroot, dir) dstpath = srcpath.replace(state[1], sstatebuild + state[0]) make_relative_symlink(srcpath, dstpath, d) oe.path.copytree(state[1], sstatebuild + state[0]) workdir = bb.data.getVar('WORKDIR', d, True) for plain in ss['plaindirs']: pdir = plain.replace(workdir, sstatebuild) bb.mkdirhier(plain) bb.mkdirhier(pdir) oe.path.copytree(plain, pdir) bb.data.setVar('SSTATE_BUILDDIR', sstatebuild, d) bb.data.setVar('SSTATE_PKG', sstatepkg, d) sstate_hardcode_path(d) bb.build.exec_func('sstate_create_package', d) bb.siggen.dump_this_task(sstatepkg + ".siginfo", d) return } python __anonymous () { None} python sstate_checkhashes () { def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d): ret = [] # This needs to go away, FIXME mapping = { "do_populate_sysroot" : "populate-sysroot", "do_populate_lic" : "populate-lic", "do_package_write_ipk" : "deploy-ipk", "do_package_write_deb" : "deploy-deb", "do_package_write_rpm" : "deploy-rpm", "do_package" : "package", "do_deploy" : "deploy", } for task in range(len(sq_fn)): sstatefile = bb.data.expand("/OE/tentacle/build/sstate-cache/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d) sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task]) #print("Checking for %s" % sstatefile) if os.path.exists(sstatefile): ret.append(task) continue mirrors = bb.data.getVar("SSTATE_MIRRORS", d, True) if mirrors: # Copy the data object and override DL_DIR and SRC_URI localdata = bb.data.createCopy(d) bb.data.update_data(localdata) dldir = bb.data.expand("/OE/tentacle/build/sstate-cache", localdata) bb.data.setVar('DL_DIR', dldir, localdata) bb.data.setVar('PREMIRRORS', mirrors, localdata) for task in range(len(sq_fn)): if task in ret: continue sstatefile = bb.data.expand("/OE/tentacle/build/sstate-cache/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d) sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task]) srcuri = "file://" + os.path.basename(sstatefile) bb.data.setVar('SRC_URI', srcuri, localdata) #bb.note(str(srcuri)) try: fetcher = bb.fetch2.Fetch(srcuri.split(), localdata) fetcher.checkstatus() ret.append(task) except: pass return ret } python package_qa_handle_error () { def package_qa_handle_error(error_class, error_msg, name, path, d): fatal = package_qa_make_fatal_error(error_class, name, path, d) if fatal: bb.error("QA Issue: %s" % error_msg) else: bb.warn("QA Issue: %s" % error_msg) package_qa_write_error(error_class, name, path, d) return not fatal } python do_fetch () { bb.build.exec_func('base_do_fetch', d) } python do_package_ipk () { import re, copy import textwrap workdir = bb.data.getVar('WORKDIR', d, True) outdir = bb.data.getVar('PKGWRITEDIRIPK', d, True) tmpdir = bb.data.getVar('TMPDIR', d, True) pkgdest = bb.data.getVar('PKGDEST', d, True) if not workdir or not outdir or not tmpdir: bb.error("Variables incorrectly set, unable to package") return packages = bb.data.getVar('PACKAGES', d, True) if not packages or packages == '': bb.debug(1, "No packages; nothing to do") return # We're about to add new packages so the index needs to be checked # so remove the appropriate stamp file. if os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"), os.R_OK): os.unlink(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN")) for pkg in packages.split(): localdata = bb.data.createCopy(d) root = "%s/%s" % (pkgdest, pkg) lf = bb.utils.lockfile(root + ".lock") bb.data.setVar('ROOT', '', localdata) bb.data.setVar('ROOT_%s' % pkg, root, localdata) pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1) if not pkgname: pkgname = pkg bb.data.setVar('PKG', pkgname, localdata) bb.data.setVar('OVERRIDES', pkg, localdata) bb.data.update_data(localdata) basedir = os.path.join(os.path.dirname(root)) arch = bb.data.getVar('PACKAGE_ARCH', localdata, 1) pkgoutdir = "%s/%s" % (outdir, arch) bb.mkdirhier(pkgoutdir) os.chdir(root) from glob import glob g = glob('*') try: del g[g.index('CONTROL')] del g[g.index('./CONTROL')] except ValueError: pass if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1": bb.note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1))) bb.utils.unlockfile(lf) continue controldir = os.path.join(root, 'CONTROL') bb.mkdirhier(controldir) try: ctrlfile = file(os.path.join(controldir, 'control'), 'w') except OSError: bb.utils.unlockfile(lf) raise bb.build.FuncFailed("unable to open control file for writing.") fields = [] pe = bb.data.getVar('PE', d, 1) if pe and int(pe) > 0: fields.append(["Version: %s:%s-%s\n", ['PE', 'PV', 'PR']]) else: fields.append(["Version: %s-%s\n", ['PV', 'PR']]) fields.append(["Description: %s\n", ['DESCRIPTION']]) fields.append(["Section: %s\n", ['SECTION']]) fields.append(["Priority: %s\n", ['PRIORITY']]) fields.append(["Maintainer: %s\n", ['MAINTAINER']]) fields.append(["Architecture: %s\n", ['PACKAGE_ARCH']]) fields.append(["OE: %s\n", ['PN']]) fields.append(["Homepage: %s\n", ['HOMEPAGE']]) def pullData(l, d): l2 = [] for i in l: l2.append(bb.data.getVar(i, d, 1)) return l2 ctrlfile.write("Package: %s\n" % pkgname) # check for required fields try: for (c, fs) in fields: for f in fs: if bb.data.getVar(f, localdata) is None: raise KeyError(f) # Special behavior for description... if 'DESCRIPTION' in fs: summary = bb.data.getVar('SUMMARY', localdata, True) or bb.data.getVar('DESCRIPTION', localdata, True) or "." description = bb.data.getVar('DESCRIPTION', localdata, True) or "." description = textwrap.dedent(description).strip() ctrlfile.write('Description: %s\n' % summary) ctrlfile.write('%s\n' % textwrap.fill(description, width=74, initial_indent=' ', subsequent_indent=' ')) else: ctrlfile.write(c % tuple(pullData(fs, localdata))) except KeyError: import sys (type, value, traceback) = sys.exc_info() ctrlfile.close() bb.utils.unlockfile(lf) raise bb.build.FuncFailed("Missing field for ipk generation: %s" % value) # more fields bb.build.exec_func("mapping_rename_hook", localdata) rdepends = bb.utils.explode_dep_versions(bb.data.getVar("RDEPENDS", localdata, 1) or "") rrecommends = bb.utils.explode_dep_versions(bb.data.getVar("RRECOMMENDS", localdata, 1) or "") rsuggests = bb.utils.explode_dep_versions(bb.data.getVar("RSUGGESTS", localdata, 1) or "") rprovides = bb.utils.explode_dep_versions(bb.data.getVar("RPROVIDES", localdata, 1) or "") rreplaces = bb.utils.explode_dep_versions(bb.data.getVar("RREPLACES", localdata, 1) or "") rconflicts = bb.utils.explode_dep_versions(bb.data.getVar("RCONFLICTS", localdata, 1) or "") if rdepends: ctrlfile.write("Depends: %s\n" % bb.utils.join_deps(rdepends)) if rsuggests: ctrlfile.write("Suggests: %s\n" % bb.utils.join_deps(rsuggests)) if rrecommends: ctrlfile.write("Recommends: %s\n" % bb.utils.join_deps(rrecommends)) if rprovides: ctrlfile.write("Provides: %s\n" % bb.utils.join_deps(rprovides)) if rreplaces: ctrlfile.write("Replaces: %s\n" % bb.utils.join_deps(rreplaces)) if rconflicts: ctrlfile.write("Conflicts: %s\n" % bb.utils.join_deps(rconflicts)) src_uri = bb.data.getVar("SRC_URI", localdata, 1) if src_uri: src_uri = re.sub("\s+", " ", src_uri) ctrlfile.write("Source: %s\n" % " ".join(src_uri.split())) ctrlfile.close() for script in ["preinst", "postinst", "prerm", "postrm"]: scriptvar = bb.data.getVar('pkg_%s' % script, localdata, 1) if not scriptvar: continue try: scriptfile = file(os.path.join(controldir, script), 'w') except OSError: bb.utils.unlockfile(lf) raise bb.build.FuncFailed("unable to open %s script file for writing." % script) scriptfile.write(scriptvar) scriptfile.close() os.chmod(os.path.join(controldir, script), 0755) conffiles_str = bb.data.getVar("CONFFILES", localdata, 1) if conffiles_str: try: conffiles = file(os.path.join(controldir, 'conffiles'), 'w') except OSError: bb.utils.unlockfile(lf) raise bb.build.FuncFailed("unable to open conffiles for writing.") for f in conffiles_str.split(): conffiles.write('%s\n' % f) conffiles.close() os.chdir(basedir) ret = os.system("PATH=\"%s\" %s %s %s" % (bb.data.getVar("PATH", localdata, 1), bb.data.getVar("OPKGBUILDCMD",d,1), pkg, pkgoutdir)) if ret != 0: bb.utils.unlockfile(lf) raise bb.build.FuncFailed("opkg-build execution failed") bb.utils.prunedir(controldir) bb.utils.unlockfile(lf) } python set_timedata () { def set_timedata(var, data): import time time = time.time() cputime = get_cputime() proctime = get_process_cputime(os.getpid()) data.setVar(var, (time, cputime, proctime)) } python base_read_file () { def base_read_file(filename): return oe.utils.read_file(filename) } python splitfile2 () { def splitfile2(debugsrcdir, d): # Function to split a single file, called from split_and_strip_files below # # The debug src information processed in the splitfile2 is further procecessed # and copied to the destination here. import commands, stat dvar = bb.data.getVar('PKGD', d, True) pathprefix = "export PATH=%s; " % bb.data.getVar('PATH', d, True) strip = bb.data.getVar("STRIP", d, True) objcopy = bb.data.getVar("OBJCOPY", d, True) debugedit = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit", d) workdir = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0", d) workparentdir = os.path.dirname(workdir) workbasedir = os.path.basename(workdir) sourcefile = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/debugsources.list", d) if debugsrcdir: bb.mkdirhier("%s%s" % (dvar, debugsrcdir)) processdebugsrc = "LC_ALL=C ; sort -z -u '%s' | egrep -v -z '(|)$' | " # We need to ignore files that are not actually ours # we do this by only paying attention to items from this package processdebugsrc += "fgrep -z '%s' | " processdebugsrc += "(cd '%s' ; cpio -pd0mL '%s%s' 2>/dev/null)" os.system(processdebugsrc % (sourcefile, workbasedir, workparentdir, dvar, debugsrcdir)) # The copy by cpio may have resulted in some empty directories! Remove these for root, dirs, files in os.walk("%s%s" % (dvar, debugsrcdir)): for d in dirs: dir = os.path.join(root, d) #bb.note("rmdir -p %s" % dir) os.system("rmdir -p %s 2>/dev/null" % dir) } python base_ifelse () { def base_ifelse(condition, iftrue = True, iffalse = False): return oe.utils.ifelse(condition, iftrue, iffalse) } python has_pkgdata () { def has_pkgdata(pn, d): fn = bb.data.expand('/OE/tentacle/build/tmp-angstrom_2010_x/pkgdata/beagleboard-angstrom-linux-gnueabi/%s' % pn, d) return os.access(fn, os.R_OK) } python package_qa_write_error () { def package_qa_write_error(error_class, name, path, d): """ Log the error """ ERROR_NAMES =[ "non dev contains .so", "package contains RPATH", "package depends on debug package", "non dbg contains .debug", "wrong architecture", "evil hides inside the .la", "evil hides inside the .pc", "the desktop file is not valid", ".la contains reference to the workdir", "LDFLAGS ignored", "package contains reference to tmpdir paths", ] log_path = os.path.join( bb.data.getVar('T', d, True), "log.qa_package" ) f = file( log_path, "a+") print >> f, "%s, %s, %s" % \ (ERROR_NAMES[error_class], name, package_qa_clean_path(path,d)) f.close() logfile = bb.data.getVar('QA_LOGFILE', d, True) if logfile: p = bb.data.getVar('P', d, True) f = file( logfile, "a+") print >> f, "%s, %s, %s, %s" % \ (p, ERROR_NAMES[error_class], name, package_qa_clean_path(path,d)) f.close() } python base_do_fetch () { src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split() if len(src_uri) == 0: return localdata = bb.data.createCopy(d) bb.data.update_data(localdata) try: fetcher = bb.fetch2.Fetch(src_uri, localdata) fetcher.download() except bb.fetch2.BBFetchException, e: raise bb.build.FuncFailed(e) } python sstate_cleanall () { import fnmatch bb.note("Removing shared state for package %s" % bb.data.getVar('PN', d, True)) manifest_dir = bb.data.getVar('SSTATE_MANIFESTS', d, True) manifest_prefix = bb.data.getVar("SSTATE_MANFILEPREFIX", d, True) manifest_pattern = os.path.basename(manifest_prefix) + ".*" if not os.path.exists(manifest_dir): return for manifest in (os.listdir(manifest_dir)): if fnmatch.fnmatch(manifest, manifest_pattern): name = manifest.replace(manifest_pattern[:-1], "") namemap = d.getVar('SSTATETASKNAMES', True).split() tasks = d.getVar('SSTATETASKS', True).split() taskname = tasks[namemap.index(name)] shared_state = sstate_state_fromvars(d, taskname[3:]) sstate_clean(shared_state, d) } python packaged () { def packaged(pkg, d): return os.access(get_subpkgedata_fn(pkg, d) + '.packaged', os.R_OK) } python do_package_qa () { bb.note("DO PACKAGE QA") logdir = bb.data.getVar('T', d, True) pkg = bb.data.getVar('PN', d, True) # Check the compile log for host contamination compilelog = os.path.join(logdir,"log.do_compile") statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % compilelog if os.system(statement) == 0: bb.warn("%s: The compile log indicates that host include and/or library paths were used. Please check the log '%s' for more information." % \ (pkg, compilelog)) # Check the install log for host contamination installlog = os.path.join(logdir,"log.do_install") statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % installlog if os.system(statement) == 0: bb.warn("%s: The install log indicates that host include and/or library paths were used. Please check the log '%s' for more information." % \ (pkg, installlog)) # Scan the packages... pkgdest = bb.data.getVar('PKGDEST', d, True) packages = bb.data.getVar('PACKAGES',d, True) # no packages should be scanned if not packages: return checks = [package_qa_check_rpath, package_qa_check_dev, package_qa_check_perm, package_qa_check_arch, package_qa_check_desktop, package_qa_hash_style, package_qa_check_dbg] # package_qa_check_buildpaths, walk_sane = True rdepends_sane = True for package in packages.split(): if bb.data.getVar('INSANE_SKIP_' + package, d, True): bb.note("Package: %s (skipped)" % package) continue bb.note("Checking Package: %s" % package) path = "%s/%s" % (pkgdest, package) if not package_qa_walk(path, checks, package, d): walk_sane = False if not package_qa_check_rdepends(package, pkgdest, d): rdepends_sane = False if not walk_sane or not rdepends_sane: bb.fatal("QA run found fatal errors. Please consider fixing them.") bb.note("DONE with PACKAGE QA") } python get_timedata () { def get_timedata(var, data): import time timedata = data.getVar(var, False) if timedata is None: return oldtime, oldcpu, oldproc = timedata procdiff = get_process_cputime(os.getpid()) - oldproc cpudiff = get_cputime() - oldcpu timediff = time.time() - oldtime if cpudiff > 0: cpuperc = float(procdiff) * 100 / cpudiff else: cpuperc = None return timediff, cpuperc } python package_depchains () { """ For a given set of prefix and postfix modifiers, make those packages RRECOMMENDS on the corresponding packages for its RDEPENDS. Example: If package A depends upon package B, and A's .bb emits an A-dev package, this would make A-dev Recommends: B-dev. If only one of a given suffix is specified, it will take the RRECOMMENDS based on the RDEPENDS of *all* other packages. If more than one of a given suffix is specified, its will only use the RDEPENDS of the single parent package. """ packages = bb.data.getVar('PACKAGES', d, True) postfixes = (bb.data.getVar('DEPCHAIN_POST', d, True) or '').split() prefixes = (bb.data.getVar('DEPCHAIN_PRE', d, True) or '').split() def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d): #bb.note('depends for %s is %s' % (base, depends)) rreclist = bb.utils.explode_dep_versions(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "") for depend in depends: if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'): #bb.note("Skipping %s" % depend) continue if depend.endswith('-dev'): depend = depend.replace('-dev', '') if depend.endswith('-dbg'): depend = depend.replace('-dbg', '') pkgname = getname(depend, suffix) #bb.note("Adding %s for %s" % (pkgname, depend)) if pkgname not in rreclist: rreclist[pkgname] = "" #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist))) bb.data.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False), d) def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d): #bb.note('rdepends for %s is %s' % (base, rdepends)) rreclist = bb.utils.explode_dep_versions(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "") for depend in rdepends: if depend.find('virtual-locale-') != -1: #bb.note("Skipping %s" % depend) continue if depend.endswith('-dev'): depend = depend.replace('-dev', '') if depend.endswith('-dbg'): depend = depend.replace('-dbg', '') pkgname = getname(depend, suffix) #bb.note("Adding %s for %s" % (pkgname, depend)) if pkgname not in rreclist: rreclist[pkgname] = "" #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist))) bb.data.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False), d) def add_dep(list, dep): dep = dep.split(' (')[0].strip() if dep not in list: list.append(dep) depends = [] for dep in bb.utils.explode_deps(bb.data.getVar('DEPENDS', d, True) or ""): add_dep(depends, dep) rdepends = [] for dep in bb.utils.explode_deps(bb.data.getVar('RDEPENDS', d, True) or ""): add_dep(rdepends, dep) for pkg in packages.split(): for dep in bb.utils.explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, True) or ""): add_dep(rdepends, dep) #bb.note('rdepends is %s' % rdepends) def post_getname(name, suffix): return '%s%s' % (name, suffix) def pre_getname(name, suffix): return '%s%s' % (suffix, name) pkgs = {} for pkg in packages.split(): for postfix in postfixes: if pkg.endswith(postfix): if not postfix in pkgs: pkgs[postfix] = {} pkgs[postfix][pkg] = (pkg[:-len(postfix)], post_getname) for prefix in prefixes: if pkg.startswith(prefix): if not prefix in pkgs: pkgs[prefix] = {} pkgs[prefix][pkg] = (pkg[:-len(prefix)], pre_getname) for suffix in pkgs: for pkg in pkgs[suffix]: if bb.data.getVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs', d): continue (base, func) = pkgs[suffix][pkg] if suffix == "-dev": pkg_adddeprrecs(pkg, base, suffix, func, depends, d) if len(pkgs[suffix]) == 1: pkg_addrrecs(pkg, base, suffix, func, rdepends, d) else: rdeps = [] for dep in bb.utils.explode_deps(bb.data.getVar('RDEPENDS_' + base, d, True) or bb.data.getVar('RDEPENDS', d, True) or ""): add_dep(rdeps, dep) pkg_addrrecs(pkg, base, suffix, func, rdeps, d) } python check_app_exists () { def check_app_exists(app, d): from bb import which, data app = data.expand(app, d) path = data.getVar('PATH', d, 1) return bool(which(path, app)) } python do_qa_configure () { configs = [] workdir = bb.data.getVar('WORKDIR', d, True) bb.note("Checking autotools environment for common misconfiguration") for root, dirs, files in os.walk(workdir): statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % \ os.path.join(root,"config.log") if "config.log" in files: if os.system(statement) == 0: bb.fatal("""This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. Rerun configure task after fixing this. The path was '%s'""" % root) if "configure.ac" in files: configs.append(os.path.join(root,"configure.ac")) if "configure.in" in files: configs.append(os.path.join(root, "configure.in")) cnf = bb.data.getVar('EXTRA_OECONF', d, True) or "" if "gettext" not in bb.data.getVar('P', d, True) and "gcc-runtime" not in bb.data.getVar('P', d, True) and "--disable-nls" not in cnf: if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('nativesdk', d): gt = "gettext-native" elif bb.data.inherits_class('cross-canadian', d): gt = "gettext-nativesdk" else: gt = "virtual/gettext" deps = bb.utils.explode_deps(bb.data.getVar('DEPENDS', d, True) or "") if gt not in deps: for config in configs: gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config if os.system(gnu) == 0: bb.fatal("""%s required but not in DEPENDS for file %s. Missing inherit gettext?""" % (gt, config)) if not package_qa_check_license(workdir, d): bb.fatal("Licensing Error: LIC_FILES_CHKSUM does not match, please fix") } python package_qa_check_perm () { def package_qa_check_perm(path,name,d, elf): """ Check the permission of files """ sane = True return sane } python sys_path_eh () { if isinstance(e, bb.event.ConfigParsed): import sys import os import time bbpath = e.data.getVar("BBPATH", True).split(":") sys.path[0:0] = [os.path.join(dir, "lib") for dir in bbpath] def inject(name, value): """Make a python object accessible from everywhere for the metadata""" if hasattr(bb.utils, "_context"): bb.utils._context[name] = value else: __builtins__[name] = value import oe.path import oe.utils inject("bb", bb) inject("sys", sys) inject("time", time) inject("oe", oe) } python do_clean () { """clear the build and temp directories""" dir = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0", d) bb.note("Removing " + dir) oe.path.remove(dir) dir = "%s.*" % bb.data.expand(bb.data.getVar('STAMP', d), d) bb.note("Removing " + dir) oe.path.remove(dir) for f in (bb.data.getVar('CLEANFUNCS', d, 1) or '').split(): bb.build.exec_func(f, d) } python base_less_or_equal () { def base_less_or_equal(variable, checkvalue, truevalue, falsevalue, d): return oe.utils.less_or_equal(variable, checkvalue, truevalue, falsevalue, d) } python package_qa_walk () { def package_qa_walk(path, funcs, package,d): import oe.qa #if this will throw an exception, then fix the dict above target_os = bb.data.getVar('TARGET_OS', d, True) target_arch = bb.data.getVar('TARGET_ARCH', d, True) sane = True for root, dirs, files in os.walk(path): for file in files: path = os.path.join(root,file) elf = oe.qa.ELFFile(path) try: elf.open() except: elf = None for func in funcs: if not func(path, package,d, elf): sane = False return sane } python base_dep_prepend () { None} python package_qa_check_desktop () { def package_qa_check_desktop(path, name, d, elf): """ Run all desktop files through desktop-file-validate. """ sane = True if path.endswith(".desktop"): desktop_file_validate = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'desktop-file-validate') output = os.popen("%s %s" % (desktop_file_validate, path)) # This only produces output on errors for l in output: sane = package_qa_handle_error(7, l.strip(), name, path, d) return sane } python do_unpack () { bb.build.exec_func('base_do_unpack', d) } python package_qa_check_arch () { def package_qa_check_arch(path,name,d, elf): """ Check if archs are compatible """ if not elf: return True sane = True target_os = bb.data.getVar('TARGET_OS', d, True) target_arch = bb.data.getVar('TARGET_ARCH', d, True) # FIXME: Cross package confuse this check, so just skip them for s in ['cross', 'nativesdk', 'cross-canadian']: if bb.data.inherits_class(s, d): return True # avoid following links to /usr/bin (e.g. on udev builds) # we will check the files pointed to anyway... if os.path.islink(path): return True #if this will throw an exception, then fix the dict above (machine, osabi, abiversion, littleendian, bits) \ = package_qa_get_machine_dict()[target_os][target_arch] # Check the architecture and endiannes of the binary if not machine == elf.machine(): error_msg = "Architecture did not match (%d to %d) on %s" % \ (machine, elf.machine(), package_qa_clean_path(path,d)) sane = package_qa_handle_error(4, error_msg, name, path, d) elif not bits == elf.abiSize(): error_msg = "Bit size did not match (%d to %d) on %s" % \ (bits, elf.abiSize(), package_qa_clean_path(path,d)) sane = package_qa_handle_error(4, error_msg, name, path, d) elif not littleendian == elf.isLittleEndian(): error_msg = "Endiannes did not match (%d to %d) on %s" % \ (littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)) sane = package_qa_handle_error(4, error_msg, name, path, d) return sane } python check_conf_exists () { def check_conf_exists(fn, data): bbpath = [] fn = bb.data.expand(fn, data) vbbpath = bb.data.getVar("BBPATH", data) if vbbpath: bbpath += vbbpath.split(":") for p in bbpath: currname = os.path.join(bb.data.expand(p, data), fn) if os.access(currname, os.R_OK): return True return False } python package_qa_hash_style () { def package_qa_hash_style(path, name, d, elf): """ Check if the binary has the right hash style... """ if not elf: return True if os.path.islink(path): return True gnu_hash = "--hash-style=gnu" in bb.data.getVar('LDFLAGS', d, True) if not gnu_hash: gnu_hash = "--hash-style=both" in bb.data.getVar('LDFLAGS', d, True) if not gnu_hash: return True objdump = bb.data.getVar('OBJDUMP', d, True) env_path = bb.data.getVar('PATH', d, True) sane = True elf = False # A bit hacky. We do not know if path is an elf binary or not # we will search for 'NEEDED' or 'INIT' as this should be printed... # and come before the HASH section (guess!!!) and works on split out # debug symbols too for line in os.popen("LC_ALL=C PATH=%s %s -p '%s' 2> /dev/null" % (env_path, objdump, path), "r"): if "NEEDED" in line or "INIT" in line: sane = False elf = True if "GNU_HASH" in line: sane = True if "[mips32]" in line or "[mips64]" in line: sane = True if elf and not sane: error_msg = "No GNU_HASH in the elf binary: '%s'" % path return package_qa_handle_error(9, error_msg, name, path, d) return True } python base_path_out () { def base_path_out(path, d): return oe.path.format_display(path, d) } python mapping_rename_hook () { bb.build.exec_func('insane_mapping_rename_hook', d) } python package_qa_check_staged () { def package_qa_check_staged(path,d): """ Check staged la and pc files for sanity -e.g. installed being false As this is run after every stage we should be able to find the one responsible for the errors easily even if we look at every .pc and .la file """ sane = True tmpdir = bb.data.getVar('TMPDIR', d, True) workdir = os.path.join(tmpdir, "work") installed = "installed=yes" if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d): pkgconfigcheck = workdir else: pkgconfigcheck = tmpdir # find all .la and .pc files # read the content # and check for stuff that looks wrong for root, dirs, files in os.walk(path): for file in files: path = os.path.join(root,file) if file.endswith(".la"): file_content = open(path).read() if workdir in file_content: error_msg = "%s failed sanity test (workdir) in path %s" % (file,root) sane = package_qa_handle_error(8, error_msg, "staging", path, d) elif file.endswith(".pc"): file_content = open(path).read() if pkgconfigcheck in file_content: error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root) sane = package_qa_handle_error(6, error_msg, "staging", path, d) return sane } python base_do_unpack () { src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split() if len(src_uri) == 0: return localdata = bb.data.createCopy(d) bb.data.update_data(localdata) rootdir = bb.data.getVar('WORKDIR', localdata, True) try: fetcher = bb.fetch2.Fetch(src_uri, localdata) fetcher.unpack(rootdir) except bb.fetch2.BBFetchException, e: raise bb.build.FuncFailed(e) } python read_pkgdata () { def read_pkgdata(pn, d): fn = bb.data.expand('/OE/tentacle/build/tmp-angstrom_2010_x/pkgdata/beagleboard-angstrom-linux-gnueabi/%s' % pn, d) return read_pkgdatafile(fn) } python sstate_task_postfunc () { shared_state = sstate_state_fromvars(d) sstate_install(shared_state, d) for intercept in shared_state['interceptfuncs']: bb.build.exec_func(intercept, d) sstate_package(shared_state, d) } python check_sanity_version_change () { def check_sanity_version_change(): # Sanity checks to be done when SANITY_VERSION changes return "" } python base_do_patch () { bb.build.exec_func('patch_do_patch', d) } python get_cputime () { def get_cputime(): fields = open("/proc/stat", "r").readline().rstrip().split()[1:] return sum(int(field) for field in fields) } python perform_packagecopy () { dest = bb.data.getVar('D', d, True) dvar = bb.data.getVar('PKGD', d, True) bb.mkdirhier(dvar) # Start by package population by taking a copy of the installed # files to operate on os.system('rm -rf %s/*' % (dvar)) # Preserve sparse files and hard links os.system('tar -cf - -C %s -ps . | tar -xf - -C %s' % (dest, dvar)) } python base_eventhandler () { from bb import note, error, data from bb.event import getName messages = {} messages["Completed"] = "completed" messages["Succeeded"] = "completed" messages["Started"] = "started" messages["Failed"] = "failed" name = getName(e) msg = "" if name.startswith("Pkg"): msg += "package %s: " % data.getVar("P", e.data, 1) msg += messages.get(name[3:]) or name[3:] elif name.startswith("Task"): msg += "package %s: task %s: " % (data.getVar("PF", e.data, 1), e.task) msg += messages.get(name[4:]) or name[4:] elif name.startswith("Build"): msg += "build %s: " % e.name msg += messages.get(name[5:]) or name[5:] elif name == "UnsatisfiedDep": msg += "package %s: dependency %s %s" % (e.pkg, e.dep, name[:-3].lower()) # Only need to output when using 1.8 or lower, the UI code handles it # otherwise if (int(bb.__version__.split(".")[0]) <= 1 and int(bb.__version__.split(".")[1]) <= 8): if msg: note(msg) if name.startswith("BuildStarted"): bb.data.setVar( 'BB_VERSION', bb.__version__, e.data ) statusvars = ['BB_VERSION', 'METADATA_BRANCH', 'METADATA_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU'] statuslines = ["%-17s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars] statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines) print statusmsg needed_vars = [ "TARGET_ARCH", "TARGET_OS" ] pesteruser = [] for v in needed_vars: val = bb.data.getVar(v, e.data, 1) if not val or val == 'INVALID': pesteruser.append(v) if pesteruser: bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser)) if name == "ConfigParsed": generate_git_config(e) if not data in e.__dict__: return log = data.getVar("EVENTLOG", e.data, 1) if log: logfile = file(log, "a") logfile.write("%s\n" % msg) logfile.close() } python base_both_contain () { def base_both_contain(variable1, variable2, checkvalue, d): return oe.utils.both_contain(variable1, variable2, checkvalue, d) } python base_conditional () { def base_conditional(variable, checkvalue, truevalue, falsevalue, d): return oe.utils.conditional(variable, checkvalue, truevalue, falsevalue, d) } python package_name_hook () { bb.build.exec_func('debian_package_name_hook', d) } python sstate_clean () { def sstate_clean(ss, d): import oe.path manifest = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sstate-control-eglibc/manifest-beagleboard-console-image.%s" % ss['name'], d) if os.path.exists(manifest): locks = [] for lock in ss['lockfiles-shared']: locks.append(bb.utils.lockfile(lock, True)) for lock in ss['lockfiles']: locks.append(bb.utils.lockfile(lock)) sstate_clean_manifest(manifest, d) for lock in locks: bb.utils.unlockfile(lock) stfile = d.getVar("STAMP", True) + ".do_" + ss['task'] oe.path.remove(stfile) oe.path.remove(stfile + "_setscene") oe.path.remove(stfile + ".*") oe.path.remove(stfile + "_setscene" + ".*") } python sstate_init () { def sstate_init(name, task, d): ss = {} ss['task'] = task ss['name'] = name ss['dirs'] = [] ss['plaindirs'] = [] ss['lockfiles'] = [] ss['lockfiles-shared'] = [] return ss } python package_ipk_install () { pkg = bb.data.getVar('PKG', d, 1) pkgfn = bb.data.getVar('PKGFN', d, 1) rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1) ipkdir = bb.data.getVar('DEPLOY_DIR_IPK', d, 1) stagingdir = bb.data.getVar('STAGING_DIR', d, 1) tmpdir = bb.data.getVar('TMPDIR', d, 1) if None in (pkg,pkgfn,rootfs): raise bb.build.FuncFailed("missing variables (one or more of PKG, PKGFN, IMAGEROOTFS)") try: bb.mkdirhier(rootfs) os.chdir(rootfs) except OSError: import sys (type, value, traceback) = sys.exc_info() print value raise bb.build.FuncFailed # Generate ipk.conf if it or the stamp doesnt exist conffile = os.path.join(stagingdir,"ipkg.conf") if not os.access(conffile, os.R_OK): ipkg_archs = bb.data.getVar('PACKAGE_ARCHS',d) if ipkg_archs is None: bb.error("PACKAGE_ARCHS missing") raise FuncFailed ipkg_archs = ipkg_archs.split() arch_priority = 1 f = open(conffile,"w") for arch in ipkg_archs: f.write("arch %s %s\n" % ( arch, arch_priority )) arch_priority += 1 f.write("src local file:%s" % ipkdir) f.close() if not os.access(os.path.join(ipkdir,"Packages"), os.R_OK) or not os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"),os.R_OK): ret = os.system('opkg-make-index -p %s %s ' % (os.path.join(ipkdir, "Packages"), ipkdir)) if (ret != 0 ): raise bb.build.FuncFailed f = open(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"),"w") f.close() ret = os.system('opkg-cl -o %s -f %s update' % (rootfs, conffile)) ret = os.system('opkg-cl -o %s -f %s install %s' % (rootfs, conffile, pkgfn)) if (ret != 0 ): raise bb.build.FuncFailed } python base_path_join () { def base_path_join(a, *p): return oe.path.join(a, *p) } python base_get_metadata_svn_revision () { def base_get_metadata_svn_revision(path, d): revision = "" try: revision = file( "%s/.svn/entries" % path ).readlines()[3].strip() except IOError: pass return revision } python check_pseudo_wrapper () { def check_pseudo_wrapper(): import subprocess as sub # Check if bitbake wrapper is being used pseudo_build = os.environ.get( 'PSEUDO_BUILD' ) if not pseudo_build: bb.warn("Bitbake has not been run using the bitbake wrapper (scripts/bitbake); this is likely because your PATH has been altered from that normally set up by the oe-init-build-env script. Not using the wrapper may result in failures during package installation, so it is highly recommended that you set your PATH back so that the wrapper script is being executed.") if (not pseudo_build) or pseudo_build == '2': # pseudo ought to be working, let's see if it is... p = sub.Popen(['sh', '-c', 'PSEUDO_DISABLED=0 id -u'],stdout=sub.PIPE,stderr=sub.PIPE) out, err = p.communicate() if out.rstrip() != '0': msg = "Pseudo is not functioning correctly, which will cause failures during package installation. Please check your configuration." if pseudo_build == '2': return msg else: bb.warn(msg) return "" } python sstate_clean_cachefiles () { def sstate_clean_cachefiles(d): for task in (bb.data.getVar('SSTATETASKS', d, True) or "").split(): ss = sstate_state_fromvars(d, task[3:]) sstate_clean_cachefile(ss, d) } python get_bn () { def get_bn(e): file = open(bb.data.getVar('BNFILE',e.data, True)) bn = file.readline() file.close() return bn } python package_qa_make_fatal_error () { def package_qa_make_fatal_error(error_class, name, path,d): """ decide if an error is fatal TODO: Load a whitelist of known errors """ return False return not error_class in [0, 5, 7, 8, 9] } python package_do_filedeps () { import os, re pkgdest = bb.data.getVar('PKGDEST', d, True) packages = bb.data.getVar('PACKAGES', d, True) rpmdeps = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/lib/rpm/bin/rpmdeps", d) r = re.compile(r'[<>=]+ +[^ ]*') # Quick routine to process the results of the rpmdeps call... def process_deps(pipe, pkg, f, provides_files, requires_files): provides = [] requires = [] file = f.replace(pkgdest + "/" + pkg, "") file = file.replace("@", "@at@") file = file.replace(" ", "@space@") file = file.replace("\t", "@tab@") file = file.replace("[", "@openbrace@") file = file.replace("]", "@closebrace@") file = file.replace("_", "@underscore@") for line in pipe: if line.startswith("Requires:"): i = requires elif line.startswith("Provides:"): i = provides else: continue value = line.split(":", 1)[1].strip() value = r.sub(r'(\g<0>)', value) if value.startswith("rpmlib("): continue i.append(value) if len(provides) > 0: provides_files.append(file) key = "FILERPROVIDES_" + file + "_" + pkg bb.data.setVar(key, " ".join(provides), d) if len(requires) > 0: requires_files.append(file) key = "FILERDEPENDS_" + file + "_" + pkg bb.data.setVar(key, " ".join(requires), d) # Determine dependencies for pkg in packages.split(): if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-'): continue provides_files = [] requires_files = [] for root, dirs, files in os.walk(pkgdest + "/" + pkg): for file in files: f = os.path.join(root, file) dep_pipe = os.popen(rpmdeps + " --provides --requires -v " + f) process_deps(dep_pipe, pkg, f, provides_files, requires_files) bb.data.setVar("FILERDEPENDSFLIST_" + pkg, " ".join(requires_files), d) bb.data.setVar("FILERPROVIDESFLIST_" + pkg, " ".join(provides_files), d) } python base_detect_revision () { def base_detect_revision(d): path = base_get_scmbasepath(d) scms = [base_get_metadata_git_revision, \ base_get_metadata_svn_revision] for scm in scms: rev = scm(path, d) if rev <> "": return rev return "" } python do_split_packages () { def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None, allow_links=False): """ Used in .bb files to split up dynamically generated subpackages of a given package, usually plugins or modules. """ dvar = bb.data.getVar('PKGD', d, True) packages = bb.data.getVar('PACKAGES', d, True).split() if postinst: postinst = '#!/bin/sh\n' + postinst + '\n' if postrm: postrm = '#!/bin/sh\n' + postrm + '\n' if not recursive: objs = os.listdir(dvar + root) else: objs = [] for walkroot, dirs, files in os.walk(dvar + root): for file in files: relpath = os.path.join(walkroot, file).replace(dvar + root + '/', '', 1) if relpath: objs.append(relpath) if extra_depends == None: # This is *really* broken mainpkg = packages[0] # At least try and patch it up I guess... if mainpkg.find('-dbg'): mainpkg = mainpkg.replace('-dbg', '') if mainpkg.find('-dev'): mainpkg = mainpkg.replace('-dev', '') extra_depends = mainpkg for o in objs: import re, stat if match_path: m = re.match(file_regex, o) else: m = re.match(file_regex, os.path.basename(o)) if not m: continue f = os.path.join(dvar + root, o) mode = os.lstat(f).st_mode if not (stat.S_ISREG(mode) or (allow_links and stat.S_ISLNK(mode)) or (allow_dirs and stat.S_ISDIR(mode))): continue on = legitimize_package_name(m.group(1)) pkg = output_pattern % on if not pkg in packages: if prepend: packages = [pkg] + packages else: packages.append(pkg) oldfiles = bb.data.getVar('FILES_' + pkg, d, True) if not oldfiles: the_files = [os.path.join(root, o)] if aux_files_pattern: if type(aux_files_pattern) is list: for fp in aux_files_pattern: the_files.append(fp % on) else: the_files.append(aux_files_pattern % on) if aux_files_pattern_verbatim: if type(aux_files_pattern_verbatim) is list: for fp in aux_files_pattern_verbatim: the_files.append(fp % m.group(1)) else: the_files.append(aux_files_pattern_verbatim % m.group(1)) bb.data.setVar('FILES_' + pkg, " ".join(the_files), d) if extra_depends != '': the_depends = bb.data.getVar('RDEPENDS_' + pkg, d, True) if the_depends: the_depends = '%s %s' % (the_depends, extra_depends) else: the_depends = extra_depends bb.data.setVar('RDEPENDS_' + pkg, the_depends, d) bb.data.setVar('DESCRIPTION_' + pkg, description % on, d) if postinst: bb.data.setVar('pkg_postinst_' + pkg, postinst, d) if postrm: bb.data.setVar('pkg_postrm_' + pkg, postrm, d) else: bb.data.setVar('FILES_' + pkg, oldfiles + " " + os.path.join(root, o), d) if callable(hook): hook(f, pkg, file_regex, output_pattern, m.group(1)) bb.data.setVar('PACKAGES', ' '.join(packages), d) } python check_sanity () { def check_sanity(e): from bb import note, error, data, __version__ try: from distutils.version import LooseVersion except ImportError: def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1 import commands # Check the bitbake version meets minimum requirements minversion = data.getVar('BB_MIN_VERSION', e.data , True) if not minversion: # Hack: BB_MIN_VERSION hasn't been parsed yet so return # and wait for the next call print "Foo %s" % minversion return if 0 == os.getuid(): raise_sanity_error("Do not use Bitbake as root.") messages = "" # Check the Python version, we now use Python 2.6 features in # various classes import sys if sys.hexversion < 0x020600F0: messages = messages + 'The system requires at least Python 2.6 to run. Please update your Python interpreter.\n' if (LooseVersion(__version__) < LooseVersion(minversion)): messages = messages + 'Bitbake version %s is required and version %s was found\n' % (minversion, __version__) # Check TARGET_ARCH is set if data.getVar('TARGET_ARCH', e.data, True) == 'INVALID': messages = messages + 'Please set TARGET_ARCH directly, or choose a MACHINE or DISTRO that does so.\n' # Check TARGET_OS is set if data.getVar('TARGET_OS', e.data, True) == 'INVALID': messages = messages + 'Please set TARGET_OS directly, or choose a MACHINE or DISTRO that does so.\n' # Check we are using a valid lacal.conf current_conf = data.getVar('CONF_VERSION', e.data, True) conf_version = data.getVar('LOCALCONF_VERSION', e.data, True) if current_conf != conf_version: messages = messages + "Your version of local.conf was generated from an older version of local.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/local.conf conf/local.conf.sample\" is a good way to visualise the changes.\n" # Check bblayers.conf is valid current_lconf = data.getVar('LCONF_VERSION', e.data, True) lconf_version = data.getVar('LAYER_CONF_VERSION', e.data, True) if current_lconf != lconf_version: messages = messages + "Your version of bblayers.conf was generated from an older version of bblayers.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/bblayers.conf conf/bblayers.conf.sample\" is a good way to visualise the changes.\n" # If we have a site.conf, check it's valid if check_conf_exists("conf/site.conf", e.data): current_sconf = data.getVar('SCONF_VERSION', e.data, True) sconf_version = data.getVar('SITE_CONF_VERSION', e.data, True) if current_sconf != sconf_version: messages = messages + "Your version of site.conf was generated from an older version of site.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/site.conf conf/site.conf.sample\" is a good way to visualise the changes.\n" assume_provided = data.getVar('ASSUME_PROVIDED', e.data , True).split() # Check user doesn't have ASSUME_PROVIDED = instead of += in local.conf if "diffstat-native" not in assume_provided: messages = messages + 'Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n' # Check that the MACHINE is valid, if it is set if data.getVar('MACHINE', e.data, True): if not check_conf_exists("conf/machine/beagleboard.conf", e.data): messages = messages + 'Please set a valid MACHINE in your local.conf\n' # Check that DL_DIR is set, exists and is writable. In theory, we should never even hit the check if DL_DIR isn't # set, since so much relies on it being set. dldir = data.getVar('DL_DIR', e.data, True) if not dldir: messages = messages + "DL_DIR is not set. Your environment is misconfigured, check that DL_DIR is set, and if the directory exists, that it is writable. \n" if os.path.exists(dldir) and not os.access(dldir, os.W_OK): messages = messages + "DL_DIR: %s exists but you do not appear to have write access to it. \n" % dldir # Check that the DISTRO is valid # need to take into account DISTRO renaming DISTRO if not ( check_conf_exists("conf/distro/angstrom.conf", e.data) or check_conf_exists("conf/distro/include/angstrom.inc", e.data) ): messages = messages + "DISTRO '%s' not found. Please set a valid DISTRO in your local.conf\n" % data.getVar("DISTRO", e.data, True ) missing = "" if not check_app_exists("make", e.data): missing = missing + "GNU make," if not check_app_exists('gcc', e.data): missing = missing + "C Compiler (%sgcc)," % data.getVar("BUILD_PREFIX", e.data, True) if not check_app_exists('g++', e.data): missing = missing + "C++ Compiler (%sg++)," % data.getVar("BUILD_PREFIX", e.data, True) required_utilities = "patch help2man diffstat texi2html makeinfo cvs svn bzip2 tar gzip gawk hg chrpath wget cpio" # qemu-native needs gcc 3.x if "qemu-native" not in assume_provided and "gcc3-native" in assume_provided: gcc_version = commands.getoutput("gcc --version | head -n 1 | cut -f 3 -d ' '") if not check_gcc3(e.data) and gcc_version[0] != '3': messages = messages + "gcc3-native was in ASSUME_PROVIDED but the gcc-3.x binary can't be found in PATH" missing = missing + "gcc-3.x (needed for qemu-native)," if "qemu-native" in assume_provided: if not check_app_exists("qemu-arm", e.data): messages = messages + "qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH" if "." in data.getVar('PATH', e.data, True).split(":"): messages = messages + "PATH contains '.' which will break the build, please remove this" if data.getVar('TARGET_ARCH', e.data, True) == "arm": # This path is no longer user-readable in modern (very recent) Linux try: if os.path.exists("/proc/sys/vm/mmap_min_addr"): f = open("/proc/sys/vm/mmap_min_addr", "r") try: if (int(f.read().strip()) > 65536): messages = messages + "/proc/sys/vm/mmap_min_addr is not <= 65536. This will cause problems with qemu so please fix the value (as root).\n\nTo fix this in later reboots, set vm.mmap_min_addr = 65536 in /etc/sysctl.conf.\n" finally: f.close() except: pass for util in required_utilities.split(): if not check_app_exists( util, e.data ): missing = missing + "%s," % util if missing != "": missing = missing.rstrip(',') messages = messages + "Please install following missing utilities: %s\n" % missing pseudo_msg = check_pseudo_wrapper() if pseudo_msg != "": messages = messages + pseudo_msg + '\n' # Check if DISPLAY is set if IMAGETEST is set if not data.getVar( 'DISPLAY', e.data, True ) and data.getVar( 'IMAGETEST', e.data, True ) == 'qemu': messages = messages + 'qemuimagetest needs a X desktop to start qemu, please set DISPLAY correctly (e.g. DISPLAY=:1.0)\n' if data.getVar('PATCHRESOLVE', e.data, True) != 'noop': # Ensure we have the binary for TERMCMD, as when patch application fails the error is fairly intimidating termcmd = data.getVar("TERMCMD", e.data, True) term = termcmd.split()[0] if not check_app_exists(term, e.data): messages = messages + "The console for use in patch error resolution is not available, please install %s or set TERMCMD and TERMCMDRUN (as documented in local.conf).\n" % term if os.path.basename(os.readlink('/bin/sh')) == 'dash': messages = messages + "Using dash as /bin/sh causes various subtle build problems, please use bash instead (e.g. 'dpkg-reconfigure dash' on an Ubuntu system.\n" omask = os.umask(022) if omask & 0755: messages = messages + "Please use a umask which allows a+rx and u+rwx\n" os.umask(omask) oes_bb_conf = data.getVar( 'OES_BITBAKE_CONF', e.data, True ) if not oes_bb_conf: messages = messages + 'You do not include OpenEmbeddeds version of conf/bitbake.conf. This means your environment is misconfigured, in particular check BBPATH.\n' nolibs = data.getVar('NO32LIBS', e.data, True) if not nolibs: lib32path = '/lib' if os.path.exists('/lib64') and ( os.path.islink('/lib64') or os.path.islink('/lib') ): lib32path = '/lib32' if os.path.exists('%s/libc.so.6' % lib32path) and not os.path.exists('/usr/include/gnu/stubs-32.h'): messages = messages + "You have a 32-bit libc, but no 32-bit headers. You must install the 32-bit libc headers.\n" tmpdir = data.getVar('TMPDIR', e.data, True) sstate_dir = data.getVar('SSTATE_DIR', e.data, True) # Check saved sanity info last_sanity_version = 0 last_tmpdir = "" last_sstate_dir = "" sanityverfile = 'conf/sanity_info' if os.path.exists(sanityverfile): f = file(sanityverfile, 'r') for line in f: if line.startswith('SANITY_VERSION'): last_sanity_version = int(line.split()[1]) if line.startswith('TMPDIR'): last_tmpdir = line.split()[1] if line.startswith('SSTATE_DIR'): last_sstate_dir = line.split()[1] sanity_version = int(data.getVar('SANITY_VERSION', e.data, True) or 1) if last_sanity_version < sanity_version: messages = messages + check_sanity_version_change() messages = messages + check_sanity_tmpdir_change(tmpdir) messages = messages + check_sanity_sstate_dir_change(sstate_dir) else: if last_tmpdir != tmpdir: messages = messages + check_sanity_tmpdir_change(tmpdir) if last_sstate_dir != sstate_dir: messages = messages + check_sanity_sstate_dir_change(sstate_dir) if os.path.exists("conf"): f = file(sanityverfile, 'w') f.write("SANITY_VERSION %s\n" % sanity_version) f.write("TMPDIR %s\n" % tmpdir) f.write("SSTATE_DIR %s\n" % sstate_dir) # # Check that TMPDIR hasn't changed location since the last time we were run # checkfile = os.path.join(tmpdir, "saved_tmpdir") if os.path.exists(checkfile): f = file(checkfile, "r") saved_tmpdir = f.read().strip() if (saved_tmpdir != tmpdir): messages = messages + "Error, TMPDIR has changed location. You need to either move it back to %s or rebuild\n" % saved_tmpdir else: f = file(checkfile, "w") f.write(tmpdir) f.close() # # Check the 'ABI' of TMPDIR # current_abi = data.getVar('OELAYOUT_ABI', e.data, True) abifile = data.getVar('SANITY_ABIFILE', e.data, True) if os.path.exists(abifile): f = file(abifile, "r") abi = f.read().strip() if not abi.isdigit(): f = file(abifile, "w") f.write(current_abi) elif abi == "2" and current_abi == "3": bb.note("Converting staging from layout version 2 to layout version 3") os.system(bb.data.expand("mv /OE/tentacle/build/tmp-angstrom_2010_x/staging /OE/tentacle/build/tmp-angstrom_2010_x/sysroots", e.data)) os.system(bb.data.expand("ln -s sysroots /OE/tentacle/build/tmp-angstrom_2010_x/staging", e.data)) os.system(bb.data.expand("cd /OE/tentacle/build/tmp-angstrom_2010_x/stamps; for i in */*do_populate_staging; do new=`echo $i | sed -e 's/do_populate_staging/do_populate_sysroot/'`; mv $i $new; done", e.data)) f = file(abifile, "w") f.write(current_abi) elif abi == "3" and current_abi == "4": bb.note("Converting staging layout from version 3 to layout version 4") if os.path.exists(bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/beagleboard-angstrom-linux-gnueabi", e.data)): os.system(bb.data.expand("mv /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/beagleboard-angstrom-linux-gnueabi /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/bin/crossscripts", e.data)) os.system(bb.data.expand("ln -s /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/beagleboard-eglibc/usr/bin/crossscripts /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x86_64-linux/usr/bin/beagleboard-angstrom-linux-gnueabi", e.data)) f = file(abifile, "w") f.write(current_abi) elif abi == "4": messages = messages + "Staging layout has changed. The cross directory has been deprecated and cross packages are now built under the native sysroot.\nThis requires a rebuild.\n" elif abi == "5" and current_abi == "6": bb.note("Converting staging layout from version 5 to layout version 6") os.system(bb.data.expand("mv /OE/tentacle/build/tmp-angstrom_2010_x/pstagelogs /OE/tentacle/build/tmp-angstrom_2010_x/sstate-control-eglibc", e.data)) f = file(abifile, "w") f.write(current_abi) elif (abi != current_abi): # Code to convert from one ABI to another could go here if possible. messages = messages + "Error, TMPDIR has changed its layout version number (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi) else: f = file(abifile, "w") f.write(current_abi) f.close() oeroot = data.getVar('COREBASE', e.data) if oeroot.find ('+') != -1: messages = messages + "Error, you have an invalid character (+) in your COREBASE directory path. Please move the installation to a directory which doesn't include a +." elif oeroot.find (' ') != -1: messages = messages + "Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space." # Check that we don't have duplicate entries in PACKAGE_ARCHS pkgarchs = data.getVar('PACKAGE_ARCHS', e.data, True) seen = {} dups = [] for pa in pkgarchs.split(): if seen.get(pa, 0) == 1: dups.append(pa) else: seen[pa] = 1 if len(dups): messages = messages + "Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: %s" % " ".join(dups) if messages != "": raise_sanity_error(messages) } python check_sanity_sstate_dir_change () { def check_sanity_sstate_dir_change(sstate_dir): # Sanity checks to be done when the value of SSTATE_DIR changes # Check that SSTATE_DIR isn't on a filesystem with limited filename length (eg. eCryptFS) testmsg = "" if sstate_dir != "": testmsg = check_create_long_filename(sstate_dir, "SSTATE_DIR") return testmsg } python do_checkuri () { src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split() if len(src_uri) == 0: return localdata = bb.data.createCopy(d) bb.data.update_data(localdata) try: fetcher = bb.fetch2.Fetch(src_uri, localdata) fetcher.checkstatus() except bb.fetch2.BBFetchException, e: raise bb.build.FuncFailed(e) } python read_pkgdatafile () { def read_pkgdatafile(fn): pkgdata = {} def decode(str): import codecs c = codecs.getdecoder("string_escape") return c(str)[0] if os.access(fn, os.R_OK): import re f = file(fn, 'r') lines = f.readlines() f.close() r = re.compile("([^:]+):\s*(.*)") for l in lines: m = r.match(l) if m: pkgdata[m.group(1)] = decode(m.group(2)) return pkgdata } python sstate_installpkg () { def sstate_installpkg(ss, d): import oe.path sstateinst = bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/work/beagleboard-angstrom-linux-gnueabi/console-image-1.0-r0/sstate-install-%s/" % ss['name'], d) sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_' + ss['name'] + ".tgz" if not os.path.exists(sstatepkg): pstaging_fetch(sstatepkg, d) if not os.path.isfile(sstatepkg): bb.note("Staging package %s does not exist" % sstatepkg) return False sstate_clean(ss, d) bb.data.setVar('SSTATE_INSTDIR', sstateinst, d) bb.data.setVar('SSTATE_PKG', sstatepkg, d) bb.build.exec_func('sstate_unpack_package', d) # Fixup hardcoded paths fixmefn = sstateinst + "fixmepath" if os.path.isfile(fixmefn): staging = bb.data.getVar('STAGING_DIR', d, True) staging_target = bb.data.getVar('STAGING_DIR_TARGET', d, True) staging_host = bb.data.getVar('STAGING_DIR_HOST', d, True) fixmefd = open(fixmefn, "r") fixmefiles = fixmefd.readlines() fixmefd.close() for file in fixmefiles: os.system("sed -i -e s:FIXMESTAGINGDIRTARGET:%s:g %s" % (staging_target, sstateinst + file)) os.system("sed -i -e s:FIXMESTAGINGDIRHOST:%s:g %s" % (staging_host, sstateinst + file)) os.system("sed -i -e s:FIXMESTAGINGDIR:%s:g %s" % (staging, sstateinst + file)) for state in ss['dirs']: if os.path.exists(state[1]): oe.path.remove(state[1]) oe.path.copytree(sstateinst + state[0], state[1]) sstate_install(ss, d) for plain in ss['plaindirs']: workdir = d.getVar('WORKDIR', True) src = sstateinst + "/" + plain.replace(workdir, '') dest = plain bb.mkdirhier(src) bb.mkdirhier(dest) oe.path.copytree(src, dest) return True } python raise_sanity_error () { def raise_sanity_error(msg): bb.fatal(""" Poky's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories: %s""" % msg) } python oe_run () { def oe_run(d, cmd, **kwargs): import oe.process kwargs["env"] = oe_popen_env(d) return oe.process.run(cmd, **kwargs) } python debian_package_name_hook () { import glob, copy, stat, errno, re pkgdest = bb.data.getVar('PKGDEST', d, 1) packages = bb.data.getVar('PACKAGES', d, 1) def socrunch(s): s = s.lower().replace('_', '-') m = re.match("^(.*)(.)\.so\.(.*)$", s) if m is None: return None if m.group(2) in '0123456789': bin = '%s%s-%s' % (m.group(1), m.group(2), m.group(3)) else: bin = m.group(1) + m.group(2) + m.group(3) dev = m.group(1) + m.group(2) return (bin, dev) def isexec(path): try: s = os.stat(path) except (os.error, AttributeError): return 0 return (s[stat.ST_MODE] & stat.S_IEXEC) def auto_libname(packages, orig_pkg): bin_re = re.compile(".*/s?bin$") lib_re = re.compile(".*/lib$") so_re = re.compile("lib.*\.so") sonames = [] has_bins = 0 has_libs = 0 pkg_dir = os.path.join(pkgdest, orig_pkg) for root, dirs, files in os.walk(pkg_dir): if bin_re.match(root) and files: has_bins = 1 if lib_re.match(root) and files: has_libs = 1 for f in files: if so_re.match(f): fp = os.path.join(root, f) cmd = (bb.data.getVar('BUILD_PREFIX', d, 1) or "") + "objdump -p " + fp + " 2>/dev/null" fd = os.popen(cmd) lines = fd.readlines() fd.close() for l in lines: m = re.match("\s+SONAME\s+([^\s]*)", l) if m and not m.group(1) in sonames: sonames.append(m.group(1)) bb.debug(1, 'LIBNAMES: pkg %s libs %d bins %d sonames %s' % (orig_pkg, has_libs, has_bins, sonames)) soname = None if len(sonames) == 1: soname = sonames[0] elif len(sonames) > 1: lead = bb.data.getVar('LEAD_SONAME', d, 1) if lead: r = re.compile(lead) filtered = [] for s in sonames: if r.match(s): filtered.append(s) if len(filtered) == 1: soname = filtered[0] elif len(filtered) > 1: bb.note("Multiple matches (%s) for LEAD_SONAME '%s'" % (", ".join(filtered), lead)) else: bb.note("Multiple libraries (%s) found, but LEAD_SONAME '%s' doesn't match any of them" % (", ".join(sonames), lead)) else: bb.note("Multiple libraries (%s) found and LEAD_SONAME not defined" % ", ".join(sonames)) if has_libs and not has_bins and soname: soname_result = socrunch(soname) if soname_result: (pkgname, devname) = soname_result for pkg in packages.split(): if (bb.data.getVar('PKG_' + pkg, d) or bb.data.getVar('DEBIAN_NOAUTONAME_' + pkg, d)): continue debian_pn = bb.data.getVar('DEBIANNAME_' + pkg, d) if debian_pn: newpkg = debian_pn elif pkg == orig_pkg: newpkg = pkgname else: newpkg = pkg.replace(orig_pkg, devname, 1) if newpkg != pkg: bb.data.setVar('PKG_' + pkg, newpkg, d) # reversed sort is needed when some package is substring of another # ie in ncurses we get without reverse sort: # DEBUG: LIBNAMES: pkgname libtic5 devname libtic pkg ncurses-libtic orig_pkg ncurses-libtic debian_pn None newpkg libtic5 # and later # DEBUG: LIBNAMES: pkgname libtic5 devname libtic pkg ncurses-libticw orig_pkg ncurses-libtic debian_pn None newpkg libticw # so we need to handle ncurses-libticw->libticw5 before ncurses-libtic->libtic5 for pkg in sorted((bb.data.getVar('AUTO_LIBNAME_PKGS', d, 1) or "").split(), reverse=True): auto_libname(packages, pkg) } python sstate_clean_manifest () { def sstate_clean_manifest(manifest, d): import oe.path mfile = open(manifest) entries = mfile.readlines() mfile.close() for entry in entries: entry = entry.strip() bb.debug(2, "Removing manifest: %s" % entry) # We can race against another package populating directories as we're removing them # so we ignore errors here. try: if entry.endswith("/"): if os.path.islink(entry[:-1]): os.remove(entry[:-1]) elif os.path.exists(entry) and len(os.listdir(entry)) == 0: os.rmdir(entry[:-1]) else: oe.path.remove(entry) except OSError: pass oe.path.remove(manifest) } python package_do_shlibs () { import re exclude_shlibs = bb.data.getVar('EXCLUDE_FROM_SHLIBS', d, 0) if exclude_shlibs: bb.note("not generating shlibs") return lib_re = re.compile("^.*\.so") libdir_re = re.compile(".*/lib$") packages = bb.data.getVar('PACKAGES', d, True) targetos = bb.data.getVar('TARGET_OS', d, True) workdir = bb.data.getVar('WORKDIR', d, True) ver = bb.data.getVar('PV', d, True) if not ver: bb.error("PV not defined") return pkgdest = bb.data.getVar('PKGDEST', d, True) shlibs_dir = bb.data.getVar('SHLIBSDIR', d, True) shlibswork_dir = bb.data.getVar('SHLIBSWORKDIR', d, True) # Take shared lock since we're only reading, not writing lf = bb.utils.lockfile(bb.data.expand("/OE/tentacle/build/tmp-angstrom_2010_x/sysroots/package-output.lock", d)) def linux_so(root, path, file): cmd = bb.data.getVar('OBJDUMP', d, True) + " -p " + os.path.join(root, file) + " 2>/dev/null" cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', d, True), cmd) fd = os.popen(cmd) lines = fd.readlines() fd.close() for l in lines: m = re.match("\s+NEEDED\s+([^\s]*)", l) if m: needed[pkg].append(m.group(1)) m = re.match("\s+SONAME\s+([^\s]*)", l) if m and not m.group(1) in sonames: # if library is private (only used by package) then do not build shlib for it if not private_libs or -1 == private_libs.find(m.group(1)): sonames.append(m.group(1)) if m and libdir_re.match(root): needs_ldconfig = True def darwin_so(root, path, file): fullpath = os.path.join(root, file) if not os.path.exists(fullpath): return def get_combinations(base): # # Given a base library name, find all combinations of this split by "." and "-" # combos = [] options = base.split(".") for i in range(1, len(options) + 1): combos.append(".".join(options[0:i])) options = base.split("-") for i in range(1, len(options) + 1): combos.append("-".join(options[0:i])) return combos if (file.endswith('.dylib') or file.endswith('.so')) and not pkg.endswith('-dev') and not pkg.endswith('-dbg'): # Drop suffix name = file.rsplit(".",1)[0] # Find all combinations combos = get_combinations(name) for combo in combos: if not combo in sonames: sonames.append(combo) if file.endswith('.dylib') or file.endswith('.so'): lafile = fullpath.replace(os.path.join(pkgdest, pkg), bb.data.getVar('PKGD', d, True)) # Drop suffix lafile = lafile.rsplit(".",1)[0] lapath = os.path.dirname(lafile) lafile = os.path.basename(lafile) # Find all combinations combos = get_combinations(lafile) for combo in combos: if os.path.exists(lapath + '/' + combo + '.la'): break lafile = lapath + '/' + combo + '.la' #bb.note("Foo2: %s" % lafile) #bb.note("Foo %s %s" % (file, fullpath)) if os.path.exists(lafile): fd = open(lafile, 'r') lines = fd.readlines() fd.close() for l in lines: m = re.match("\s*dependency_libs=\s*'(.*)'", l) if m: deps = m.group(1).split(" ") for dep in deps: #bb.note("Trying %s for %s" % (dep, pkg)) name = None if dep.endswith(".la"): name = os.path.basename(dep).replace(".la", "") elif dep.startswith("-l"): name = dep.replace("-l", "lib") if pkg not in needed: needed[pkg] = [] if name: needed[pkg].append(name) #bb.note("Adding %s for %s" % (name, pkg)) needed = {} shlib_provider = {} private_libs = bb.data.getVar('PRIVATE_LIBS', d, True) for pkg in packages.split(): needs_ldconfig = False bb.debug(2, "calculating shlib provides for %s" % pkg) needed[pkg] = [] sonames = list() top = os.path.join(pkgdest, pkg) for root, dirs, files in os.walk(top): for file in files: soname = None path = os.path.join(root, file) if os.path.islink(path): continue if targetos == "darwin" or targetos == "darwin8": darwin_so(root, dirs, file) elif os.access(path, os.X_OK) or lib_re.match(file): linux_so(root, dirs, file) shlibs_file = os.path.join(shlibswork_dir, pkg + ".list") shver_file = os.path.join(shlibswork_dir, pkg + ".ver") if len(sonames): fd = open(shlibs_file, 'w') for s in sonames: fd.write(s + '\n') shlib_provider[s] = (pkg, ver) fd.close() fd = open(shver_file, 'w') fd.write(ver + '\n') fd.close() if needs_ldconfig: bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg) postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, True) or bb.data.getVar('pkg_postinst', d, True) if not postinst: postinst = '#!/bin/sh\n' postinst += bb.data.getVar('ldconfig_postinst_fragment', d, True) bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d) list_re = re.compile('^(.*)\.list$') for dir in [shlibs_dir]: if not os.path.exists(dir): continue for file in os.listdir(dir): m = list_re.match(file) if m: dep_pkg = m.group(1) fd = open(os.path.join(dir, file)) lines = fd.readlines() fd.close() ver_file = os.path.join(dir, dep_pkg + '.ver') lib_ver = None if os.path.exists(ver_file): fd = open(ver_file) lib_ver = fd.readline().rstrip() fd.close() for l in lines: shlib_provider[l.rstrip()] = (dep_pkg, lib_ver) bb.utils.unlockfile(lf) assumed_libs = bb.data.getVar('ASSUME_SHLIBS', d, True) if assumed_libs: for e in assumed_libs.split(): l, dep_pkg = e.split(":") lib_ver = None dep_pkg = dep_pkg.rsplit("_", 1) if len(dep_pkg) == 2: lib_ver = dep_pkg[1] dep_pkg = dep_pkg[0] shlib_provider[l] = (dep_pkg, lib_ver) for pkg in packages.split(): bb.debug(2, "calculating shlib requirements for %s" % pkg) deps = list() for n in needed[pkg]: if n in shlib_provider.keys(): (dep_pkg, ver_needed) = shlib_provider[n] if dep_pkg == pkg: continue if ver_needed: dep = "%s (>= %s)" % (dep_pkg, ver_needed) else: dep = dep_pkg if not dep in deps: deps.append(dep) else: bb.note("Couldn't find shared library provider for %s" % n) deps_file = os.path.join(pkgdest, pkg + ".shlibdeps") if os.path.exists(deps_file): os.remove(deps_file) if len(deps): fd = open(deps_file, 'w') for dep in deps: fd.write(dep + '\n') fd.close() } python sstate_add () { def sstate_add(ss, source, dest, d): srcbase = os.path.basename(source) ss['dirs'].append([srcbase, source, dest]) return ss } python has_subpkgdata () { def has_subpkgdata(pkg, d): return os.access(get_subpkgedata_fn(pkg, d), os.R_OK) } python do_patch () { bb.build.exec_func('base_do_patch', d) } python base_get_metadata_git_revision () { def base_get_metadata_git_revision(path, d): f = os.popen("cd %s; git log -n 1 --pretty=oneline -- 2>&1" % path) data = f.read() if f.close() is None: rev = data.split(" ")[0] if len(rev) != 0: return rev return "" } python oe_popen_env () { def oe_popen_env(d): env = d.getVar("__oe_popen_env", False) if env is None: env = {} for v in d.keys(): if d.getVarFlag(v, "export"): env[v] = d.getVar(v, True) or "" d.setVar("__oe_popen_env", env) return env } python get_package_mapping () { def get_package_mapping (pkg, d): data = read_subpkgdata(pkg, d) key = "PKG_%s" % pkg if key in data: return data[key] return pkg } python get_devtable_list () { def get_devtable_list(d): devtable = bb.data.getVar('IMAGE_DEVICE_TABLE', d, 1) if devtable != None: return devtable str = "" devtables = bb.data.getVar('IMAGE_DEVICE_TABLES', d, 1) if devtables == None: devtables = 'files/device_table-minimal.txt' for devtable in devtables.split(): str += " %s" % bb.which(bb.data.getVar('BBPATH', d, 1), devtable) return str } python get_imagecmds () { def get_imagecmds(d): cmds = "\n" old_overrides = bb.data.getVar('OVERRIDES', d, 0) for type in bb.data.getVar('IMAGE_FSTYPES', d, True).split(): localdata = bb.data.createCopy(d) localdata.setVar('OVERRIDES', '%s:%s' % (type, old_overrides)) bb.data.update_data(localdata) localdata.setVar('type', type) cmd = localdata.getVar("IMAGE_CMD_" + type, True) localdata.setVar('cmd', cmd) cmds += localdata.getVar("runimagecmd", True) return cmds }