VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/installer/vboxadd-x11.sh@ 58643

Last change on this file since 58643 was 58643, checked in by vboxsync, 9 years ago

Additions/X11: special case for Fedora 23

  • Property svn:eol-style set to LF
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 20.9 KB
Line 
1#! /bin/sh
2#
3# Linux Additions X11 setup init script ($Revision: 58643 $)
4#
5
6#
7# Copyright (C) 2006-2012 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18
19# chkconfig: 35 30 70
20# description: VirtualBox Linux Additions kernel modules
21#
22### BEGIN INIT INFO
23# Provides: vboxadd-x11
24# Required-Start:
25# Required-Stop:
26# Default-Start:
27# Default-Stop:
28# Description: VirtualBox Linux Additions X11 setup
29### END INIT INFO
30
31PATH=$PATH:/bin:/sbin:/usr/sbin
32LOG="/var/log/vboxadd-install-x11.log"
33CONFIG_DIR="/var/lib/VBoxGuestAdditions"
34CONFIG="config"
35SCRIPTNAME=vboxadd-x11.sh
36
37# Check architecture
38cpu=`uname -m`;
39case "$cpu" in
40 i[3456789]86|x86)
41 cpu="x86"
42 lib_candidates="/usr/lib/i386-linux-gnu /usr/lib /lib"
43 ;;
44 x86_64|amd64)
45 cpu="amd64"
46 lib_candidates="/usr/lib/x86_64-linux-gnu /usr/lib64 /usr/lib /lib64 /lib"
47 ;;
48esac
49for i in $lib_candidates; do
50 if test -d "$i/VBoxGuestAdditions"; then
51 LIB=$i
52 break
53 fi
54done
55
56# Find the version of X installed
57# The last of the three is for the X.org 6.7 included in Fedora Core 2
58xver=`X -version 2>&1`
59x_version=`echo "$xver" | sed -n 's/^X Window System Version \([0-9.]\+\)/\1/p'``echo "$xver" | sed -n 's/^XFree86 Version \([0-9.]\+\)/\1/p'``echo "$xver" | sed -n 's/^X Protocol Version 11, Revision 0, Release \([0-9.]\+\)/\1/p'``echo "$xver" | sed -n 's/^X.Org X Server \([0-9.]\+\)/\1/p'`
60x_version_short=`echo "${x_version}" | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/'`
61# Version of Redhat or Fedora installed. Needed for setting up selinux policy.
62redhat_release=`cat /etc/redhat-release 2> /dev/null`
63# All the different possible locations for XFree86/X.Org configuration files
64# - how many of these have ever been used?
65x11conf_files="/etc/X11/xorg.conf /etc/X11/xorg.conf-4 /etc/X11/.xorg.conf \
66 /etc/xorg.conf /usr/etc/X11/xorg.conf-4 /usr/etc/X11/xorg.conf \
67 /usr/lib/X11/xorg.conf-4 /usr/lib/X11/xorg.conf /etc/X11/XF86Config-4 \
68 /etc/X11/XF86Config /etc/XF86Config /usr/X11R6/etc/X11/XF86Config-4 \
69 /usr/X11R6/etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config-4 \
70 /usr/X11R6/lib/X11/XF86Config"
71
72# Preamble for Gentoo
73if [ "`which $0`" = "/sbin/rc" ]; then
74 shift
75fi
76
77begin()
78{
79 test -n "${2}" && echo "${SCRIPTNAME}: ${1}."
80 logger -t "${SCRIPTNAME}" "${1}."
81}
82
83succ_msg()
84{
85 logger -t "${SCRIPTNAME}" "${1}."
86}
87
88fail_msg()
89{
90 echo "${SCRIPTNAME}: ${1}." >&2
91 logger -t "${SCRIPTNAME}" "${1}."
92}
93
94dev=/dev/vboxguest
95userdev=/dev/vboxuser
96owner=vboxadd
97group=1
98
99fail()
100{
101 echo "${SCRIPTNAME}: failed: ${1}." >&2
102 logger "${SCRIPTNAME}: ${1}."
103 exit 1
104}
105
106# Install an X11 desktop startup application. The application should be a shell script.
107# Its name should be purely alphanumeric and should start with a two digit number (preferably
108# 98 or thereabouts) to indicate its place in the Debian Xsession startup order.
109#
110# syntax: install_x11_startup_app app desktop service_name
111install_x11_startup_app() {
112 self="install_x11_startup_app"
113 app_src=$1
114 desktop_src=$2
115 service_name=$3
116 alt_command=$4
117 test -r "$app_src" ||
118 { echo >> $LOG "$self: no script given"; return 1; }
119 test -r "$desktop_src" ||
120 { echo >> $LOG "$self: no desktop file given"; return 1; }
121 test -n "$service_name" ||
122 { echo >> $LOG "$self: no service given"; return 1; }
123 test -n "$alt_command" ||
124 { echo >> $LOG "$self: no service given"; return 1; }
125 app_dest=`basename $app_src sh`
126 app_dest_sh=`basename $app_src sh`.sh
127 desktop_dest=`basename $desktop_src`
128 found=0
129 x11_autostart="/etc/xdg/autostart"
130 kde_autostart="/usr/share/autostart"
131 redhat_dir=/etc/X11/Xsession.d
132 mandriva_dir=/etc/X11/xinit.d
133 debian_dir=/etc/X11/xinit/xinitrc.d
134 if [ -d "$mandriva_dir" -a -w "$mandriva_dir" -a -x "$mandriva_dir" ]
135 then
136 install -m 0644 $app_src "$mandriva_dir/$app_dest"
137 found=1
138 fi
139 if [ -d "$x11_autostart" -a -w "$x11_autostart" -a -x "$x11_autostart" ]
140 then
141 install -m 0644 $desktop_src "$x11_autostart/$desktop_dest"
142 found=1
143 fi
144 if [ -d "$kde_autostart" -a -w "$kde_autostart" -a -x "$kde_autostart" ]
145 then
146 install -m 0644 $desktop_src "$kde_autostart/$desktop_dest"
147 found=1
148 fi
149 if [ -d "$redhat_dir" -a -w "$redhat_dir" -a -x "$redhat_dir" ]
150 then
151 install -m 0644 $app_src "$redhat_dir/$app_dest"
152 found=1
153 fi
154 if [ -d "$debian_dir" -a -w "$debian_dir" -a -x "$debian_dir" ]
155 then
156 install -m 0755 $app_src "$debian_dir/$app_dest_sh"
157 found=1
158 fi
159 if [ $found -eq 1 ]; then
160 return 0
161 fi
162 cat >> $LOG << EOF
163Could not set up the $service_name desktop service.
164To start it at log-in for a given user, add the command $alt_command
165to the file .xinitrc in their home directory.
166EOF
167 return 1
168}
169
170
171start()
172{
173 # Todo: check configuration and correct it if necessary
174 return 0
175}
176
177stop()
178{
179 return 0
180}
181
182restart()
183{
184 stop && start
185 return 0
186}
187
188# setup_script
189setup()
190{
191 echo "VirtualBox Guest Additions installation, Window System and desktop setup" > $LOG
192 begin "Installing the Window System drivers"
193 lib_dir="$LIB/VBoxGuestAdditions"
194 share_dir="/usr/share/VBoxGuestAdditions"
195 test -x "$lib_dir" -a -x "$share_dir" ||
196 fail "Invalid Guest Additions configuration found"
197 # By default we want to configure X
198 dox11config="true"
199 # By default, we want to run our xorg.conf setup script
200 setupxorgconf="true"
201 # All but the oldest supported X servers can automatically set up the
202 # keyboard driver.
203 autokeyboard="--autoKeyboard"
204 # On more recent servers our kernel mouse driver will be used
205 # automatically
206 automouse="--autoMouse"
207 # We need to tell our xorg.conf hacking script whether /dev/psaux exists
208 nopsaux="--nopsaux"
209 case "`uname -r`" in 2.4.*)
210 test -c /dev/psaux && nopsaux="";;
211 esac
212 # Should we use the VMSVGA driver instead of VBoxVideo?
213 if grep 80eebeef /proc/bus/pci/devices > /dev/null; then
214 vmsvga=""
215 elif grep 15ad0405 /proc/bus/pci/devices > /dev/null; then
216 vmsvga="--vmsvga"
217 else
218 dox11config=""
219 fi
220 # The video driver to install for X.Org 6.9+
221 vboxvideo_src=
222 # The mouse driver to install for X.Org 6.9+
223 vboxmouse_src=
224 # The driver extension
225 driver_ext=".so"
226 # The configuration file we generate if no original was found but we need
227 # one.
228 main_cfg="/etc/X11/xorg.conf"
229
230 modules_dir=`X -showDefaultModulePath 2>&1` || modules_dir=
231 if [ -z "$modules_dir" ]; then
232 for dir in /usr/lib64/xorg/modules /usr/lib/xorg/modules /usr/X11R6/lib64/modules /usr/X11R6/lib/modules /usr/X11R6/lib/X11/modules; do
233 if [ -d $dir ]; then
234 modules_dir=$dir
235 break
236 fi
237 done
238 fi
239
240 test -z "$x_version" -o -z "$modules_dir" &&
241 {
242 echo
243 echo "Could not find the X.Org or XFree86 Window System, skipping."
244 exit 0
245 }
246
247 echo
248 # openSUSE 10.3 shipped X.Org 7.2 with X.Org Server 1.3, but didn't
249 # advertise the fact.
250 if grep -q '10\.3' /etc/SuSE-release 2>/dev/null; then
251 case $x_version in 7.2.*)
252 x_version=1.3.0;;
253 esac
254 fi
255 case $x_version in
256 1.17.99.902 )
257 # special case for Fedora 23 :-/
258 xserver_version="X.Org Server ${x_version_short}"
259 vboxvideo_src=vboxvideo_drv_`echo ${x_version_short} | sed 's/\.//'`.so
260 setupxorgconf=""
261 test -f "${lib_dir}/${vboxvideo_src}" ||
262 {
263 echo "Warning: unknown version of the X Window System installed. Not installing"
264 echo "X Window System drivers."
265 dox11config=""
266 vboxvideo_src=""
267 }
268 ;;
269 1.*.99.* )
270 echo "Warning: unsupported pre-release version of X.Org Server installed. Not"
271 echo "installing the X.Org drivers."
272 dox11config=""
273 ;;
274 1.11.* )
275 xserver_version="X.Org Server 1.11"
276 vboxvideo_src=vboxvideo_drv_111.so
277 test "$system" = "redhat" && test -z "${vmsvga}" || setupxorgconf=""
278 ;;
279 1.10.* )
280 xserver_version="X.Org Server 1.10"
281 vboxvideo_src=vboxvideo_drv_110.so
282 test "$system" = "redhat" && test -z "${vmsvga}" || setupxorgconf=""
283 ;;
284 1.9.* )
285 xserver_version="X.Org Server 1.9"
286 vboxvideo_src=vboxvideo_drv_19.so
287 # Fedora 14 to 16 patched out vboxvideo detection
288 test "$system" = "redhat" && test -z "${vmsvga}" || setupxorgconf=""
289 ;;
290 1.8.* )
291 xserver_version="X.Org Server 1.8"
292 vboxvideo_src=vboxvideo_drv_18.so
293 # Fedora 13 shipped without vboxvideo detection
294 test "$system" = "redhat" && test -z "${vmsvga}" || setupxorgconf=""
295 ;;
296 1.7.* )
297 xserver_version="X.Org Server 1.7"
298 vboxvideo_src=vboxvideo_drv_17.so
299 setupxorgconf=""
300 ;;
301 1.6.* )
302 xserver_version="X.Org Server 1.6"
303 vboxvideo_src=vboxvideo_drv_16.so
304 vboxmouse_src=vboxmouse_drv_16.so
305 # SUSE SLE* with X.Org 1.6 does not do input autodetection;
306 # openSUSE does.
307 if grep -q -E '^SLE[^ ]' /etc/SuSE-brand 2>/dev/null; then
308 automouse=""
309 else
310 test "$system" = "suse" && setupxorgconf=""
311 fi
312 ;;
313 1.5.* )
314 xserver_version="X.Org Server 1.5"
315 vboxvideo_src=vboxvideo_drv_15.so
316 vboxmouse_src=vboxmouse_drv_15.so
317 # Historical note: SUSE with X.Org Server 1.5 disabled automatic
318 # mouse configuration and was handled specially. However since our
319 # kernel driver seems to have problems with X.Org Server 1.5 anyway
320 # we just create an X.Org configuration file and use the user space
321 # one generally, no longer just for SUSE.
322 automouse=""
323 ;;
324 1.4.* )
325 xserver_version="X.Org Server 1.4"
326 vboxvideo_src=vboxvideo_drv_14.so
327 vboxmouse_src=vboxmouse_drv_14.so
328 automouse=""
329 ;;
330 1.3.* )
331 # This was the first release which gave the server version number
332 # rather than the X11 release version when you did 'X -version'.
333 xserver_version="X.Org Server 1.3"
334 vboxvideo_src=vboxvideo_drv_13.so
335 vboxmouse_src=vboxmouse_drv_13.so
336 automouse=""
337 ;;
338 7.1.* | 7.2.* )
339 xserver_version="X.Org 7.1"
340 vboxvideo_src=vboxvideo_drv_71.so
341 vboxmouse_src=vboxmouse_drv_71.so
342 automouse=""
343 ;;
344 6.9.* | 7.0.* )
345 xserver_version="X.Org 6.9/7.0"
346 vboxvideo_src=vboxvideo_drv_70.so
347 vboxmouse_src=vboxmouse_drv_70.so
348 automouse=""
349 ;;
350 6.7* | 6.8.* | 4.2.* | 4.3.* )
351 # As the module binaries are the same we use one text for these
352 # four server versions.
353 xserver_version="XFree86 4.2/4.3 and X.Org 6.7/6.8"
354 driver_ext=.o
355 vboxvideo_src=vboxvideo_drv.o
356 vboxmouse_src=vboxmouse_drv.o
357 automouse=""
358 autokeyboard=""
359 case $x_version in
360 6.8.* )
361 autokeyboard="true"
362 ;;
363 4.2.* | 4.3.* )
364 main_cfg="/etc/X11/XF86Config"
365 ;;
366 esac
367 ;;
368 * )
369 # Anything else, including all X server versions as of 1.12.
370 xserver_version="X.Org Server ${x_version_short}"
371 vboxvideo_src=vboxvideo_drv_`echo ${x_version_short} | sed 's/\.//'`.so
372 setupxorgconf=""
373 test -f "${lib_dir}/${vboxvideo_src}" ||
374 {
375 echo "Warning: unknown version of the X Window System installed. Not installing"
376 echo "X Window System drivers."
377 dox11config=""
378 vboxvideo_src=""
379 }
380 ;;
381 esac
382 test -n "${dox11config}" &&
383 begin "Installing $xserver_version modules"
384 rm "$modules_dir/drivers/vboxvideo_drv$driver_ext" 2>/dev/null
385 rm "$modules_dir/input/vboxmouse_drv$driver_ext" 2>/dev/null
386 case "$vboxvideo_src" in ?*)
387 ln -s "$lib_dir/$vboxvideo_src" "$modules_dir/drivers/vboxvideo_drv$driver_ext";;
388 esac
389 case "$vboxmouse_src" in ?*)
390 ln -s "$lib_dir/$vboxmouse_src" "$modules_dir/input/vboxmouse_drv$driver_ext";;
391 esac
392 succ_msg "$xserver_version modules installed"
393
394 if test -n "$dox11config"; then
395 begin "Setting up the Window System to use the Guest Additions"
396 # Certain Ubuntu/Debian versions use a special PCI-id file to identify
397 # video drivers. Some versions have the directory and don't use it.
398 # Those versions can autoload vboxvideo though, so we don't need to
399 # hack the configuration file for them.
400 test "$system" = "debian" -a -d /usr/share/xserver-xorg/pci &&
401 {
402 rm -f "/usr/share/xserver-xorg/pci/vboxvideo.ids"
403 ln -s "$share_dir/vboxvideo.ids" /usr/share/xserver-xorg/pci 2>/dev/null
404 test -n "$automouse" && setupxorgconf=""
405 }
406
407 # Do the XF86Config/xorg.conf hack for those versions that require it
408 configured=""
409 generated=""
410 if test -n "$setupxorgconf"; then
411 for i in $x11conf_files; do
412 if test -r "$i"; then
413 if grep -q "VirtualBox generated" "$i"; then
414 generated="$generated `printf "$i\n"`"
415 else
416 "$lib_dir/x11config.sh" $autokeyboard $automouse $nopsaux $vmsvga "$i"
417 fi
418 configured="true"
419 fi
420 # Timestamp, so that we can see if the config file is changed
421 # by someone else later
422 test -r "$i.vbox" && touch "$i.vbox"
423 done
424 # X.Org Server 1.5 and 1.6 can detect hardware they know, but they
425 # need a configuration file for VBoxVideo.
426 nobak_cfg="`expr "${main_cfg}" : '\([^.]*\)'`.vbox.nobak"
427 if test -z "$configured"; then
428 touch "$main_cfg"
429 "$lib_dir/x11config.sh" $autokeyboard $automouse $nopsaux $vmsvga --noBak "$main_cfg"
430 touch "${nobak_cfg}"
431 fi
432 fi
433 succ_msg "Window System set up to use the Guest Additions"
434 test -n "$generated" &&
435 cat << EOF
436The following X.Org/XFree86 configuration files were originally generated by
437the VirtualBox Guest Additions and were not modified:
438
439$generated
440
441EOF
442 cat << EOF
443You may need to restart the the Window System (or just restart the guest system)
444to enable the Guest Additions.
445
446EOF
447 fi
448
449 begin "Installing graphics libraries and desktop services components"
450 case "$redhat_release" in
451 # Install selinux policy for Fedora 7 and 8 to allow the X server to
452 # open device files
453 Fedora\ release\ 7* | Fedora\ release\ 8* )
454 semodule -i "$share_dir/vbox_x11.pp" > /dev/null 2>&1
455 ;;
456 # Similar for the accelerated graphics check on Fedora 15
457 Fedora\ release\ 15* )
458 semodule -i "$share_dir/vbox_accel.pp" > /dev/null 2>&1
459 ;;
460 esac
461
462 # Install selinux policy for Fedora 8 to allow the X server to
463 # open our drivers
464 case "$redhat_release" in
465 Fedora\ release\ 8* )
466 chcon -u system_u -t lib_t "$lib_dir"/*.so
467 ;;
468 esac
469
470 # Our logging code generates some glue code on 32-bit systems. At least F10
471 # needs a rule to allow this. Send all output to /dev/null in case this is
472 # completely irrelevant on the target system.
473 chcon -t unconfined_execmem_exec_t '/usr/bin/VBoxClient' > /dev/null 2>&1
474 semanage fcontext -a -t unconfined_execmem_exec_t '/usr/bin/VBoxClient' > /dev/null 2>&1
475 # Install the guest OpenGL drivers. For now we don't support
476 # multi-architecture installations
477 for dir in /usr/lib/dri /usr/lib32/dri /usr/lib64/dri \
478 /usr/lib/xorg/modules/dri /usr/lib32/xorg/modules/dri \
479 /usr/lib64/xorg/modules/dri /usr/lib/i386-linux-gnu/dri \
480 /usr/lib/x86_64-linux-gnu/dri; do
481 if [ -d $dir ]; then
482 rm -f "$dir/vboxvideo_dri.so"
483 ln -s "$LIB/VBoxOGL.so" "$dir/vboxvideo_dri.so"
484 fi
485 done
486
487 # And set up VBoxClient to start when the X session does
488 install_x11_startup_app "$lib_dir/98vboxadd-xclient" "$share_dir/vboxclient.desktop" VBoxClient VBoxClient-all ||
489 fail "See the log file $LOG for more information."
490 ln -s "$lib_dir/98vboxadd-xclient" /usr/bin/VBoxClient-all 2>/dev/null
491 succ_msg "Window system drivers installed"
492}
493
494# cleanup_script
495cleanup()
496{
497 # Restore xorg.conf files as far as possible
498 # List of generated files which have been changed since we generated them
499 newer=""
500 # Are we dealing with a legacy information which didn't support
501 # uninstallation?
502 legacy=""
503 # Do any of the restored configuration files still reference our drivers?
504 failed=""
505 # Have we encountered a "nobak" configuration file which means that there
506 # is no original file to restore?
507 nobak=""
508 test -r "$CONFIG_DIR/$CONFIG" || legacy="true"
509 for main_cfg in "/etc/X11/xorg.conf" "/etc/X11/XF86Config"; do
510 nobak_cfg="`expr "${main_cfg}" : '\([^.]*\)'`.vbox.nobak"
511 if test -r "${nobak_cfg}"; then
512 test -r "${main_cfg}" &&
513 if test -n "${legacy}" -o ! "${nobak_cfg}" -ot "${main_cfg}"; then
514 rm -f "${nobak_cfg}" "${main_cfg}"
515 else
516 newer="${newer}`printf " ${main_cfg} (no original)\n"`"
517 fi
518 nobak="true"
519 fi
520 done
521 if test -z "${nobak}"; then
522 for i in $x11conf_files; do
523 if test -r "$i.vbox"; then
524 if test ! "$i" -nt "$i.vbox" -o -n "$legacy"; then
525 mv -f "$i.vbox" "$i"
526 grep -q -E 'vboxvideo|vboxmouse' "$i" &&
527 failed="$failed`printf " $i\n"`"
528 else
529 newer="$newer`printf " $i ($i.vbox)\n"`"
530 fi
531 fi
532 done
533 fi
534 test -n "$newer" && cat << EOF
535
536The following X.Org/XFree86 configuration files were not restored, as they may
537have been changed since they were generated by the VirtualBox Guest Additions.
538You may wish to restore these manually. The file name in brackets is the
539original version.
540
541$newer
542
543EOF
544 test -n "$failed" && cat << EOF
545
546The following X.Org/XFree86 configuration files were restored, but still
547contain references to the Guest Additions drivers. You may wish to check and
548possibly correct the restored configuration files to be sure that the server
549will continue to work after it is restarted.
550
551$failed
552
553EOF
554
555 # Remove X.Org drivers
556 modules_dir=`X -showDefaultModulePath 2>&1` || modules_dir=
557 if [ -z "$modules_dir" ]; then
558 for dir in /usr/lib64/xorg/modules /usr/lib/xorg/modules /usr/X11R6/lib64/modules /usr/X11R6/lib/modules /usr/X11R6/lib/X11/modules; do
559 if [ -d $dir ]; then
560 modules_dir=$dir
561 break
562 fi
563 done
564 fi
565 rm -f "$modules_dir/drivers/vboxvideo_drv"* 2>/dev/null
566 rm -f "$modules_dir/input/vboxmouse_drv"* 2>/dev/null
567
568 # Remove the link to vboxvideo_dri.so
569 for dir in /usr/lib/dri /usr/lib32/dri /usr/lib64/dri \
570 /usr/lib/xorg/modules/dri /usr/lib32/xorg/modules/dri \
571 /usr/lib64/xorg/modules/dri /usr/lib/i386-linux-gnu/dri \
572 /usr/lib/x86_64-linux-gnu/dri; do
573 if [ -d $dir ]; then
574 rm -f "$dir/vboxvideo_dri.so" 2>/dev/null
575 fi
576 done
577
578 # Remove VBoxClient autostart files
579 rm /etc/X11/Xsession.d/98vboxadd-xclient 2>/dev/null
580 rm /etc/X11/xinit.d/98vboxadd-xclient 2>/dev/null
581 rm /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh 2>/dev/null
582 rm /etc/xdg/autostart/vboxclient.desktop 2>/dev/null
583 rm /usr/share/autostart/vboxclient.desktop 2>/dev/null
584 rm /usr/bin/VBoxClient-all 2>/dev/null
585
586 # Remove other files
587 rm /usr/share/xserver-xorg/pci/vboxvideo.ids 2>/dev/null
588}
589
590dmnstatus()
591{
592 /bin/true
593}
594
595case "$1" in
596start)
597 start
598 ;;
599stop)
600 stop
601 ;;
602restart)
603 restart
604 ;;
605setup)
606 setup
607 ;;
608cleanup)
609 cleanup
610 ;;
611status)
612 dmnstatus
613 ;;
614*)
615 echo "Usage: $0 {start|stop|restart|status}"
616 exit 1
617esac
618
619exit
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette