inherit rootfs_ipk USE_DEVFS ?= "0" DEPENDS += "makedevs-native" def get_image_deps(d): import oe str = "" for type in (oe.data.getVar('IMAGE_FSTYPES', d, 1) or "").split(): deps = oe.data.getVar('IMAGE_DEPENDS_%s' % type, d) or "" if deps: str += " %s" % deps return str DEPENDS += "${@get_image_deps(d)}" IMAGE_DEVICE_TABLE = "${@oe.which(oe.data.getVar('OEPATH', d, 1), 'files/device_table-minimal.txt')}" IMAGE_POSTPROCESS_COMMAND ?= "" # Must call real_do_rootfs() from inside here, rather than as a separate # task, so that we have a single fakeroot context for the whole process. fakeroot do_rootfs () { set -x rm -rf ${IMAGE_ROOTFS} if [ "${USE_DEVFS}" != "1" ]; then mkdir -p ${IMAGE_ROOTFS}/dev makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE} fi real_do_rootfs insert_feed_uris export TOPDIR=${TOPDIR} for type in ${IMAGE_FSTYPES}; do if test -z "$FAKEROOTKEY"; then fakeroot -i ${TMPDIR}/fakedb.image oeimage -t $type -e ${FILE} else oeimage -n "${IMAGE_NAME}" -t "$type" -e "${FILE}" fi done ${IMAGE_POSTPROCESS_COMMAND} } insert_feed_uris () { test -z "$FEED_URIS" && return 0 # comment out existing feed-sources inserted by ipkg-collateral cat ${IMAGE_ROOTFS}/etc/ipkg.conf | sed "s/^src\ /#src\ /" > ${IMAGE_ROOTFS}/etc/ipkg.conf_ rm ${IMAGE_ROOTFS}/etc/ipkg.conf && mv ${IMAGE_ROOTFS}/etc/ipkg.conf_ ${IMAGE_ROOTFS}/etc/ipkg.conf # extract, then delete destinations cat ${IMAGE_ROOTFS}/etc/ipkg.conf | egrep "^dest\ " > ${IMAGE_ROOTFS}/etc/ipkg.conf.dest cat ${IMAGE_ROOTFS}/etc/ipkg.conf | egrep -v "^dest\ " > ${IMAGE_ROOTFS}/etc/ipkg.conf_ rm ${IMAGE_ROOTFS}/etc/ipkg.conf && mv ${IMAGE_ROOTFS}/etc/ipkg.conf_ ${IMAGE_ROOTFS}/etc/ipkg.conf 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'`" # insert new feed-sources echo "src $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg.conf done # remove temporary files and rebuild ipkg.conf echo "" >> ${IMAGE_ROOTFS}/etc/ipkg.conf cat ${IMAGE_ROOTFS}/etc/ipkg.conf.dest >> ${IMAGE_ROOTFS}/etc/ipkg.conf rm ${IMAGE_ROOTFS}/etc/ipkg.conf.dest cp ${IMAGE_ROOTFS}/etc/ipkg.conf ${WORKDIR} }