On Tue, Dec 4, 2012 at 11:59 AM, Laurentiu Palcu <span dir="ltr"><<a href="mailto:laurentiu.palcu@intel.com" target="_blank">laurentiu.palcu@intel.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This patch will allow the repeating postinst scriptlets to be run<br>
only once, on host, at do_rootfs time. This will lower the time for<br>
rootfs generation and, also, instead of running some time consuming<br>
scriptlets at target's first boot, we will do on the host.<br>
<br>
Signed-off-by: Laurentiu Palcu <<a href="mailto:laurentiu.palcu@intel.com">laurentiu.palcu@intel.com</a>><br>
---<br>
meta/classes/image.bbclass | 20 +++++++++++++++++---<br>
1 file changed, 17 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass<br>
index 7b24e4e..719d871 100644<br>
--- a/meta/classes/image.bbclass<br>
+++ b/meta/classes/image.bbclass<br>
@@ -156,7 +156,7 @@ inherit ${IMAGE_CLASSES}<br>
<br>
IMAGE_POSTPROCESS_COMMAND ?= ""<br>
MACHINE_POSTPROCESS_COMMAND ?= ""<br>
-ROOTFS_POSTPROCESS_COMMAND ?= ""<br>
+ROOTFS_POSTPROCESS_COMMAND_prepend = "run_intercept_scriptlets; "<br>
<br>
# some default locales<br>
IMAGE_LINGUAS ?= "de-de fr-fr en-gb"<br>
@@ -166,15 +166,29 @@ LINGUAS_INSTALL ?= "${@" ".join(map(lambda s: "locale-base-%s" % s, d.getVar('IM<br>
PSEUDO_PASSWD = "${IMAGE_ROOTFS}"<br>
<br>
do_rootfs[nostamp] = "1"<br>
-do_rootfs[dirs] = "${TOPDIR}"<br>
+do_rootfs[dirs] = "${TOPDIR} ${WORKDIR}/intercept_scripts"<br>
do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"<br>
-do_rootfs[cleandirs] += "${S}"<br>
+do_rootfs[cleandirs] += "${S} ${WORKDIR}/intercept_scripts"<br>
do_build[nostamp] = "1"<br>
<br>
# Must call real_do_rootfs() from inside here, rather than as a separate<br>
# task, so that we have a single fakeroot context for the whole process.<br>
do_rootfs[umask] = "022"<br>
<br>
+<br>
+run_intercept_scriptlets () {<br>
+ if [ -d ${WORKDIR}/intercept_scripts ]; then<br>
+ cd ${WORKDIR}/intercept_scripts<br>
+ echo "Running intercept scripts:"<br>
+ for script in *; do<br>
+ if [ "$script" = "*" ]; then break; fi<br></blockquote><div><br></div><div>This is personal choice but I'd use:</div><div><br></div><div>if [ ... ]; then</div><div> break</div>
<div>fi</div><div><br></div><div>or </div><div><br></div><div>[ ... ] && break</div><div><br></div><div>The if in a single line seems confusing to read for me.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+ echo "> Executing $script"<br>
+ chmod +x $script<br>
+ ./$script<br>
+ done<br>
+ fi<br>
+}<br>
+<br>
fakeroot do_rootfs () {<br>
#set -x<br>
# When use the rpm incremental image generation, don't remove the rootfs<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.9.5<br>
<br>
<br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core" target="_blank">http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Otavio Salvador O.S. Systems<br>E-mail: <a href="mailto:otavio@ossystems.com.br" target="_blank">otavio@ossystems.com.br</a> <a href="http://www.ossystems.com.br" target="_blank">http://www.ossystems.com.br</a><br>
Mobile: +55 53 9981-7854 <a href="http://projetos.ossystems.com.br" target="_blank">http://projetos.ossystems.com.br</a><br><br>
</div>