From: ChenQi <Qi.Chen@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] systemd: fix systemd-udev-hwdb-update service
Date: Fri, 24 Jul 2015 14:18:06 +0800 [thread overview]
Message-ID: <55B1D89E.4020000@windriver.com> (raw)
In-Reply-To: <1435641416-2577-1-git-send-email-rongqing.li@windriver.com>
ping
Anybody has objection for this one?
Best Regards,
Chen Qi
On 06/30/2015 01:16 PM, rongqing.li@windriver.com wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> The new version of systemd has implemented the following feature.
> Opointer.de/blog/projects/stateless.html
>
> As a result, the systemd-udev-hwdb-update.service would always run
> at first boot. This will cause failure if the target device doesn't
> have enough storage space. Besides, as we run `udevadm hwdb --update' as
> a postinst of udev-hwdb at rootfs time, there's no need to run this
> again at system start-up.
>
> The purpose of this patch is as follows.
> If `udev hwdb --update' fails at rootfs time, systemd-udev-hwdb-update.service
> is executed at first boot; otherwise, the service is not executed.
>
> This patch achieves the above goal by setting CondistonNeedsUpdate to
> "/etc/udev" in the service file, and creating /etc/udev/.updated file if the
> postinst succeeds.
>
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
> meta/recipes-core/systemd/systemd_219.bb | 18 +++++++++++++++---
> 1 file changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb
> index 6ed4fe0..dc5c7b3 100644
> --- a/meta/recipes-core/systemd/systemd_219.bb
> +++ b/meta/recipes-core/systemd/systemd_219.bb
> @@ -180,6 +180,10 @@ do_install() {
> if [ -s ${D}${libdir}/tmpfiles.d/systemd.conf ]; then
> ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${libdir}/tmpfiles.d/systemd.conf', d)}
> fi
> +
> + # Make systemd-udev-hwdb-update to check /etc/udev
> + cp ${D}${systemd_unitdir}/system/systemd-udev-hwdb-update.service ${D}${sysconfdir}/systemd/system
> + sed -i -e 's#ConditionNeedsUpdate=/etc#ConditionNeedsUpdate=/etc/udev#g' ${D}${sysconfdir}/systemd/system/systemd-udev-hwdb-update.service
> }
>
> do_install_ptest () {
> @@ -381,10 +385,18 @@ ALTERNATIVE_PRIORITY[runlevel] ?= "300"
>
> pkg_postinst_udev-hwdb () {
> if test -n "$D"; then
> - ${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \
> - --root $D
> + if ${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \
> + --root $D; then
> + touch $D/etc/udev/.updated
> + else
> + exit 1
> + fi
> else
> - udevadm hwdb --update
> + if udevadm hwdb --update; then
> + touch $D/etc/udev/.updated
> + else
> + exit 1
> + fi
> fi
> }
>
next prev parent reply other threads:[~2015-07-24 6:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-30 5:16 [PATCH] systemd: fix systemd-udev-hwdb-update service rongqing.li
2015-07-13 2:12 ` Rongqing Li
2015-07-13 5:00 ` Khem Raj
2015-07-13 6:54 ` ChenQi
2015-07-24 6:18 ` ChenQi [this message]
2015-08-10 2:07 ` Rongqing Li
2015-08-19 1:48 ` ChenQi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55B1D89E.4020000@windriver.com \
--to=qi.chen@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox