dtinfo other files
[oweals/cde.git] / cde / admin / IntegTools / post_install / sun / 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/6 1996/04/23 20:38:34 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\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 see if it already exists
89 XCOMM
90
91     awk '{if ($1 == "dtspc")
92                 print $0 > "/tmp/dtspc-already-there"
93          }' $FILE >/dev/null
94
95     DTSPCD=CDE_INSTALLATION_TOP/bin/dtspcd
96
97     if [ ! -f /tmp/dtspc-already-there ]
98     then
99         echo "dtspc stream tcp nowait root $DTSPCD $DTSPCD" >>$FILE
100     else
101         rm /tmp/dtspc-already-there
102     fi
103
104 XCOMM
105 XCOMM remove legacy entries like dtspcd
106 XCOMM
107
108     awk '{if ($1 == "dtspcd" || $1 == "#dtspcd")
109                 ;
110           else
111                 print $0
112          }' $FILE >$TMPFILE
113
114     cp $TMPFILE $FILE
115     rm $TMPFILE
116 }
117
118 UnfixEtcInetdDotConf()
119 {
120 FILE=/etc/inetd.conf
121 TMPFILE=/tmp/inetd.conf
122
123     awk '{if ($1 == "dtspc")
124                 ;
125           else
126                 print $0
127          }' $FILE >$TMPFILE
128
129     cp $TMPFILE $FILE
130     rm $TMPFILE
131 }
132
133 FixEtcPamDotConf()
134 {
135 FILE=/etc/pam.conf
136 ORIGFILE=/etc/pam.conf.preCDE
137
138 XCOMM
139 XCOMM check for existence of /etc/pam.conf
140 XCOMM
141
142     if [ -f $FILE ]
143     then
144         echo "" > $ORIGFILE
145         cp CDE_INSTALLATION_TOP/config/sys.pam.conf $FILE
146         chmod 644 $FILE
147     else
148         echo "Warning: $FILE already exists.  Leaving it alone." 1>&2
149         cp CDE_INSTALLATION_TOP/config/sys.pam.conf $ORIGFILE
150     fi
151
152 }
153
154 UnfixEtcPamDotConf()
155 {
156 FILE=/etc/pam.conf
157 TMPFILE=/etc/pam.conf.CDE
158 ORIGFILE=/etc/pam.conf.preCDE
159
160     if [ ! -f $FILE ]
161     then
162         echo "Warning: $FILE does not exist." 1>&2
163     elif [ ! -f $ORIGFILE ]
164     then
165         echo "Warning: $ORIGFILE does not exist.  Leaving $FILE alone." 1>&2
166     else
167         mv $FILE $TMPFILE
168         cp $ORIGFILE $FILE
169         chmod 664 $FILE
170     fi
171 }
172
173 RemoveMinFiles()
174 {
175     while read SRC
176     do
177       if [ "$SRC" != "" ]
178       then
179         rm -f $SRC
180         dirname=${SRC%/STAR}
181         if [ -d $dirname ]
182         then
183           cd $dirname
184           while [ "$dirname" != "$CDE_TOP" ]
185           do
186             cd ..
187             rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
188             dirname=${dirname%/STAR}
189           done
190         fi
191       fi
192     done <<-EOF
193 #include "CDE-MIN.list"
194         EOF
195 }
196
197 VerifyInstalledFiles()
198 {
199     echo "Status   mode    owner   group   filename"
200     echo "-----------------------------------------"
201 XCOMM     exists  correct correct correct  /usr/dt/foo1
202 XCOMM     MISSING  WRONG   WRONG   WRONG   /usr/dt/foo2
203 XCOMM        exists    the link is correct    /usr/dt/link
204
205     while read SRC
206     do
207 #include "../verify.func"
208     done <<-EOF
209 #include "CDE-MIN.lst"
210         EOF
211 }
212
213 #include "../option.func"
214
215 XCOMM ###############################################################
216 XCOMM
217 XCOMM Main Body
218 XCOMM
219 XCOMM ###############################################################
220
221   HandleOption $*
222
223   if [ "$OPERATION" = "configure" ]
224   then
225
226     FixEtcServices
227
228     FixEtcInetdDotConf
229
230     FixEtcPamDotConf
231
232     HASH
233     HASH  create the /var/dt/tmp directory for the dtspcd
234     HASH
235
236     if [ ! -d CDE_LOGFILES_TOP/tmp ]
237     then
238         mkdir -p CDE_LOGFILES_TOP/tmp
239     fi
240
241   elif [ "$OPERATION" = "deconfigure" ]
242   then
243
244     UnfixEtcServices
245
246     UnfixEtcInetdDotConf
247
248     UnfixEtcPamDotConf
249
250     RemoveMinFiles
251
252     VerifyInstalledFiles
253
254   elif [ "$OPERATION" = "verify" ]
255   then
256
257     VerifyInstalledFiles
258
259   fi
260
261   if [ "$OPERATION" != "verify" ]
262   then
263
264     HASH issue a SIGHUP to the inetd process
265
266     ps -ef | grep inetd | grep -v grep >/tmp/tmppsout
267     if [ -s /tmp/tmppsout ]
268     then
269         awk '{print "kill -1 " $2}' /tmp/tmppsout | /bin/csh
270     else
271         /usr/sbin/inetd -s
272     fi
273   fi
274
275   return $retval