diff options
author | Phil Blundell <philb@gnu.org> | 2004-07-31 14:02:15 +0000 |
---|---|---|
committer | Phil Blundell <philb@gnu.org> | 2004-07-31 14:02:15 +0000 |
commit | bef3cea798c5b94cf1cbda5a2838d63827772289 (patch) | |
tree | 1282b7c19ff8c41de3806505a5d9499feaaa9d50 /classes/image_ipk.oeclass | |
parent | 5df2f8f2e4d2a4a29cb008e90eeea4c4620ef01f (diff) |
implement image_ipk.oeclass on top of rootfs_ipk.oeclass
BKrev: 410ba667SYYICUIFHnePaXNv2VbH_A
Diffstat (limited to 'classes/image_ipk.oeclass')
-rw-r--r-- | classes/image_ipk.oeclass | 80 |
1 files changed, 11 insertions, 69 deletions
diff --git a/classes/image_ipk.oeclass b/classes/image_ipk.oeclass index 7f47b3959e..46889b9490 100644 --- a/classes/image_ipk.oeclass +++ b/classes/image_ipk.oeclass @@ -1,70 +1,25 @@ -# TODO: -# - now that there is a rootfs_ipk one should re-use it here -# - also, the makedev-stuff should be configurable, there are devices -# out that use devfs and don't need no /dev-directory population -# We probably could do this with some gentoo-like "use devfs || ..." -# feature +inherit rootfs_ipk -DEPENDS_prepend="ipkg-native ipkg-utils-native makedevs fakeroot-native mtd-native makedevs-native " -DEPENDS_append=" ${EXTRA_IMAGEDEPENDS}" +USE_DEVFS ?= "0" -PACKAGES = "" +DEPENDS += "mtd-native makedevs-native" IMAGE_DEVICE_TABLE = "${@oe.which(oe.data.getVar('OEPATH', d, 1), 'files/device_table-minimal.txt')}" -do_images[nostamp] = 1 -do_images[dirs] = ${TOPDIR} - -IPKG_ARGS = "-f ${DEPLOY_DIR_IMAGE}/ipkg.conf -o ${IMAGE_ROOTFS}" - -IMAGE_POSTPROCESS_COMMAND ?= "" - -fakeroot do_images () { +# 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} - mkdir -p ${IMAGE_ROOTFS}/dev - makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE} - - touch ${DEPLOY_DIR_IPK}/Packages - ipkg-make-index -r ${DEPLOY_DIR_IPK}/Packages -p ${DEPLOY_DIR_IPK}/Packages -l ${DEPLOY_DIR_IPK}/Packages.filelist -m ${DEPLOY_DIR_IPK} - mkdir -p ${DEPLOY_DIR_IMAGE} - echo "src oe file:${DEPLOY_DIR_IPK}" > ${DEPLOY_DIR_IMAGE}/ipkg.conf - cat <<EOF >>${DEPLOY_DIR_IMAGE}/ipkg.conf -arch all 1 -arch any 1 -arch noarch 1 -arch ${TARGET_ARCH} 10 -EOF - if [ ! -z ${MACHINE} ]; then - echo "arch ${MACHINE} 10" >>${DEPLOY_DIR_IMAGE}/ipkg.conf + if [ "${USE_DEVFS}" != "1" ]; then + mkdir -p ${IMAGE_ROOTFS}/dev + makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE} fi - for i in ${IPKG_ARCHS}; do - if [ $i != "all" ] && [ $i != "${TARGET_ARCH}" ]; then - echo "arch $i 5" >> ${DEPLOY_DIR_IMAGE}/ipkg.conf - fi - done - ipkg-cl ${IPKG_ARGS} update - ipkg-cl ${IPKG_ARGS} install ${IPKG_INSTALL} - - export D=${IMAGE_ROOTFS} - export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} - for i in ${IMAGE_ROOTFS}/usr/lib/ipkg/info/*.preinst; do - if [ -f $i ] && ! sh $i; then - ipkg-cl ${IPKG_ARGS} flag unpacked `basename $i .preinst` - fi - done - for i in ${IMAGE_ROOTFS}/usr/lib/ipkg/info/*.postinst; do - if [ -f $i ] && ! sh $i; then - ipkg-cl ${IPKG_ARGS} flag unpacked `basename $i .postinst` - fi - done + real_do_rootfs - install -d ${IMAGE_ROOTFS}/${sysconfdir} - echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version - - ${IMAGE_POSTPROCESS_COMMAND} + export TOPDIR=${TOPDIR} if test -z "$FAKEROOTKEY"; then fakeroot -i ${TMPDIR}/fakedb.image oeimage -t ${IMAGE_FSTYPE} -e ${FILE} @@ -72,16 +27,3 @@ EOF oeimage -t ${IMAGE_FSTYPE} -e ${FILE} fi } - -# set '*' as the rootpassword so the images -# can decide if they want it or not - -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 -} - -# export the zap_root_password -EXPORT_FUNCTIONS zap_root_password - -addtask images before do_build after do_install |