-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcave-man-install.sh
executable file
·75 lines (65 loc) · 1.91 KB
/
cave-man-install.sh
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
#!/bin/sh -e
##########################################################################
#
# Perform a cave-man install for development and testing purposes.
# For production use, this software should be installed via a package
# manager such as Debian packages, FreeBSD ports, MacPorts, pkgsrc, etc.
#
# History:
# Date Name Modification
# 2021-07-12 Jason Bacon Begin
##########################################################################
# Default to ../local if PREFIX is not set
# Don't set a default LOCALBASE. Must be empty for check below.
: ${PREFIX:=../local}
# OS-dependent tricks
# Set rpath to avoid picking up libs installed by package managers in
# /usr/local/lib, etc.
PREFIX=../local
CFLAGS="-Wall -g -O"
case $(uname) in
FreeBSD|OpenBSD|DragonFly)
: ${LOCALBASE:=/usr/local}
;;
*)
# Use system pkgsrc munge, running as a service
if [ -e /usr/pkg ]; then
export LOCALBASE=/usr/pkg
elif [ -e /opt/pkg ]; then
export LOCALBASE=/opt/pkg
fi
# Need separate LOCALBASE to find munge installed by FreeBSD ports or pkgsrc
if [ -z "$LOCALBASE" ]; then
if [ -e ~/Pkgsrc/pkgsrc ]; then
if ! pkg_info munge; then
(cd ~/Pkgsrc/pkgsrc/wip/munge && sbmake install)
fi
LOCALBASE=~/Pkgsrc/pkg
elif which pkgin; then
if ! pkg_info munge; then
runas root pkgin install munge
fi
LOCALBASE=/usr/pkg
fi
fi
export LOCALBASE PREFIX
printf "LOCALBASE = $LOCALBASE PREFIX = $PREFIX\n"
;;
esac
PREFIX=$(realpath $PREFIX)
LOCALBASE=$(realpath $LOCALBASE)
rpl=$PREFIX/lib
rll=$LOCALBASE/lib
export LDFLAGS="-L. -L$rpl -L$rll -Wl,-rpath,$rpl:$rll:/usr/lib:/lib"
if [ $(uname) = SunOS ]; then
export LDFLAGS="$LDFLAGS -lsocket -lnsl"
fi
export PREFIX LOCALBASE
make clean install
: ${TTY:=`tty`}
: ${EDITOR:=vi}
config=$PREFIX/etc/lpjs/config
if [ ! -e $config ]; then
cp $config.sample $config
$EDITOR $config < $TTY
fi