Add gcc40 build hooks. Gcc40 isn't built per default, you will have to
[dragonfly.git] / etc / rc.d / virecover
1 #!/bin/sh
2 #
3 # $NetBSD: virecover,v 1.6 2002/03/22 04:34:00 thorpej Exp $
4 # $FreeBSD: src/etc/rc.d/virecover,v 1.5 2003/05/05 09:53:32 mtm Exp $
5 # $DragonFly: src/etc/rc.d/virecover,v 1.3 2004/06/22 20:37:02 cpressey Exp $
6 #
7
8 # PROVIDE: virecover
9 # REQUIRE: mountcritremote ldconfig
10 # BEFORE:  DAEMON
11 # KEYWORD: DragonFly
12 #
13 # XXX: should require `mail'!
14
15 . /etc/rc.subr
16
17 name="virecover"
18 stop_cmd=":"
19 start_cmd="virecover_start"
20
21 virecover_start()
22 {
23         if [ ! -d /var/tmp/vi.recover ]; then
24                 mkdir /var/tmp/vi.recover
25                 chown root:wheel /var/tmp/vi.recover
26                 chmod 1777 /var/tmp/vi.recover
27         fi
28         find /var/tmp/vi.recover ! -type f -a ! -type d -delete
29         vibackup=`echo /var/tmp/vi.recover/vi.*`
30         if [ "${vibackup}" != '/var/tmp/vi.recover/vi.*' ]; then
31                 echo -n 'Recovering vi editor sessions:'
32                 for i in /var/tmp/vi.recover/vi.*; do
33                         # Only test files that are readable.
34                         if [ ! -r "${i}" ]; then
35                                 continue
36                         fi
37
38                         # Unmodified nvi editor backup files either have the
39                         # execute bit set or are zero length.  Delete them.
40                         if [ -x "${i}" -o ! -s "${i}" ]; then
41                                 rm -f "${i}"
42                         fi
43                 done
44
45                 # It is possible to get incomplete recovery files, if the editor
46                 # crashes at the right time.
47                 virecovery=`echo /var/tmp/vi.recover/recover.*`
48                 if [ "${virecovery}" != "/var/tmp/vi.recover/recover.*" ]; then
49                         for i in /var/tmp/vi.recover/recover.*; do
50                                 # Only test files that are readable.
51                                 if [ ! -r "${i}" ]; then
52                                         continue
53                                 fi
54
55                                 # Delete any recovery files that are zero length,
56                                 # corrupted, or that have no corresponding backup file.
57                                 # Else send mail to the user.
58                                 recfile=`awk '/^X-vi-recover-path:/{print $2}' < "${i}"`
59                                 if [ -n "${recfile}" -a -s "${recfile}" ]; then
60                                         sendmail -t < "${i}"
61                                 else
62                                         rm -f "${i}"
63                                 fi
64                         done
65                 fi
66                 echo '.'
67         fi
68 }
69
70 load_rc_config $name
71 run_rc_command "$1"