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