From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Date: Fri, 27 Nov 2020 09:38:41 +0100 From: Michael Olbrich Message-ID: <20201127083841.GC1592430@pengutronix.de> References: <20201125165649.3514734-1-artur@4wiebe.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201125165649.3514734-1-artur@4wiebe.de> Subject: Re: [ptxdist] [PATCH] machine-id: make using rc-once optional List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: Artur Wiebe On Wed, Nov 25, 2020 at 05:56:49PM +0100, Artur Wiebe wrote: > If not set only an empty /etc/machine-id will be installed. > > Signed-off-by: Artur Wiebe > --- > rules/machine-id.in | 22 ++++++++++++++++++---- > rules/machine-id.make | 4 ++++ > rules/machine-id.postinst | 5 +++-- > 3 files changed, 25 insertions(+), 6 deletions(-) > > diff --git a/rules/machine-id.in b/rules/machine-id.in > index f18fec554..2a3901f41 100644 > --- a/rules/machine-id.in > +++ b/rules/machine-id.in > @@ -1,11 +1,25 @@ > ## SECTION=initmethod > > -config MACHINE_ID > +menuconfig MACHINE_ID > tristate > prompt "create /etc/machine-id" > - select RC_ONCE if RUNTIME > - select UTIL_LINUX_NG if !INITMETHOD_SYSTEMD > - select UTIL_LINUX_NG_UUIDGEN if !INITMETHOD_SYSTEMD > + select RC_ONCE if MACHINE_ID_RC_ONCE && RUNTIME > + select UTIL_LINUX_NG if MACHINE_ID_RC_ONCE && !INITMETHOD_SYSTEMD > + select UTIL_LINUX_NG_UUIDGEN if MACHINE_ID_RC_ONCE && !INITMETHOD_SYSTEMD > help > Enable this to make sure there is always a unique /etc/machine-id > available in the system. > + > +if MACHINE_ID > + > +config MACHINE_ID_RC_ONCE > + bool "generate (bbinit) or save (systemd) machine-id using rc-once at first boot" > + default y Hmmm, maybe should have no prompt and 'depends on RC_ONCE' (instead of selecting it above). I don't think there is a use-case for not persisting the machine-id if rc-once is available. This is different from the ssh server key case: There are other ways to create the keys. > + help > + If not set only an empty /etc/machine-id will be installed. > + Systemd: > + If /etc/machine-id exists and is empty, systemd will bind-mount > + a file containing the new machine-id over it and later try > + to commit it to disk (if /etc/ is writable). > + > +endif > diff --git a/rules/machine-id.make b/rules/machine-id.make > index 3883d64cb..e1cbdcc42 100644 > --- a/rules/machine-id.make > +++ b/rules/machine-id.make > @@ -27,7 +27,11 @@ $(STATEDIR)/machine-id.targetinstall: > @$(call install_fixup,machine-id,AUTHOR,"Michael Olbrich ") > @$(call install_fixup,machine-id,DESCRIPTION,missing) > > + @$(call install_copy, machine-id, 0, 0, 0644, /dev/null, /etc/machine-id) Maybe install_alternative and an empty on in projectroot/. Sometimes it's better to share the same machine-id across devices than having a new one after rebooting. Also, this should only happen for !PTXCONF_MACHINE_ID_RC_ONCE. It's not a good idea to modify files that are installed by a package. > + > +ifdef MACHINE_ID_RC_ONCE ifdef PTXCONF_MACHINE_ID_RC_ONCE > @$(call install_alternative, machine-id, 0, 0, 0755, /etc/rc.once.d/machine-id) > +endif > > @$(call install_finish,machine-id) > > diff --git a/rules/machine-id.postinst b/rules/machine-id.postinst > index 2060129d1..f1648226b 100644 > --- a/rules/machine-id.postinst > +++ b/rules/machine-id.postinst > @@ -1,3 +1,4 @@ > #!/bin/sh > -touch "$DESTDIR/etc/machine-id" So this is still needed inside the 'if'. Michael > -$DESTDIR/usr/sbin/enable-rc-once machine-id > +if [ -f $DESTDIR/etc/rc.once.d/machine-id ]; then > + $DESTDIR/usr/sbin/enable-rc-once machine-id > +fi > -- > 2.29.2 > > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de > To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de > _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de