From nobody Fri Dec 23 16:53:13 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NdtXy6JZzz1H62T; Fri, 23 Dec 2022 16:53:22 +0000 (UTC) (envelope-from SRS0=vaom=4V=klop.ws=ronald-lists@realworks.nl) Received: from smtp-relay-int.realworks.nl (smtp-relay-int.realworks.nl [194.109.157.24]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4NdtXy3YJDz49sw; Fri, 23 Dec 2022 16:53:22 +0000 (UTC) (envelope-from SRS0=vaom=4V=klop.ws=ronald-lists@realworks.nl) Authentication-Results: mx1.freebsd.org; none Date: Fri, 23 Dec 2022 17:53:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=klop.ws; s=rw2; t=1671814393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=3zmsgjrdFAaK5fcllF/BevVT5oMpk4eUnqtBH6L1pcE=; b=nPDYN4F3ds2d6Dr5ns1MtIWP2CnpvDHCI451eckPuSZbHm2tO6X1EjJ6syo1SjeGjJdrrA vEy6PD68iXmMsvR9mzrdd3ORsWEsncPhnaG5VihehUUuWKW72GCoRjPo53tNddOW8PlVuY hoUubAo9+rxCQCjAUXJ14CwXBpsOnuRX9TlXPusa9fjFUwrpcW+Tj4313GZNU7s46RHCX9 kES+NXxGz2UL55gHyFrz18oOd5sQSEgUxKAvxkiBspqWG1Z4/DdGFLqCGgVMujql1PbA86 wlXm7Lk2p962UOWqC1eAX7SRt1ny5JQRtknXEFaM2JzNYxtQlpztaX16sOaq4A== From: Ronald Klop To: "Tobias C. Berner" Cc: dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org Message-ID: <876513140.46.1671814393751@mailrelay> In-Reply-To: <202212231636.2BNGaluc012056@gitrepo.freebsd.org> References: <202212231636.2BNGaluc012056@gitrepo.freebsd.org> Subject: Re: git: 62a149bf6219 - main - Add new rc: machine_id to generate /etc/machine-id List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_45_1998427481.1671814393669" X-Mailer: Realworks (638.799) Importance: Normal X-Priority: 3 (Normal) X-Rspamd-Queue-Id: 4NdtXy3YJDz49sw X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3265, ipnet:194.109.0.0/16, country:NL] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N ------=_Part_45_1998427481.1671814393669 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi, What is the difference or overlap of this and /etc/hostid ? Regards, Ronald. =C3=82=20 Van: "Tobias C. Berner" Datum: vrijdag, 23 december 2022 17:36 Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commi= ts-src-main@FreeBSD.org Onderwerp: git: 62a149bf6219 - main - Add new rc: machine_id to generate /e= tc/machine-id >=20 > The branch main has been updated by tcberner (ports committer): >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3D62a149bf621947fb7475c64b1f= f04fe19fe16b29 >=20 > commit 62a149bf621947fb7475c64b1ff04fe19fe16b29 > Author: Tobias C. Berner > AuthorDate: 2022-12-17 09:18:03 +0000 > Commit: Tobias C. Berner > CommitDate: 2022-12-23 16:33:19 +0000 >=20 > Add new rc: machine_id to generate /etc/machine-id > =20 > This new default-enabled rc will generate a /etc/machine-id file if i= t > does not exist, and pre-fill it with a newly generated UUID of versio= n 4 > [2]. > =20 > The file is generated in /var/db/machine-id and symlinked to > /etc/machine-id to allow for read-only root partitions. > =20 > This file is amongst other things used by libraries like GLib. > =20 > Bump FreeBSD version 1400076 to be able to easily add support for old= er > version of FreeBSD via a package. > =20 > [1] Linux machine-id(5): https://www.man7.org/linux/man-pages/man5/ma= chine-id.5.html > [2] f176fe8e7f638e585afcd2f4dd52a522c4648f63 > =20 > Approved by: bapt > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D37722 > --- > etc/Makefile | 2 ++ > libexec/rc/rc.conf | 3 +++ > libexec/rc/rc.d/Makefile | 1 + > libexec/rc/rc.d/machine_id | 34 ++++++++++++++++++++++++++++++++++ > sys/sys/param.h | 2 +- > 5 files changed, 41 insertions(+), 1 deletion(-) >=20 > diff --git a/etc/Makefile b/etc/Makefile > index 3036b7acdd19..10d2f7ea2c5c 100644 > --- a/etc/Makefile > +++ b/etc/Makefile > @@ -59,6 +59,8 @@ distribution: > ${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt > ${INSTALL_SYMLINK} -T "package=3Druntime" ../var/run/os-release \ > ${DESTDIR}/etc/os-release > + ${INSTALL_SYMLINK} -T "package=3Druntime" ../var/db/machine-id \ > + ${DESTDIR}/etc/machine-id > .if ${MK_UNBOUND} !=3D "no" > if [ ! -e ${DESTDIR}/etc/unbound ]; then \ > ${INSTALL_SYMLINK} -T "package=3Dunbound" \ > diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf > index d10855e1e5fa..a1f6a3f69e8d 100644 > --- a/libexec/rc/rc.conf > +++ b/libexec/rc/rc.conf > @@ -694,6 +694,9 @@ harvest_mask=3D"511" # Entropy device harvests all b= ut the very invasive sources. > osrelease_enable=3D"YES" # Update /var/run/os-release on boot (or NO). > osrelease_file=3D"/var/run/os-release" # File to update for os-release. > osrelease_perms=3D"444" # Default permission for os-release file. > +machine_id_enable=3D"YES" # Create /var/db/machine-id on boot if miss= ing (or NO). > +machine_id_file=3D"/var/db/machine-id" # File to update for machine-id= . > +machine_id_perms=3D"444" # Default permissions for machine-id file. > dmesg_enable=3D"YES" # Save dmesg(8) to /var/run/dmesg.boot > watchdogd_enable=3D"NO" # Start the software watchdog daemon > watchdogd_flags=3D"" # Flags to watchdogd (if enabled) > diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile > index 0e43b1cd94dc..e990dea60721 100644 > --- a/libexec/rc/rc.d/Makefile > +++ b/libexec/rc/rc.d/Makefile > @@ -52,6 +52,7 @@ CONFS=3D DAEMON \ > local \ > localpkg \ > lockd \ > + machine_id \ > mixer \ > motd \ > mountcritlocal \ > diff --git a/libexec/rc/rc.d/machine_id b/libexec/rc/rc.d/machine_id > new file mode 100644 > index 000000000000..7cfd7b2d92f8 > --- /dev/null > +++ b/libexec/rc/rc.d/machine_id > @@ -0,0 +1,34 @@ > +#!/bin/sh > +# > +# $FreeBSD$ > +# > + > +# PROVIDE: machine_id > +# REQUIRE: mountcritremote FILESYSTEMS > +# BEFORE: LOGIN > + > +. /etc/rc.subr > + > +: ${machine_id_file:=3D/var/db/machine-id} > +: ${machine_id_perms:=3D444} > +name=3D"machine_id" > +desc=3D"Update ${machine_id_file}" > +rcvar=3D"machine_id_enable" > +start_cmd=3D"machine_id_start" > +stop_cmd=3D":" > + > + > +machine_id_start() > +{ > + if [ ! -f ${machine_id_file} ] ; then > + startmsg -n "Creating ${machine_id_file} " > + t=3D$(mktemp -t machine-id) > + /bin/uuidgen -r -o $t > + install -C -o root -g wheel -m ${machine_id_perms} "$t" "${machin= e_id_file}" > + rm -f "$t" > + startmsg 'done.' > + fi > +} > + > +load_rc_config $name > +run_rc_command "$1" > diff --git a/sys/sys/param.h b/sys/sys/param.h > index bb56fe1140cf..9b123a38a7a8 100644 > --- a/sys/sys/param.h > +++ b/sys/sys/param.h > @@ -76,7 +76,7 @@ > * cannot include sys/param.h and should only be updated here. > */ > #undef __FreeBSD_version > -#define __FreeBSD_version 1400075 > +#define __FreeBSD_version 1400076 > =20 > /* > * __FreeBSD_kernel__ indicates that this system uses the kernel of Free= BSD, > =C3=82=20 >=20 >=20 >=20 =C3=82=20 ------=_Part_45_1998427481.1671814393669 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi,

What is the difference or overlap of this and /etc/hostid ?

Regards,
Ronald.

=C3=82 

Van: "Tobias C. Berner" <tcberner@FreeBSD.org> Datum: vrijdag, 23 december 2022 17:36
Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeB= SD.org, dev-commits-src-main@FreeBSD.org
Onderwerp: git: 62a149bf6219 - main - Add new rc: machine_= id to generate /etc/machine-id

The branch main has been updated = by tcberner (ports committer):

URL: https://cgit.FreeBSD.org/src/commit/?id=3D62a149bf= 621947fb7475c64b1ff04fe19fe16b29

commit 62a149bf621947fb7475c64b1ff04fe19fe16b29
Author:     Tobias C. Berner <tcberner@FreeBSD.org&g= t;
AuthorDate: 2022-12-17 09:18:03 +0000
Commit:     Tobias C. Berner <tcberner@FreeBSD.org&g= t;
CommitDate: 2022-12-23 16:33:19 +0000

    Add new rc: machine_id to generate /etc/machine-id<= br>     
    This new default-enabled rc will generate a /etc/ma= chine-id file if it
    does not exist, and pre-fill it with a newly genera= ted UUID of version 4
    [2].
    
    The file is generated in /var/db/machine-id and sym= linked to
    /etc/machine-id to allow for read-only root partiti= ons.
    
    This file is amongst other things used by libraries= like GLib.
    
    Bump FreeBSD version 1400076 to be able to easily a= dd support for older
    version of FreeBSD via a package.
    
    [1] Linux machine-id(5): https://www.man7.org/linux/ma= n-pages/man5/machine-id.5.html
    [2] f176fe8e7f638e585afcd2f4dd52a522c4648f63
    
    Approved by:       &n= bsp;    bapt
    MFC after:       &nbs= p;      1 week
    Differential Revision:  https://reviews.freebsd.org/D37722
---
 etc/Makefile          &n= bsp;    |  2 ++
 libexec/rc/rc.conf         | =  3 +++
 libexec/rc/rc.d/Makefile   |  1 +
 libexec/rc/rc.d/machine_id | 34 ++++++++++++++++++++++++++++++++++  sys/sys/param.h          = ;  |  2 +-
 5 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/etc/Makefile b/etc/Makefile
index 3036b7acdd19..10d2f7ea2c5c 100644
--- a/etc/Makefile
+++ b/etc/Makefile
@@ -59,6 +59,8 @@ distribution:
    ${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt     ${INSTALL_SYMLINK} -T "package=3Druntime" ../var/ru= n/os-release \
        ${DESTDIR}/etc/os-release +   ${INSTALL_SYMLINK} -T "package=3Druntime" ../var/db/machine-i= d \
+       ${DESTDIR}/etc/machine-id
 .if ${MK_UNBOUND} !=3D "no"
    if [ ! -e ${DESTDIR}/etc/unbound ]; then \
        ${INSTALL_SYMLINK} -T "pack= age=3Dunbound" \
diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
index d10855e1e5fa..a1f6a3f69e8d 100644
--- a/libexec/rc/rc.conf
+++ b/libexec/rc/rc.conf
@@ -694,6 +694,9 @@ harvest_mask=3D"511"  # Entropy device harvests al= l but the very invasive sources.
 osrelease_enable=3D"YES" # Update /var/run/os-release on boot (or NO)= .
 osrelease_file=3D"/var/run/os-release" # File to update for os-releas= e.
 osrelease_perms=3D"444"  # Default permission for os-release fil= e.
+machine_id_enable=3D"YES"    # Create /var/db/machine-id on= boot if missing (or NO).
+machine_id_file=3D"/var/db/machine-id"   # File to update for ma= chine-id.
+machine_id_perms=3D"444" # Default permissions for machine-id file.
 dmesg_enable=3D"YES" # Save dmesg(8) to /var/run/dmesg.boot
 watchdogd_enable=3D"NO"  # Start the software watchdog daemon  watchdogd_flags=3D"" # Flags to watchdogd (if enabled)
diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile
index 0e43b1cd94dc..e990dea60721 100644
--- a/libexec/rc/rc.d/Makefile
+++ b/libexec/rc/rc.d/Makefile
@@ -52,6 +52,7 @@ CONFS=3D    DAEMON \
    local \
    localpkg \
    lockd \
+   machine_id \
    mixer \
    motd \
    mountcritlocal \
diff --git a/libexec/rc/rc.d/machine_id b/libexec/rc/rc.d/machine_id
new file mode 100644
index 000000000000..7cfd7b2d92f8
--- /dev/null
+++ b/libexec/rc/rc.d/machine_id
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: machine_id
+# REQUIRE: mountcritremote FILESYSTEMS
+# BEFORE:  LOGIN
+
+. /etc/rc.subr
+
+: ${machine_id_file:=3D/var/db/machine-id}
+: ${machine_id_perms:=3D444}
+name=3D"machine_id"
+desc=3D"Update ${machine_id_file}"
+rcvar=3D"machine_id_enable"
+start_cmd=3D"machine_id_start"
+stop_cmd=3D":"
+
+
+machine_id_start()
+{
+   if [ ! -f ${machine_id_file} ] ; then
+       startmsg -n "Creating ${machine_id_fi= le} "
+       t=3D$(mktemp -t machine-id)
+       /bin/uuidgen -r -o $t
+       install -C -o root -g wheel -m ${mach= ine_id_perms} "$t" "${machine_id_file}"
+       rm -f "$t"
+       startmsg 'done.'
+   fi
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/sys/sys/param.h b/sys/sys/param.h
index bb56fe1140cf..9b123a38a7a8 100644
--- a/sys/sys/param.h
+++ b/sys/sys/param.h
@@ -76,7 +76,7 @@
  * cannot include sys/param.h and should only be updated here.   */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1400075
+#define __FreeBSD_version 1400076
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel= of FreeBSD,
=C3=82 


=C3=82  ------=_Part_45_1998427481.1671814393669--