1
0
forked from pool/virtualbox

Accepting request 109344 from home:mseben:branches:Virtualization

we have gsoap in factory, so enable webservice feature

OBS-URL: https://build.opensuse.org/request/show/109344
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=77
This commit is contained in:
Michal Seben 2012-03-14 20:47:21 +00:00 committed by Git OBS Bridge
parent 10f1233225
commit 05ce7dc61c
3 changed files with 118 additions and 7 deletions

39
vbox-visibility.diff Normal file
View File

@ -0,0 +1,39 @@
Index: VirtualBox-4.1.8_OSE/src/VBox/Main/webservice/Makefile.kmk
===================================================================
--- VirtualBox-4.1.8_OSE.orig/src/VBox/Main/webservice/Makefile.kmk
+++ VirtualBox-4.1.8_OSE/src/VBox/Main/webservice/Makefile.kmk
@@ -194,7 +194,8 @@ ifdef VBOX_GSOAP_INSTALLED
# vboxsoap - Library used by both the programs (save build time).
#
LIBRARIES += vboxsoap
- vboxsoap_TEMPLATE = VBOXR3EXE
+ vboxsoap_TEMPLATE = VBOXVISIBILITY
+
ifdef VBOX_USE_VCC80
vboxsoap_CXXFLAGS.win += -bigobj
endif
@@ -410,7 +411,7 @@ $$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) |
# webtest - webservice sample client in C++
#
PROGRAMS += webtest
- webtest_TEMPLATE = VBOXR3EXE
+ webtest_TEMPLATE = VBOXVISIBILITY
ifdef VBOX_USE_VCC80
webtest_CXXFLAGS.win += -bigobj
endif
Index: VirtualBox-4.1.8_OSE/Config.kmk
===================================================================
--- VirtualBox-4.1.8_OSE.orig/Config.kmk
+++ VirtualBox-4.1.8_OSE/Config.kmk
@@ -3211,6 +3211,11 @@ TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile =
endif
endif
+#enable visibility
+TEMPLATE_VBOXVISIBILITY = ommit -fvisibility=hidden flag
+TEMPLATE_VBOXVISIBILITY_EXTENDS = VBOXR3EXE
+TEMPLATE_VBOXVISIBILITY_CXXFLAGS = $(filter-out $(VBOX_GCC_fvisibility-hidden),$(TEMPLATE_VBOXR3EXE_CXXFLAGS))
+
#
# Template for building R3 shared objects / DLLs.
# This is mostly identical to the VBOXR3EXE template. (Avoid PIC if possible!)

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Mar 14 20:45:06 UTC 2012 - mseben@gmail.com
- enabled websrv feature
- added vbox-visibility.diff to fix websrv build (ommit -fvisibility=hidden gcc flag for gsoap related builds)
-------------------------------------------------------------------
Thu Mar 8 15:16:01 UTC 2012 - idonmez@suse.com

View File

@ -29,6 +29,12 @@ BuildRequires: hal-devel
%if %suse_version >= 1210
BuildRequires: glibc-devel-static
%endif
%if %suse_version > 1210
#gsoap and java needed for building webservice
BuildRequires: gsoap-devel
BuildRequires: libgsoap-devel
BuildRequires: java-1_6_0-openjdk-devel
%endif
BuildRequires: LibVNCServer-devel
BuildRequires: SDL-devel
BuildRequires: bin86
@ -113,6 +119,8 @@ Patch5: vbox-config.diff
Patch6: vbox-smc-napa.diff
#fix build of Python and dev package on openSUSE 11.3
Patch8: vbox-python-detection.diff
#fix build: we have to ommit gcc flag -fvisibility=hidden for soap related sources
Patch9: vbox-visibility.diff
#PATCH-FIX-OPENSUSE implement messagebox (VBoxPermissionMessage app), which is displayed, when user
#try to start VirtualBox and is not memeber of vboxusers group
Patch99: vbox-permissions_warning.diff
@ -156,6 +164,15 @@ PreReq: permissions
%description qt
Qt GUI part for %{name}.
#########################################
%package websrv
Summary: WebService GUI part for %{name}
Group: System/Emulators/PC
Requires: %{name} = %{version}
Provides: %{name}-gui = %{version}
%description websrv
websrv GUI part for %{name}.
#########################################
%package host-KMP
Summary: Host kernel module for VirtualBox
Group: System/Emulators/PC
@ -231,6 +248,7 @@ Development file for %{name}
%patch5 -p1
%patch6 -p1
%patch8 -p1
%patch9 -p1
%patch99 -p1
%patch100
%patch101
@ -249,7 +267,8 @@ rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*}
--disable-kmods \
--disable-java \
--disable-docs \
--nofatal
--nofatal \
--enable-webservice
# configure actually warns we should source env.sh (which seems like it could influence the build...)
source env.sh
@ -258,7 +277,7 @@ source env.sh
# VBOX_PATH_PACKAGE_DOCS set propper path for link to pdf in .desktop file
# VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= just disable some functionality in gui
echo "build basic parts"
/usr/bin/kmk %{?_smp_mflags} VBOX_GCC_WERR= KBUILD_VERBOSE=2 VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= TOOL_YASM_AS=yasm VBOX_PATH_PACKAGE_DOCS=/usr/share/doc/packages/virtualbox all
/usr/bin/kmk %{?_smp_mflags} VBOX_JAVA_HOME=/usr/%{_lib}/jvm/java-1.6.0-openjdk-1.6.0/ VBOX_GCC_WERR= KBUILD_VERBOSE=2 VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= TOOL_YASM_AS=yasm VBOX_PATH_PACKAGE_DOCS=/usr/share/doc/packages/virtualbox all
#
# build kernel modules for guest and host (check novel-kmp package as example)
# host modules : vboxdrv,vboxnetflt,vboxnetadp
@ -447,11 +466,7 @@ pushd out/linux.*/release/bin
%__install -m 644 nls/* %{buildroot}%{_datadir}/virtualbox/nls/
popd
# the build process tells us the desktop file is missing a semicolon...(repackage?)
#%__sed 's/^MimeType.*[^;]$/&;/' out/linux.*/release/bin/virtualbox.desktop > %{_tmppath}/virtualbox.desktop
#%__sed 's/Icon=VBox/Icon=VBox.png/' out/linux.*/release/bin/virtualbox.desktop > %{_tmppath}/virtualbox.desktop
# install desktop file
#%__install -m 644 %{_tmppath}/virtualbox.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
%__install -m 644 out/linux.*/release/bin/virtualbox.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
%suse_update_desktop_file %{buildroot}%{_datadir}/applications/%{name}.desktop 'System Emulator'
@ -503,6 +518,21 @@ popd
%__cp out/linux.*/release/bin/sdk/bindings/VirtualBox.xidl %{buildroot}%{_vbox_instdir}/sdk/bindings
######################################################
echo "entering virtualbox-websrv install section"
######################################################
pushd out/linux.*/release/bin
%__install -m 755 vboxwebsrv %{buildroot}%{_vbox_instdir}
%__install -m 755 webtest %{buildroot}%{_vbox_instdir}
popd
%__sed -i "s|%NOLSB%|yes|g;s|%DEBIAN%||g;s|%PACKAGE%|virtualbox|g" \
src/VBox/Installer/linux/vboxweb-service.sh.in
%__install -m 744 src/VBox/Installer/linux/vboxweb-service.sh.in \
%{buildroot}%{_sysconfdir}/init.d/vboxweb-service
%__ln_s %{_sysconfdir}/init.d/vboxweb-service \
%{buildroot}%{_sbindir}/rcvboxweb-service
#
######################################################
# run fdupes
######################################################
@ -511,10 +541,20 @@ popd
#also some translation files are duplicated
%fdupes %{buildroot}/%{_datadir}/virtualbox/nls
#
#
######################################################
# scriptlets - pre
######################################################
%pre
echo "creating group vboxusers..."
groupadd -r vboxusers 2>/dev/null || :
#######################################################
# scriptlets - post
#######################################################
%post
/sbin/ldconfig
%fillup_and_insserv -f -y vboxdrv
@ -551,6 +591,12 @@ groupadd -r vboxusers 2>/dev/null || :
%post guest-tools
%fillup_and_insserv -f -y vboxadd
%post websrv
%fillup_and_insserv -f -y vboxweb-service
#######################################################
# scriptlets preun
#######################################################
%preun
%stop_on_removal vboxdrv
exit 0
@ -559,6 +605,14 @@ exit 0
%stop_on_removal vboxadd
exit 0
%preun websrv
%stop_on_removal vboxweb-service
exit 0
#######################################################
# scriptlets postun
#######################################################
%postun
/sbin/ldconfig
%restart_on_update vboxdrv
@ -568,6 +622,12 @@ exit 0
%restart_on_update vboxadd
%insserv_cleanup
%postun websrv
%restart_on_update vboxweb-service
%insserv_cleanup
#
#######################################################
%clean
[ -d "%{buildroot}" -a "%{buildroot}" != "" ] && %__rm -rf "%{buildroot}"
@ -610,7 +670,6 @@ exit 0
%{_vbox_instdir}/VBoxSVC
%{_vbox_instdir}/VBoxTunctl
%{_vbox_instdir}/VBoxXPCOMIPCD
#added for 4.0.0
%{_vbox_instdir}/VBoxExtPackHelperApp
%{_vbox_instdir}/DBGCPlugInDiggers.so
%{_vbox_instdir}/VBoxAuth.so
@ -707,4 +766,11 @@ exit 0
%{_vbox_instdir}/sdk/bindings/auth
#%{_vbox_instdir}/sdk/bindings/glue/java
%files websrv
%defattr(-,root, root)
%{_vbox_instdir}/vboxwebsrv
%{_vbox_instdir}/webtest
%{_sysconfdir}/init.d/vboxweb-service
%{_sbindir}/rcvboxweb-service
%changelog