diff options
| author | Robert Schuster <thebohemian@gmx.net> | 2008-05-22 10:50:18 +0000 |
|---|---|---|
| committer | Robert Schuster <thebohemian@gmx.net> | 2008-05-22 10:50:18 +0000 |
| commit | 5a2af37231403de591565a0f0618d2969a7e2cc4 (patch) | |
| tree | 1b916d3a35bd96a1315c11274b916ca16d68e44a /classes/image.bbclass | |
| parent | 6fbbb4e91c6d7b269b6766a882025f58584d8848 (diff) | |
| parent | 35f18dca2645f3242e015025c79ac58da0d13748 (diff) | |
merge of 'be23a3d9c964660487451387d6318c3915ad5b51'
and 'd84d3829b2f6a4c1d1cb91496cd7ffa088ed323f'
Diffstat (limited to 'classes/image.bbclass')
| -rw-r--r-- | classes/image.bbclass | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/classes/image.bbclass b/classes/image.bbclass index 35080c19eb..6350a733e8 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -45,17 +45,33 @@ python () { # is searched for in the BBPATH (same as the old version.) # def get_devtable_list(d): - import bb - 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 + import bb + 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 + +def get_imagecmds(d): + import bb + 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) + bb.data.setVar('OVERRIDES', '%s:%s' % (type, old_overrides), localdata) + bb.data.update_data(localdata) + cmd = "\t#Code for image type " + type + "\n" + cmd += "\t${IMAGE_CMD_" + type + "}\n" + cmd += "\tcd ${DEPLOY_DIR_IMAGE}/\n" + cmd += "\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}." + type + "\n" + cmd += "\tln -s ${IMAGE_NAME}.rootfs." + type + " ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}." + type + "\n\n" + cmds += bb.data.expand(cmd, localdata) + return cmds IMAGE_POSTPROCESS_COMMAND ?= "" MACHINE_POSTPROCESS_COMMAND ?= "" @@ -86,25 +102,11 @@ fakeroot do_rootfs () { rootfs_${IMAGE_PKGTYPE}_do_rootfs - insert_feed_uris + insert_feed_uris ${IMAGE_PREPROCESS_COMMAND} - - export TOPDIR=${TOPDIR} - export DISTRO=${USERDISTRO} - export MACHINE=${MACHINE} - - for type in ${IMAGE_FSTYPES}; do - if test -z "$FAKEROOTKEY"; then - fakeroot -i ${TMPDIR}/fakedb.image ${PYTHON} `which bbimage` -t $type -e ${FILE} - else - ${PYTHON} `which bbimage` -n "${IMAGE_NAME}" -t "$type" -e "${FILE}" - fi - cd ${DEPLOY_DIR_IMAGE}/ - rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.$type - ln -s ${IMAGE_NAME}.rootfs.$type ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.$type - done + ${@get_imagecmds(d)} ${IMAGE_POSTPROCESS_COMMAND} @@ -122,19 +124,19 @@ do_deploy_to () { insert_feed_uris () { echo "Building feeds for [${DISTRO}].." - + 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'`" + 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" >> ${IMAGE_ROOTFS}/etc/opkg/${feed_name}-feed.conf - done + done # Allow to use package deploy directory contents as quick devel-testing # feed. This creates individual feed configs for each arch subdir of those @@ -162,7 +164,7 @@ log_check() { else echo "Cannot find logfile [$lf_path]" fi - echo "Logfile is clean" + echo "Logfile is clean" done set -x @@ -173,7 +175,7 @@ log_check() { zap_root_password () { sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new - mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd + mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd } create_etc_timestamp() { |
