diff options
| author | Sergey Lapin <slapin@ossfans.org> | 2009-06-26 22:32:52 +0400 |
|---|---|---|
| committer | Sergey Lapin <slapin@ossfans.org> | 2009-06-26 22:32:52 +0400 |
| commit | c91a54aef8a39e7cbb2571574f56f2cf12104ff1 (patch) | |
| tree | e68102d093c111affd9208b78df9c18aa837c3b8 /classes/image.bbclass | |
| parent | 323edc5ef4c3d8572ee0b4fd185ca6e3166d6b45 (diff) | |
| parent | 84efca2e2ad21d3d7cea68c0327f91aaf773eb67 (diff) | |
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Conflicts:
recipes/musicpd/mpd_0.14.2.bb
Diffstat (limited to 'classes/image.bbclass')
| -rw-r--r-- | classes/image.bbclass | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/classes/image.bbclass b/classes/image.bbclass index 89d27120c1..864230bc91 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -17,6 +17,9 @@ IMAGE_INITSCRIPTS ?= "initscripts" # IMAGE_LOGIN_MANAGER ?= "tinylogin" +IMAGE_KEEPROOTFS ?= "" +IMAGE_KEEPROOTFS[doc] = "Set to non-empty to keep ${IMAGE_ROOTFS} around after image creation." + IMAGE_BOOT ?= "${IMAGE_INITSCRIPTS} \ ${IMAGE_DEV_MANAGER} \ ${IMAGE_INIT_MANAGER} \ @@ -133,6 +136,7 @@ fakeroot do_rootfs () { ${IMAGE_POSTPROCESS_COMMAND} ${MACHINE_POSTPROCESS_COMMAND} + ${@['rm -rf ${IMAGE_ROOTFS}', ''][bool(d.getVar("IMAGE_KEEPROOTFS", 1))]} } do_deploy_to[nostamp] = "1" @@ -231,8 +235,44 @@ rootfs_update_timestamp () { date "+%m%d%H%M%Y" >${IMAGE_ROOTFS}/etc/timestamp } +# Install locales into image for every entry in IMAGE_LINGUAS +install_linguas() { +if [ -e ${IMAGE_ROOTFS}/usr/bin/opkg-cl ] ; then + OPKG="opkg-cl ${IPKG_ARGS}" + + ${OPKG} update + ${OPKG} list_installed | awk '{print $1}' |sort | uniq > /tmp/installed-packages + + for i in $(cat /tmp/installed-packages | grep -v locale) ; do + for translation in ${IMAGE_LINGUAS} $(echo ${IMAGE_LINGUAS} | awk -F_ '{print $1}'); do + echo ${i}-locale-${translation} + done + done | sort | uniq > /tmp/wanted-locale-packages + + ${OPKG} list | awk '{print $1}' |grep locale |sort | uniq > /tmp/available-locale-packages + + cat /tmp/wanted-locale-packages /tmp/available-locale-packages | sort | uniq -d > /tmp/pending-locale-packages + + cat /tmp/pending-locale-packages | xargs ${OPKG} -nodeps install + rm -f ${IMAGE_ROOTFS}${libdir}/opkg/lists/* + + for i in ${IMAGE_ROOTFS}${libdir}/opkg/info/*.preinst; do + if [ -f $i ] && ! sh $i; then + opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .preinst` + fi + done + + for i in ${IMAGE_ROOTFS}${libdir}/opkg/info/*.postinst; do + if [ -f $i ] && ! sh $i configure; then + opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .postinst` + fi + done + +fi +} + # export the zap_root_password, create_etc_timestamp and remote_init_link -EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin rootfs_update_timestamp +EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin rootfs_update_timestamp install_linguas addtask rootfs after do_compile before do_install addtask deploy_to after do_rootfs |
