summaryrefslogtreecommitdiff
path: root/system/virtualbox-addons/rc.vboxadd.diff
blob: 929c25eeaf05e2d1fcbc018bb87e0b684cce638f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
--- vboxadd.sh.orig	2016-01-19 17:40:04.000000000 +0100
+++ vboxadd.sh	2016-01-23 15:46:17.000000000 +0100
@@ -146,42 +146,9 @@
 
 dev=/dev/vboxguest
 userdev=/dev/vboxuser
-config=/var/lib/VBoxGuestAdditions/config
 owner=vboxadd
 group=1
 
-test_for_gcc_and_make()
-{
-    which make > /dev/null 2>&1 || printf "\nThe make utility was not found. If the following module compilation fails then\nthis could be the reason and you should try installing it.\n"
-    which gcc > /dev/null 2>&1 || printf "\nThe gcc utility was not found. If the following module compilation fails then\nthis could be the reason and you should try installing it.\n"
-}
-
-test_sane_kernel_dir()
-{
-    KERN_VER=`uname -r`
-    KERN_DIR="/lib/modules/$KERN_VER/build"
-    if [ -d "$KERN_DIR" ]; then
-        KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
-        if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then
-            return 0
-        fi
-    fi
-    printf "\nThe headers for the current running kernel were not found. If the following\nmodule compilation fails then this could be the reason.\n"
-    if [ "$system" = "redhat" ]; then
-        if echo "$KERN_VER" | grep -q "uek"; then
-            printf "The missing package can be probably installed with\nyum install kernel-uek-devel-$KERN_VER\n"
-        else
-            printf "The missing package can be probably installed with\nyum install kernel-devel-$KERN_VER\n"
-        fi
-    elif [ "$system" = "suse" ]; then
-        KERN_VER_SUSE=`echo "$KERN_VER" | sed 's/.*-\([^-]*\)/\1/g'`
-        KERN_VER_BASE=`echo "$KERN_VER" | sed 's/\(.*\)-[^-]*/\1/g'`
-        printf "The missing package can be probably installed with\nzypper install kernel-$KERN_VER_SUSE-devel-$KERN_VER_BASE\n"
-    elif [ "$system" = "debian" ]; then
-        printf "The missing package can be probably installed with\napt-get install linux-headers-$KERN_VER\n"
-    fi
-}
-
 running_vboxguest()
 {
     lsmod | grep -q "vboxguest[^_-]"
@@ -253,13 +220,6 @@
 start()
 {
     begin "Starting the VirtualBox Guest Additions ";
-    if test -r $config; then
-      . $config
-    else
-      fail "Configuration file $config not found"
-    fi
-    test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-      fail "Configuration file $config not complete"
     uname -r | grep -q -E '^2\.6|^3|^4' 2>/dev/null &&
         ps -A -o comm | grep -q '/*udevd$' 2>/dev/null ||
         no_udev=1
@@ -331,202 +291,16 @@
     return 0
 }
 
-# Remove any existing VirtualBox guest kernel modules from the disk, but not
-# from the kernel as they may still be in use
-cleanup_modules()
-{
-    if [ -n "$(which dkms 2>/dev/null)" ]; then
-        begin "Removing existing VirtualBox DKMS kernel modules"
-        $DODKMS uninstall $OLDMODULES > $LOG
-        succ_msg
-    fi
-    begin "Removing existing VirtualBox non-DKMS kernel modules"
-    for i in $OLDMODULES; do
-        find /lib/modules -name $i\* | xargs rm 2>/dev/null
-    done
-    succ_msg
-}
-
-# Build and install the VirtualBox guest kernel modules
-setup_modules()
-{
-    # don't stop the old modules here -- they might be in use
-    cleanup_modules
-    begin "Building the VirtualBox Guest Additions kernel modules"
-
-    # Short cut out if a dkms build succeeds
-    if [ -n "$(which dkms 2>/dev/null)" ] &&
-       $DODKMS install vboxguest $INSTALL_VER >> $LOG 2>&1; then
-        succ_msg
-        return 0
-    fi
-
-    test_for_gcc_and_make
-    test_sane_kernel_dir
-
-    echo
-    begin "Building the main Guest Additions module"
-    if ! $BUILDINTMP \
-        --save-module-symvers /tmp/vboxguest-Module.symvers \
-        --module-source $MODULE_SRC/vboxguest \
-        --no-print-directory install >> $LOG 2>&1; then
-        show_error "Look at $LOG to find out what went wrong"
-        return 1
-    fi
-    succ_msg
-    begin "Building the shared folder support module"
-    if ! $BUILDINTMP \
-        --use-module-symvers /tmp/vboxguest-Module.symvers \
-        --module-source $MODULE_SRC/vboxsf \
-        --no-print-directory install >> $LOG 2>&1; then
-        show_error  "Look at $LOG to find out what went wrong"
-        return 1
-    fi
-    succ_msg
-    if expr `uname -r` '<' '2.6.27' > /dev/null; then
-        echo "Not building the VirtualBox advanced graphics driver as this Linux version is"
-        echo "too old to use it."
-    else
-        begin "Building the OpenGL support module"
-        if ! $BUILDINTMP \
-            --use-module-symvers /tmp/vboxguest-Module.symvers \
-            --module-source $MODULE_SRC/vboxvideo \
-            --no-print-directory install >> $LOG 2>&1; then
-            show_error "Look at $LOG to find out what went wrong. The module is not built but the others are."
-        else
-            succ_msg
-        fi
-    fi
-    depmod
-    return 0
-}
-
-# Do non-kernel bits needed for the kernel modules to work properly (user
-# creation, udev, mount helper...)
-extra_setup()
-{
-    begin "Doing non-kernel setup of the Guest Additions"
-    echo "Creating user for the Guest Additions." >> $LOG
-    # This is the LSB version of useradd and should work on recent
-    # distributions
-    useradd -d /var/run/vboxadd -g 1 -r -s /bin/false vboxadd >/dev/null 2>&1
-    # And for the others, we choose a UID ourselves
-    useradd -d /var/run/vboxadd -g 1 -u 501 -o -s /bin/false vboxadd >/dev/null 2>&1
-
-    # Add a group "vboxsf" for Shared Folders access
-    # All users which want to access the auto-mounted Shared Folders have to
-    # be added to this group.
-    groupadd -r -f vboxsf >/dev/null 2>&1
-
-    # Create udev description file
-    if [ -d /etc/udev/rules.d ]; then
-        echo "Creating udev rule for the Guest Additions kernel module." >> $LOG
-        udev_call=""
-        udev_app=`which udevadm 2> /dev/null`
-        if [ $? -eq 0 ]; then
-            udev_call="${udev_app} version 2> /dev/null"
-        else
-            udev_app=`which udevinfo 2> /dev/null`
-            if [ $? -eq 0 ]; then
-                udev_call="${udev_app} -V 2> /dev/null"
-            fi
-        fi
-        udev_fix="="
-        if [ "${udev_call}" != "" ]; then
-            udev_out=`${udev_call}`
-            udev_ver=`expr "$udev_out" : '[^0-9]*\([0-9]*\)'`
-            if [ "$udev_ver" = "" -o "$udev_ver" -lt 55 ]; then
-               udev_fix=""
-            fi
-        fi
-        ## @todo 60-vboxadd.rules -> 60-vboxguest.rules ?
-        echo "KERNEL=${udev_fix}\"vboxguest\", NAME=\"vboxguest\", OWNER=\"vboxadd\", MODE=\"0660\"" > /etc/udev/rules.d/60-vboxadd.rules
-        echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules
-    fi
-
-    # Put mount.vboxsf in the right place
-    ln -sf "$lib_path/$PACKAGE/mount.vboxsf" /sbin
-    # And an rc file to re-build the kernel modules and re-set-up the X server.
-    ln -sf "$lib_path/$PACKAGE/vboxadd" /sbin/rcvboxadd
-    ln -sf "$lib_path/$PACKAGE/vboxadd-x11" /sbin/rcvboxadd-x11
-    # At least Fedora 11 and Fedora 12 require the correct security context when
-    # executing this command from service scripts. Shouldn't hurt for other
-    # distributions.
-    chcon -u system_u -t mount_exec_t "$lib_path/$PACKAGE/mount.vboxsf" > /dev/null 2>&1
-    # And at least Fedora 15 needs this for the acceleration support check to
-    # work
-    redhat_release=`cat /etc/redhat-release 2> /dev/null`
-    case "$redhat_release" in Fedora\ release\ 15* )
-        for i in "$lib_path"/*.so
-        do
-            restorecon "$i" >/dev/null
-        done
-        ;;
-    esac
-
-    succ_msg
-}
-
 # setup_script
 setup()
 {
-    if test -r $config; then
-      . $config
-    else
-      fail "Configuration file $config not found"
-    fi
-    test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-      fail "Configuration file $config not complete"
-    export BUILD_TYPE
-    export USERNAME
-
-    rm -f $LOG
-    MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER"
-    BUILDINTMP="$MODULE_SRC/build_in_tmp"
-    DODKMS="$MODULE_SRC/do_dkms"
-    chcon -t bin_t "$BUILDINTMP" > /dev/null 2>&1
-    chcon -t bin_t "$DODKMS"     > /dev/null 2>&1
-
-    setup_modules
-    mod_succ="$?"
-    extra_setup
-    if [ "$mod_succ" -eq "0" ]; then
-        if running_vboxguest || running_vboxadd; then
-            printf "You should restart your guest to make sure the new modules are actually used\n\n"
-        else
-            start
-        fi
-    fi
+    echo "Not implemented! Please use the virtualbox-kernel-addons.SlackBuild available at SlackBuilds.org instead."
 }
 
 # cleanup_script
 cleanup()
 {
-    if test -r $config; then
-      . $config
-      test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-        fail "Configuration file $config not complete"
-      DODKMS="$INSTALL_DIR/src/vboxguest-$INSTALL_VER/do_dkms"
-    elif test -x ./do_dkms; then  # Executing as part of the installer...
-      DODKMS=./do_dkms
-    else
-      fail "Configuration file $config not found"
-    fi
-
-    # Delete old versions of VBox modules.
-    cleanup_modules
-    depmod
-
-    # Remove old module sources
-    for i in $OLDMODULES; do
-      rm -rf /usr/src/$i-*
-    done
-
-    # Remove other files
-    rm /sbin/mount.vboxsf 2>/dev/null
-    rm /sbin/rcvboxadd 2>/dev/null
-    rm /sbin/rcvboxadd-x11 2>/dev/null
-    rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null
+    echo "Not implemented! Please use removepkg or pkgtool to remove virtualbox-addons and/or virtualbox-kernel-addons instead."
 }
 
 dmnstatus()