Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jan 2024 22:15:03 +0000
From:      Jessica Clarke <jrtc27@freebsd.org>
To:        Brad Davis <brd@FreeBSD.org>
Cc:        "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org>
Subject:   Re: git: 009d3f66cb5f - main - bsdinstall: separate out dist selection in prep for pkgbase support
Message-ID:  <1D1F0A7A-C735-4D6F-B333-39920E84CD5D@freebsd.org>
In-Reply-To: <202401312205.40VM5dQS018685@gitrepo.freebsd.org>
References:  <202401312205.40VM5dQS018685@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 31 Jan 2024, at 22:05, Brad Davis <brd@FreeBSD.org> wrote:
>=20
> The branch main has been updated by brd:
>=20
> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D009d3f66cb5f0cf3f1d353f311d3a687=
8b2a534e
>=20
> commit 009d3f66cb5f0cf3f1d353f311d3a6878b2a534e
> Author:     Brad Davis <brd@FreeBSD.org>
> AuthorDate: 2024-01-26 17:46:46 +0000
> Commit:     Brad Davis <brd@FreeBSD.org>
> CommitDate: 2024-01-31 22:05:27 +0000
>=20
>    bsdinstall: separate out dist selection in prep for pkgbase support
>=20
>    No functional change intended.
>=20
>    Approved by:    asiciliano
>    Sponsored by:   Rubicon Communications, LLC ("Netgate")
>    Differential Revision:  https://reviews.freebsd.org/D43621
> ---
> usr.sbin/bsdinstall/scripts/auto        | 40 ++++--------------
> usr.sbin/bsdinstall/scripts/selectdists | 73 =
+++++++++++++++++++++++++++++++++
> usr.sbin/bsdinstall/startbsdinstall     |  1 +
> 3 files changed, 82 insertions(+), 32 deletions(-)
>=20
> diff --git a/usr.sbin/bsdinstall/scripts/auto =
b/usr.sbin/bsdinstall/scripts/auto
> index 9f4b5b52fe5d..c651d654d62e 100755
> --- a/usr.sbin/bsdinstall/scripts/auto
> +++ b/usr.sbin/bsdinstall/scripts/auto
> @@ -153,36 +153,10 @@ trap true SIGINT # This section is optional
> trap error SIGINT # Catch cntrl-C here
> if [ -z "$BSDINSTALL_SKIP_HOSTNAME" ]; then bsdinstall hostname || =
error "Set hostname failed"; fi
>=20
> -export DISTRIBUTIONS=3D"${DISTRIBUTIONS:-base.txz kernel.txz}"
> -if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
> - DISTMENU=3D`awk -F'\t' '!/^(kernel\.txz|base\.txz)/{print $1,$5,$6}' =
$BSDINSTALL_DISTDIR/MANIFEST`
> - DISTMENU=3D"$(echo ${DISTMENU} | sed -E 's/\.txz//g')"
> -
> - if [ -n "$DISTMENU" ]; then
> - exec 5>&1
> - EXTRA_DISTS=3D$( eval bsddialog \
> -    --backtitle \"$OSNAME Installer\" \
> -    --title \"Distribution Select\" --nocancel --separate-output \
> -    --checklist \"Choose optional system components to install:\" \
> -    0 0 0 $DISTMENU \
> - 2>&1 1>&5 )
> - for dist in $EXTRA_DISTS; do
> - export DISTRIBUTIONS=3D"$DISTRIBUTIONS $dist.txz"
> - done
> - fi
> -fi
> -
> -FETCH_DISTRIBUTIONS=3D""
> -for dist in $DISTRIBUTIONS; do
> - if [ ! -f $BSDINSTALL_DISTDIR/$dist ]; then
> - FETCH_DISTRIBUTIONS=3D"$FETCH_DISTRIBUTIONS $dist"
> - fi
> -done
> -
> -if [ -n "$FETCH_DISTRIBUTIONS" -a -n "$BSDINSTALL_CONFIGCURRENT" ]; =
then
> - bsddialog --backtitle "$OSNAME Installer" --title "Network =
Installation" --msgbox "Some installation files were not found on the =
boot volume. The next few screens will allow you to configure networking =
so that they can be downloaded from the Internet." 0 0
> - bsdinstall netconfig || error
> - NETCONFIG_DONE=3Dyes
> +if [ -n "$BSDINSTALL_USE_DISTRIBUTIONS" ]; then
> + exec 5>&1
> + export DISTRIBUTIONS=3D$( `dirname $0`/selectdists 2>&1 1>&5 )
> + exec 5>&-
> fi
>=20
> rm -f $PATH_FSTAB
> @@ -347,8 +321,10 @@ if [ -n "$FETCH_DISTRIBUTIONS" ]; then
>=20
> [ $FETCH_RESULT -ne 0 ] && error "Could not fetch remote =
distributions"
> fi
> -bsdinstall checksum || error "Distribution checksum failed"
> -bsdinstall distextract || error "Distribution extract failed"
> +if [ -n "$BSDINSTALL_USE_DISTRIBUTIONS" ]; then
> + bsdinstall checksum || error "Distribution checksum failed"
> + bsdinstall distextract || error "Distribution extract failed"
> +fi
>=20
> # Set up boot loader
> bsdinstall bootconfig || error "Failed to configure bootloader"
> diff --git a/usr.sbin/bsdinstall/scripts/selectdists =
b/usr.sbin/bsdinstall/scripts/selectdists
> new file mode 100644
> index 000000000000..b548e82a95f8
> --- /dev/null
> +++ b/usr.sbin/bsdinstall/scripts/selectdists
> @@ -0,0 +1,73 @@
> +#!/bin/sh
> +#-
> +# Copyright (c) 2011 Nathan Whitehorn
> +# Copyright (c) 2013-2018 Devin Teske
> +# All rights reserved.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +#    notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above =
copyright
> +#    notice, this list of conditions and the following disclaimer in =
the
> +#    documentation and/or other materials provided with the =
distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' =
AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, =
THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR =
PURPOSE
> +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE =
LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR =
CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE =
GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS =
INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, =
STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN =
ANY WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY =
OF
> +# SUCH DAMAGE.
> +#
> +#
> +############################################################ INCLUDES
> +
> +BSDCFG_SHARE=3D"/usr/share/bsdconfig"
> +. $BSDCFG_SHARE/common.subr || exit 1
> +
> +############################################################ =
CONFIGURATION
> +
> +#
> +# Default distributions
> +#
> +DISTRIBUTIONS=3D"${DISTRIBUTIONS:-base.txz kernel.txz}"
> +
> +############################################################ MAIN
> +
> +if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
> + DISTMENU=3D`awk -F'\t' '!/^(kernel\.txz|base\.txz)/{print $1,$5,$6}' =
$BSDINSTALL_DISTDIR/MANIFEST`
> + DISTMENU=3D"$(echo ${DISTMENU} | sed -E 's/\.txz//g')"
> +
> + if [ -n "$DISTMENU" ]; then
> + EXTRA_DISTS=3D$( eval bsddialog \
> + --backtitle \"$OSNAME Installer\" \
> + --title \"Distribution Select\" --nocancel --separate-output \
> + --checklist \"Choose optional system components to install:\" \
> + 0 0 0 $DISTMENU \
> + 2>&1 >&3 )
> + for dist in $EXTRA_DISTS; do
> + DISTRIBUTIONS=3D"$DISTRIBUTIONS $dist.txz"
> + done
> + fi
> +fi
> +
> +FETCH_DISTRIBUTIONS=3D""
> +for dist in $DISTRIBUTIONS; do
> + if [ ! -f $BSDINSTALL_DISTDIR/$dist ]; then
> + FETCH_DISTRIBUTIONS=3D"$FETCH_DISTRIBUTIONS $dist"
> + fi
> +done
> +
> +if [ -n "$FETCH_DISTRIBUTIONS" -a -n "$BSDINSTALL_CONFIGCURRENT" ]; =
then
> + bsddialog --backtitle "$OSNAME Installer" --title "Network =
Installation" --msgbox "Some installation files were not found on the =
boot volume. The next few screens will allow you to configure networking =
so that they can be downloaded from the Internet." 0 0
> + bsdinstall netconfig || error
> + NETCONFIG_DONE=3Dyes
> +fi
> +
> +echo $DISTRIBUTIONS >&2
> diff --git a/usr.sbin/bsdinstall/startbsdinstall =
b/usr.sbin/bsdinstall/startbsdinstall
> index 63239c969ac6..8d9fb981c11d 100644
> --- a/usr.sbin/bsdinstall/startbsdinstall
> +++ b/usr.sbin/bsdinstall/startbsdinstall
> @@ -6,6 +6,7 @@
> : ${BSDDIALOG_EXTRA=3D3}
> : ${BSDDIALOG_ESC=3D5}
> : ${BSDDIALOG_ERROR=3D255}
> +export BSDINSTALL_USE_DISTRIBUTIONS=3Dy

I said it in the review and I=E2=80=99ll say it again here since you =
decided to
just ignore me: this does not belong here. Please remove it and fix the
default in selectdists.

Jess




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1D1F0A7A-C735-4D6F-B333-39920E84CD5D>