pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/regress/bootstrap-install-sh Test the install-sh scrip...
details: https://anonhg.NetBSD.org/pkgsrc/rev/e5d8c1f8dc6c
branches: trunk
changeset: 530264:e5d8c1f8dc6c
user: jlam <jlam%pkgsrc.org@localhost>
date: Wed Jun 20 16:26:20 2007 +0000
description:
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:
regress/bootstrap-install-sh/Makefile | 18 +-
regress/bootstrap-install-sh/files/install-sh | 284 --------------------------
2 files changed, 12 insertions(+), 290 deletions(-)
diffs (truncated from 328 to 300 lines):
diff -r 3bcf1b977aca -r e5d8c1f8dc6c regress/bootstrap-install-sh/Makefile
--- a/regress/bootstrap-install-sh/Makefile Wed Jun 20 16:18:36 2007 +0000
+++ b/regress/bootstrap-install-sh/Makefile Wed Jun 20 16:26:20 2007 +0000
@@ -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 @@
DISTFILES= # empty
MAINTAINER= jlam%pkgsrc.org@localhost
-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 -r 3bcf1b977aca -r e5d8c1f8dc6c regress/bootstrap-install-sh/files/install-sh
--- a/regress/bootstrap-install-sh/files/install-sh Wed Jun 20 16:18:36 2007 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -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.$$#
Home |
Main Index |
Thread Index |
Old Index