source: trunk/third/flex/install.sh @ 16044

Revision 16044, 2.1 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16043, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#!/bin/sh
2
3#
4# install - install a program, script, or datafile
5# This comes from X11R5; it is not part of GNU.
6#
7# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
8#
9# This script is compatible with the BSD install script, but was written
10# from scratch.
11#
12
13
14# set DOITPROG to echo to test this script
15
16# Don't use :- since 4.3BSD and earlier shells don't like it.
17doit="${DOITPROG-}"
18
19
20# put in absolute paths if you don't have them in your path; or use env. vars.
21
22mvprog="${MVPROG-mv}"
23cpprog="${CPPROG-cp}"
24chmodprog="${CHMODPROG-chmod}"
25chownprog="${CHOWNPROG-chown}"
26chgrpprog="${CHGRPPROG-chgrp}"
27stripprog="${STRIPPROG-strip}"
28rmprog="${RMPROG-rm}"
29
30instcmd="$mvprog"
31chmodcmd=""
32chowncmd=""
33chgrpcmd=""
34stripcmd=""
35rmcmd="$rmprog -f"
36mvcmd="$mvprog"
37src=""
38dst=""
39
40while [ x"$1" != x ]; do
41    case $1 in
42        -c) instcmd="$cpprog"
43            shift
44            continue;;
45
46        -m) chmodcmd="$chmodprog $2"
47            shift
48            shift
49            continue;;
50
51        -o) chowncmd="$chownprog $2"
52            shift
53            shift
54            continue;;
55
56        -g) chgrpcmd="$chgrpprog $2"
57            shift
58            shift
59            continue;;
60
61        -s) stripcmd="$stripprog"
62            shift
63            continue;;
64
65        *)  if [ x"$src" = x ]
66            then
67                src=$1
68            else
69                dst=$1
70            fi
71            shift
72            continue;;
73    esac
74done
75
76if [ x"$src" = x ]
77then
78        echo "install:  no input file specified"
79        exit 1
80fi
81
82if [ x"$dst" = x ]
83then
84        echo "install:  no destination specified"
85        exit 1
86fi
87
88
89# If destination is a directory, append the input filename; if your system
90# does not like double slashes in filenames, you may need to add some logic
91
92if [ -d $dst ]
93then
94        dst="$dst"/`basename $src`
95fi
96
97# Make a temp file name in the proper directory.
98
99dstdir=`dirname $dst`
100dsttmp=$dstdir/#inst.$$#
101
102# Move or copy the file name to the temp name
103
104$doit $instcmd $src $dsttmp
105
106# and set any options; do chmod last to preserve setuid bits
107
108if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
109if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
110if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
111if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
112
113# Now rename the file to the real destination.
114
115$doit $rmcmd $dst
116$doit $mvcmd $dsttmp $dst
117
118
119exit 0
Note: See TracBrowser for help on using the repository browser.