wok view get-virtualbox/stuff/installer.u @ rev 4775

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