installCDE.src: remove duplicate code
[oweals/cde.git] / cde / admin / IntegTools / post_install / hp / configShlibs
1 #! /bin/ksh
2 ########
3 #  Product: CDE
4 #  Fileset: CDE-SHLIBS
5 #  configure
6 #  $XConsortium: configShlibs /main/5 1996/06/13 15:47:42 drk $
7 ########
8 #
9 # (c) Copyright 1996 Digital Equipment Corporation.
10 # (c) Copyright 1995,1996 Hewlett-Packard Company.
11 # (c) Copyright 1996 International Business Machines Corp.
12 # (c) Copyright 1996 Sun Microsystems, Inc.
13 # (c) Copyright 1996 Novell, Inc. 
14 # (c) Copyright 1996 FUJITSU LIMITED.
15 # (c) Copyright 1996 Hitachi.
16 #
17 ########
18
19 PROG_NAME=$0
20
21 CreateOneLink()
22 {
23    if [ -f $1.$2 ]; then
24         rm -f $1
25         ln -s $1.$2 $1
26    else
27       echo "$PROG_NAME: $1.$2 does not exist."
28       echo "    A symbolic link for this shared library will NOT be created."
29    fi
30 }
31
32 CreateSymLinks()
33 {
34    if [ -d /usr/dt/lib ]; then
35         
36         cd /usr/dt/lib
37
38         CreateOneLink libDtHelp.sl      2.1
39         CreateOneLink libDtPrint.sl     2.1
40         CreateOneLink libDtMrm.sl       2.1
41         CreateOneLink libDtSvc.sl       2.1
42         CreateOneLink libDtWidget.sl    2.1
43         CreateOneLink libDtTerm.sl      2.1
44         CreateOneLink libtt.sl          2.1
45         CreateOneLink libcsa.sl         2.1
46         CreateOneLink libDtSearch.sl    2.1
47         CreateOneLink libDtMmdb.sl      2.1
48
49    else
50       echo "$PROG_NAME: /usr/dt/lib does not exist. Symbolic"
51       echo "   links for the shared libraries will NOT be created."
52    fi
53 }
54
55 VerifyInstalledFiles()
56 {
57     echo "Status   mode    owner   group   filename"
58     echo "-----------------------------------------"
59 #         exists  correct correct correct  /usr/dt/foo1
60 #         MISSING  WRONG   WRONG   WRONG   /usr/dt/foo2
61 #        exists    the link is correct    /usr/dt/link
62
63     while read SRC
64     do
65       if [ "$SRC" != "" ]
66       then
67         set -A tokens $SRC
68         if [ "${tokens[3]}" = "file" ]
69         then
70           if [ -f ${tokens[0]} ]
71           then
72             echo "exists  \c"
73           else
74             echo "MISSING or REMOVED               \c"
75             echo "${tokens[0]}"
76             continue
77           fi
78         elif [ "${tokens[3]}" = "sym_link" ]
79         then
80           if [ -L ${tokens[0]} ]
81           then
82             echo "exists  \c"
83           else
84             echo "MISSING or REMOVED               \c"
85             echo "${tokens[0]}"
86             continue
87           fi
88         fi
89
90         if [ "${tokens[3]}" = "file" ]
91         then
92           touch /tmp/config-test
93           chmod ${tokens[1]} /tmp/config-test
94           tmpperms=`ls -l /tmp/config-test | awk '{print $1}'`
95           realperms=`ls -l ${tokens[0]} | awk '{print $1}'`
96
97           if [ "$tmpperms" = "$realperms" ]
98           then
99             echo "correct \c"
100           else
101             echo " WRONG  \c"
102           fi
103
104           owner=`ls -l ${tokens[0]} | awk '{print $3}'`
105
106           if [ "$owner" = "${tokens[4]}" ]
107           then
108             echo "correct \c"
109           else
110             echo " WRONG  \c"
111           fi
112
113           group=`ls -l ${tokens[0]} | awk '{print $4}'`
114
115           if [ "$group" = "${tokens[5]}" ]
116           then
117             echo "correct  \c"
118           else
119             echo " WRONG   \c"
120           fi
121         elif [ "${tokens[3]}" = "sym_link" ]
122         then
123           linkto=`ls -l ${tokens[0]} | awk '{print $11}'`
124           if [ "${tokens[2]}" = "$linkto" ]
125           then
126             echo "  the link is correct    \c"
127           else
128             echo "  the link is WRONG      \c"
129           fi
130         fi
131         echo "${tokens[0]}"
132       fi
133     done <<-EOF
134 /usr 0555  directory bin bin ------ 378 cde_dt
135 /usr/dt 0555  directory bin bin ------ 378 cde_dt
136 /usr/dt/lib 0555  directory bin bin ------ 378 cde_dt
137 /usr/dt/lib/libDtHelp.sl 0555 lib/DtHelp/libDtHelp.sl file bin bin di---- 378 cde_dt
138 /usr/dt/lib/libDtPrint.sl 0555 lib/DtPrint/libDtPrint.sl file bin bin di---- 378 cde_dt
139 /usr/dt/lib/libDtMrm.sl 0555 lib/DtMrm/libDtMrm.sl file bin bin di---- 378 cde_dt
140 /usr/dt/lib/libDtSvc.sl 0555 lib/DtSvc/libDtSvc.sl file bin bin di---- 378 cde_dt
141 /usr/dt/lib/libDtWidget.sl 0555 lib/DtWidget/libDtWidget.sl file bin bin di---- 378 cde_dt
142 /usr/dt/lib/libDtTerm.sl 0555 lib/DtTerm/libDtTerm.sl file bin bin di---- 378 cde_dt
143 /usr/dt/lib/libtt.sl 0555 lib/tt/lib/libtt.sl file bin bin di---- 378 cde_dt
144 /usr/dt/lib/libcsa.sl 0555 lib/csa/libcsa.sl file bin bin di---- 378 cde_dt
145 /usr/dt/lib/libDtSearch.sl 0555 lib/DtSearch/libDtSearch.sl file bin bin di---- 378 cde_dt
146 /usr/dt/lib/libDtMmdb.sl 0555 lib/DtMmdb/libDtMmdb.sl file bin bin di---- 378 cde_dt
147         EOF
148 }
149
150 ShowSize()
151 {
152     typeset -i total;
153     let total=0
154
155     echo "Size\t\tfilename"
156     echo "-----------------------------------------"
157
158     while read SRC
159     do
160       if [ "$SRC" != "" ]
161       then
162         set -A tokens $SRC
163         if [ "${tokens[3]}" = "file" ]
164         then
165           if [ -f ${tokens[0]} ]
166           then
167             filesize=`ls -l ${tokens[0]} | awk '{print $5}'`
168             echo "$filesize\t\t\c"
169             echo "${tokens[0]}"
170             let total=total+filesize
171           fi
172         fi
173       fi
174     done <<-EOF
175 /usr 0555  directory bin bin ------ 378 cde_dt
176 /usr/dt 0555  directory bin bin ------ 378 cde_dt
177 /usr/dt/lib 0555  directory bin bin ------ 378 cde_dt
178 /usr/dt/lib/libDtHelp.sl 0555 lib/DtHelp/libDtHelp.sl file bin bin di---- 378 cde_dt
179 /usr/dt/lib/libDtPrint.sl 0555 lib/DtPrint/libDtPrint.sl file bin bin di---- 378 cde_dt
180 /usr/dt/lib/libDtMrm.sl 0555 lib/DtMrm/libDtMrm.sl file bin bin di---- 378 cde_dt
181 /usr/dt/lib/libDtSvc.sl 0555 lib/DtSvc/libDtSvc.sl file bin bin di---- 378 cde_dt
182 /usr/dt/lib/libDtWidget.sl 0555 lib/DtWidget/libDtWidget.sl file bin bin di---- 378 cde_dt
183 /usr/dt/lib/libDtTerm.sl 0555 lib/DtTerm/libDtTerm.sl file bin bin di---- 378 cde_dt
184 /usr/dt/lib/libtt.sl 0555 lib/tt/lib/libtt.sl file bin bin di---- 378 cde_dt
185 /usr/dt/lib/libcsa.sl 0555 lib/csa/libcsa.sl file bin bin di---- 378 cde_dt
186 /usr/dt/lib/libDtSearch.sl 0555 lib/DtSearch/libDtSearch.sl file bin bin di---- 378 cde_dt
187 /usr/dt/lib/libDtMmdb.sl 0555 lib/DtMmdb/libDtMmdb.sl file bin bin di---- 378 cde_dt
188         EOF
189     echo "Total fileset size is $total"
190 }
191 HandleOption()
192 {
193   while [ $# -ne 0 ]; do
194     case $1 in
195         -e) OPERATION="configure"
196             shift;
197             ;;
198         -d) OPERATION="deconfigure"
199             shift;
200             ;;
201         -v) OPERATION="verify"
202             shift;
203             ;;
204         -s) OPERATION="size"
205             shift;
206             ;;
207     esac
208   done
209 }
210
211 #################################################################
212 #
213 # Main Body
214 #
215 #################################################################
216 PRODUCT=CDE
217 FILESET=CDE-SHLIBS
218 retval=0
219
220   HandleOption $*
221
222   if [ "$OPERATION" = "configure" ]
223   then
224
225     echo "Configuring for CDE-SHLIBS"
226
227     CreateSymLinks
228
229   elif [ "$OPERATION" = "deconfigure" ]
230   then
231
232     echo "de-Configuring CDE-SHLIBS NOT supported!"
233
234   elif [ "$OPERATION" = "verify" ]
235   then
236
237     VerifyInstalledFiles
238
239   elif [ "$OPERATION" = "size" ]
240   then
241
242     ShowSize
243
244   fi
245
246   return $retval