[OE-core] [PATCH v2] systemd.bbclass: only restart the service when it is active at systemd_postinst
Burton, Ross
ross.burton at intel.com
Wed Jan 22 17:56:52 UTC 2014
Whoops, this fell out of my inbox. Whilst the is-active check now
means that the service is restarted on upgrades, if the package is
being installed it's now not started if AUTO_ENABLE is set to true.
I think the logic should be "$D unset and (auto enable or is-active)"
Ross
On 19 November 2013 02:26, Li Zhijian <lizhijian at cn.fujitsu.com> wrote:
> ping...
>
> --
> Best regards.
> Li Zhijian
>
> |-----Original Message-----
> |From: openembedded-core-bounces at lists.openembedded.org
> |[mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of
> |Li Zhijian
> |Sent: Tuesday, November 05, 2013 6:14 PM
> |To: Patches and discussions about the oe-core layer
> |Subject: [OE-core] [PATCH v2] systemd.bbclass: only restart the service
> |when it is active at systemd_postinst
> |
> |From: Li Zhijian <lizhijian at 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 <lizhijian at 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 3700b2e..1feac06 100644
> |--- a/meta/classes/systemd.bbclass
> |+++ b/meta/classes/systemd.bbclass
> |@@ -32,7 +32,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 is-active ${SYSTEMD_SERVICE}
> |&>/dev/null; then
> |+ # if service is active, restart it
> | systemctl restart ${SYSTEMD_SERVICE}
> | fi
> | fi
> |--
> |1.7.1
> |
> |
> |
> |
> |_______________________________________________
> |Openembedded-core mailing list
> |Openembedded-core at lists.openembedded.org
> |http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list