Gentoo Archives: gentoo-commits

From: "Lars Wendler (polynomial-c)" <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/virtualbox-ose: ChangeLog virtualbox-ose-3.2.12-r1.ebuild virtualbox-ose-3.2.12.ebuild
Date: Fri, 31 Dec 2010 11:38:33
Message-Id: 20101231113823.5323D20054@flycatcher.gentoo.org
1 polynomial-c 10/12/31 11:38:23
2
3 Modified: ChangeLog
4 Added: virtualbox-ose-3.2.12-r1.ebuild
5 Removed: virtualbox-ose-3.2.12.ebuild
6 Log:
7 Make VBoxNetDHCP SUID root (bug #349769).
8
9 (Portage version: 2.2.0_alpha10/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.78 app-emulation/virtualbox-ose/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog?rev=1.78&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog?rev=1.78&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog?r1=1.77&r2=1.78
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog,v
21 retrieving revision 1.77
22 retrieving revision 1.78
23 diff -u -r1.77 -r1.78
24 --- ChangeLog 19 Dec 2010 11:18:07 -0000 1.77
25 +++ ChangeLog 31 Dec 2010 11:38:23 -0000 1.78
26 @@ -1,6 +1,13 @@
27 # ChangeLog for app-emulation/virtualbox-ose
28 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog,v 1.77 2010/12/19 11:18:07 polynomial-c Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog,v 1.78 2010/12/31 11:38:23 polynomial-c Exp $
31 +
32 +*virtualbox-ose-3.2.12-r1 (31 Dec 2010)
33 +
34 + 31 Dec 2010; Lars Wendler <polynomial-c@g.o>
35 + -virtualbox-ose-3.2.12.ebuild, +virtualbox-ose-3.2.12-r1.ebuild:
36 + Make VBoxNetDHCP SUID root. Thanks to Florent Bondoux for reporting this in
37 + bug #349769.
38
39 19 Dec 2010; Lars Wendler <polynomial-c@g.o>
40 virtualbox-ose-3.1.8.ebuild, virtualbox-ose-3.2.10.ebuild,
41
42
43
44 1.1 app-emulation/virtualbox-ose/virtualbox-ose-3.2.12-r1.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox-ose/virtualbox-ose-3.2.12-r1.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox-ose/virtualbox-ose-3.2.12-r1.ebuild?rev=1.1&content-type=text/plain
48
49 Index: virtualbox-ose-3.2.12-r1.ebuild
50 ===================================================================
51 # Copyright 1999-2010 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/virtualbox-ose-3.2.12-r1.ebuild,v 1.1 2010/12/31 11:38:23 polynomial-c Exp $
54
55 EAPI=2
56
57 inherit eutils fdo-mime flag-o-matic linux-info pax-utils qt4-r2 toolchain-funcs
58
59 if [[ ${PV} == "9999" ]] ; then
60 # XXX: should finish merging the -9999 ebuild into this one ...
61 ESVN_REPO_URI="http://www.virtualbox.org/svn/vbox/trunk"
62 inherit linux-mod subversion
63 else
64 MY_P=VirtualBox-${PV}-OSE
65 SRC_URI="http://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2"
66 S=${WORKDIR}/${MY_P/-OSE/_OSE}
67 fi
68
69 DESCRIPTION="Software family of powerful x86 virtualization"
70 HOMEPAGE="http://www.virtualbox.org/"
71
72 LICENSE="GPL-2"
73 SLOT="0"
74 KEYWORDS="~amd64 ~x86"
75 IUSE="+additions alsa headless pulseaudio +opengl python +qt4 sdk vboxwebsrv vnc"
76
77 RDEPEND="!app-emulation/virtualbox-bin
78 ~app-emulation/virtualbox-modules-${PV}
79 dev-libs/libIDL
80 >=dev-libs/libxslt-1.1.19
81 net-misc/curl
82 !headless? (
83 qt4? ( x11-libs/qt-gui:4 x11-libs/qt-core:4 opengl?
84 ( x11-libs/qt-opengl:4 ) )
85 opengl? ( virtual/opengl media-libs/freeglut )
86 x11-libs/libXcursor
87 media-libs/libsdl[X,video]
88 x11-libs/libXt
89 )
90 headless? ( x11-libs/libX11 )
91 vnc? ( >=net-libs/libvncserver-0.9.7 )"
92 DEPEND="${RDEPEND}
93 >=dev-util/kbuild-0.1.5-r1
94 >=dev-lang/yasm-0.6.2
95 sys-devel/bin86
96 sys-devel/dev86
97 sys-power/iasl
98 media-libs/libpng
99 sys-libs/libcap
100 dev-util/pkgconfig
101 alsa? ( >=media-libs/alsa-lib-1.0.13 )
102 !headless? ( x11-libs/libXinerama )
103 pulseaudio? ( media-sound/pulseaudio )
104 python? ( >=dev-lang/python-2.3[threads] )
105 vboxwebsrv? ( >=net-libs/gsoap-2.7.13 )"
106 RDEPEND="${RDEPEND}
107 additions? ( ~app-emulation/virtualbox-ose-additions-${PV} )"
108
109 QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
110 usr/lib/virtualbox-ose/VBoxSDL.so
111 usr/lib/virtualbox-ose/VBoxSharedFolders.so
112 usr/lib/virtualbox-ose/VBoxDD2.so
113 usr/lib/virtualbox-ose/VBoxOGLrenderspu.so
114 usr/lib/virtualbox-ose/VBoxPython.so
115 usr/lib/virtualbox-ose/VBoxDD.so
116 usr/lib/virtualbox-ose/VBoxDDU.so
117 usr/lib/virtualbox-ose/VBoxREM64.so
118 usr/lib/virtualbox-ose/VBoxSharedClipboard.so
119 usr/lib/virtualbox-ose/VBoxHeadless.so
120 usr/lib/virtualbox-ose/VBoxRT.so
121 usr/lib/virtualbox-ose/VBoxREM.so
122 usr/lib/virtualbox-ose/VBoxSettings.so
123 usr/lib/virtualbox-ose/VBoxKeyboard.so
124 usr/lib/virtualbox-ose/VBoxSharedCrOpenGL.so
125 usr/lib/virtualbox-ose/VBoxVMM.so
126 usr/lib/virtualbox-ose/VirtualBox.so
127 usr/lib/virtualbox-ose/VBoxOGLhosterrorspu.so
128 usr/lib/virtualbox-ose/components/VBoxC.so
129 usr/lib/virtualbox-ose/components/VBoxSVCM.so
130 usr/lib/virtualbox-ose/components/VBoxDDU.so
131 usr/lib/virtualbox-ose/components/VBoxRT.so
132 usr/lib/virtualbox-ose/components/VBoxREM.so
133 usr/lib/virtualbox-ose/components/VBoxVMM.so
134 usr/lib/virtualbox-ose/VBoxREM32.so
135 usr/lib/virtualbox-ose/VBoxPython2_4.so
136 usr/lib/virtualbox-ose/VBoxPython2_5.so
137 usr/lib/virtualbox-ose/VBoxPython2_6.so
138 usr/lib/virtualbox-ose/VBoxPython2_7.so
139 usr/lib/virtualbox-ose/VBoxXPCOMC.so
140 usr/lib/virtualbox-ose/VBoxOGLhostcrutil.so
141 usr/lib/virtualbox-ose/VBoxNetDHCP.so"
142
143 pkg_setup() {
144 if ! use headless && ! use qt4 ; then
145 einfo "No USE=\"qt4\" selected, this build will not include"
146 einfo "any Qt frontend."
147 elif use headless && use qt4 ; then
148 einfo "You selected USE=\"headless qt4\", defaulting to"
149 einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
150 fi
151
152 if ! use opengl ; then
153 einfo "No USE=\"opengl\" selected, this build will lack"
154 einfo "the OpenGL feature."
155 fi
156 }
157
158 src_prepare() {
159 # Remove shipped binaries (kBuild,yasm), see bug #232775
160 rm -rf kBuild/bin tools
161
162 # Disable things unused or split into separate ebuilds
163 sed -e "s/MY_LIBDIR/$(get_libdir)/" \
164 "${FILESDIR}"/${PN}-3-localconfig > LocalConfig.kmk || die
165
166 # unset useless/problematic mesa checks in configure
167 epatch "${FILESDIR}/${PN}-3.2.8-mesa-check.patch"
168
169 # fix build with --as-needed (bug #249295)
170 epatch "${FILESDIR}/${PN}-asneeded.patch"
171
172 # add the --enable-vnc option to configure script (bug #348204)
173 epatch "${FILESDIR}/${PN}-vnc.patch"
174 }
175
176 src_configure() {
177 local myconf
178 use alsa || myconf+=" --disable-alsa"
179 use opengl || myconf+=" --disable-opengl"
180 use pulseaudio || myconf+=" --disable-pulse"
181 use python || myconf+=" --disable-python"
182 use vboxwebsrv && myconf+=" --enable-webservice"
183 use vnc && myconf+=" --enable-vnc"
184 if ! use headless ; then
185 use qt4 || myconf+=" --disable-qt4"
186 else
187 myconf+=" --build-headless --disable-opengl"
188 fi
189 # not an autoconf script
190 ./configure \
191 --with-gcc="$(tc-getCC)" \
192 --with-g++="$(tc-getCXX)" \
193 --disable-kmods \
194 --disable-dbus \
195 ${myconf} \
196 || die "configure failed"
197 }
198
199 src_compile() {
200 source ./env.sh
201
202 # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
203 # and strip all flags
204 strip-flags
205
206 MAKE="kmk" emake \
207 TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
208 TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
209 TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
210 TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
211 TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \
212 all || die "kmk failed"
213 }
214
215 src_install() {
216 cd "${S}"/out/linux.*/release/bin || die
217
218 # Create configuration files
219 insinto /etc/vbox
220 newins "${FILESDIR}/${PN}-3-config" vbox.cfg
221
222 # Set the right libdir
223 sed -i \
224 -e "s/MY_LIBDIR/$(get_libdir)/" \
225 "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
226
227 # Symlink binaries to the shipped wrapper
228 exeinto /usr/$(get_libdir)/${PN}
229 newexe "${FILESDIR}/${PN}-3-wrapper" "VBox" || die
230 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox
231 fperms 0750 /usr/$(get_libdir)/${PN}/VBox
232
233 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage
234 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP
235 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless
236 dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
237
238 # Install binaries and libraries
239 insinto /usr/$(get_libdir)/${PN}
240 doins -r components || die
241
242 if use sdk ; then
243 doins -r sdk || die
244 fi
245
246 if use vboxwebsrv ; then
247 doins vboxwebsrv || die
248 fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv
249 fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv
250 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv
251 newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
252 newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
253 fi
254
255 for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP} *so *r0 *gc ; do
256 doins $each || die
257 fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
258 fperms 0750 /usr/$(get_libdir)/${PN}/${each}
259 done
260 # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
261 fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetAdpCtl
262 fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetDHCP
263
264 if ! use headless ; then
265 for each in VBox{SDL,Headless} ; do
266 doins $each || die
267 fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
268 fperms 4750 /usr/$(get_libdir)/${PN}/${each}
269 pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
270 done
271
272 if use opengl && use qt4 ; then
273 doins VBoxTestOGL || die
274 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL
275 fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL
276 fi
277
278 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL
279
280 if use qt4 ; then
281 doins VirtualBox || die
282 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox
283 fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox
284 pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox
285
286 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox
287 fi
288
289 newicon "${S}"/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_32px.png ${PN}.png
290 newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
291 else
292 doins VBoxHeadless || die
293 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless
294 fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless
295 pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless
296 fi
297
298 # Install EFI Firmware files (bug #320757)
299 pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
300 for fwfile in VBoxEFI{32,64}.fd ; do
301 doins ${fwfile} || die
302 fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile} || die
303 done
304 popd &>/dev/null || die
305
306 insinto /usr/share/${PN}
307 if ! use headless && use qt4 ; then
308 doins -r nls
309 fi
310
311 # set an env-variable for 3rd party tools
312 echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox"
313 doenvd "${T}/90virtualbox"
314 }
315
316 pkg_postinst() {
317 fdo-mime_desktop_database_update
318 if ! use headless && use qt4 ; then
319 elog "To launch VirtualBox just type: \"VirtualBox\""
320 fi
321 elog "You must be in the vboxusers group to use VirtualBox."
322 elog ""
323 elog "The latest user manual is available for download at:"
324 elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
325 elog ""
326 elog "For advanced networking setups you should emerge:"
327 elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
328 elog ""
329 elog "Please visit http://www.virtualbox.org/wiki/Editions for"
330 elog "an overview about the different features of ${PN}"
331 elog "and virtualbox-bin"
332 }
333
334 pkg_postrm() {
335 fdo-mime_desktop_database_update
336 }