diff options
Diffstat (limited to 'ports-mgmt/portmk/scripts/options.sh')
-rw-r--r-- | ports-mgmt/portmk/scripts/options.sh | 299 |
1 files changed, 0 insertions, 299 deletions
diff --git a/ports-mgmt/portmk/scripts/options.sh b/ports-mgmt/portmk/scripts/options.sh deleted file mode 100644 index ce3115e5d72a..000000000000 --- a/ports-mgmt/portmk/scripts/options.sh +++ /dev/null @@ -1,299 +0,0 @@ -#!/bin/sh -e -# -# Copyright (c) 2004 Oliver Eikemeier. 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. -# -# 3. Neither the name of the author nor the names of its contributors may be -# used to endorse or promote products derived from this software without -# specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "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 -# COPYRIGHT OWNER 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. -# -# $FreeBSD$ -# -# MAINTAINER= eik@FreeBSD.org -# -# These variables are referenced and must be exported from the Makefile: -# -# CURDIR -# OBJDIR -# MASTERDIR -# OPTIONS_MASTER -# OPTIONS_OVERRIDE -# OPTIONS_FILE -# OPTIONS_CMD -# PKGNAME -# - -# utilities - -LOCALBASE="${LOCALBASE:-/usr/local}" - -AWK=/usr/bin/awk -CAT=/bin/cat -CHMOD=/bin/chmod -CP=/bin/cp -CUT=/usr/bin/cut -DIALOG=/usr/bin/dialog -EXPR=/bin/expr -FETCH=/usr/bin/fetch -GREP=/usr/bin/grep -LS=/bin/ls -MKDIR='/bin/mkdir -p' -MKTEMP=/usr/bin/mktemp -MV=/bin/mv -REALPATH=/bin/realpath -RM=/bin/rm -SED=/usr/bin/sed -SETENV=/usr/bin/env -SORT=/usr/bin/sort -TR=/usr/bin/tr -WC=/usr/bin/wc - -# global constants - -### utility functions ### - -### -# do_create generates default options for a master (or override) options files -### - -do_create() -{ - local rc - - if [ -n "$OPTIONS_OVERRIDE" ]; then - OVERRIDEFILE="$OPTIONS_DEFAULT" - elif [ "$CURDIR" != `$REALPATH "$MASTERDIR"` ]; then - if [ -f "$CURDIR/options" ]; then - OVERRIDEFILE="$CURDIR/options" - elif [ -n "$PKGNAMESUFFIX" -a -f "$MASTERDIR/options.${PKGNAMESUFFIX#-}" ]; then - OVERRIDEFILE="$MASTERDIR/options.${PKGNAMESUFFIX#-}" - else - OVERRIDEFILE= - fi - else - OVERRIDEFILE= - fi - - if [ -n "$OPTIONS_MASTER" ]; then - MASTERFILE="$OPTIONS_MASTER" - elif [ -f "$MASTERDIR/options" ]; then - MASTERFILE="$MASTERDIR/options" - else - echo ">> makeconfig: Can't find $MASTERDIR/options" >&2 - return 1 - fi - - if [ -n "$OVERRIDEFILE" ]; then - SRCFILE="$OVERRIDEFILE" - else - SRCFILE="$MASTERFILE" - fi - - if ! TMP_OPTIONS=`$MKTEMP -q "$SRCFILE.XXXXXX"`; then - echo ">> makeconfig: Can't create temporary options file" - return 1 - fi - - $SED -e '/^##/,$d' "$SRCFILE" > "$TMP_OPTIONS" - - echo "## AUTOMATICALLY GENERATED FILE - DO NOT CHANGE ANYTHING BELOW THIS LINE ##" >> "$TMP_OPTIONS" - echo "# use \`make config' to edit the local configuration" >> "$TMP_OPTIONS" - echo "# use \`make makeconfig' to edit the defaults (MAINTAINER only)" >> "$TMP_OPTIONS" - echo >> "$TMP_OPTIONS" - - if $OPTIONS_CMD -p "default" -M "$MASTERFILE" -O "$OVERRIDEFILE" -o >> "$TMP_OPTIONS"; then - $MV -f "$TMP_OPTIONS" "$SRCFILE" - $CHMOD a+r "$SRCFILE" - else - $RM -f "$TMP_OPTIONS" - fi - - return $rc -} - -### -# do_delete removes a saved configuration -### - -do_delete() -{ - local rc - - $RM -f "$OPTIONS_FILE" - - return $rc -} - -### -# do_edit edits a custom configuration -### - -do_edit() -{ - local rc - - OPTIONS_DIR="${OPTIONS_FILE%/*}" - if [ ! -d "$OPTIONS_DIR" ] && ! $MKDIR "$OPTIONS_DIR"; then - echo ">> config: Can't create $OPTIONS_DIR." 2>&1 - return 1 - fi - - if [ -n "$OPTIONS_OVERRIDE" ]; then - OVERRIDE="$OPTIONS_DEFAULT" - elif [ "$CURDIR" != `$REALPATH "$MASTERDIR"` ]; then - if [ -f "$CURDIR/options" ]; then - OVERRIDE="$CURDIR/options" - elif [ -n "$PKGNAMESUFFIX" -a -f "$MASTERDIR/options.${PKGNAMESUFFIX#-}" ]; then - OVERRIDE="$MASTERDIR/options.${PKGNAMESUFFIX#-}" - else - OVERRIDE= - fi - else - OVERRIDE= - fi - - if [ -n "$OPTIONS_MASTER" ]; then - MASTER="$OPTIONS_MASTER" - elif [ -f "$MASTERDIR/options" ]; then - MASTER="$MASTERDIR/options" - else - echo ">> makeconfig: Can't find $MASTERDIR/options" >&2 - return 1 - fi - - TMP_OPTIONS=`$MKTEMP -t options` - - $OPTIONS_CMD -p "$PKGNAME" -M "$MASTER" -O "$OVERRIDE" -g "$OPTIONS_FILE" -e > "$TMP_OPTIONS" - - ${EDITOR:-/usr/bin/vi} "$TMP_OPTIONS" - - TMP_OPTIONS_FILE=`$MKTEMP -q "$OPTIONS_FILE.XXXXXX"` - echo "## AUTOMATICALLY GENERATED FILE - DO NOT EDIT ##" > "$TMP_OPTIONS_FILE" - $OPTIONS_CMD -p "$PKGNAME" -M "$MASTER" -O "$OVERRIDE" -g "$OPTIONS_FILE" -t "$TMP_OPTIONS" -o >> "$TMP_OPTIONS_FILE" - $RM -f "$TMP_OPTIONS" - - $MV -f "$TMP_OPTIONS_FILE" "$OPTIONS_FILE" - $CHMOD a+r "$OPTIONS_FILE" - - return $rc -} - -### -# do_graphical displays a menu to generate a custom configuration -### - -do_graphical() -{ - local rc - - if [ -n "$OPTIONS_OVERRIDE" ]; then - OVERRIDE="$OPTIONS_DEFAULT" - elif [ "$CURDIR" != `$REALPATH "$MASTERDIR"` ]; then - if [ -f "$CURDIR/options" ]; then - OVERRIDE="$CURDIR/options" - elif [ -n "$PKGNAMESUFFIX" -a -f "$MASTERDIR/options.${PKGNAMESUFFIX#-}" ]; then - OVERRIDE="$MASTERDIR/options.${PKGNAMESUFFIX#-}" - else - OVERRIDE= - fi - else - OVERRIDE= - fi - - if [ -n "$OPTIONS_MASTER" ]; then - MASTER="$OPTIONS_MASTER" - elif [ -f "$MASTERDIR/options" ]; then - MASTER="$MASTERDIR/options" - else - echo ">> makeconfig: Can't find $MASTERDIR/options" >&2 - return 1 - fi - - TMP_OPTIONS=`$MKTEMP -t options` - - DIALOGRC=`$OPTIONS_CMD -p "$PKGNAME" -M "$MASTER" -O "$OVERRIDE" -g "$OPTIONS_FILE" -d` - - /bin/sh -c "$DIALOG --checklist \"Options for $PKGNAME\" 21 70 15 $DIALOGRC 2>\"$TMP_OPTIONS\"" - - #TMP_OPTIONS_FILE=`$MKTEMP -q "$OPTIONS_FILE.XXXXXX"` - #echo "## AUTOMATICALLY GENERATED FILE - DO NOT EDIT ##" > "$TMP_OPTIONS_FILE" - #$OPTIONS_CMD -p "$PKGNAME" -M "$MASTER" -O "$OVERRIDE" -g "$OPTIONS_FILE" -t "$TMP_OPTIONS" -o >> "$TMP_OPTIONS_FILE" - $CAT "$TMP_OPTIONS" - - $RM -f "$TMP_OPTIONS" - #$MV -f "$TMP_OPTIONS_FILE" "$OPTIONS_FILE" - - return $rc -} - -### -# do_list lists the current configuration -### - -do_list() -{ - local rc - - return $rc -} - -### -# main -### - -opt_create=false -opt_delete=false -opt_edit=false -opt_graphical=false -opt_list=false - -while getopts "cdegl" opt; do - case "$opt" in - c) opt_create=true;; - d) opt_delete=true;; - e) opt_edit=true;; - g) opt_graphical=true;; - l) opt_list=true;; - ?) echo "Usage: $0 -cdegl"; exit 1;; - esac -done - -shift $(($OPTIND-1)) - -$opt_create && - { do_create || exit 1; } - -$opt_delete && - { do_delete || exit 1; } - -$opt_edit && - { do_edit || exit 1; } - -$opt_graphical && - { do_graphical || exit 1; } - -$opt_list && - { do_list || exit 1; } - -exit 0 |