[VirtualBox] Enable webservice with fix of patch 02-gsoap-build-fix, add patch to allow

Sérgio M. Basto sergiomb at rpmfusion.org
Tue Sep 6 03:43:43 CEST 2016


commit 8c483c2cb1563f46fd39d0e78f6153da9ec36f96
Author: Sérgio M. Basto <sergio at serjux.com>
Date:   Tue Sep 6 02:43:13 2016 +0100

    Enable webservice with fix of patch 02-gsoap-build-fix, add patch to allow
    
      gcc-6.2 and add patch 29-fix-ftbfs-as-needed from Debian

 02-gsoap-build-fix.patch     | 10 +++++-----
 29-fix-ftbfs-as-needed.patch | 16 ++++++++++++++++
 VirtualBox-gcc.patch         | 15 +++++++--------
 VirtualBox.spec              | 14 ++++++++++----
 4 files changed, 38 insertions(+), 17 deletions(-)
---
diff --git a/02-gsoap-build-fix.patch b/02-gsoap-build-fix.patch
index 3e3f315..2cc4e6b 100644
--- a/02-gsoap-build-fix.patch
+++ b/02-gsoap-build-fix.patch
@@ -3,12 +3,12 @@ Index: virtualbox-git-orig/src/VBox/Main/webservice/Makefile.kmk
 ===================================================================
 --- virtualbox-git-orig.orig/src/VBox/Main/webservice/Makefile.kmk	2013-12-02 12:32:51.211124975 -0500
 +++ virtualbox-git-orig/src/VBox/Main/webservice/Makefile.kmk	2013-12-02 12:36:04.531133954 -0500
-@@ -707,7 +707,7 @@
- : $(VBOXWEB_GSOAPH_FROM_GSOAP) $(VBOXWEB_GSOAPH_FROM_XSLT) $(VBOX_NSMAP) $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@)
+@@ -724,7 +724,7 @@
+ 		$(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@)
  	$(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT))
  	$(RM) -f $@
 -	$(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT)
 +	$(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -z1 -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT)
- 	$(APPEND) $@ done
- 
- # Copy the generated headers and stuff.  This was split into a separate rule
+ ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround.
+ 	$(CP) -f "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp"
+ 	$(SED) -f $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed --output "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp"
diff --git a/29-fix-ftbfs-as-needed.patch b/29-fix-ftbfs-as-needed.patch
new file mode 100644
index 0000000..8b0ff22
--- /dev/null
+++ b/29-fix-ftbfs-as-needed.patch
@@ -0,0 +1,16 @@
+Description: Fix FTBFS with ld --as-needed.
+Origin: vendor, http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/files/virtualbox-4.1.4-asneeded.patch?revision=1.2&view=markup
+
+Index: virtualbox/Config.kmk
+===================================================================
+--- virtualbox.orig/Config.kmk	2015-04-02 15:46:59.611743003 +0200
++++ virtualbox/Config.kmk	2015-04-02 15:46:59.611743003 +0200
+@@ -6099,7 +6099,7 @@
+ TEMPLATE_VBoxBldProg_LDFLAGS.amd64       = -m64
+ TEMPLATE_VBoxBldProg_LDFLAGS.sparc64     = -m64
+  ifeq ($(KBUILD_HOST),linux)
+-TEMPLATE_VBoxBldProg_LIBS                = pthread m rt dl
++TEMPLATE_VBoxBldProg_LIBS                = pthread m rt dl crypt
+  else ifeq ($(KBUILD_HOST),os2)
+ TEMPLATE_VBoxBldProg_TOOL                = GXX3OMF
+ TEMPLATE_VBoxBldProg_LIBS                = socket iconv
diff --git a/VirtualBox-gcc.patch b/VirtualBox-gcc.patch
index 3bbe5ff..20926a0 100644
--- a/VirtualBox-gcc.patch
+++ b/VirtualBox-gcc.patch
@@ -1,12 +1,11 @@
 --- ./configure.orig	2016-03-05 02:37:09.491895482 +0000
 +++ ./configure	2016-03-05 02:53:57.136090980 +0000
-@@ -436,7 +436,8 @@ check_gcc()
-              -o \( $cc_maj -eq 4 -a $cc_min -lt 1 -a "$OS" != "darwin" \) \
+@@ -441,7 +441,7 @@ check_gcc()
+              -o \( $cc_maj -eq 4 -a $cc_min -lt 2 -a "$OS"  = "darwin" \) \
               -o \( $cc_maj -eq 4 -a $cc_min -gt 9 \) \
-              -o \( $cc_maj -eq 5 -a $cc_min -gt 3 \) \
--             -o $cc_maj -gt 5 ]; then
-+             -o \( $cc_maj -eq 6 -a $cc_min -gt 1 \) \
-+             -o $cc_maj -gt 6 ]; then
-         log_failure "gcc version $cc_maj.$cc_min found, expected gcc 3.x with x>1 or gcc 4.x with 0<x<10 or gcc 5.3"
+              -o \( $cc_maj -eq 5 -a $cc_min -gt 9 \) \
+-             -o \( $cc_maj -eq 6 -a $cc_min -gt 1 \) \
++             -o \( $cc_maj -eq 6 -a $cc_min -gt 2 \) \
+              -o $cc_maj -gt 6 ]; then
+         log_failure "gcc version $cc_maj.$cc_min found, expected gcc 4.x, gcc 5.x or gcc 6.x"
          fail really
-       else
diff --git a/VirtualBox.spec b/VirtualBox.spec
index ad54a0b..10364c6 100644
--- a/VirtualBox.spec
+++ b/VirtualBox.spec
@@ -15,7 +15,7 @@
 %global prereltag %{?prerel:-%(awk 'BEGIN {print toupper("%{prerel}")}')}
 %global __arch_install_post   /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
 
-%bcond_with webservice
+%bcond_without webservice
 %if 0%{?rhel}
     %bcond_with docs
 %else
@@ -26,7 +26,7 @@
 Name:       VirtualBox
 Version:    5.1.4
 #Release:   1%%{?prerel:.%%{prerel}}%%{?dist}
-Release:    1%{?dist}
+Release:    2%{?dist}
 Summary:    A general-purpose full virtualizer for PC hardware
 
 Group:      Development/Tools
@@ -49,6 +49,7 @@ Patch26:    VirtualBox-4.3.0-no-bundles.patch
 Patch27:    VirtualBox-gcc.patch
 # from Debian
 Patch28:    02-gsoap-build-fix.patch
+Patch29:    29-fix-ftbfs-as-needed.patch
 # Upstream patches
 # I added some fixes for gcc6 just applied to Fedora 24+
 Patch33:    VirtualBox-gcc6-fixes.patch
@@ -226,10 +227,11 @@ rm -r src/libs/zlib-1.2.8/
 %patch23 -p1 -b .xserver_guest
 %patch24 -p1 -b .guestlib
 %patch26 -p1 -b .nobundles
-#patch27 -p1 -b .gcc
+%patch27 -p1 -b .gcc
 %if 0%{?fedora} > 20
-#patch28 -p1 -b .gsoap2
+%patch28 -p1 -b .gsoap2
 %endif
+%patch29 -p1 -b .as_need
 %if 0%{?fedora} > 23
 %patch33 -p1 -b .gcc6
 %endif
@@ -686,6 +688,10 @@ fi
 %{_datadir}/%{name}-kmod-%{version}
 
 %changelog
+* Tue Sep 06 2016 Sérgio Basto <sergio at serjux.com> - 5.1.4-2
+- Enable webservice with fix of patch 02-gsoap-build-fix, add patch to allow
+  gcc-6.2 and add patch 29-fix-ftbfs-as-needed from Debian
+
 * Sun Sep 04 2016 Sérgio Basto <sergio at serjux.com> - 5.1.4-1
 - Update VBox to 5.1.4
 - Sat Jul 16 2016 Rok Mandeljc <rok.mandeljc at gmail.com>


More information about the rpmfusion-commits mailing list