This patch is incorrect, please ignore it

i would send v2 soon.


at 2013/11/4 18:38, Li Zhijian wrote:
From: Li Zhijian <lizhij...@cn.fujitsu.com>

If systemd_postinst is installed as a delayed package scriptlet (installed to 
/etc/rpm-postints/${PN})
which would be executed at the first time of OS startup. And then this script 
would block when it is
trying to call systemctl to restart service.

It seems that it is not a good timing to restart service at run-postinsts.
I test serval services which has supported systemd(uuidd/avahi-daemon), all of 
them
will block the startup.

Steps to reproduce:
1) Installed systemd_postinst as a delayed package scriptlet
    i.e. Append Following lines to meta/recipes-core/busybox/busybox.inc
pkg_postinst_${PN}-syslog () {
        if [ "x$D" != "x" ] ; then
                exit 1
        fi
}
2) build a rootfs
# bitbake core-image-minimal
3) startup this rootfs

OS would block at /etc/rpm-postinsts/busybox-syslog, like follows
[ ***] A start job is running ro Run pending postinsts

This patch can fix the block problem, and make the service is consistent with 
the original status

Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com>
---
  meta/classes/systemd.bbclass |    3 ++-
  1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
index 8084251..9fef667 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes/systemd.bbclass
@@ -30,7 +30,8 @@ fi
  if type systemctl >/dev/null 2>/dev/null; then
        systemctl $OPTS ${SYSTEMD_AUTO_ENABLE} ${SYSTEMD_SERVICE}
  -     if [ -z "$D" -a "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
+       if [ -z "$D" ] && [ systemctl status ${SYSTEMD_SERVICE} &>/dev/null ]; 
then
Should be:

if [ -z "$D" ] && systemctl status ${SYSTEMD_SERVICE} &>/dev/null; then

--
Best regards.
Li Zhijian

+               # if service is running, restart it
                systemctl restart ${SYSTEMD_SERVICE}
        fi
  fi


--
Best regards.
Li Zhijian (8555)


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to