summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/BuildTools/bin/install.sh
blob: 840aa3385ff9cff39c943909fb366e4f1bc1e860 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/bin/sh

# Copyright (c) 1998 Sendmail, Inc.  All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
#	@(#)install.sh	8.9 (Berkeley) 5/19/1998

# Set default program
program=mv

# chown program -- ultrix keeps it in /etc/chown and /usr/etc/chown
if [ -f /etc/chown ]
then
	chown=/etc/chown
elif [ -f /usr/etc/chown ]
then
	chown=/usr/etc/chown
else
	chown=chown
fi

# Check arguments
while [ ! -z "$1" ]
do
	case $1
	in
	  -o)	owner=$2
		shift; shift
		;;

	  -g)	group=$2
		shift; shift
		;;

	  -m)	mode=$2
		shift; shift
		;;

	  -c)	program=cp
		shift
		;;

	  -s)	strip="strip"
		shift
		;;

	  -*)	echo $0: Unknown option $1
		exit 1
		;;

	  *)	break
		;;
	esac
done

# Check source file
if [ -z "$1" ]
then
	echo "Source file required" >&2
	exit 1
elif [ -f $1 -o $1 = /dev/null ]
then
	src=$1
else
	echo "Source file must be a regular file or /dev/null" >&2
	exit 1
fi

# Check destination
if [ -z "$2" ]
then
	echo "Destination required" >&2
	exit 1
elif [ -d $2 ]
then
	dst=$2/$src
else
	dst=$2
fi

# Do install operation
$program $src $dst
if [ $? != 0 ]
then
	exit 1
fi

# Strip if requested
if [ ! -z "$strip" ]
then
	$strip $dst
fi

# Change owner if requested
if [ ! -z "$owner" ]
then
	$chown $owner $dst
	if [ $? != 0 ]
	then
		exit 1
	fi
fi

# Change group if requested
if [ ! -z "$group" ]
then
	chgrp $group $dst
	if [ $? != 0 ]
	then
		exit 1
	fi
fi

# Change mode if requested
if [ ! -z "$mode" ]
then
	chmod $mode $dst
	if [ $? != 0 ]
	then
		exit 1
	fi
fi

exit 0
OpenPOWER on IntegriCloud