summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2005-07-29 18:32:17 +0000
committerjlam <jlam@pkgsrc.org>2005-07-29 18:32:17 +0000
commit7f9ad8c688694b59ce8fe49f44c895097f6d57bb (patch)
treed95985cff341d15fd04e23c8993836a50f19ab9a
parent778ada342d9f6ddb60be87e7a1abf218e057d47b (diff)
downloadpkgsrc-7f9ad8c688694b59ce8fe49f44c895097f6d57bb.tar.gz
* Separate out the shell registration into a separately unpacked script
+SHELL. * Turn PKG_REGISTER_SHELLS into a variable that can be set in the shell environment so that admins can make a choice when installing from binary packages. * PKG_SHELL is now a list of paths, and if the path is relative, then it is taken to be relative to ${PREFIX}. Convert packages that set PKG_SHELL to take advantage of this new feature by changing the full paths to the shells into relative paths.
-rw-r--r--mk/install/bsd.pkginstall.mk52
-rw-r--r--mk/install/deinstall17
-rw-r--r--mk/install/header14
-rw-r--r--mk/install/install18
-rw-r--r--mk/install/shell188
-rw-r--r--shells/ast-ksh/Makefile.common4
-rw-r--r--shells/bash/Makefile4
-rw-r--r--shells/bash2/Makefile4
-rw-r--r--shells/es/Makefile4
-rw-r--r--shells/esh/Makefile4
-rw-r--r--shells/osh/Makefile4
-rw-r--r--shells/pdksh/Makefile4
-rw-r--r--shells/perlsh/Makefile4
-rw-r--r--shells/posh/Makefile4
-rw-r--r--shells/rc/Makefile4
-rw-r--r--shells/rssh/Makefile4
-rw-r--r--shells/scponly/Makefile4
-rw-r--r--shells/scsh/Makefile4
-rw-r--r--shells/standalone-tcsh/Makefile4
-rw-r--r--shells/tcsh/Makefile4
-rw-r--r--shells/xsh/Makefile4
-rw-r--r--shells/zsh/Makefile.common4
-rw-r--r--shells/zsh3/Makefile4
23 files changed, 294 insertions, 67 deletions
diff --git a/mk/install/bsd.pkginstall.mk b/mk/install/bsd.pkginstall.mk
index 6c811bf8d37..561462eeaa3 100644
--- a/mk/install/bsd.pkginstall.mk
+++ b/mk/install/bsd.pkginstall.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkginstall.mk,v 1.3 2005/07/27 04:55:43 jlam Exp $
+# $NetBSD: bsd.pkginstall.mk,v 1.4 2005/07/29 18:32:18 jlam Exp $
#
# This Makefile fragment is included by bsd.pkg.mk to use the common
# INSTALL/DEINSTALL scripts. To use this Makefile fragment, simply:
@@ -399,6 +399,42 @@ ${INSTALL_DIRS_FILE}: ../../mk/install/dirs
) > ${.TARGET}.tmp; \
${MV} -f ${.TARGET}.tmp ${.TARGET}
+# PKG_SHELL contains the pathname of the shell that should be added or
+# removed from the shell database, /etc/shells. If the pathname
+# is relative, then it is taken to be relative to ${PREFIX}.
+#
+PKG_SHELL?= # empty
+
+INSTALL_SHELL_FILE= ${WRKDIR}/.install-shell
+INSTALL_UNPACK_TMPL+= ${INSTALL_SHELL_FILE}
+
+${INSTALL_SHELL_FILE}: ../../mk/install/shell
+ ${_PKG_SILENT}${_PKG_DEBUG}( \
+ eval set -- ${PKG_SHELL} ; \
+ ${TEST} $$# -gt 0 || exit 0; \
+ ${ECHO} "# start of install-shell"; \
+ ${ECHO} "#"; \
+ ${ECHO} "# Generate a +SHELL script that handles shell registration."; \
+ ${ECHO} "#"; \
+ ${ECHO} "case \$${STAGE} in"; \
+ ${ECHO} "PRE-INSTALL|UNPACK)"; \
+ ${ECHO} " \$${CAT} > ./+SHELL << 'EOF_SHELL'"; \
+ ${SED} ${FILES_SUBST_SED} ../../mk/install/shell; \
+ ${ECHO} ""; \
+ eval set -- ${PKG_SHELL} ; \
+ while ${TEST} $$# -gt 0; do \
+ i="$$1"; shift; \
+ ${ECHO} "# SHELL: $$i"; \
+ done; \
+ ${ECHO} "EOF_SHELL"; \
+ ${ECHO} " \$${CHMOD} +x ./+SHELL"; \
+ ${ECHO} " ;;"; \
+ ${ECHO} "esac"; \
+ ${ECHO} ""; \
+ ${ECHO} "# end of install-shell"; \
+ ) > ${.TARGET}.tmp; \
+ ${MV} -f ${.TARGET}.tmp ${.TARGET}
+
# PKG_CREATE_USERGROUP indicates whether the INSTALL script should
# automatically add any needed users/groups to the system using
# useradd/groupadd. It is either YES or NO and defaults to YES.
@@ -413,26 +449,20 @@ ${INSTALL_DIRS_FILE}: ../../mk/install/dirs
# to ${RCD_SCRIPTS_DIR}. It is either YES or NO and defaults to
# NO. This variable only takes effect if ${PKG_CONFIG} == "YES".
#
+# PKG_REGISTER_SHELLS indicates whether to automatically register shells
+# in /etc/shells. It is either YES or NO and defaults to YES.
+#
# These values merely set the defaults for INSTALL/DEINSTALL scripts, but
# they may be overridden by resetting them in the environment.
#
PKG_CREATE_USERGROUP?= YES
PKG_CONFIG?= YES
PKG_RCD_SCRIPTS?= NO
+PKG_REGISTER_SHELLS?= YES
FILES_SUBST+= PKG_CREATE_USERGROUP=${PKG_CREATE_USERGROUP}
FILES_SUBST+= PKG_CONFIG=${PKG_CONFIG}
FILES_SUBST+= PKG_RCD_SCRIPTS=${PKG_RCD_SCRIPTS}
-
-# PKG_REGISTER_SHELLS indicates whether to automatically register shells
-# in /etc/shells. It is either YES or NO and defaults to YES.
-#
-# PKG_SHELL contains the full pathname of the shell being installed.
-#
-
-PKG_REGISTER_SHELLS?= YES
-PKG_SHELL?= # empty
FILES_SUBST+= PKG_REGISTER_SHELLS=${PKG_REGISTER_SHELLS}
-FILES_SUBST+= PKG_SHELL=${PKG_SHELL:Q}
# Substitute for various programs used in the DEINSTALL/INSTALL scripts and
# in the rc.d scripts.
diff --git a/mk/install/deinstall b/mk/install/deinstall
index 26f51d0b18a..aa492660a65 100644
--- a/mk/install/deinstall
+++ b/mk/install/deinstall
@@ -1,7 +1,7 @@
# -*- sh -*-
# start of deinstall
#
-# $NetBSD: deinstall,v 1.34 2005/07/27 16:18:54 jlam Exp $
+# $NetBSD: deinstall,v 1.35 2005/07/29 18:32:18 jlam Exp $
case ${STAGE} in
VIEW-DEINSTALL)
@@ -20,12 +20,15 @@ VIEW-DEINSTALL)
esac
;;
esac
- if [ -n "${PKG_SHELL}" -a "${PKG_REGISTER_SHELLS}" = "YES" ]; then
- ${ECHO} "===> Updating /etc/shells"
- ${CP} /etc/shells /etc/shells.pkgsrc."$$"
- (${GREP} -v "^${PKG_SHELL}" /etc/shells.pkgsrc."$$" || ${TRUE}) > /etc/shells
- ${RM} /etc/shells.pkgsrc."$$"
- fi
+ #
+ # Remove shells from /etc/shells.
+ #
+ case ${_PKG_REGISTER_SHELLS} in
+ YES) ${TEST} ! -x ./+SHELL ||
+ ./+SHELL REMOVE ${PKG_METADATA_DIR} ;;
+ esac
+ ${TEST} ! -x ./+SHELL ||
+ ./+SHELL CHECK-REMOVE ${PKG_METADATA_DIR}
;;
DEINSTALL)
diff --git a/mk/install/header b/mk/install/header
index 12cf1600253..fbe8d9ac935 100644
--- a/mk/install/header
+++ b/mk/install/header
@@ -2,7 +2,7 @@
#
# start of header
#
-# $NetBSD: header,v 1.32 2005/02/02 10:33:01 jlam Exp $
+# $NetBSD: header,v 1.33 2005/07/29 18:32:18 jlam Exp $
PKGNAME=$1
STAGE=$2
@@ -71,9 +71,6 @@ case ${VIEW} in
*) PKG_SYSCONFVIEWBASE="${PKG_SYSCONFBASE}/${VIEW}" ;;
esac
-PKG_REGISTER_SHELLS="@PKG_REGISTER_SHELLS@"
-PKG_SHELL="@PKG_SHELL@"
-
CONF_IGNORE_FILES="*[~#] *.OLD *.orig *,v .pkgsrc */.pkgsrc"
PKG_INSTALLATION_TYPE="@PKG_INSTALLATION_TYPE@"
@@ -105,4 +102,13 @@ case "${PKG_RCD_SCRIPTS:-@PKG_RCD_SCRIPTS@}" in
;;
esac
+case "${PKG_REGISTER_SHELLS:-@PKG_REGISTER_SHELLS@}" in
+[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+ _PKG_REGISTER_SHELLS=YES
+ ;;
+[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
+ _PKG_REGISTER_SHELLS=NO
+ ;;
+esac
+
# end of header
diff --git a/mk/install/install b/mk/install/install
index 6f9a51a5f48..3e37342a9bf 100644
--- a/mk/install/install
+++ b/mk/install/install
@@ -1,7 +1,7 @@
# -*- sh -*-
# start of install
#
-# $NetBSD: install,v 1.39 2005/07/27 16:18:54 jlam Exp $
+# $NetBSD: install,v 1.40 2005/07/29 18:32:18 jlam Exp $
case ${STAGE} in
PRE-INSTALL)
@@ -71,14 +71,16 @@ POST-INSTALL)
;;
VIEW-INSTALL)
- if [ -n "${PKG_SHELL}" -a "${PKG_REGISTER_SHELLS}" = "YES" ]; then
- ${ECHO} "===> Updating /etc/shells"
- ${TOUCH} /etc/shells
- ${CP} /etc/shells /etc/shells.pkgsrc."$$"
- (${GREP} -v "^${PKG_SHELL}" /etc/shells.pkgsrc."$$" || ${TRUE}; ${ECHO} ${PKG_SHELL}) > /etc/shells
- ${RM} /etc/shells.pkgsrc."$$"
- fi
#
+ # Register shells in /etc/shells.
+ #
+ case ${_PKG_REGISTER_SHELLS} in
+ YES) ${TEST} ! -x ./+SHELL ||
+ ./+SHELL ADD ${PKG_METADATA_DIR} ;;
+ esac
+ ${TEST} ! -x ./+SHELL ||
+ ./+SHELL CHECK-ADD ${PKG_METADATA_DIR}
+
# If ${PKG_SYSCONFBASE} points outside of ${PREFIX}, then add the
# package config files to the proper view.
#
diff --git a/mk/install/shell b/mk/install/shell
new file mode 100644
index 00000000000..6991cc2e900
--- /dev/null
+++ b/mk/install/shell
@@ -0,0 +1,188 @@
+#!@SH@
+#
+# $NetBSD: shell,v 1.1 2005/07/29 18:32:18 jlam Exp $
+#
+# +SHELL - shell registration script
+#
+# Usage: ./+SHELL ADD|REMOVE [metadatadir]
+# ./+SHELL CHECK-ADD|CHECK-REMOVE [metadatadir]
+#
+# This script supports two actions, ADD and REMOVE, that will add or
+# remove shell paths from the shell database in /etc/shells. The
+# CHECK-ADD action will check whether shell paths provided by the
+# package are missing from the shell database, and print an informative
+# message noting those shell paths. The CHECK-REMOVE action will check
+# whether shell paths provided by the package are still present in the
+# shell database, and print an informative message noting those shell
+# paths. The CHECK-ADD and CHECK-REMOVE actions return non-zero if
+# they detect either missing or existing paths, respectively.
+#
+# Lines starting with "# SHELL: " are data read by this script that
+# name the shell paths that should be added or removed from the shell
+# database. If the path is relative, then it is taken to be relative
+# to ${PKG_PREFIX}.
+#
+# # SHELL: bin/pdksh
+#
+CAT="@CAT@"
+CP="@CP@"
+ECHO="@ECHO@"
+GREP="@GREP@"
+PWD_CMD="@PWD_CMD@"
+RM="@RM@"
+SED="@SED@"
+SORT="@SORT@"
+TEST="@TEST@"
+TOUCH="@TOUCH@"
+
+SELF=$0
+ACTION=$1
+
+PKG_METADATA_DIR="${2-`${PWD_CMD}`}"
+: ${PKG_PREFIX=@PREFIX@}
+: ${PKGNAME=${PKG_METADATA_DIR##*/}}
+
+exitcode=0
+case $ACTION in
+ADD)
+ ${SED} -n "/^\# SHELL: /{s/^\# SHELL: //;p;}" ${SELF} | ${SORT} -u |
+ { while read shell; do
+ case $shell in
+ /*) continue ;;
+ *) shell="${PKG_PREFIX}/$shell" ;;
+ esac
+ ${TEST} -f "$shell" || continue
+
+ shelldb="/etc/shells"
+ if ${TEST} -f "$shelldb" && \
+ ${GREP} "^$shell" $shelldb >/dev/null; then
+ :
+ else
+ case "$printed_header" in
+ yes) ;;
+ *) printed_header=yes
+ ${ECHO} "==========================================================================="
+ ${ECHO} "Adding shells from ${PKGNAME} to $shelldb:"
+ ${ECHO} ""
+ ;;
+ esac
+ ${ECHO} " $shell"
+ ${TOUCH} $shelldb
+ ${CP} $shelldb $shelldb.pkgsrc."$$"
+ { ${CAT} $shelldb.pkgsrc."$$"; ${ECHO} "$shell"; } > $shelldb
+ ${RM} $shelldb.pkgsrc."$$"
+ fi
+ done
+ case "$printed_header" in
+ yes) ${ECHO} ""
+ ${ECHO} "==========================================================================="
+ ;;
+ esac; }
+ ;;
+
+REMOVE)
+ ${SED} -n "/^\# SHELL: /{s/^\# SHELL: //;p;}" ${SELF} | ${SORT} -u |
+ { while read shell; do
+ case $shell in
+ /*) continue ;;
+ *) shell="${PKG_PREFIX}/$shell" ;;
+ esac
+ ${TEST} -f "$shell" || continue
+
+ shelldb="/etc/shells"
+ if ${TEST} -f "$shelldb" && \
+ ${GREP} "^$shell" $shelldb >/dev/null; then
+ case "$printed_header" in
+ yes) ;;
+ *) printed_header=yes
+ ${ECHO} "==========================================================================="
+ ${ECHO} "Removing shells from ${PKGNAME} to $shelldb:"
+ ${ECHO} ""
+ ;;
+ esac
+ ${ECHO} " $shell"
+ ${TOUCH} $shelldb
+ ${CP} $shelldb $shelldb.pkgsrc."$$"
+ { ${GREP} -v "^$shell" $shelldb.pkgsrc."$$" || ${TRUE}; } > $shelldb
+ ${RM} $shelldb.pkgsrc."$$"
+ fi
+ done
+ case "$printed_header" in
+ yes) ${ECHO} ""
+ ${ECHO} "==========================================================================="
+ ;;
+ esac; }
+ ;;
+
+CHECK-ADD)
+ ${SED} -n "/^\# SHELL: /{s/^\# SHELL: //;p;}" ${SELF} | ${SORT} -u |
+ { while read shell; do
+ case $shell in
+ /*) continue ;;
+ *) shell="${PKG_PREFIX}/$shell" ;;
+ esac
+ ${TEST} -f "$shell" || continue
+
+ shelldb="/etc/shells"
+ if ${TEST} -f "$shelldb" && \
+ ${GREP} "^$shell" $shelldb >/dev/null; then
+ :
+ else
+ case "$printed_header" in
+ yes) ;;
+ *) printed_header=yes
+ ${ECHO} "==========================================================================="
+ ${ECHO} "The following lines can be added to $shelldb:"
+ ${ECHO} ""
+ ;;
+ esac
+ ${ECHO} " $shell"
+ fi
+ done
+ case "$printed_header" in
+ yes) ${ECHO} ""
+ ${ECHO} "==========================================================================="
+ exit 1
+ ;;
+ esac; }
+ ${TEST} $? -eq 0 || exitcode=1
+ ;;
+
+CHECK-REMOVE)
+ ${SED} -n "/^\# SHELL: /{s/^\# SHELL: //;p;}" ${SELF} | ${SORT} -u |
+ { while read shell; do
+ case $shell in
+ /*) continue ;;
+ *) shell="${PKG_PREFIX}/$shell" ;;
+ esac
+ ${TEST} -f "$shell" || continue
+
+ shelldb="/etc/shells"
+ if ${TEST} -f "$shelldb" && \
+ ${GREP} "^$shell" $shelldb >/dev/null; then
+ case "$printed_header" in
+ yes) ;;
+ *) printed_header=yes
+ ${ECHO} "==========================================================================="
+ ${ECHO} "The following lines can be removed from $shelldb:"
+ ${ECHO} ""
+ ;;
+ esac
+ ${ECHO} " $shell"
+ fi
+ done
+ case "$printed_header" in
+ yes) ${ECHO} ""
+ ${ECHO} "==========================================================================="
+ exit 1
+ ;;
+ esac; }
+ ${TEST} $? -eq 0 || exitcode=1
+ ;;
+
+*)
+ ${ECHO} "Usage: ./+SHELL ADD|REMOVE [metadatadir]"
+ ${ECHO} " ./+SHELL CHECK-ADD|CHECK-REMOVE [metadatadir]"
+ ;;
+esac
+exit $exitcode
diff --git a/shells/ast-ksh/Makefile.common b/shells/ast-ksh/Makefile.common
index aef5337ccae..1a560de7b55 100644
--- a/shells/ast-ksh/Makefile.common
+++ b/shells/ast-ksh/Makefile.common
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.14 2005/06/17 03:50:33 jlam Exp $
+# $NetBSD: Makefile.common,v 1.15 2005/07/29 18:32:17 jlam Exp $
DISTNAME= ast-ksh-${ASTKSH_VERSION}
PKGNAME= ast-ksh-${ASTKSH_VERSION:S/-//g}
@@ -34,7 +34,7 @@ MAKE_FLAGS= CC="${CC}" CCFLAGS="${CFLAGS}"
PDKSH= /bin/ksh
.endif
-PKG_SHELL= ${PREFIX}/bin/ksh93
+PKG_SHELL= bin/ksh93
INSTALLATION_DIRS= bin man/man1
diff --git a/shells/bash/Makefile b/shells/bash/Makefile
index d307b6138de..8f7843c543a 100644
--- a/shells/bash/Makefile
+++ b/shells/bash/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.10 2005/07/07 21:30:54 tron Exp $
+# $NetBSD: Makefile,v 1.11 2005/07/29 18:32:17 jlam Exp $
DISTNAME= bash-3.0
PKGNAME= bash-3.0pl16
@@ -30,7 +30,7 @@ TEST_TARGET= test
INFO_FILES= bash.info
-PKG_SHELL= ${PREFIX}/bin/bash
+PKG_SHELL= bin/bash
# All features enabled by default.
CONFIGURE_ARGS+= --enable-readline
diff --git a/shells/bash2/Makefile b/shells/bash2/Makefile
index 3853b2d3c54..c3a14eb5c81 100644
--- a/shells/bash2/Makefile
+++ b/shells/bash2/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.64 2005/07/01 16:11:05 minskim Exp $
+# $NetBSD: Makefile,v 1.65 2005/07/29 18:32:17 jlam Exp $
#
DISTNAME= bash-2.05b
@@ -27,7 +27,7 @@ CONFIGURE_ARGS+= --with-installed-readline
MAKE_ENV+= INSTALL_SCRIPT='${INSTALL_SCRIPT}'
TEST_TARGET= test
-PKG_SHELL= ${PREFIX}/bin/bash
+PKG_SHELL= bin/bash
.include "../../mk/bsd.prefs.mk"
diff --git a/shells/es/Makefile b/shells/es/Makefile
index c3e04d8b735..dff56d63da3 100644
--- a/shells/es/Makefile
+++ b/shells/es/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.14 2005/03/24 21:13:00 wiz Exp $
+# $NetBSD: Makefile,v 1.15 2005/07/29 18:32:17 jlam Exp $
DISTNAME= es-0.9-alpha1
PKGNAME= es-0.9a1
@@ -11,6 +11,6 @@ HOMEPAGE= http://hawkwind.utcs.utoronto.ca:8001/mlists/es.html
COMMENT= Extensible shell, derived from plan9's rc
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/es
+PKG_SHELL= bin/es
.include "../../mk/bsd.pkg.mk"
diff --git a/shells/esh/Makefile b/shells/esh/Makefile
index f5012fc93ad..65f216986ba 100644
--- a/shells/esh/Makefile
+++ b/shells/esh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.19 2005/06/17 03:50:33 jlam Exp $
+# $NetBSD: Makefile,v 1.20 2005/07/29 18:32:17 jlam Exp $
DISTNAME= esh-0.8
CATEGORIES= shells
@@ -11,7 +11,7 @@ INFO_FILES= esh.info
WRKSRC= ${WRKDIR}/esh
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/esh
+PKG_SHELL= bin/esh
INSTALLATION_DIRS= bin info
do-install:
diff --git a/shells/osh/Makefile b/shells/osh/Makefile
index 4c8e74f05a7..34bcbb2341b 100644
--- a/shells/osh/Makefile
+++ b/shells/osh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.11 2005/04/11 21:47:21 tv Exp $
+# $NetBSD: Makefile,v 1.12 2005/07/29 18:32:17 jlam Exp $
DISTNAME= osh-050131
CATEGORIES= shells
@@ -11,7 +11,7 @@ COMMENT= Implementation of the UNIX 6th Edition shell
PKG_INSTALLATION_TYPES= overwrite pkgviews
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/osh
+PKG_SHELL= bin/osh
TEST_TARGET= check
diff --git a/shells/pdksh/Makefile b/shells/pdksh/Makefile
index 419e616387a..139a4cb6015 100644
--- a/shells/pdksh/Makefile
+++ b/shells/pdksh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.8 2005/04/11 21:47:21 tv Exp $
+# $NetBSD: Makefile,v 1.9 2005/07/29 18:32:18 jlam Exp $
#
DISTNAME= pdksh-5.2.14
@@ -21,6 +21,6 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS= --program-prefix=pd
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/pdksh
+PKG_SHELL= bin/pdksh
.include "../../mk/bsd.pkg.mk"
diff --git a/shells/perlsh/Makefile b/shells/perlsh/Makefile
index 7b7127d1ba6..cca7fb581cc 100644
--- a/shells/perlsh/Makefile
+++ b/shells/perlsh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.9 2005/07/13 18:01:40 jlam Exp $
+# $NetBSD: Makefile,v 1.10 2005/07/29 18:32:18 jlam Exp $
# Cjep: Makefile,v 1.3 2003/04/20 16:21:44 cjep Exp
DISTNAME= psh-1.8
@@ -16,7 +16,7 @@ DEPENDS+= p5-Term-ReadLine>=1.12:../../devel/p5-Term-ReadLine
DEPENDS+= p5-BSD-Resource>=1.15:../../devel/p5-BSD-Resource
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/psh
+PKG_SHELL= bin/psh
PERL5_PACKLIST= auto/psh/.packlist
diff --git a/shells/posh/Makefile b/shells/posh/Makefile
index 06092e556a4..5146c5a6802 100644
--- a/shells/posh/Makefile
+++ b/shells/posh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2005/04/11 21:47:21 tv Exp $
+# $NetBSD: Makefile,v 1.5 2005/07/29 18:32:18 jlam Exp $
#
DISTNAME= posh_0.3.14
@@ -13,7 +13,7 @@ COMMENT= Debian Policy-compliant Ordinary SHell
PKG_INSTALLATION_TYPES= overwrite pkgviews
GNU_CONFIGURE= YES
-PKG_SHELL= ${PREFIX}/bin/posh
+PKG_SHELL= bin/posh
USE_PKGINSTALL= YES
WRKSRC= ${WRKDIR}/${PKGNAME}
diff --git a/shells/rc/Makefile b/shells/rc/Makefile
index f8ebbc47f4d..b8baa9cc5b2 100644
--- a/shells/rc/Makefile
+++ b/shells/rc/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.17 2005/03/24 21:13:00 wiz Exp $
+# $NetBSD: Makefile,v 1.18 2005/07/29 18:32:18 jlam Exp $
DISTNAME= rc-1.6
CATEGORIES= shells plan9
@@ -12,6 +12,6 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-history
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/rc
+PKG_SHELL= bin/rc
.include "../../mk/bsd.pkg.mk"
diff --git a/shells/rssh/Makefile b/shells/rssh/Makefile
index 1ea24be42cd..3317d3c364b 100644
--- a/shells/rssh/Makefile
+++ b/shells/rssh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1.1.1 2005/04/20 16:21:15 seb Exp $
+# $NetBSD: Makefile,v 1.2 2005/07/29 18:32:18 jlam Exp $
#
DISTNAME= rssh-2.2.3
@@ -21,7 +21,7 @@ PKG_SKIP_REASON+= "${PKGNAME} requires wordexp(3)"
EGDIR= ${PREFIX}/share/examples/rssh
INSTALLATION_DIRS= share/examples/rssh
CONF_FILES= ${EGDIR}/rssh.conf ${PKG_SYSCONFDIR}/rssh.conf
-PKG_SHELL?= ${PREFIX}/bin/rssh
+PKG_SHELL?= bin/rssh
SPECIAL_PERMS+= ${PREFIX}/libexec/rssh_chroot_helper ${SETUID_ROOT_PERMS}
diff --git a/shells/scponly/Makefile b/shells/scponly/Makefile
index 1886694d033..6a9b784a74e 100644
--- a/shells/scponly/Makefile
+++ b/shells/scponly/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2005/06/24 19:52:06 kristerw Exp $
+# $NetBSD: Makefile,v 1.5 2005/07/29 18:32:18 jlam Exp $
DISTNAME= scponly-4.0
PKGREVISION= 1
@@ -29,7 +29,7 @@ CONFIGURE_ENV+= scponly_PROG_RM="${TOOLS_RM}"
CONFIGURE_ENV+= scponly_PROG_RMDIR="${TOOLS_RMDIR}"
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/scponly
+PKG_SHELL= bin/scponly
PKG_SYSCONFSUBDIR= scponly
EGDIR= ${PREFIX}/share/examples/scponly
diff --git a/shells/scsh/Makefile b/shells/scsh/Makefile
index 79cc5a1698f..84be450d68d 100644
--- a/shells/scsh/Makefile
+++ b/shells/scsh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.30 2005/07/17 15:11:36 kristerw Exp $
+# $NetBSD: Makefile,v 1.31 2005/07/29 18:32:18 jlam Exp $
DISTNAME= scsh-0.6.6
CATEGORIES= shells lang
@@ -16,7 +16,7 @@ BUILD_TARGET= enough
TEST_TARGET= check
USE_PKGINSTALL= yes
-PKG_SHELL= ${PREFIX}/bin/scsh
+PKG_SHELL= bin/scsh
# Build references from dumped environment variables is not a problem.
CHECK_WRKREF_SKIP+= ${PREFIX}/lib/scsh/scsh.image
diff --git a/shells/standalone-tcsh/Makefile b/shells/standalone-tcsh/Makefile
index 22c6df7d5a8..80f2e668a8f 100644
--- a/shells/standalone-tcsh/Makefile
+++ b/shells/standalone-tcsh/Makefile
@@ -1,12 +1,10 @@
-# $NetBSD: Makefile,v 1.15 2005/02/24 12:19:13 wiz Exp $
+# $NetBSD: Makefile,v 1.16 2005/07/29 18:32:18 jlam Exp $
#
NO_MTREE= YES
PKGNAME= standalone-${DISTNAME}
-PKG_SHELL= /bin/tcsh
-
WRKSRC= ${WRKDIR}/${DISTNAME}
PATCHDIR= ${.CURDIR}/../../shells/tcsh/patches
diff --git a/shells/tcsh/Makefile b/shells/tcsh/Makefile
index 525b0db199e..92310281318 100644
--- a/shells/tcsh/Makefile
+++ b/shells/tcsh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.50 2005/04/28 23:29:06 jlam Exp $
+# $NetBSD: Makefile,v 1.51 2005/07/29 18:32:18 jlam Exp $
#
DISTNAME= tcsh-6.14.00
@@ -32,7 +32,7 @@ OS_VER_cmd= ${ECHO} ${OS_VERSION} | ${SED} -e 's|5\.|2.|'
LOWER_OPSYS= solaris${OS_VER_cmd:sh}
.endif
-PKG_SHELL?= ${PREFIX}/bin/tcsh
+PKG_SHELL?= bin/tcsh
post-install:
@${ECHO} "Installing message catalogues"
diff --git a/shells/xsh/Makefile b/shells/xsh/Makefile
index c1470f6ffef..68201f2d8f2 100644
--- a/shells/xsh/Makefile
+++ b/shells/xsh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.5 2005/07/16 01:19:20 jlam Exp $
+# $NetBSD: Makefile,v 1.6 2005/07/29 18:32:18 jlam Exp $
DISTNAME= XML-XSH-1.8.2
PKGNAME= ${DISTNAME:S/XML-XSH/xsh/}
@@ -17,7 +17,7 @@ DEPENDS+= p5-XML-NodeFilter-[0-9]*:../../textproc/p5-XML-NodeFilter
DEPENDS+= p5-XML-LibXML-XPathContext-[0-9]*:../../textproc/p5-XML-LibXML-XPathContext
USE_TOOLS+= gmake
-PKG_SHELL= ${PREFIX}/bin/xsh
+PKG_SHELL= bin/xsh
PERL5_PACKLIST= auto/XML/XSH/.packlist
diff --git a/shells/zsh/Makefile.common b/shells/zsh/Makefile.common
index 8b8a95a62b2..4dcdcc23992 100644
--- a/shells/zsh/Makefile.common
+++ b/shells/zsh/Makefile.common
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.24 2005/06/14 18:39:29 minskim Exp $
+# $NetBSD: Makefile.common,v 1.25 2005/07/29 18:32:18 jlam Exp $
DISTNAME= zsh-${ZSH_VERSION}
CATEGORIES= shells
@@ -74,7 +74,7 @@ CONFIGURE_ARGS+=--with-tcsetpgrp
.undef MANZ
-PKG_SHELL= ${PREFIX}/bin/zsh
+PKG_SHELL= bin/zsh
INSTALL_TARGET= install install.info
diff --git a/shells/zsh3/Makefile b/shells/zsh3/Makefile
index d48fd0d7eec..d870afb75f2 100644
--- a/shells/zsh3/Makefile
+++ b/shells/zsh3/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.13 2005/04/11 21:47:21 tv Exp $
+# $NetBSD: Makefile,v 1.14 2005/07/29 18:32:18 jlam Exp $
#
DISTNAME= zsh-3.0.8
@@ -27,6 +27,6 @@ BUILD_DEFS+= ZSH_STATIC
LDFLAGS+= -static
.endif
-PKG_SHELL= ${PREFIX}/bin/zsh
+PKG_SHELL= bin/zsh
.include "../../mk/bsd.pkg.mk"