mirror of
https://github.com/Fishwaldo/build.git
synced 2025-06-26 08:09:09 +00:00
Rework build configuration dialogs
Remove wheezy and trusty options from release selection menu
This commit is contained in:
parent
f0d2425929
commit
89ab53bea5
1 changed files with 27 additions and 21 deletions
48
main.sh
48
main.sh
|
@ -94,11 +94,11 @@ fi
|
|||
prepare_host
|
||||
|
||||
# if KERNEL_ONLY, BOARD, BRANCH or RELEASE are not set, display selection menu
|
||||
|
||||
if [[ -z $KERNEL_ONLY ]]; then
|
||||
options+=("yes" "Kernel, u-boot and other packages")
|
||||
options+=("no" "Full OS image for writing to SD card")
|
||||
KERNEL_ONLY=$(dialog --stdout --title "Choose an option" --backtitle "$backtitle" --no-tags --menu "Select what to build" $TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
options+=("yes" "Kernel and u-boot packages")
|
||||
options+=("no" "OS image for installation to SD card")
|
||||
KERNEL_ONLY=$(dialog --stdout --title "Choose an option" --backtitle "$backtitle" --no-tags --menu "Select what to build" \
|
||||
$TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
unset options
|
||||
[[ -z $KERNEL_ONLY ]] && exit_with_error "No option selected"
|
||||
fi
|
||||
|
@ -108,7 +108,8 @@ if [[ -z $BOARD ]]; then
|
|||
for board in $SRC/lib/config/boards/*.conf; do
|
||||
options+=("$(basename $board | cut -d'.' -f1)" "$(head -1 $board | cut -d'#' -f2)")
|
||||
done
|
||||
BOARD=$(dialog --stdout --title "Choose a board" --backtitle "$backtitle" --scrollbar --menu "Select one of supported boards" $TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
BOARD=$(dialog --stdout --title "Choose a board" --backtitle "$backtitle" --scrollbar --menu "Select the target board" \
|
||||
$TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
unset options
|
||||
[[ -z $BOARD ]] && exit_with_error "No board selected"
|
||||
fi
|
||||
|
@ -119,14 +120,16 @@ source $SRC/lib/config/boards/$BOARD.conf
|
|||
|
||||
if [[ -z $BRANCH ]]; then
|
||||
options=()
|
||||
[[ $KERNEL_TARGET == *default* ]] && options+=("default" "3.4.x - 3.14.x legacy")
|
||||
[[ $KERNEL_TARGET == *next* ]] && options+=("next" "Latest stable @kernel.org")
|
||||
[[ $KERNEL_TARGET == *dev* ]] && options+=("dev" "Latest dev @kernel.org")
|
||||
[[ $KERNEL_TARGET == *default* ]] && options+=("default" "Vendor provided / legacy (3.4.x - 4.4.x)")
|
||||
[[ $KERNEL_TARGET == *next* ]] && options+=("next" "Mainline (@kernel.org) (4.x)")
|
||||
[[ $KERNEL_TARGET == *dev* ]] && options+=("dev" "Development version (4.x)")
|
||||
# do not display selection dialog if only one kernel branch is available
|
||||
if [[ "${#options[@]}" == 2 ]]; then
|
||||
BRANCH="${options[0]}"
|
||||
else
|
||||
BRANCH=$(dialog --stdout --title "Choose a kernel" --backtitle "$backtitle" --menu "Select one of supported kernels" $TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
BRANCH=$(dialog --stdout --title "Choose a kernel" --backtitle "$backtitle" \
|
||||
--menu "Select the target kernel branch\nExact kernel versions depend on selected board" \
|
||||
$TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
fi
|
||||
unset options
|
||||
[[ -z $BRANCH ]] && exit_with_error "No kernel branch selected"
|
||||
|
@ -134,30 +137,32 @@ else
|
|||
[[ $KERNEL_TARGET != *$BRANCH* ]] && exit_with_error "Kernel branch not defined for this board" "$BRANCH"
|
||||
fi
|
||||
|
||||
# wheezy and trusty targets are obsolete, but still accessible via command line arguments
|
||||
# or custom configuration files
|
||||
if [[ $KERNEL_ONLY != yes && -z $RELEASE ]]; then
|
||||
options=()
|
||||
options+=("wheezy" "Debian 7 Wheezy (oldstable)")
|
||||
options+=("jessie" "Debian 8 Jessie (stable)")
|
||||
options+=("trusty" "Ubuntu Trusty 14.04.x LTS")
|
||||
options+=("xenial" "Ubuntu Xenial 16.04.x LTS")
|
||||
RELEASE=$(dialog --stdout --title "Choose a release" --backtitle "$backtitle" --menu "Select one of the supported releases" $TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
#options+=("wheezy" "Debian 7 Wheezy")
|
||||
options+=("jessie" "Debian 8 Jessie")
|
||||
#options+=("trusty" "Ubuntu Trusty 14.04 LTS")
|
||||
options+=("xenial" "Ubuntu Xenial 16.04 LTS")
|
||||
RELEASE=$(dialog --stdout --title "Choose a release" --backtitle "$backtitle" --menu "Select the target OS release" \
|
||||
$TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
unset options
|
||||
[[ -z $RELEASE ]] && exit_with_error "No release selected"
|
||||
fi
|
||||
|
||||
if [[ $KERNEL_ONLY != yes && -z $BUILD_DESKTOP && "jessie xenial" == *$RELEASE* ]]; then
|
||||
options=()
|
||||
options+=("no" "Image with console interface")
|
||||
options+=("no" "Image with console interface (server)")
|
||||
options+=("yes" "Image with desktop environment")
|
||||
BUILD_DESKTOP=$(dialog --stdout --title "Choose image type" --backtitle "$backtitle" --no-tags --menu "Select image type" $TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
BUILD_DESKTOP=$(dialog --stdout --title "Choose image type" --backtitle "$backtitle" --no-tags --menu "Select the target image type" \
|
||||
$TTY_Y $TTY_X $(($TTY_Y - 8)) "${options[@]}")
|
||||
unset options
|
||||
[[ -z $BUILD_DESKTOP ]] && exit_with_error "No option selected"
|
||||
fi
|
||||
|
||||
source $SRC/lib/configuration.sh
|
||||
|
||||
display_alert "Starting Armbian build script" "@host" "info"
|
||||
|
||||
# sync clock
|
||||
if [[ $SYNC_CLOCK != no ]]; then
|
||||
display_alert "Syncing clock" "host" "info"
|
||||
|
@ -165,11 +170,10 @@ if [[ $SYNC_CLOCK != no ]]; then
|
|||
fi
|
||||
start=`date +%s`
|
||||
|
||||
# fetch_from_repo <url> <dir> <ref> <subdir_flag>
|
||||
|
||||
[[ $CLEAN_LEVEL == *sources* ]] && cleaning "sources"
|
||||
|
||||
# ignore updates help on building all images - for internal purposes
|
||||
# fetch_from_repo <url> <dir> <ref> <subdir_flag>
|
||||
if [[ $IGNORE_UPDATES != yes ]]; then
|
||||
display_alert "Downloading sources" "" "info"
|
||||
fetch_from_repo "$BOOTSOURCE" "$BOOTDIR" "$BOOTBRANCH" "yes"
|
||||
|
@ -214,9 +218,11 @@ overlayfs_wrapper "cleanup"
|
|||
VER=$(dpkg --info $DEST/debs/${CHOSEN_KERNEL}_${REVISION}_${ARCH}.deb | grep Descr | awk '{print $(NF)}')
|
||||
VER="${VER/-$LINUXFAMILY/}"
|
||||
|
||||
# create board support package
|
||||
# TODO: check and remove last part of the condition (! -d)
|
||||
[[ -n $RELEASE && ! -f $DEST/debs/$RELEASE/${CHOSEN_ROOTFS}_${REVISION}_${ARCH}.deb && ! -d $DEST/debs/$RELEASE/${CHOSEN_ROOTFS}_${REVISION}_${ARCH} ]] && create_board_package
|
||||
|
||||
# chroot-buildpackages
|
||||
# build additional packages
|
||||
[[ $EXTERNAL_NEW == compile ]] && chroot_build_packages
|
||||
|
||||
if [[ $KERNEL_ONLY != yes ]]; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue