rootfs_ipk.bbclass: Add the hard bit of image generation from feeds, controlled by a BUILD_IMAGES_FROM_FEEDS variable

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5372 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2008-10-01 15:38:55 +00:00
parent d96b9e37ff
commit 18104e1216
1 changed files with 34 additions and 1 deletions

View File

@ -13,11 +13,14 @@ do_rootfs[recrdeptask] += "do_package_write_ipk"
IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS}"
OPKG_FEED_URIS = ""
fakeroot rootfs_ipk_do_rootfs () {
set -x
package_update_index_ipk
package_generate_ipkg_conf
${OPKG_FEED_URIS}
mkdir -p ${T}/
mkdir -p ${IMAGE_ROOTFS}/usr/lib/opkg/
@ -95,7 +98,7 @@ install_all_locales() {
PACKAGES_TO_INSTALL=""
INSTALLED_PACKAGES=`grep ^Package: ${IMAGE_ROOTFS}${libdir}/opkg/status |sed "s/^Package: //"|egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)"`
INSTALLED_PACKAGES=`grep ^Package: ${IMAGE_ROOTFS}${libdir}/opkg/status |sed "s/^Package: //"|egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)"`
for pkg in $INSTALLED_PACKAGES
do
@ -113,3 +116,33 @@ install_all_locales() {
fi
}
ipk_insert_feed_uris () {
echo "Building from feeds activated!"
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" >> ${IPKGCONF_TARGET}
done
}
python () {
import bb
if bb.data.getVar('BUILD_IMAGES_FROM_FEEDS', d, True):
flags = bb.data.getVarFlag('do_rootfs', 'recrdeptask', d)
flags = flags.replace("do_package_write_ipk", "")
flags = flags.replace("do_deploy", "")
flags = flags.replace("do_populate_staging", "")
bb.data.setVarFlag('do_rootfs', 'recrdeptask', flags, d)
bb.data.setVar('OPKG_FEED_URIS', 'ipk_insert_feed_uris', d)
}