summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--meta/classes/image.bbclass2
-rw-r--r--meta/classes/rootfs_deb.bbclass14
-rw-r--r--meta/classes/rootfs_ipk.bbclass4
-rw-r--r--meta/classes/rootfs_rpm.bbclass4
-rwxr-xr-xscripts/poky-env-internal68
6 files changed, 71 insertions, 24 deletions
diff --git a/.gitignore b/.gitignore
index 0b13ee1f5..435bd0b01 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 8407cdd56..35b7e1249 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 55d2b920b..411a6c4e7 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 ce6dd797e..07f418adb 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 e3697cb12..dcdd37c8e 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 81b142548..c5cab841e 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