From 6cf6511c7510f7f1db1c836d90d38f433316d377 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Fri, 12 Jun 2009 17:58:19 +0200 Subject: image bbclass: add install_linguas method * this method will install all linguas in $IMAGE_LINGUAS for all packages installed into the rootfs * currently opkg only, guarded with a check --- classes/image.bbclass | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'classes/image.bbclass') diff --git a/classes/image.bbclass b/classes/image.bbclass index 89d27120c1..43eb3f3dc7 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -231,8 +231,32 @@ 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) ; do + for translation in ${IMAGE_LINGUAS}; 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/installed-packages /tmp/pending-locale-packages | grep locale | sort | uniq -u > /tmp/translation-list + + cat /tmp/translation-list | xargs ${OPKG} -nodeps install + rm -f ${IMAGE_ROOTFS}${libdir}/opkg/lists/* +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 -- cgit v1.2.3 From ec8cee753fdf70ee10c6c05c7408eb68fd53990d Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 16 Jun 2009 16:09:24 +0200 Subject: image.bbclass: unbreak postinst status in the install_lingua method --- classes/image.bbclass | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'classes/image.bbclass') diff --git a/classes/image.bbclass b/classes/image.bbclass index 43eb3f3dc7..f0cc3b3a88 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -252,6 +252,19 @@ if [ -e ${IMAGE_ROOTFS}/usr/bin/opkg-cl ] ; then cat /tmp/translation-list | 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 } -- cgit v1.2.3 From 4a39c2f6fa894959419ac4a097ac97530c335726 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Wed, 10 Jun 2009 17:20:23 -0700 Subject: image.bbclass: remove tmp/rootfs after image creation unless you set a variable Set IMAGE_KEEPROOTFS to something other than the empty string to keep tmp/rootfs around after image creation, otherwise it will be removed, as it's not a fully functional filesystem, and causes much confusion among users as a result. Signed-off-by: Chris Larson Acked-by: Tom Rini Acked-by: Marcin Juszkiewicz --- classes/image.bbclass | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'classes/image.bbclass') diff --git a/classes/image.bbclass b/classes/image.bbclass index f0cc3b3a88..0d798fa7db 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" -- cgit v1.2.3 From abbbb26e6ad384278a620f3b4c2e85c235c6ccc5 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Sat, 20 Jun 2009 19:31:33 +0200 Subject: image bbclass: fix logic buglet in lingua code --- classes/image.bbclass | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'classes/image.bbclass') diff --git a/classes/image.bbclass b/classes/image.bbclass index 0d798fa7db..864230bc91 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -243,8 +243,8 @@ if [ -e ${IMAGE_ROOTFS}/usr/bin/opkg-cl ] ; then ${OPKG} update ${OPKG} list_installed | awk '{print $1}' |sort | uniq > /tmp/installed-packages - for i in $(cat /tmp/installed-packages) ; do - for translation in ${IMAGE_LINGUAS}; do + 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 @@ -252,9 +252,8 @@ if [ -e ${IMAGE_ROOTFS}/usr/bin/opkg-cl ] ; then ${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/installed-packages /tmp/pending-locale-packages | grep locale | sort | uniq -u > /tmp/translation-list - cat /tmp/translation-list | xargs ${OPKG} -nodeps install + 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 -- cgit v1.2.3