summaryrefslogtreecommitdiff
path: root/regress
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2007-06-20 16:26:20 +0000
committerjlam <jlam@pkgsrc.org>2007-06-20 16:26:20 +0000
commitc1991dfd013cafd17b33a87d3f47f3fdae10c882 (patch)
tree2210b0d48412c8c5ff29519453d07d9e508ec683 /regress
parent920dc8cdbf24c745cbd9a132e9c18b23252aa153 (diff)
downloadpkgsrc-c1991dfd013cafd17b33a87d3f47f3fdae10c882.tar.gz
Test the install-sh script from sysutils/install-sh instead of the local
one (which has actually migrated to sysutils/install-sh as of 20070620).
Diffstat (limited to 'regress')
-rw-r--r--regress/bootstrap-install-sh/Makefile18
-rwxr-xr-xregress/bootstrap-install-sh/files/install-sh284
2 files changed, 12 insertions, 290 deletions
diff --git a/regress/bootstrap-install-sh/Makefile b/regress/bootstrap-install-sh/Makefile
index b56cb7a736d..69618c67e1e 100644
--- a/regress/bootstrap-install-sh/Makefile
+++ b/regress/bootstrap-install-sh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2005/12/17 05:20:23 jlam Exp $
+# $NetBSD: Makefile,v 1.3 2007/06/20 16:26:20 jlam Exp $
DISTNAME= bootstrap-install-sh-0.0
CATEGORIES= regress
@@ -7,19 +7,25 @@ MASTER_SITES= # empty
DISTFILES= # empty
MAINTAINER= jlam@pkgsrc.org
-COMMENT= Test functionality of bootstrap install-sh
+COMMENT= Test functionality of sysutils/install-sh
EXTRACT_ONLY= # empty
-NO_CONFIGURE= yes
+NO_CHECKSUM= yes
+NO_BUILD= yes
NO_INSTALL= yes
NO_PACKAGE= yes
INSTALL_SH= ${WRKSRC}/install-sh
-regress: extract
post-extract:
- ${CP} ${FILESDIR}/install-sh ${INSTALL_SH}
- ${CHMOD} +x ${INSTALL_SH}
+ ${CP} ${PKGSRCDIR}/sysutils/install-sh/files/install-sh.in ${WRKSRC}
+
+do-configure:
+ ${SED} -e "s|@DEFAULT_INSTALL_MODE@|"${PKGDIRMODE}"|g" \
+ ${WRKSRC}/install-sh.in > ${WRKSRC}/install-sh
+ ${CHMOD} +x ${WRKSRC}/install-sh
+
+regress: configure
# create one directory using -d
regress: test-d1
diff --git a/regress/bootstrap-install-sh/files/install-sh b/regress/bootstrap-install-sh/files/install-sh
deleted file mode 100755
index 89c1e37e3d4..00000000000
--- a/regress/bootstrap-install-sh/files/install-sh
+++ /dev/null
@@ -1,284 +0,0 @@
-#!/bin/sh
-#
-# $NetBSD: install-sh,v 1.1.1.1 2005/05/08 09:51:26 jlam Exp $
-# This script now also installs multiple files, but might choke on installing
-# multiple files with spaces in the file names.
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-stripflags=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-msrc=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -S) stripcmd="$stripprog"
- stripflags="-S $2 $stripflags"
- shift
- shift
- continue;;
-
- -t=*) transformarg=`echo "$1" | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo "$1" | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$msrc" = x ]
- then
- msrc="$dst"
- else
- msrc="$msrc $dst"
- fi
- src="$dst"
- dst="$1"
- shift
- continue;;
- esac
-done
-
-if [ x"$dir_arg" = x ]
-then
- dstisfile=""
- if [ ! -d "$dst" ]
- then
- if [ x"$msrc" = x"$src" ]
- then
- dstisfile=true
- else
- echo "install: destination is not a directory"
- exit 1
- fi
- fi
-else
- msrc="$msrc $dst"
-fi
-
-if [ x"$msrc" = x ]
-then
- echo "install: no destination specified"
- exit 1
-fi
-
-for srcarg in $msrc; do
-
-if [ x"$dir_arg" != x ]; then
-
- dstarg="$srcarg"
-else
- dstarg="$dst"
-
-# Waiting for this to be detected by the "$instcmd $srcarg $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f "$srcarg" ]
- then
- doinst="$instcmd"
- elif [ -d "$srcarg" ]
- then
- echo "install: $srcarg: not a regular file"
- exit 1
- elif [ "$srcarg" = "/dev/null" ]
- then
- doinst="$cpprog"
- else
- echo "install: $srcarg does not exist"
- exit 1
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d "$dstarg" ]
- then
- dstarg="$dstarg"/`basename "$srcarg"`
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo "$dstarg" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $doit $mkdirprog "${pathcomp}"
- if [ x"$chowncmd" != x ]; then $doit $chowncmd "${pathcomp}"; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "${pathcomp}"; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "${pathcomp}"; else true ; fi
-
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
- if [ x"$dir_arg" != x ]
- then
- if [ -d "$dstarg" ]; then
- true
- else
- $doit $mkdirprog "$dstarg" &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dstarg"; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dstarg"; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dstarg"; else true ; fi
- fi
- else
-
-# If we're going to rename the final file, determine the name now.
-
- if [ x"$dstisfile" = x ]
- then
- file=$srcarg
- else
- file=$dst
- fi
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename "$file"`
- else
- dstfile=`basename "$file" "$transformbasename" |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename "$file"`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $doinst $srcarg "$dsttmp" &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $stripflags "$dsttmp"; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f "$dstdir/$dstfile" &&
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
- fi
-
-done &&
-
-
-exit 0