From nobody Sun Mar 12 21:47:04 2023 X-Original-To: dev-commits-src-all@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 4PZYKP3ws8z3xh9N; Sun, 12 Mar 2023 21:47:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PZYKP1H2rz4byX; Sun, 12 Mar 2023 21:47:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678657625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CrhGcjUHeDn/oxK7IopU4WHK86rnwa2ykoicXkS0LgQ=; b=momHfzHfFCF63juaKRORLAhMWOpICBKi4HKNEfvyxlfhoX3EwRG0baQhdyDL+yB3kWAcY6 oU9VNijL8J5vntODcW2g0cd3I8p9aB+2MXGVUmhm7QVDXghODFauUT0NlargAmJm1kT+es pzrCX7OvE9QjNW4Sol42pS1CLgqMsNLiwKntLkbxaFLWGfhw75EK8Fam8EotjhyMZihHTu PUh15jlNiHyR14B6QKHxiK2Y4lopcL83hPFTP2WOTtXAoSsvoTgrnMvYp93jPpQqTrhLBO fLFiUt6C57qDOoEmBa1kQd+a8bi8etveVKVyeBMAqwtK10mRqdzGghMTXHSdMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678657625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CrhGcjUHeDn/oxK7IopU4WHK86rnwa2ykoicXkS0LgQ=; b=cqLV3RbgUSYLqsbpubUlamMi3j5ZVm2KxUQoBY3VC7qpIQ+qg7eDIT0i2MhfelST8P8/NP GVh8hPuW6GBJpviDDVuMx2LEDrxLamk07vEWvfyGmL3JEEqBuEGC7zK6+JifDDc7at2XEq TJbuh+/v7Nfq/5hbaUXc1+vigEjRlIq1xVqtsPIW3Y3lZb7Q8CKMAMfA2QbFFYiCnlxYHa WyKgW+n7zrhH8FodGQs89wzQTVL/IxFONkD4gVlro51mrMuN3eJ2t2GpIefuWeqIDLDhln HMrY3x4eHVI60fF3+lcdIOehI/JC0tVVrl0PqMu4dkTZWOBLgv2+WsfTY6k9+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678657625; a=rsa-sha256; cv=none; b=qirYZM0rrtjZBL7KCD77Ouq6vqcSMhaMsJH1ciodcCuN2vEfFAZXrR18BZ0EHxiq9l+Gtp elJ2b9/Z9Vj9Zwnlyzyv5kx/DpL+o7NDjKh/9VwN7FmzJev58OT/CZjfnOVzJSvHICOcqS KRc8o2P+iqQxHWTgw6mWWUB1RJFifj1mzlAB3LWEUbSXojZnhoosC0f55RsTvzVXIQdZoG 81QC3AYw59Bgjze32iOZh0ZZ5qUewAKorkddW0n01+HJFGTFxindmPCJfmjjh8agd4AupC 6q1krEzZlr1QANPR1prDqjyEyI1Gg/Vx8hwq8Bdmk4Wcmx+cIDTjIoxo4g+96g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PZYKP0Mm8zSTt; Sun, 12 Mar 2023 21:47:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32CLl4hW049276; Sun, 12 Mar 2023 21:47:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32CLl4J7049275; Sun, 12 Mar 2023 21:47:04 GMT (envelope-from git) Date: Sun, 12 Mar 2023 21:47:04 GMT Message-Id: <202303122147.32CLl4J7049275@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tijl Coosemans Subject: git: 71d88613d129 - releng/13.2 - rc.d: Generate machine-id from hostid_save List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 71d88613d12984f6a9058f4ef7044e00853727ed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=71d88613d12984f6a9058f4ef7044e00853727ed commit 71d88613d12984f6a9058f4ef7044e00853727ed Author: Tijl Coosemans AuthorDate: 2023-02-15 20:09:51 +0000 Commit: Tijl Coosemans CommitDate: 2023-03-12 21:46:07 +0000 rc.d: Generate machine-id from hostid_save rc.d/hostid_save saves a UUID generated by rc.d/hostid in /etc/hostid. Store the same UUID, without hyphens, in /etc/machine-id. The hyphens are removed with a shell function because hostid_save runs before file systems are mounted so other tools may not be available yet. This eliminates some duplication between hostid and machine-id and for virtual machines machine-id now contains the UUID configured in the hypervisor like it does on Linux. Reviewed by: delphij Discussed with: bapt Approved by: re (cperciva) Differential Revision: https://reviews.freebsd.org/D38811 (cherry picked from commit ecad3f5c4d922f93ceba455f8bff1c54e1ed4174) (cherry picked from commit d6852eed98ed32ad51120a22aa1ebdf0601917b3) --- ObsoleteFiles.inc | 3 +++ etc/Makefile | 2 -- libexec/rc/rc.conf | 4 +--- libexec/rc/rc.d/Makefile | 1 - libexec/rc/rc.d/hostid_save | 28 ++++++++++++++++++++-------- libexec/rc/rc.d/machine_id | 34 ---------------------------------- sys/sys/param.h | 2 +- 7 files changed, 25 insertions(+), 49 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 64214e29e93f..b3b1b5e6cf1f 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230308: machine-id merged into hostid_save +OLD_FILES+=etc/rc.d/machine-id + # 20230203: loader help files renamed OLD_FILES+=boot/loader.help diff --git a/etc/Makefile b/etc/Makefile index 49a7a12a41b5..104e40b6e345 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -58,8 +58,6 @@ distribution: ${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt ${INSTALL_SYMLINK} -T "package=runtime" ../var/run/os-release \ ${DESTDIR}/etc/os-release - ${INSTALL_SYMLINK} -T "package=runtime" ../var/db/machine-id \ - ${DESTDIR}/etc/machine-id .if ${MK_UNBOUND} != "no" if [ ! -e ${DESTDIR}/etc/unbound ]; then \ ${INSTALL_SYMLINK} -T "package=unbound" \ diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 23f9406da017..af7b6ff6302e 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -135,6 +135,7 @@ hostname="" # Set this! hostid_enable="YES" # Set host UUID. hostid_file="/etc/hostid" # File with hostuuid. hostid_uuidgen_flags="-r" # Flags to uuidgen. +machine_id_file="/etc/machine-id" # File with machine-id. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. @@ -703,9 +704,6 @@ harvest_mask="511" # Entropy device harvests all but the very invasive sources. osrelease_enable="YES" # Update /var/run/os-release on boot (or NO). osrelease_file="/var/run/os-release" # File to update for os-release. osrelease_perms="444" # Default permission for os-release file. -machine_id_enable="YES" # Create /var/db/machine-id on boot if missing (or NO). -machine_id_file="/var/db/machine-id" # File to update for machine-id. -machine_id_perms="444" # Default permissions for machine-id file. dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot watchdogd_enable="NO" # Start the software watchdog daemon watchdogd_flags="" # Flags to watchdogd (if enabled) diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 188eae2e2f5b..40a1a212ca3a 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -51,7 +51,6 @@ CONFS= DAEMON \ local \ localpkg \ lockd \ - machine_id \ mixer \ motd \ mountcritlocal \ diff --git a/libexec/rc/rc.d/hostid_save b/libexec/rc/rc.d/hostid_save index f535ea2596f2..f737ed7f74cf 100755 --- a/libexec/rc/rc.d/hostid_save +++ b/libexec/rc/rc.d/hostid_save @@ -15,20 +15,32 @@ start_cmd="hostid_save" stop_cmd=":" rcvar="hostid_enable" +hostid_machine_id() +{ + local IFS + + IFS=- + set -- ${current_hostid} + IFS= + current_machine_id=$* +} + hostid_save() { current_hostid=`$SYSCTL_N kern.hostuuid` - if [ -r ${hostid_file} ]; then - read saved_hostid < ${hostid_file} - if [ ${saved_hostid} = ${current_hostid} ]; then - exit 0 - fi + read saved_hostid 2>/dev/null < ${hostid_file} + if [ "${saved_hostid}" != "${current_hostid}" ]; then + echo "${current_hostid}" > ${hostid_file} || + warn "could not store hostuuid in ${hostid_file}." fi - echo ${current_hostid} > ${hostid_file} - if [ $? -ne 0 ]; then - warn "could not store hostuuid in ${hostid_file}." + hostid_machine_id + + read saved_machine_id 2>/dev/null < ${machine_id_file} + if [ "${saved_machine_id}" != "${current_machine_id}" ]; then + echo "${current_machine_id}" > ${machine_id_file} || + warn "could not store hostuuid in ${machine_id_file}." fi } diff --git a/libexec/rc/rc.d/machine_id b/libexec/rc/rc.d/machine_id deleted file mode 100644 index 8bf3e41d0603..000000000000 --- a/libexec/rc/rc.d/machine_id +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -# PROVIDE: machine_id -# REQUIRE: mountcritremote FILESYSTEMS -# BEFORE: LOGIN - -. /etc/rc.subr - -: ${machine_id_file:=/var/db/machine-id} -: ${machine_id_perms:=444} -name="machine_id" -desc="Update ${machine_id_file}" -rcvar="machine_id_enable" -start_cmd="machine_id_start" -stop_cmd=":" - - -machine_id_start() -{ - if [ ! -f ${machine_id_file} ] ; then - startmsg -n "Creating ${machine_id_file} " - t=$(mktemp -t machine-id) - /bin/uuidgen -r -c -o $t - install -C -o root -g wheel -m ${machine_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 35ed7dab7b5f..b6ac2c897fad 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1302000 /* Master, propagated to newvers */ +#define __FreeBSD_version 1302001 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,