From nobody Tue Apr 11 14:19:00 2023 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 4Pwnyb3sVWz44wqc for ; Tue, 11 Apr 2023 14:19:03 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pwnyb0ssXz4Zhd for ; Tue, 11 Apr 2023 14:19:03 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-f45.google.com with SMTP id qb20so20366035ejc.6 for ; Tue, 11 Apr 2023 07:19:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681222742; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0+yUyf8JLGd2MPj+N20Uq/JJd86ir2sQ+wE8bjBwEtQ=; b=d6n/YQ7lw0x78q5VOVbDDf8bm9HRt73b2up8GFIfNJCQqyAdn1NlVP+076Uk8YjBto oPj/evtglLg0gytlYHAouI4wWRYpevUjnOoG7nqbxJXZgMD103EpqjC9v5tu2lCSnQJg i4xTbtqUuGS+aj1RkfDZOOdYIS1Zn0NVZWEO77nh+JLxp1x5KQfJmr1VlFpU/UFqZToz E75x6rh9caQ0ndkmXAfygHc0KSyI9f58T5VJlngG0xQyfz97WhLE6NdmKEpxr6EgosUo 5auiZY4A8lXx3WOrcumKKV6N5lmmMux94W06QTmih7La4WWtgzXxd8b3lP1ZrSnKraAj UhsQ== X-Gm-Message-State: AAQBX9eKsneahL2PsrRj3+Nkz14KSAelVcDVHs7fvd2qcdMwOU0rh9hD MAbBaYcyaLEoMwBhjv2Q2TpN4A== X-Google-Smtp-Source: AKy350aT5OFdhNcDACOpbqBdX4qqZfaZlPJezUxq4M2rxdaVZXIzTMDrTHzPG+xKzyCMtm9ovtS1vA== X-Received: by 2002:a17:907:98fb:b0:92f:33ca:c9a3 with SMTP id ke27-20020a17090798fb00b0092f33cac9a3mr2710641ejc.71.1681222741689; Tue, 11 Apr 2023 07:19:01 -0700 (PDT) Received: from smtpclient.apple (global-5-142.n-2.net.cam.ac.uk. [131.111.5.142]) by smtp.gmail.com with ESMTPSA id j14-20020a508a8e000000b005029c47f814sm5896578edj.49.2023.04.11.07.19.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Apr 2023 07:19:01 -0700 (PDT) Content-Type: text/plain; charset=utf-8 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 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: d577d6178bde - main - bsdinstall release: Move code to a new startbsdinstall wrapper From: Jessica Clarke In-Reply-To: <6cd86574-0aed-a9ac-150b-598b01924cfd@FreeBSD.org> Date: Tue, 11 Apr 2023 15:19:00 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202210031609.293G9hiu022582@gitrepo.freebsd.org> <6cd86574-0aed-a9ac-150b-598b01924cfd@FreeBSD.org> To: "Alfonso S. Siciliano" X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4Pwnyb0ssXz4Zhd X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 11 Apr 2023, at 15:14, Alfonso S. Siciliano = wrote: >=20 > On 03/10/2022 18:09, Jessica Clarke wrote: >> The branch main has been updated by jrtc27: >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dd577d6178bdeff86dbff0b954659ac5e= 23c17b2a >> commit d577d6178bdeff86dbff0b954659ac5e23c17b2a >> Author: Jessica Clarke >> AuthorDate: 2022-10-03 16:09:16 +0000 >> Commit: Jessica Clarke >> CommitDate: 2022-10-03 16:09:16 +0000 >> bsdinstall release: Move code to a new startbsdinstall wrapper >> This separates out the install media-specific environment = (creating >> bsdinstall_etc) from actually running the installer on a given = console. >> This will be used by a future change to start the installer on = multiple >> consoles. >> Reviewed by: brooks, gjb >> Differential Revision: https://reviews.freebsd.org/D36803 >> --- >> release/rc.local | 96 = +------------------------------ >> tools/build/mk/OptionalObsoleteFiles.inc | 1 + >> usr.sbin/bsdinstall/Makefile | 3 + >> usr.sbin/bsdinstall/startbsdinstall | 97 = ++++++++++++++++++++++++++++++++ >> 4 files changed, 102 insertions(+), 95 deletions(-) >> diff --git a/release/rc.local b/release/rc.local >> index 9adaea468ae7..943c175ddd52 100755 >> --- a/release/rc.local >> +++ b/release/rc.local >> @@ -1,101 +1,7 @@ >> #!/bin/sh >> # $FreeBSD$ >> -: ${BSDDIALOG_OK=3D0} >> -: ${BSDDIALOG_CANCEL=3D1} >> -: ${BSDDIALOG_HELP=3D2} >> -: ${BSDDIALOG_EXTRA=3D3} >> -: ${BSDDIALOG_ESC=3D5} >> -: ${BSDDIALOG_ERROR=3D255} >> - >> # resolv.conf from DHCP ends up in here, so make sure the directory = exists >> mkdir /tmp/bsdinstall_etc >> -kbdcontrol -d >/dev/null 2>&1 >> -if [ $? -eq 0 ]; then >> - # Syscons: use xterm, start interesting things on other VTYs >> - TERM=3Dxterm >> - >> - # Don't send ESC on function-key 62/63 (left/right command key) >> - kbdcontrol -f 62 '' > /dev/null 2>&1 >> - kbdcontrol -f 63 '' > /dev/null 2>&1 >> - >> - if [ -z "$EXTERNAL_VTY_STARTED" ]; then >> - # Init will clean these processes up if/when the system >> - # goes multiuser >> - touch /tmp/bsdinstall_log >> - tail -f /tmp/bsdinstall_log > /dev/ttyv2 & >> - /usr/libexec/getty autologin ttyv3 & >> - EXTERNAL_VTY_STARTED=3D1 >> - fi >> -else >> - # Serial or other console >> - echo >> - echo "Welcome to FreeBSD!" >> - echo >> - echo "Please choose the appropriate terminal type for your = system." >> - echo "Common console types are:" >> - echo " ansi Standard ANSI terminal" >> - echo " vt100 VT100 or compatible terminal" >> - echo " xterm xterm terminal emulator (or compatible)" >> - echo >> - echo -n "Console type [vt100]: " >> - read TERM >> - TERM=3D${TERM:-vt100} >> -fi >> -export TERM >> - >> -# Query terminal size; useful for serial lines. >> -resizewin -z >> - >> -if [ -f /etc/installerconfig ]; then >> - if bsdinstall script /etc/installerconfig; then >> - bsddialog --backtitle "FreeBSD Installer" --title = "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of = FreeBSD complete! Rebooting in 10 seconds" 10 30 10 >> - reboot >> - else >> - bsddialog --backtitle "FreeBSD Installer" --title = "Error" --textbox /tmp/bsdinstall_log 0 0 >> - fi >> - exit >> -fi >> - >> -bsddialog --backtitle "FreeBSD Installer" --title "Welcome" = --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label = "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an = installation or use the live CD?" 0 0 >> - >> -case $? in >> -$BSDDIALOG_OK) # Install >> - # If not netbooting, have the installer configure the network >> - dlv=3D`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` >> - if [ ${dlv:=3D0} -eq 0 -a ! -f /etc/diskless ]; then >> - BSDINSTALL_CONFIGCURRENT=3Dyes; export = BSDINSTALL_CONFIGCURRENT >> - fi >> - >> - trap true SIGINT # Ignore cntrl-C here >> - bsdinstall >> - if [ $? -eq 0 ]; then >> - bsddialog --backtitle "FreeBSD Installer" --title = "Complete" --ok-label "Reboot" --extra-button --extra-label "Shutdown" = --cancel-label "Live CD" --yesno "Installation of FreeBSD complete! = Would you like to reboot into the installed system now?" 0 0 >> - >> - case $? in >> - $BSDDIALOG_OK) # Reboot >> - reboot >> - ;; >> - $BSDDIALOG_EXTRA) # Shutdown >> - shutdown -p now >> - ;; >> - $BSDDIALOG_CANCEL) # Live CD >> - exit 0 >> - ;; >> - esac >> - else >> - . /etc/rc.local >> - fi >> - ;; >> -$BSDDIALOG_CANCEL) # Live CD >> - exit 0 >> - ;; >> -$BSDDIALOG_EXTRA) # Shell >> - clear >> - echo "When finished, type 'exit' to return to the installer." >> - /bin/sh >> - . /etc/rc.local >> - ;; >> -esac >> - >> +/usr/libexec/bsdinstall/startbsdinstall >> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc = b/tools/build/mk/OptionalObsoleteFiles.inc >> index 484089d47203..f0ddd90b784c 100644 >> --- a/tools/build/mk/OptionalObsoleteFiles.inc >> +++ b/tools/build/mk/OptionalObsoleteFiles.inc >> @@ -474,6 +474,7 @@ OLD_FILES+=3Dusr/libexec/bsdinstall/runconsoles >> OLD_FILES+=3Dusr/libexec/bsdinstall/script >> OLD_FILES+=3Dusr/libexec/bsdinstall/scriptedpart >> OLD_FILES+=3Dusr/libexec/bsdinstall/services >> +OLD_FILES+=3Dusr/libexec/bsdinstall/startbsdinstall >> OLD_FILES+=3Dusr/libexec/bsdinstall/time >> OLD_FILES+=3Dusr/libexec/bsdinstall/umount >> OLD_FILES+=3Dusr/libexec/bsdinstall/wlanconfig >> diff --git a/usr.sbin/bsdinstall/Makefile = b/usr.sbin/bsdinstall/Makefile >> index d09bef110518..e71cae726536 100644 >> --- a/usr.sbin/bsdinstall/Makefile >> +++ b/usr.sbin/bsdinstall/Makefile >> @@ -10,6 +10,9 @@ GENHDRS=3D opt_osname.h >> SRCS+=3D ${GENHDRS} >> CLEANFILES+=3D ${GENHDRS} >> +SCRIPTS+=3D startbsdinstall >> +SCRIPTSDIR_startbsdinstall=3D ${LIBEXECDIR}/bsdinstall >> + >> opt_osname.h: .PHONY >> if ! grep -q "^#define OSNAME \"${OSNAME}\"$"" ${.TARGET}; then = \ >> echo "#define OSNAME \"${OSNAME}\"" > ${.TARGET}; \ >> diff --git a/usr.sbin/bsdinstall/startbsdinstall = b/usr.sbin/bsdinstall/startbsdinstall >> new file mode 100644 >> index 000000000000..3a5a07e85b4d >> --- /dev/null >> +++ b/usr.sbin/bsdinstall/startbsdinstall >> @@ -0,0 +1,97 @@ >=20 >=20 > This commit copy&paste code from scripts/auto to a new file. Why = weren't the SPDX, Copyright and License copied and added? >=20 > I was inactive for a few months. Do we have a new policy to add new = files in BASE without legal info, bsd license, etc? > https://cgit.freebsd.org/src/tree/usr.sbin/bsdinstall/startbsdinstall The code had no such info before; I merely moved it (moved / cut+paste, not copy+paste) and lightly adapted it as needed. Adding copyright and license information would presumably be worthwhile but is a separate activity and would require trawling through the history of the code. It probably started life small enough that copyright wasn=E2=80=99t = relevant and then slowly grew to a point where it sort of is (though there=E2=80=99s = nothing hugely interesting here). Jess >> +#!/bin/sh >> + >> +: ${BSDDIALOG_OK=3D0} >> +: ${BSDDIALOG_CANCEL=3D1} >> +: ${BSDDIALOG_HELP=3D2} >> +: ${BSDDIALOG_EXTRA=3D3} >> +: ${BSDDIALOG_ESC=3D5} >> +: ${BSDDIALOG_ERROR=3D255} >> + >> +kbdcontrol -d >/dev/null 2>&1 >> +if [ $? -eq 0 ]; then >> + # Syscons: use xterm, start interesting things on other VTYs >> + TERM=3Dxterm >> + >> + # Don't send ESC on function-key 62/63 (left/right command key) >> + kbdcontrol -f 62 '' > /dev/null 2>&1 >> + kbdcontrol -f 63 '' > /dev/null 2>&1 >> + >> + if [ -z "$EXTERNAL_VTY_STARTED" ]; then >> + # Init will clean these processes up if/when the system >> + # goes multiuser >> + touch /tmp/bsdinstall_log >> + tail -f /tmp/bsdinstall_log > /dev/ttyv2 & >> + /usr/libexec/getty autologin ttyv3 & >> + EXTERNAL_VTY_STARTED=3D1 >> + fi >> +else >> + # Serial or other console >> + echo >> + echo "Welcome to FreeBSD!" >> + echo >> + echo "Please choose the appropriate terminal type for your = system." >> + echo "Common console types are:" >> + echo " ansi Standard ANSI terminal" >> + echo " vt100 VT100 or compatible terminal" >> + echo " xterm xterm terminal emulator (or compatible)" >> + echo >> + echo -n "Console type [vt100]: " >> + read TERM >> + TERM=3D${TERM:-vt100} >> +fi >> +export TERM >> + >> +# Query terminal size; useful for serial lines. >> +resizewin -z >> + >> +if [ -f /etc/installerconfig ]; then >> + if bsdinstall script /etc/installerconfig; then >> + bsddialog --backtitle "FreeBSD Installer" --title = "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of = FreeBSD complete! Rebooting in 10 seconds" 10 30 10 >> + reboot >> + else >> + bsddialog --backtitle "FreeBSD Installer" --title = "Error" --textbox /tmp/bsdinstall_log 0 0 >> + fi >> + exit >> +fi >> + >> +bsddialog --backtitle "FreeBSD Installer" --title "Welcome" = --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label = "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an = installation or use the live CD?" 0 0 >> + >> +case $? in >> +$BSDDIALOG_OK) # Install >> + # If not netbooting, have the installer configure the network >> + dlv=3D`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` >> + if [ ${dlv:=3D0} -eq 0 -a ! -f /etc/diskless ]; then >> + BSDINSTALL_CONFIGCURRENT=3Dyes; export = BSDINSTALL_CONFIGCURRENT >> + fi >> + >> + trap true SIGINT # Ignore cntrl-C here >> + bsdinstall >> + if [ $? -eq 0 ]; then >> + bsddialog --backtitle "FreeBSD Installer" --title = "Complete" --ok-label "Reboot" --extra-button --extra-label "Shutdown" = --cancel-label "Live CD" --yesno "Installation of FreeBSD complete! = Would you like to reboot into the installed system now?" 0 0 >> + >> + case $? in >> + $BSDDIALOG_OK) # Reboot >> + reboot >> + ;; >> + $BSDDIALOG_EXTRA) # Shutdown >> + shutdown -p now >> + ;; >> + $BSDDIALOG_CANCEL) # Live CD >> + exit 0 >> + ;; >> + esac >> + else >> + . "$0" >> + fi >> + ;; >> +$BSDDIALOG_CANCEL) # Live CD >> + exit 0 >> + ;; >> +$BSDDIALOG_EXTRA) # Shell >> + clear >> + echo "When finished, type 'exit' to return to the installer." >> + /bin/sh >> + . "$0" >> + ;; >> +esac >> +