View | Details | Raw Unified | Return to bug 139132
Collapse All | Expand All

(-)heartbeat/Makefile (+1 lines)
Lines 93-98 Link Here
93
93
94
pre-patch:
94
pre-patch:
95
	@${MV} ${WRKDIR}/Heartbeat-STABLE-2-1-${DISTNAME} ${WRKSRC}
95
	@${MV} ${WRKDIR}/Heartbeat-STABLE-2-1-${DISTNAME} ${WRKSRC}
96
	@${CP} -f ${FILESDIR}/heartbeat.in ${WRKSRC}/heartbeat/init.d/
96
97
97
post-patch:
98
post-patch:
98
	@${LN} -s ${WRKSRC}/include/config.h ${WRKSRC}/config.h
99
	@${LN} -s ${WRKSRC}/include/config.h ${WRKSRC}/config.h
(-)heartbeat/files/heartbeat.in (+211 lines)
Line 0 Link Here
1
#!/bin/sh
2
#
3
4
# PROVIDE: heartbeat
5
# REQUIRE: LOGIN
6
# KEYWORD: shutdown
7
8
#
9
# Add the following line to /etc/rc.conf to enable heartbeat:
10
#
11
# heartbeat_enable="YES"		Set to NO by default.
12
#								Set to YES to enable heartbeat.
13
# heartbeat_gracefulstop="YES"	Set to NO by default.
14
#								Set to YES to enable more graceful resource
15
#								stopping behaviour at shutdown.
16
17
# Includes
18
. /etc/rc.subr
19
HA_DIR=@sysconfdir@/ha.d; export HA_DIR
20
. $HA_DIR/shellfuncs
21
22
LOCKDIR=@localstatedir@/lock/subsys
23
SUBSYS=heartbeat
24
RUNDIR=@localstatedir@/run
25
26
name="heartbeat"
27
rcvar=`set_rcvar`
28
29
load_rc_config $name
30
: ${heartbeat_enable="NO"}
31
: ${heartbeat_gracefulstop="NO"}
32
33
start_cmd="${name}_start"
34
stop_cmd="${name}_stop"
35
reload_cmd="${name}_reload"
36
restart_cmd="${name}_restart"
37
gracefulstop_cmd="${name}_gracefulstop"
38
command="$HA_BIN/heartbeat"
39
pidfile="$RUNDIR/heartbeat.pid"
40
required_files="$HA_DIR/ha.cf"
41
42
if [ "$heartbeat_gracefulstop" = "YES" ]; then
43
	stop_cmd="${name}_gracefulstop"
44
fi
45
46
heartbeat_checkyesno() {
47
	case `ha_parameter $1 | tr '[A-Z]' '[a-z]'` in
48
	
49
		y|yes|enable|on|true|1|manual) true;;
50
		
51
		*) false;;
52
	esac
53
}
54
55
heartbeat_gracefulstop() {
56
	# Run cluster pre-stop
57
	heartbeat_runstartstop pre-stop
58
59
	# Stop heartbeat daemon
60
	$HA_BIN/heartbeat -k >/dev/null 2>&1
61
	RC=$?
62
63
	sleeptime=$((`ha_parameter deadtime` + 10))
64
	
65
	echo -n "Sleeping $sleeptime seconds to allow complete resource takeover: "
66
	sleep $sleeptime
67
	echo "OK"
68
69
	# ???
70
	if [ $RC -eq 0 ]; then
71
		rm -f $LOCKDIR/$SUBSYS
72
	fi
73
74
	# Run cluster post-stop
75
	heartbeat_runstartstop post-stop $RC
76
77
	# Stop Logd
78
	logd_stop
79
80
	return $RC
81
}
82
83
heartbeat_reload() {
84
	# Re-reads configuration files. Will *keep* it's resources.
85
	$HA_BIN/heartbeat -r >/dev/null 2>&1
86
}
87
88
heartbeat_restart() {
89
	sleeptime=$((`ha_parameter deadtime` + 10))
90
	
91
	if `heartbeat_stop`; then
92
		echo -n "Sleeping $sleeptime seconds to allow complete resource takeover: "
93
		sleep $sleeptime
94
		echo "OK"
95
		echo ""
96
		echo "Starting heartbeat."
97
		heartbeat_start
98
	else
99
		echo "Heartbeat did not stop correctly."
100
		exit 1
101
	fi
102
}
103
104
heartbeat_runstartstop() {
105
	# Run custom cluster commands before/after operations
106
	if [ -f $HA_RESOURCEDIR/startstop ]; then
107
		$HA_RESOURCEDIR/startstop  "$@"
108
	fi
109
}
110
111
heartbeat_start() {
112
113
	# Start Logd
114
	logd_start
115
	
116
	# Run cluster pre-startup
117
	heartbeat_runstartstop pre-start
118
	
119
	# Check if CRM enabled
120
	if ! `heartbeat_checkyesno crm`; then
121
	
122
		# Heartbeat v1 configuration
123
		$HA_NOARCHBIN/ResourceManager verifyallidle
124
	fi
125
	
126
	# ???
127
	rm -f $RUNDIR/ppp.d/*
128
129
	if [ ! -d $RUNDIR/heartbeat ]; then
130
		mkdir -p $RUNDIR/heartbeat/ccm
131
		mkdir -p $RUNDIR/heartbeat/crm
132
		chown -R @HA_CCMUSER@:@HA_APIGROUP@ $RUNDIR/heartbeat
133
		chmod -R 750 $RUNDIR/heartbeat
134
	fi
135
136
	# Heartbeat v1 configuration files
137
	if [ -f $HA_DIR/ipresources -a ! -f $HA_DIR/haresources ]; then
138
		mv $HA_DIR/ipresources $HA_DIR/haresources
139
	fi
140
141
	# Start heartbeat daemon
142
	$HA_BIN/heartbeat > /dev/null 2>&1
143
	RC=$?
144
	
145
	# ???
146
	if [ $RC -eq 0 ]; then
147
		if [ ! -d $LOCKDIR ]; then
148
			mkdir -p $LOCKDIR
149
		fi
150
		touch $LOCKDIR/$SUBSYS
151
	fi
152
153
	# Run cluster post-startup
154
	heartbeat_runstartstop post-start $RC
155
156
	return $RC
157
}
158
159
heartbeat_stop() {
160
	# Run cluster pre-stop
161
	heartbeat_runstartstop pre-stop
162
163
	# Stop heartbeat daemon
164
	$HA_BIN/heartbeat -k >/dev/null 2>&1
165
	RC=$?
166
167
	# ???
168
	if [ $RC -eq 0 ]; then
169
		rm -f $LOCKDIR/$SUBSYS
170
	fi
171
172
	# Run cluster post-stop
173
	heartbeat_runstartstop post-stop $RC
174
175
	# Stop Logd
176
	logd_stop
177
178
	return $RC
179
}
180
181
logd_start() {
182
	# Check if enabled.
183
	if `heartbeat_checkyesno use_logd`; then
184
185
		# Check if running
186
		if ! `$HA_BIN/ha_logd -s >/dev/null 2>&1`; then
187
188
			# Start
189
			if ! `$HA_BIN/ha_logd -d -c $HA_DIR/logd.cf >/dev/null 2>&1`; then
190
				exit 1
191
			fi
192
		fi
193
	fi
194
}
195
196
logd_stop() {
197
	# Check if enabled.
198
	if `heartbeat_checkyesno use_logd`; then
199
200
		# Check if running
201
		if `$HA_BIN/ha_logd -s >/dev/null 2>&1`; then
202
203
			# Stop
204
			$HA_BIN/ha_logd -k >/dev/null 2>&1
205
		fi
206
	fi
207
}
208
209
extra_commands="reload gracefulstop"
210
run_rc_command "$1"
211
(-)heartbeat/files/patch-heartbeat-init.d-heartbeat.in (-39 lines)
Lines 1-39 Link Here
1
--- heartbeat/init.d/heartbeat.in.orig	2008-08-18 07:32:19.000000000 -0500
2
+++ heartbeat/init.d/heartbeat.in	2008-10-16 02:49:27.000000000 -0500
3
@@ -45,6 +45,27 @@
4
 ### END INIT INFO
5
 
6
 
7
+# FreeBSD
8
+# PROVIDE: heartbeat
9
+# REQUIRE: LOGIN
10
+# KEYWORD: shutdown
11
+
12
+# Add the following line to /etc/rc.conf to enable heartbeat:
13
+# heartbeat_enable="YES"
14
+
15
+. /etc/rc.subr
16
+name="heartbeat"
17
+rcvar='set_rcvar'
18
+load_rc_config $name
19
+: ${heartbeat_enable="NO"}
20
+
21
+if ! checkyesno "heartbeat_enable"; then
22
+	exit 0
23
+fi
24
+
25
+set `echo $1 | sed s/fast//`
26
+
27
+
28
 HA_DIR=@sysconfdir@/ha.d; export HA_DIR
29
 CONFIG=$HA_DIR/ha.cf
30
 . $HA_DIR/shellfuncs
31
@@ -161,7 +182,7 @@
32
     fi
33
     
34
 
35
-    $HA_BIN/ha_logd -d >/dev/null 2>&1
36
+    $HA_BIN/ha_logd -d -c $HA_DIR/logd.cf >/dev/null 2>&1
37
     if 
38
 	[ $? -ne 0 ]
39
     then

Return to bug 139132