On 11 Apr 2023, at 15:14, Alfonso S. Siciliano <asicili...@freebsd.org> wrote:
> 
> 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=d577d6178bdeff86dbff0b954659ac5e23c17b2a
>> commit d577d6178bdeff86dbff0b954659ac5e23c17b2a
>> Author:     Jessica Clarke <jrt...@freebsd.org>
>> AuthorDate: 2022-10-03 16:09:16 +0000
>> Commit:     Jessica Clarke <jrt...@freebsd.org>
>> 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=0}
>> -: ${BSDDIALOG_CANCEL=1}
>> -: ${BSDDIALOG_HELP=2}
>> -: ${BSDDIALOG_EXTRA=3}
>> -: ${BSDDIALOG_ESC=5}
>> -: ${BSDDIALOG_ERROR=255}
>> -
>>  # 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=xterm
>> -
>> -    # 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=1
>> -    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=${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=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null`
>> -    if [ ${dlv:=0} -eq 0 -a ! -f /etc/diskless ]; then
>> -            BSDINSTALL_CONFIGCURRENT=yes; 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+=usr/libexec/bsdinstall/runconsoles
>>  OLD_FILES+=usr/libexec/bsdinstall/script
>>  OLD_FILES+=usr/libexec/bsdinstall/scriptedpart
>>  OLD_FILES+=usr/libexec/bsdinstall/services
>> +OLD_FILES+=usr/libexec/bsdinstall/startbsdinstall
>>  OLD_FILES+=usr/libexec/bsdinstall/time
>>  OLD_FILES+=usr/libexec/bsdinstall/umount
>>  OLD_FILES+=usr/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=   opt_osname.h
>>  SRCS+=              ${GENHDRS}
>>  CLEANFILES+=        ${GENHDRS}
>>  +SCRIPTS+=  startbsdinstall
>> +SCRIPTSDIR_startbsdinstall= ${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 @@
> 
> 
> This commit copy&paste code from scripts/auto to a new file. Why weren't the 
> SPDX, Copyright and License copied and added?
> 
> 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’t relevant and
then slowly grew to a point where it sort of is (though there’s nothing
hugely interesting here).

Jess

>> +#!/bin/sh
>> +
>> +: ${BSDDIALOG_OK=0}
>> +: ${BSDDIALOG_CANCEL=1}
>> +: ${BSDDIALOG_HELP=2}
>> +: ${BSDDIALOG_EXTRA=3}
>> +: ${BSDDIALOG_ESC=5}
>> +: ${BSDDIALOG_ERROR=255}
>> +
>> +kbdcontrol -d >/dev/null 2>&1
>> +if [ $? -eq 0 ]; then
>> +    # Syscons: use xterm, start interesting things on other VTYs
>> +    TERM=xterm
>> +
>> +    # 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=1
>> +    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=${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=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null`
>> +    if [ ${dlv:=0} -eq 0 -a ! -f /etc/diskless ]; then
>> +            BSDINSTALL_CONFIGCURRENT=yes; 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
>> +


Reply via email to