rev |
line source |
erjo@4776
|
1 --- stuff/get-virtualbox Thu Jan 7 14:12:34 2010
|
erjo@4776
|
2 +++ get-virtualbox Wed Jan 13 14:50:44 2010
|
erjo@4776
|
3 @@ -24,7 +24,8 @@
|
erjo@4775
|
4 grep Linux_x86.run | sed 's|.*href="\(.*Linux_x86.run\).*|\1|'
|
erjo@4775
|
5 }
|
erjo@4775
|
6
|
erjo@4775
|
7 -TMP_DIR=/tmp/get-$PACKAGE-$$-$RANDOM
|
erjo@4776
|
8 +TMP_DIR=/home/slitaz/src/get-$PACKAGE-$$-$RANDOM
|
erjo@4776
|
9 +
|
erjo@4775
|
10 CUR_DIR=$(pwd)
|
erjo@4775
|
11 mkdir -p $TMP_DIR && cd $TMP_DIR
|
erjo@4775
|
12
|
erjo@4775
|
13 @@ -55,6 +56,145 @@
|
erjo@4775
|
14
|
erjo@4775
|
15 # Install files
|
erjo@4775
|
16 cd install
|
erjo@4775
|
17 +
|
erjo@4775
|
18 +# Add Slitaz support to VirtualBox installer.
|
erjo@4775
|
19 +patch -p1 <<'EOT'
|
erjo@4775
|
20 +--- install-ori/routines.sh Thu Dec 17 14:37:35 2009
|
erjo@4775
|
21 ++++ install/routines.sh Thu Dec 24 00:17:33 2009
|
erjo@4775
|
22 +@@ -207,6 +207,10 @@
|
erjo@4775
|
23 + ro_SYS_TYPE=unknown
|
erjo@4775
|
24 + ro_INIT_TYPE=bsd
|
erjo@4775
|
25 + ro_RC_LOCAL=/etc/rc.local
|
erjo@4775
|
26 ++ elif [ -f /etc/slitaz-release ]; then
|
erjo@4775
|
27 ++ ro_SYS_TYPE=slitaz
|
erjo@4775
|
28 ++ ro_INIT_TYPE=slitaz
|
erjo@4775
|
29 ++ ro_RC_LOCAL=/etc/rcS.conf
|
erjo@4775
|
30 + elif [ -d /etc/init.d ]; then
|
erjo@4775
|
31 + ro_SYS_TYPE=unknown
|
erjo@4775
|
32 + ro_INIT_TYPE=sysv
|
erjo@4775
|
33 +@@ -252,6 +256,9 @@
|
erjo@4775
|
34 + cp "$script" "/usr/sbin/$name" 2> /dev/null
|
erjo@4775
|
35 + chmod 755 "/usr/sbin/$name" 2> /dev/null
|
erjo@4775
|
36 + hav register $name System.Service $pardus_script
|
erjo@4775
|
37 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
38 ++ cp "$script" "/etc/rc.d/init.d/$name" 2> /dev/null
|
erjo@4775
|
39 ++ chmod 755 "/etc/rc.d/init.d/$name" 2> /dev/null
|
erjo@4775
|
40 + else
|
erjo@4775
|
41 + log "install_init_script: error: unknown init type"
|
erjo@4775
|
42 + return 1
|
erjo@4775
|
43 +@@ -279,6 +286,8 @@
|
erjo@4775
|
44 + elif [ "$ro_INIT_TYPE" = "pardus" ]; then
|
erjo@4775
|
45 + hav remove $name
|
erjo@4775
|
46 + rm -f "/usr/sbin/$name" > /dev/null 2>&1
|
erjo@4775
|
47 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
48 ++ rm -f "/etc/rc.d/init.d/$name" > /dev/null 2>&1
|
erjo@4775
|
49 + else
|
erjo@4775
|
50 + log "remove_init_script: error: unknown init type"
|
erjo@4775
|
51 + return 1
|
erjo@4775
|
52 +@@ -303,6 +312,8 @@
|
erjo@4775
|
53 + "/etc/rc.d/rc.$name" start >> $ro_LOG_FILE 2>&1
|
erjo@4775
|
54 + elif [ "$ro_INIT_TYPE" = "lfs" ]; then
|
erjo@4775
|
55 + "/etc/rc.d/init.d/$name" start >> $ro_LOG_FILE 2>&1
|
erjo@4775
|
56 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
57 ++ "/etc/rc.d/init.d/$name" start >> $ro_LOG_FILE 2>&1
|
erjo@4775
|
58 + elif [ "$ro_INIT_TYPE" = "pardus" ]; then
|
erjo@4775
|
59 + service $name on
|
erjo@4775
|
60 + else
|
erjo@4775
|
61 +@@ -328,6 +339,8 @@
|
erjo@4775
|
62 + "/etc/rc.d/rc.$name" stop >> $ro_LOG_FILE 2>&1
|
erjo@4775
|
63 + elif [ "$ro_INIT_TYPE" = "lfs" ]; then
|
erjo@4775
|
64 + "/etc/rc.d/init.d/$name" stop >> $ro_LOG_FILE 2>&1
|
erjo@4775
|
65 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
66 ++ "/etc/rc.d/init.d/$name" stop >> $ro_LOG_FILE 2>&1
|
erjo@4775
|
67 + elif [ "$ro_INIT_TYPE" = "pardus" ]; then
|
erjo@4775
|
68 + service $name off
|
erjo@4775
|
69 + else
|
erjo@4775
|
70 +@@ -425,6 +438,12 @@
|
erjo@4775
|
71 + echo "fi" >> $ro_RC_LOCAL
|
erjo@4775
|
72 + echo "" >> $ro_RC_LOCAL
|
erjo@4775
|
73 + fi
|
erjo@4775
|
74 ++ # Slitaz GNU/Linux use /etc/rcS.conf to start services.
|
erjo@4775
|
75 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
76 ++ if ! grep $1 $ro_RC_LOCAL
|
erjo@4775
|
77 ++ then
|
erjo@4775
|
78 ++ sed -i -e "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"\1 $1\"/" $ro_RC_LOCAL
|
erjo@4775
|
79 ++ fi
|
erjo@4775
|
80 + # Probably most unknown Linux systems will be sysv type ones. These can theoretically
|
erjo@4775
|
81 + # be handled automatically if people give us information about them.
|
erjo@4775
|
82 + elif [ "$ro_INIT_TYPE" = "sysv" ]; then
|
erjo@4775
|
83 +@@ -484,6 +503,12 @@
|
erjo@4775
|
84 + rm "/etc/rc4.d/S??$1" > /dev/null 2>&1
|
erjo@4775
|
85 + rm "/etc/rc5.d/S??$1" > /dev/null 2>&1
|
erjo@4775
|
86 + rm "/etc/rc6.d/K??$1" > /dev/null 2>&1
|
erjo@4775
|
87 ++ # Slitaz GNU/Linux
|
erjo@4775
|
88 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
89 ++ if grep $1 $ro_RC_LOCAL
|
erjo@4775
|
90 ++ then
|
erjo@4775
|
91 ++ sed -i -e "s/$1//" $ro_RC_LOCAL
|
erjo@4775
|
92 ++ fi
|
erjo@4775
|
93 + # Unknown sysv-type system
|
erjo@4775
|
94 + elif [ "$ro_INIT_TYPE" = "sysv" ]; then
|
erjo@4775
|
95 + echo 1>&2 "Please remove remove references to the initialization script"
|
erjo@4775
|
96 +@@ -515,6 +540,8 @@
|
erjo@4775
|
97 + scriptname="/etc/rc.d/init.d/$name"
|
erjo@4775
|
98 + elif [ "$ro_INIT_TYPE" = "pardus" ]; then
|
erjo@4775
|
99 + scriptname="/usr/sbin/$name"
|
erjo@4775
|
100 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
101 ++ scriptname="/etc/init.d/$name"
|
erjo@4775
|
102 + else
|
erjo@4775
|
103 + log "$self: error: unknown init type"
|
erjo@4775
|
104 + return 1
|
erjo@4775
|
105 +@@ -563,6 +590,8 @@
|
erjo@4775
|
106 + scriptname="/etc/rc.d/init.d/$name"
|
erjo@4775
|
107 + elif [ "$ro_INIT_TYPE" = "pardus" ]; then
|
erjo@4775
|
108 + scriptname="/usr/sbin/$name"
|
erjo@4775
|
109 ++ elif [ "$ro_INIT_TYPE" = "slitaz" ]; then
|
erjo@4775
|
110 ++ scriptname="/etc/rc.d/init.d/$name"
|
erjo@4775
|
111 + else
|
erjo@4775
|
112 + log "$self: error: unknown init type"
|
erjo@4775
|
113 + return 1
|
erjo@4775
|
114 +--- install-ori/vboxdrv.sh Thu Dec 17 14:37:35 2009
|
erjo@4775
|
115 ++++ install/vboxdrv.sh Wed Dec 23 23:01:14 2009
|
erjo@4775
|
116 +@@ -63,6 +63,8 @@
|
erjo@4775
|
117 + system=suse
|
erjo@4775
|
118 + elif [ -f /etc/gentoo-release ]; then
|
erjo@4775
|
119 + system=gentoo
|
erjo@4775
|
120 ++ elif [ -f /etc/slitaz-release ]; then
|
erjo@4775
|
121 ++ system=slitaz
|
erjo@4775
|
122 + fi
|
erjo@4775
|
123 + fi
|
erjo@4775
|
124 +
|
erjo@4775
|
125 +@@ -123,6 +125,19 @@
|
erjo@4775
|
126 + if [ "`which $0`" = "/sbin/rc" ]; then
|
erjo@4775
|
127 + shift
|
erjo@4775
|
128 + fi
|
erjo@4775
|
129 ++ elif [ "$system" = "slitaz" ]; then
|
erjo@4775
|
130 ++ if [ -f /etc/init.d/rc.functions ]; then
|
erjo@4775
|
131 ++ . /etc/init.d/rc.functions
|
erjo@4775
|
132 ++ fi
|
erjo@4775
|
133 ++ fail_msg() {
|
erjo@4775
|
134 ++ status
|
erjo@4775
|
135 ++ }
|
erjo@4775
|
136 ++ succ_msg() {
|
erjo@4775
|
137 ++ status "$?"
|
erjo@4775
|
138 ++ }
|
erjo@4775
|
139 ++ begin_msg() {
|
erjo@4775
|
140 ++ echo "$1"
|
erjo@4775
|
141 ++ }
|
erjo@4775
|
142 + else
|
erjo@4775
|
143 + fail_msg() {
|
erjo@4775
|
144 + echo " ...failed!"
|
erjo@4775
|
145 +@@ -132,6 +147,7 @@
|
erjo@4775
|
146 + echo " ...done."
|
erjo@4775
|
147 + }
|
erjo@4775
|
148 + fi
|
erjo@4775
|
149 ++
|
erjo@4775
|
150 + if [ "$system" != "gentoo" ]; then
|
erjo@4775
|
151 + begin_msg() {
|
erjo@4775
|
152 + [ -z "${1:-}" ] && return 1
|
erjo@4775
|
153 +EOT
|
erjo@4775
|
154 +
|
erjo@4775
|
155 +
|
erjo@4775
|
156 [ -d /usr/share/VirtualBox ] && ./uninstall.sh
|
erjo@4775
|
157 find /usr /etc /lib > ../before
|
erjo@4775
|
158 ./install.sh install /usr/share/VirtualBox
|
erjo@4776
|
159 @@ -76,12 +216,18 @@
|
erjo@4775
|
160 CATEGORY="non-free"
|
erjo@4775
|
161 SHORT_DESC="$SHORT_DESC"
|
erjo@4775
|
162 WEB_SITE="$WEB_SITE"
|
erjo@4775
|
163 -DEPENDS="libsdl fontconfig gcc-lib-base glib libpng python udev"
|
erjo@4775
|
164 +DEPENDS="libsdl fontconfig gcc-lib-base glib libpng python udev libglu-mesa"
|
erjo@4775
|
165
|
erjo@4775
|
166 post_install()
|
erjo@4775
|
167 {
|
erjo@4775
|
168 $(grep ' udev[atp]' install/install.sh)
|
erjo@4775
|
169 chroot "\$1/" depmod -a $(uname -r)
|
erjo@4776
|
170 +}
|
erjo@4775
|
171 +
|
erjo@4775
|
172 +post_remove()
|
erjo@4775
|
173 +{
|
erjo@4775
|
174 + /etc/init.d/vboxdrv stop
|
erjo@4775
|
175 + sed -i 's/vboxdrv//' /etc/rcS.conf
|
erjo@4776
|
176 }
|
erjo@4775
|
177 EOT
|
erjo@4775
|
178
|