summaryrefslogtreecommitdiff
path: root/lib/acinstall
blob: 2bd0badca2f98597aced3b143e9ef408e8e8a758 (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
#! /bin/sh

# Install an aclocal-style M4 file.  A script is needed to do this
# because we want to do serial-number checking; newer versions of
# macro files should always be preferred.

# Usage:
#  acinstall file directory installprogram [install-args]...

# Copyright 1996 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

file="$1"
dir="$2"
shift
shift

localserial=`grep '^# serial ' $file | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
if test -z "$localserial"; then
   echo "acinstall: no serial number in $file" 1>&2
   exit 1
fi

# Maybe if the installed file has no serial number we should just
# assume it is ancient.
instserial=`grep '^# serial ' $dir/$file | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
if test -z "$instserial"; then
   echo "acinstall: no serial number in $dir/$file" 1>&2
   exit 1
fi

if test $localserial -lt $instserial; then
   # Installed file is newer.
   exit 0
fi

# Install the file.
$* $file $dir/$file