mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 09:36:41 -04:00
On some terminal, namely "putty" and "linux", the unicode capability are not properly exposed, resulting in a not so nice UI, forcing the env to be unicode friendly with executing the DIDALOG commnands make the output nice in those environements
50 lines
1.8 KiB
Bash
50 lines
1.8 KiB
Bash
#! /bin/sh
|
|
# Maintainer: portmgr@FreeBSD.org
|
|
set -e
|
|
set -o pipefail
|
|
|
|
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DIALOG4PORTS}" ] && set -x
|
|
|
|
if [ -z "${DIALOG4PORTS}" -o -z "${PORTSDIR}" -o -z "${MAKE}" ]; then
|
|
echo "DIALOG4PORTS, MAKE and PORTSDIR required in environment." >&2
|
|
exit 1
|
|
fi
|
|
|
|
: ${DIALOGPORT:=ports-mgmt/portconfig}
|
|
: ${DIALOGNAME:=portconfig}
|
|
|
|
OPTIONSFILE="$1"
|
|
|
|
if ! [ -e $DIALOG4PORTS ]; then
|
|
# If INSTALL_AS_USER is set then just build and use the WRKDIR version
|
|
# Also do this if PREFIX!=LOCALBASE to avoid missing file or double
|
|
# installs
|
|
if [ -n "${INSTALL_AS_USER}" -o "${PREFIX}" != "${LOCALBASE}" ]; then
|
|
if ! [ -d "${PORTSDIR}/${DIALOGPORT}" ]; then
|
|
echo "===> Skipping 'config' as ${DIALOGPORT} is not checked out" >&2
|
|
exit 1
|
|
fi
|
|
DIALOG4PORTS=$(${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -V DIALOG4PORTS)
|
|
if ! [ -e "${DIALOG4PORTS}" ]; then
|
|
echo "===> Building ${DIALOGNAME} as it is required for the config dialog"
|
|
${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -D NO_DIALOG clean build
|
|
fi
|
|
else
|
|
# Build+install through su-install as normal
|
|
echo "===> Building/installing ${DIALOGNAME} as it is required for the config dialog"
|
|
${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -D NO_DIALOG clean install
|
|
# Need to clean again as it can't run twice in 1 call above
|
|
${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -D NO_DIALOG clean
|
|
fi
|
|
fi
|
|
|
|
# Backwards compat with older version which used stdout [<= 0.1.1] (or stderr [0.1.2]).
|
|
# Clear environment of PKGNAME or the dialog will show on older versions
|
|
# that do not understand -v.
|
|
if ! env -u PKGNAME ${DIALOG4PORTS} -v > /dev/null 2>&1; then
|
|
exec env LC_ALL=C.UTF-8 $DIALOG4PORTS > $OPTIONSFILE 2>&1
|
|
fi
|
|
|
|
# Newer versions use stderr to work around a jail issue
|
|
# http://lists.freebsd.org/pipermail/freebsd-ports/2013-March/082383.html
|
|
exec env LC_ALL=C.UTF-8 $DIALOG4PORTS 2> $OPTIONSFILE
|