/[polypkg]/trunk/pp.back.kit
ViewVC logotype

Contents of /trunk/pp.back.kit

Parent Directory Parent Directory | Revision Log Revision Log


Revision 218 - (show annotations)
Wed Jun 17 22:53:02 2009 UTC (5 months ago) by tperciva
File size: 7191 byte(s)
Fix Tru64 package name

Was "$desc" instead of "$name"

Author: Michael Thompson <michael.thompson@quest.com>
From QAS r845
1 #
2 # Tru64 kit backend
3 # from Seth Ellsworth
4 #
5
6 pp_platforms="$pp_platforms kit"
7
8 #@ pp_backend_kit_detect(): return true if this platform uses solaris pkgs
9 pp_backend_kit_detect () {
10 test x"$1" = x"OSF1"
11 }
12
13 pp_backend_kit_init () {
14 pp_kit_name=
15 pp_kit_package=
16 pp_kit_desc=
17 pp_kit_version=
18 pp_kit_subset=
19 pp_readlink_fn=pp_ls_readlink
20 pp_kit_startlevels="2 3"
21 pp_kit_stoplevels="0 2 3"
22 }
23
24 pp_backend_kit () {
25 typeset mi_file k_file svc outfile
26 typeset desc
27
28 pp_backend_kit_names > /dev/null
29
30 if test -z "$pp_kit_desc"; then
31 pp_kit_desc="$description"
32 fi
33
34 mi_file="$pp_wrkdir/$pp_kit_subset.mi"
35 k_file="$pp_wrkdir/$pp_kit_subset.k"
36 scp_file="$pp_wrkdir/$pp_kit_subset.scp"
37
38 desc="${pp_kit_desc:-$description}"
39
40 cat <<-. >> $k_file
41 NAME='$name'
42 CODE=$pp_kit_name
43 VERS=$pp_kit_version
44 MI=$mi_file
45 COMPRESS=0
46 %%
47 $pp_kit_subset . 0 '$desc'
48 .
49
50 if test -n "$pp_services"; then
51 for svc in $pp_services; do
52 pp_kit_make_service $svc
53 pp_prepend $pp_wrkdir/%preun.run <<-.
54 /sbin/init.d/$svc stop
55 .
56 done
57 fi
58
59 pp_backend_kit_make_mi "$mi_file"
60 pp_backend_kit_make_scp
61 #rm -rf $pp_wrkdir/kit_dest
62 mkdir -p $pp_wrkdir/kit_dest
63 pp_backend_kit_kits $k_file $pp_opt_destdir $pp_wrkdir/kit_dest
64 tar cvf $pp_wrkdir/$pp_kit_subset.tar -C $pp_wrkdir/kit_dest .
65 gzip -c $pp_wrkdir/$pp_kit_subset.tar > $pp_wrkdir/$pp_kit_subset.tar.gz
66 #rm -rf $pp_wrkdir/$pp_kit_subset.tar $pp_wrkdir/scps
67 }
68
69 pp_backend_kit_make_mi () {
70 # XXX this information should go into the .inv files
71 typeset t m o g f p st line dm
72 while read t m o g f p st; do
73 case $t in
74 f|d)
75 echo "0 .$p $pp_kit_subset"
76 echo " chmod $m $p" >> $pp_wrkdir/%post.run
77 if [ x"$o" = x"-" ] ; then
78 echo " chown root $p" >> $pp_wrkdir/%post.run
79 else
80 echo " chown $o $p" >> $pp_wrkdir/%post.run
81 fi
82 if [ x"$g" = x"-" ] ; then
83 echo " chgrp 0 $p" >> $pp_wrkdir/%post.run
84 else
85 echo " chgrp $g $p" >> $pp_wrkdir/%post.run
86 fi
87 ;;
88 s)
89 echo " ln -s $st $p" >> $pp_wrkdir/%post.run
90 echo " rm -f $p" >> $pp_wrkdir/%preun.run
91 ;;
92 esac
93 done < $pp_wrkdir/%files.run | sort -k3 |uniq > $1
94 }
95
96
97 pp_backend_kit_make_scp () {
98 scpdir="$pp_wrkdir/scps"
99 mkdir "$scpdir" && touch "$scpdir"/$pp_kit_subset.scp
100 cat <<EOF >"$scpdir"/$pp_kit_subset.scp
101 #!/sbin/sh
102
103 . /usr/share/lib/shell/libscp
104
105 case "\$ACT" in
106 PRE_L)
107 STL_ScpInit
108
109 # do subset dependency checking here using
110 # STL_DepInit / STL_DepEval.
111
112 # use global variables defined in STL_ScpInit in your
113 # error messages.
114
115 ;;
116 POST_L)
117 STL_ScpInit
118 STL_LinkCreate
119 EOF
120
121 cat $pp_wrkdir/%post.run >>"$scpdir"/$pp_kit_subset.scp
122 cat >>"$scpdir"/$pp_kit_subset.scp <<EOF
123 ;;
124 PRE_D)
125 STL_ScpInit
126 STL_LinkRemove
127 EOF
128 cat $pp_wrkdir/%preun.run >>"$scpdir"/$pp_kit_subset.scp
129 cat >>"$scpdir"/$pp_kit_subset.scp <<EOF
130 ;;
131 POST_D)
132 # do subset dependency unlocking here, if needed,
133 # using STL_LockInit / STL_DepUnLock.
134
135 ;;
136 C)
137 STL_ScpInit
138
139 case "\$1" in
140 INSTALL)
141 echo "Installation of the \$_DESC (\$_SUB) subset is complete."
142 ;;
143 DELETE)
144 ;;
145 esac
146
147 ;;
148 V)
149 # invoke your installation verification program (IVP), if any.
150
151 ;;
152 esac
153
154 exit 0
155 EOF
156 chmod 744 "$scpdir"/$pp_kit_subset.scp
157 }
158
159
160 pp_backend_kit_cleanup () {
161 :
162 }
163
164 pp_backend_kit_names () {
165 if test -z "$pp_kit_name"; then
166 pp_warn "pp_kit_name not specified, using XXX"
167 pp_kit_name=XXX
168 fi
169 case "$pp_kit_name" in
170 ???) : ok;;
171 *) pp_error "\$pp_kit_name $pp_kit_name must be three characters";;
172 esac
173 if test -z "$pp_kit_package"; then
174 pp_warn "pp_kit_package not specified, using YYYY"
175 pp_kit_package=YYYY
176 fi
177 if test -z "$pp_kit_version"; then
178 pp_kit_version=`echo $version|sed -e 's/^\([0-9]\)\.\([0-9]\).*/\1\20/'`
179 fi
180 case "$pp_kit_version" in
181 [0-9][0-9][0-9]) : ok;;
182 *) pp_error "\$pp_kit_version $pp_kit_version must be three digits, ";;
183 esac
184 if test -z "$pp_kit_subset"; then
185 pp_kit_subset="$pp_kit_name$pp_kit_package$pp_kit_version"
186 fi
187 echo "$pp_kit_subset.tar.gz"
188 }
189
190 pp_backend_kit_install_script () {
191 typeset pkgname platform
192
193 pkgname=`pp_backend_kit_names`
194 platform="`pp_backend_kit_probe`"
195
196 echo "#!/bin/sh"
197 pp_install_script_common
198 cat <<.
199
200 cpt_to_tags () {
201 test x"\$*" = x"all" && set -- $pp_components
202 for cpt
203 do
204 echo "$name.\$cpt"
205 done
206 }
207
208 test \$# -eq 0 && usage
209 op="\$1"; shift
210
211 case "\$op" in
212 list-components)
213 test \$# -eq 0 || usage \$op
214 echo "$pp_components"
215 ;;
216 list-services)
217 test \$# -eq 0 || usage \$op
218 echo "$pp_services"
219 ;;
220 list-files)
221 test \$# -ge 1 || usage \$op
222 echo \${PP_PKGDESTDIR:-.}/$pkgname
223 ;;
224 install)
225 test \$# -ge 1 || usage \$op
226 verbose echo \${PP_PKGDESTDIR:-\`pwd\`}/$pkgname \`cpt_to_tags "\$@"\`
227 #verbose swinstall -x verbose=0 -s \${PP_PKGDESTDIR:-\`pwd\`}/$pkgname \`cpt_to_tags "\$@"\`
228 ;;
229 uninstall)
230 test \$# -ge 1 || usage \$op
231 verbose echo \`cpt_to_tags "\$@"\`
232 #verbose swremove -x verbose=0 \`cpt_to_tags "\$@"\`
233 ;;
234 start|stop)
235 test \$# -ge 1 || usage \$op
236 ec=0
237 for svc
238 do
239 verbose /sbin/init.d/\$svc \$op
240 [ \$? -eq 4 -o \$? -eq 0 ] || ec=1
241 done
242 exit \$ec
243 ;;
244 print-platform)
245 echo "$platform"
246 ;;
247 *)
248 usage
249 ;;
250 esac
251 .
252 }
253
254 pp_backend_kit_function () {
255 case "$1" in
256 pp_mkgroup) cat <<'.';;
257 grep "^$1:" /etc/group >/dev/null ||
258 /usr/sbin/groupadd $1
259 .
260 pp_mkuser) cat <<'.';;
261 eval user=\$$#
262 grep "^$user:" /etc/passwd >/dev/null ||
263 /usr/sbin/useradd -s /usr/bin/false "$@"
264 .
265 pp_havelib) cat <<'.';;
266 for dir in `echo /usr/lib${3+:$3} | tr : ' '`; do
267 test -r "$dir/lib$1.${2-sl}" && return 0
268 done
269 return 1
270 .
271 *) pp_error "unknown function request: $1";;
272 esac
273 }
274
275 pp_backend_kit_init_svc_vars () {
276 :
277 }
278
279 pp_backend_kit_probe () {
280 echo tru64-`uname -r | sed 's/V\([0-9]*\)\.\([0-9]*\)/\1\2/'`
281 }

Ted.Percival@quest.com
ViewVC Help
Powered by ViewVC 1.1.2