dtinfo other files
[oweals/cde.git] / cde / admin / IntegTools / post_install / dec / configMin.src
1 XCOMM! /bin/ksh
2 XCOMM #######
3 XCOMM  Product: CDE
4 XCOMM  Fileset: CDE-MIN
5 XCOMM  configure
6 XCOMM  @(#) $XConsortium: configMin.src /main/3 1996/04/23 20:38:09 drk $
7 XCOMM #######
8 #define HASH #
9
10 PRODUCT=CDE
11 FILESET=CDE-MIN
12 DO_CONFIGURATION=""
13 retval=0
14
15 FixEtcServices()
16 {
17 FILE=/etc/services
18 TMPFILE=/tmp/services
19
20 XCOMM
21 XCOMM check for existence of /etc/services
22 XCOMM
23
24     if [ ! -f $FILE ]   # highly unlikely
25     then
26         echo "" >$FILE
27     fi
28
29 XCOMM
30 XCOMM see if it already exists
31 XCOMM
32
33     awk '{if ($1 == "dtspc")
34                 print $0 > "/tmp/dtspc-already-there"
35          }' $FILE >/dev/null
36
37     if [ ! -f /tmp/dtspc-already-there ]
38     then
39         echo "dtspc\t\t6112/tcp\t#subprocess control" >>$FILE
40     else
41         rm /tmp/dtspc-already-there
42     fi
43
44 XCOMM
45 XCOMM remove legacy entries like dtspcd
46 XCOMM
47
48     awk '{if ($1 == "dtspcd" || $1 == "#dtspcd")
49                 ;
50           else
51                 print $0
52          }' $FILE >$TMPFILE
53
54     cp $TMPFILE $FILE
55     rm $TMPFILE
56 }
57
58 UnfixEtcServices()
59 {
60 FILE=/etc/services
61 TMPFILE=/tmp/services
62
63     awk '{if ($1 == "dtspc" && $2 == "6112/tcp")
64                 ;
65           else
66                 print $0
67          }' $FILE >$TMPFILE
68
69     cp $TMPFILE $FILE
70     rm $TMPFILE
71 }
72
73 FixEtcInetdDotConf()
74 {
75 FILE=/etc/inetd.conf
76 TMPFILE=/tmp/inetd.conf
77
78 XCOMM
79 XCOMM check for existence of /etc/inetd.conf
80 XCOMM
81
82     if [ ! -f $FILE ]   # highly unlikely
83     then
84         echo "" >$FILE
85     fi
86
87 XCOMM
88 XCOMM Desired entry:
89 XCOMM dtspc stream tcp nowait root /usr/dt/bin/dtspcd dtspcd
90 XCOMM
91
92 XCOMM
93 XCOMM see if it already exists
94 XCOMM
95
96     awk '{if ($1 == "dtspc")
97                 print $0 > "/tmp/dtspc-already-there"
98          }' $FILE >/dev/null
99
100     DTSPCD=CDE_INSTALLATION_TOP/bin/dtspcd
101
102     if [ ! -f /tmp/dtspc-already-there ]
103     then
104         echo "dtspc stream tcp nowait root $DTSPCD dtspcd" >>$FILE
105     else
106         rm /tmp/dtspc-already-there
107     fi
108
109 XCOMM
110 XCOMM remove legacy entries like dtspcd
111 XCOMM
112
113     awk '{if ($1 == "dtspcd" || $1 == "#dtspcd")
114                 ;
115           else
116                 print $0
117          }' $FILE >$TMPFILE
118
119     cp $TMPFILE $FILE
120     rm $TMPFILE
121 }
122
123 UnfixEtcInetdDotConf()
124 {
125 FILE=/etc/inetd.conf
126 TMPFILE=/tmp/inetd.conf
127
128     awk '{if ($1 == "dtspc")
129                 ;
130           else
131                 print $0
132          }' $FILE >$TMPFILE
133
134     cp $TMPFILE $FILE
135     rm $TMPFILE
136 }
137
138 RemoveMinFiles()
139 {
140     while read SRC
141     do
142       if [ "$SRC" != "" ]
143       then
144         rm -f $SRC
145         dirname=${SRC%/STAR}
146         if [ -d $dirname ]
147         then
148           cd $dirname
149           while [ "$dirname" != "$CDE_TOP" ]
150           do
151             cd ..
152             rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
153             dirname=${dirname%/STAR}
154           done
155         fi
156       fi
157     done <<-EOF
158 #include "CDE-MIN.list"
159         EOF
160 }
161
162 VerifyInstalledFiles()
163 {
164     echo "Status   mode    owner   group   filename"
165     echo "-----------------------------------------"
166 XCOMM     exists  correct correct correct  /usr/dt/foo1
167 XCOMM     MISSING  WRONG   WRONG   WRONG   /usr/dt/foo2
168 XCOMM        exists    the link is correct    /usr/dt/link
169
170     while read SRC
171     do
172 #include "../verify.func"
173     done <<-EOF
174 #include "CDE-MIN.lst"
175         EOF
176 }
177
178 #include "../option.func"
179
180 XCOMM ###############################################################
181 XCOMM
182 XCOMM Main Body
183 XCOMM
184 XCOMM ###############################################################
185
186   HandleOption $*
187
188   if [ "$OPERATION" = "configure" ]
189   then
190
191     FixEtcServices
192
193     FixEtcInetdDotConf
194
195     HASH
196     HASH  create the /var/dt/tmp directory for the dtspcd
197     HASH
198
199     if [ ! -d CDE_LOGFILES_TOP/tmp ]
200     then
201         mkdir -p CDE_LOGFILES_TOP/tmp
202     fi
203
204   elif [ "$OPERATION" = "deconfigure" ]
205   then
206
207     UnfixEtcServices
208
209     UnfixEtcInetdDotConf
210
211     RemoveMinFiles
212
213     VerifyInstalledFiles
214
215   elif [ "$OPERATION" = "verify" ]
216   then
217
218     VerifyInstalledFiles
219
220   fi
221
222   if [ "$OPERATION" != "verify" ]
223   then
224
225     HASH issue a SIGHUP to the inetd process
226
227     ps -ef | grep inetd | grep -v grep >/tmp/tmppsout
228     if [ -s /tmp/tmppsout ]
229     then
230         awk '{print "kill -1 " $2}' /tmp/tmppsout | /bin/csh
231     else
232         /usr/sbin/inetd -s
233     fi
234   fi
235
236   return $retval