diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | meta/classes/image.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/rootfs_deb.bbclass | 14 | ||||
-rw-r--r-- | meta/classes/rootfs_ipk.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/rootfs_rpm.bbclass | 4 | ||||
-rwxr-xr-x | scripts/poky-env-internal | 68 |
6 files changed, 71 insertions, 24 deletions
diff --git a/.gitignore b/.gitignore index 0b13ee1f57..435bd0b01f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ *.pyc build/conf/local.conf build/tmp/ +scripts/poky-git-proxy-socks sources/ meta-moblin-internal *.swp +*.orig +*.rej diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 8407cdd567..35b7e12498 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -9,6 +9,7 @@ INHIBIT_DEFAULT_DEPS = "1" # "export IMAGE_BASENAME" not supported at this time IMAGE_BASENAME[export] = "1" export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}" +PACKAGE_INSTALL_ATTEMPTONLY ?= "" # We need to recursively follow RDEPENDS and RRECOMMENDS for images do_rootfs[recrdeptask] += "do_deploy do_populate_staging" @@ -36,6 +37,7 @@ python () { bb.data.setVarFlag('do_rootfs', 'depends', deps, d) runtime_mapping_rename("PACKAGE_INSTALL", d) + runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d) } # diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index 55d2b920b6..411a6c4e71 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass @@ -81,12 +81,20 @@ fakeroot rootfs_deb_do_rootfs () { if [ $? -ne 0 ]; then exit 1 fi - find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do - mv $i `echo $i | sed -e's,\.dpkg-new$,,'` - done done fi + rm ${WORKDIR}/temp/log.do_$target-attemptonly.${PID} + if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then + for i in ${PACKAGE_INSTALL_ATTEMPTONLY}; do + apt-get install $i --force-yes --allow-unauthenticated >> ${WORKDIR}/temp/log.do_$target-attemptonly.${PID} || true + done + fi + + find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do + mv $i `echo $i | sed -e's,\.dpkg-new$,,'` + done + install -d ${IMAGE_ROOTFS}/${sysconfdir} echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index ce6dd797ec..07f418adbd 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass @@ -42,6 +42,10 @@ fakeroot rootfs_ipk_do_rootfs () { opkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL} fi + if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then + opkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL_ATTEMPTONLY} > "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" || true + fi + export D=${IMAGE_ROOTFS} export OFFLINE_ROOT=${IMAGE_ROOTFS} export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index e3697cb12c..dcdd37c8ee 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass @@ -110,6 +110,10 @@ EOF fakechroot yum ${YUMARGS} -y install ${PACKAGE_INSTALL} fi + if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then + fakechroot yum ${YUMARGS} -y install ${PACKAGE_INSTALL_ATTEMPTONLY} > ${WORKDIR}/temp/log.do_$target-attemptonly.${PID} || true + fi + # Add any recommended packages to the image # (added as an extra script since yum itself doesn't support this) yum-install-recommends.py ${IMAGE_ROOTFS} "fakechroot yum ${YUMARGS} -y install" diff --git a/scripts/poky-env-internal b/scripts/poky-env-internal index 81b1425489..c5cab841e3 100755 --- a/scripts/poky-env-internal +++ b/scripts/poky-env-internal @@ -30,48 +30,74 @@ if [ "x$BDIR" = "x" ]; then BDIR="$1" fi fi - -BBDIR="$OEROOT/bitbake$BBEXTRA/" -PKGDIR="$OEROOT/meta/" -PKGDIR_MOBLIN="$OEROOT/meta-moblin/" BUILDDIR="$OEROOT/$BDIR/" -MSG='' - unset BDIR +BITBAKEDIR="$OEROOT/bitbake$BBEXTRA/" +PKGDIR="$OEROOT/meta/" +BBPATH="$BITBAKEDIR $PKGDIR" + +# +# Add in any extra meta-* repositories to BBPATH +# +METAREPOS=`cd $OEROOT; find . -maxdepth 1 -name 'meta-*' -type d| sed -e 's#./##g'` +for repo in $METAREPOS +do + # meta-openmoko is disabled by default - see local.conf.sample to enable it + if [ $repo = "meta-openmoko" ]; then + continue + fi + # meta-extras is disabled by default - see local.conf.sample to enable it + if [ $repo = "meta-extras" ]; then + continue + fi + if [ -e $OEROOT/$repo/poky-extra-environment ]; then + . $OEROOT/$repo/poky-extra-environment + fi + BBPATH=" $BBPATH $OEROOT/$repo" +done + +BBPATH="$BBPATH $HOME/.oe $HOME/.poky $BUILDDIR" + +# +# Remove any symlinks from BBPATH +# +NEWPATH="" +for p in $BBPATH +do + p2=`readlink -f "$p"` + NEWPATH="$p2:$NEWPATH" +done +BBPATH="$NEWPATH" + + +MSG='' BUILD_ARCH=`uname -m` BUILD_OS=`uname | tr '[A-Z]' '[a-z]'` BUILD_SYS="$BUILD_ARCH-$BUILD_OS" -PATH="$BBDIR/bin/:$OEROOT/scripts:$PATH" +PATH="$BITBAKEDIR/bin/:$OEROOT/scripts:$PATH" cd "$BUILDDIR" # Remove any symlinks from paths -BBDIR=`readlink -f "$BBDIR"` +BITBAKEDIR=`readlink -f "$BITBAKEDIR"` PKGDIR=`readlink -f "$PKGDIR"` BUILDDIR=`readlink -f "$BUILDDIR"` -if ! (test -d "$BBDIR" && test -d "$PKGDIR" && test -d "$BUILDDIR"); then +if ! (test -d "$BITBAKEDIR" && test -d "$PKGDIR" && test -d "$BUILDDIR"); then echo >&2 "Error: Not all directories exist! Did you run this script in poky directory?" return fi -if ! (test -r "$BUILDDIR/conf/local.conf"); then - cp -f $BUILDDIR/conf/local.conf.sample $BUILDDIR/conf/local.conf +if [ "x" = "x$POKYLOCALCONF" ]; then + POKYLOCALCONF="$BUILDDIR/conf/local.conf.sample" fi -BBPATH=$BBDIR -if test x"$BBDIR" != x"$PKGDIR_MOBLIN"; then - BBPATH=$PKGDIR_MOBLIN:$BBPATH -fi -if test x"$BBDIR" != x"$PKGDIR"; then - BBPATH=$PKGDIR:$BBPATH -fi -BBPATH="`readlink -f $HOME/.oe`:`readlink -f $HOME/.poky`:$BBPATH" -if test x"$PKGDIR" != x"$BUILDDIR"; then - BBPATH=$BUILDDIR:$BBPATH +if ! (test -r "$BUILDDIR/conf/local.conf"); then + cp -f $POKYLOCALCONF $BUILDDIR/conf/local.conf fi + export BBPATH OEROOT BUILD_SYS BUILDDIR # Kill off the TERMINFO variable, as glibc will grab its contents in its 'make |