From: Gavin Schenk <g.schenk@eckelmann.de>
To: ptxdist@pengutronix.de
Cc: Gavin Schenk <g.schenk@eckelmann.de>
Subject: [ptxdist] [PATCH 2/3] rc-once: Use readlink to check where /system-update points to.
Date: Tue, 6 Jun 2017 17:28:48 +0200 [thread overview]
Message-ID: <20170606152849.69114-3-g.schenk@eckelmann.de> (raw)
In-Reply-To: <20170606152849.69114-1-g.schenk@eckelmann.de>
rc-once ist based on systemd offline update mechanism.
https://www.freedesktop.org/software/systemd/man/systemd.offline-updates
To make it possible to have multiple update services beside rc-once the
script should check where the link /system-update points to.
rc-once will only run if the link points to etc/rc-once.d or
/etc/rc-once.d.
Signed-off-by: Gavin Schenk <g.schenk@eckelmann.de>
---
projectroot/usr/lib/init/rc-once.sh | 5 +++++
rules/rc-once.in | 3 +++
2 files changed, 8 insertions(+)
diff --git a/projectroot/usr/lib/init/rc-once.sh b/projectroot/usr/lib/init/rc-once.sh
index 8689a32bc..d225ad5c2 100644
--- a/projectroot/usr/lib/init/rc-once.sh
+++ b/projectroot/usr/lib/init/rc-once.sh
@@ -6,6 +6,11 @@ STAMP="$DONE_DIR/rc-once"
run_rc_once() {
failed=0
+ UPDATE_TARGET=$(readlink -f /system-update)
+ if [ "$UPDATE_TARGET" != '/etc/rc.once.d' -a "$UPDATE_TARGET" != 'etc/rc.once.d' ]; then
+ echo "skipping rc.once.d services..."
+ return $failed
+ fi
echo "running rc.once.d services..."
cd "$RC_ONCE_DIR" || exit 1
mkdir -p "$DONE_DIR"
diff --git a/rules/rc-once.in b/rules/rc-once.in
index 849c71f06..6db4a02fc 100644
--- a/rules/rc-once.in
+++ b/rules/rc-once.in
@@ -3,6 +3,9 @@
config RC_ONCE
tristate
prompt "rc.once"
+ select BUSYBOX_FEATURE_READLINK_FOLLOW if BUSYBOX_READLINK
+ select COREUTILS if !BUSYBOX_READLINK
+ select COREUTILS_READLINK if !BUSYBOX_READLINK
help
Some services need a one time initialization when the system starts
up the first time after creating and installing the root filesystem.
--
2.13.0
Eckelmann AG
Vorstand: Dipl.-Ing. Peter Frankenbach (Sprecher) Dipl.-Wi.-Ing. Philipp Eckelmann
Dr.-Ing. Marco Münchhof Dr.-Ing. Frank Uhlemann
Vorsitzender des Aufsichtsrats: Hubertus G. Krossa
Stv. Vorsitzender des Aufsichtsrats: Dr.-Ing. Gerd Eckelmann
Sitz der Gesellschaft: Berliner Str. 161, 65205 Wiesbaden, Amtsgericht Wiesbaden HRB 12636
http://www.eckelmann.de
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2017-06-06 15:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-06 15:28 [ptxdist] [PATCH 0/3] Using second offline update service beside rc-once in PTXDIST Gavin Schenk
2017-06-06 15:28 ` [ptxdist] [PATCH 1/3] rc-once: Use /etc/rc.once.d as link target in all rc-once scripts Gavin Schenk
2017-06-06 15:58 ` Michael Olbrich
2017-06-06 15:28 ` Gavin Schenk [this message]
2017-06-06 16:00 ` [ptxdist] [PATCH 2/3] rc-once: Use readlink to check where /system-update points to Michael Olbrich
2017-06-06 16:25 ` Uwe Kleine-König
2017-06-06 16:49 ` Michael Olbrich
2017-06-06 21:54 ` Uwe Kleine-König
2017-06-06 15:28 ` [ptxdist] [PATCH 3/3] rc-once: Moved deletion of /system-update into function run_rc_once() Gavin Schenk
2017-06-06 16:02 ` Michael Olbrich
2017-06-07 6:29 ` Schenk, Gavin
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=20170606152849.69114-3-g.schenk@eckelmann.de \
--to=g.schenk@eckelmann.de \
--cc=ptxdist@pengutronix.de \
/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