1
0
forked from pool/virtualbox

Accepting request 729137 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/729137
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=182
This commit is contained in:
Dominique Leuenberger 2019-09-11 08:17:53 +00:00 committed by Git OBS Bridge
commit 850cc6de85
8 changed files with 124 additions and 50 deletions

45
README.build Normal file
View File

@ -0,0 +1,45 @@
Instructions for creating a separate VirtualBox project and building the packages
Although it is possible to modify a project at the openSUSE Build System (OBS),
I have found it to be more convenient to use the various osc commands to create a
local copy, edit it on my own computer to fix any problems, and then push the result
to OBS.
A. Create a new sub-project:
1. Branch the package:
osc branch Virtualization virtualbox
2. Checkout the package using the "osc co" command listed
B. Build the project:
1. Use "osc build" to build. This step is rather compute intensive and
takes about an hour on my Toshiba laptop with a dual-core Intel Core i7 CPU
with hyper-threading, 12 GB RAM, and an SSD.
2. The build results are stored in the /var/tmp/build-root tree. These files
can occupy a lot of disc space, particularly when one builds several flavors.
To keep from running out of space on the / partition, I mount /var/tmp on
a separate partition. At present, I have used about 43 GiB in that partition.
3. Special flavors:
When a new kernel is released, there may be several API changes that affect
builds of the kernel modules used by VirtualBox. In Factory, the project that
contains the latest kernels is "Kernel-HEAD-standard". To run a test build with
this kernel, use the command "osc build Kernel-HEAD-standard". When switching
between kernel projects, use of the "--clean" switch is advised, otherwise
strange "missing library" messages will result.
4. On occasion, there may be breakage in the build when there is an update with
python or Qt. Use the "--alternative-project=<xxx>" switch to force usage of
the revised component.
C. Steps to take with a new release:
1. When Orable releases a new version, you will need to download then new tarball
from https://download.virtualbox.org/virtualbox/. While downloading the file, I
also get the new UserManual.pdf.
2. openSUSE makes some changes to the tarball by running the command
bash ./virtualbox-patch-source.sh <name of tarball just downloaded>
This command unpacks the tar file, makes some modifications to the source, and
recreates the tar file with "patched" in its name. Any further modifications
are made by patches that are applied during the build process. Do NOT make any
further changes to the tar file.
3. Edit the "Version" line near the start of virtualbox.spec to select the new version.
4. Use "osc rm <old version>" and "osc add <new version>" to get the new file into
osc. The local build will work without these changes, but the remote operations
will fail.`

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d5b7320c38db8c3c8d5374eaab50b0386032752c0c7c3c3470426d02786b33f0
size 4338221
oid sha256:4827072513cee45f7a132866294b108e08b2a3aef594a3f69a7eea48d659c6da
size 4340413

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:22318cca4a8034f78f16ebc4dab06ccecec6992bf81ce29f90a519574c6132f5
size 117465621

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a5a15e0a2a9c933e9da7db74823a520945142e08abec666c976b644605eeec2
size 117493376

View File

@ -1,8 +1,8 @@
Index: VirtualBox-6.0.2/configure
Index: VirtualBox-6.0.12/configure
===================================================================
--- VirtualBox-6.0.2.orig/configure
+++ VirtualBox-6.0.2/configure
@@ -1538,14 +1538,14 @@ EOF
--- VirtualBox-6.0.12.orig/configure
+++ VirtualBox-6.0.12/configure
@@ -1546,14 +1546,14 @@ EOF
INCQT5="$q/include $q/include/QtCore"
FLGQT5="-DQT_SHARED"
I_INCQT5=`prefix_I "$INCQT5"`
@ -10,20 +10,20 @@ Index: VirtualBox-6.0.2/configure
+ LIBQT5="-L$q/lib -L$q/usr/lib64 -lQt5CoreVBox"
TOOLQT5="$q"
if test_compile "$LIBQT5 $LIBPTHREAD $I_INCQT5 $FLGQT5" qt5 qt5 nofatal &&
test_execute_path "`strip_L "$LIBQT5"`" nofatal; then
test_execute_path "`L_to_PATH "$LIBQT5"`" nofatal; then
foundqt5=2 # internal
break;
fi
- LIBQT5="-L$q/lib -lQt5Core"
+ LIBQT5="-L$q/lib -L$q/usr/lib64 -lQt5Core"
if test_compile "$LIBQT5 $LIBPTHREAD $I_INCQT5 $FLGQT5" qt5 qt5 nofatal &&
test_execute_path "`strip_L "$LIBQT5"`" nofatal; then
test_execute_path "`L_to_PATH "$LIBQT5"`" nofatal; then
foundqt5=1 # no pkg-config, Qt directory
Index: VirtualBox-6.0.2/src/VBox/Additions/common/crOpenGL/Makefile.kmk
Index: VirtualBox-6.0.12/src/VBox/Additions/common/crOpenGL/Makefile.kmk
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/Additions/common/crOpenGL/Makefile.kmk
+++ VirtualBox-6.0.2/src/VBox/Additions/common/crOpenGL/Makefile.kmk
@@ -217,15 +217,7 @@ VBoxOGL_LIBS.win += \
--- VirtualBox-6.0.12.orig/src/VBox/Additions/common/crOpenGL/Makefile.kmk
+++ VirtualBox-6.0.12/src/VBox/Additions/common/crOpenGL/Makefile.kmk
@@ -224,15 +224,7 @@ VBoxOGL_LIBS.win += \
$(PATH_STAGE_LIB)/additions/VBoxCrHgsmi$(VBOX_SUFF_LIB)
if1of ($(KBUILD_TARGET), linux solaris freebsd)

View File

@ -1,8 +1,8 @@
Index: VirtualBox-6.0.2/configure
Index: VirtualBox-6.0.12/configure
===================================================================
--- VirtualBox-6.0.2.orig/configure
+++ VirtualBox-6.0.2/configure
@@ -1969,17 +1969,17 @@ extern "C" int main(void)
--- VirtualBox-6.0.12.orig/configure
+++ VirtualBox-6.0.12/configure
@@ -1977,17 +1977,17 @@ extern "C" int main(void)
{
Py_Initialize();
printf("found version %s", PY_VERSION);
@ -23,10 +23,10 @@ Index: VirtualBox-6.0.2/configure
for p in $PYTHONDIR; do
for d in $SUPPYTHONLIBS; do
for b in lib/x86_64-linux-gnu lib/i386-linux-gnu lib64 lib/64 lib; do
Index: VirtualBox-6.0.2/src/VBox/Installer/linux/routines.sh
Index: VirtualBox-6.0.12/src/VBox/Installer/linux/routines.sh
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/Installer/linux/routines.sh
+++ VirtualBox-6.0.2/src/VBox/Installer/linux/routines.sh
--- VirtualBox-6.0.12.orig/src/VBox/Installer/linux/routines.sh
+++ VirtualBox-6.0.12/src/VBox/Installer/linux/routines.sh
@@ -391,8 +391,8 @@ terminate_proc() {
maybe_run_python_bindings_installer() {
VBOX_INSTALL_PATH="${1}"
@ -38,10 +38,10 @@ Index: VirtualBox-6.0.2/src/VBox/Installer/linux/routines.sh
if sys.version_info >= (2, 6):
print \"test\"' 2> /dev/null`" != "test" ]; then
echo 1>&2 "Python 2.6 or later not available, skipping bindings installation."
Index: VirtualBox-6.0.2/src/bldprogs/scm.cpp
Index: VirtualBox-6.0.12/src/bldprogs/scm.cpp
===================================================================
--- VirtualBox-6.0.2.orig/src/bldprogs/scm.cpp
+++ VirtualBox-6.0.2/src/bldprogs/scm.cpp
--- VirtualBox-6.0.12.orig/src/bldprogs/scm.cpp
+++ VirtualBox-6.0.12/src/bldprogs/scm.cpp
@@ -2206,7 +2206,7 @@ static int scmProcessFileInner(PSCMRWSTA
pszTreatAs = "shell";
else if ( (cchFirst >= 15 && strncmp(pchFirst, "/usr/bin/python", 15) == 0)
@ -51,10 +51,10 @@ Index: VirtualBox-6.0.2/src/bldprogs/scm.cpp
else if ( (cchFirst >= 13 && strncmp(pchFirst, "/usr/bin/perl", 13) == 0)
|| (cchFirst >= 17 && strncmp(pchFirst, "/usr/bin/env perl", 17) == 0) )
pszTreatAs = "perl";
Index: VirtualBox-6.0.2/src/libs/libxml2-2.9.4/configure
Index: VirtualBox-6.0.12/src/libs/libxml2-2.9.4/configure
===================================================================
--- VirtualBox-6.0.2.orig/src/libs/libxml2-2.9.4/configure
+++ VirtualBox-6.0.2/src/libs/libxml2-2.9.4/configure
--- VirtualBox-6.0.12.orig/src/libs/libxml2-2.9.4/configure
+++ VirtualBox-6.0.12/src/libs/libxml2-2.9.4/configure
@@ -15153,10 +15153,10 @@ PYTHON_SITE_PACKAGES=
PYTHON_TESTS=
pythondir=
@ -79,10 +79,10 @@ Index: VirtualBox-6.0.2/src/libs/libxml2-2.9.4/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
Index: VirtualBox-6.0.2/src/VBox/ValidationKit/testboxscript/setup.sh
Index: VirtualBox-6.0.12/src/VBox/ValidationKit/testboxscript/setup.sh
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/ValidationKit/testboxscript/setup.sh
+++ VirtualBox-6.0.2/src/VBox/ValidationKit/testboxscript/setup.sh
--- VirtualBox-6.0.12.orig/src/VBox/ValidationKit/testboxscript/setup.sh
+++ VirtualBox-6.0.12/src/VBox/ValidationKit/testboxscript/setup.sh
@@ -652,7 +652,7 @@ import sys;\
x = sys.version_info[0] == 2 and (sys.version_info[1] >= 6 or (sys.version_info[1] == 5 and sys.version_info[2] >= 1));\
sys.exit(not x);\
@ -92,10 +92,10 @@ Index: VirtualBox-6.0.2/src/VBox/ValidationKit/testboxscript/setup.sh
do
python=`which ${python} 2> /dev/null`
if [ -n "${python}" -a -x "${python}" ]; then
Index: VirtualBox-6.0.2/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
Index: VirtualBox-6.0.12/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+++ VirtualBox-6.0.2/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
--- VirtualBox-6.0.12.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+++ VirtualBox-6.0.12/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
@@ -20,7 +20,7 @@
%define %PYTHON% 1
%define VBOXDOCDIR %{_defaultdocdir}/%NAME%
@ -105,19 +105,19 @@ Index: VirtualBox-6.0.2/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
Summary: Oracle VM VirtualBox
Name: %NAME%
@@ -89,7 +89,7 @@ install -m 755 -d $RPM_BUILD_ROOT/usr/sh
@@ -97,7 +97,7 @@ install -m 755 -d $RPM_BUILD_ROOT/usr/sh
%if %{?with_python:1}%{!?with_python:0}
(export VBOX_INSTALL_PATH=/usr/lib/virtualbox && \
cd ./sdk/installer && \
- %{__python} ./vboxapisetup.py install --prefix %{_prefix} --root $RPM_BUILD_ROOT)
- %{vbox_python} ./vboxapisetup.py install --prefix %{_prefix} --root $RPM_BUILD_ROOT)
+ %{python3} ./vboxapisetup.py install --prefix %{_prefix} --root $RPM_BUILD_ROOT)
%endif
rm -rf sdk/installer
mv nls $RPM_BUILD_ROOT/usr/share/virtualbox
Index: VirtualBox-6.0.2/src/libs/libxml2-2.9.4/libxml.spec.in
Index: VirtualBox-6.0.12/src/libs/libxml2-2.9.4/libxml.spec.in
===================================================================
--- VirtualBox-6.0.2.orig/src/libs/libxml2-2.9.4/libxml.spec.in
+++ VirtualBox-6.0.2/src/libs/libxml2-2.9.4/libxml.spec.in
--- VirtualBox-6.0.12.orig/src/libs/libxml2-2.9.4/libxml.spec.in
+++ VirtualBox-6.0.12/src/libs/libxml2-2.9.4/libxml.spec.in
@@ -101,11 +101,11 @@ rm -fr %{buildroot}
make install DESTDIR=%{buildroot}
@ -133,10 +133,10 @@ Index: VirtualBox-6.0.2/src/libs/libxml2-2.9.4/libxml.spec.in
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
Index: VirtualBox-6.0.2/src/libs/libxml2-2.9.4/libxml2.spec
Index: VirtualBox-6.0.12/src/libs/libxml2-2.9.4/libxml2.spec
===================================================================
--- VirtualBox-6.0.2.orig/src/libs/libxml2-2.9.4/libxml2.spec
+++ VirtualBox-6.0.2/src/libs/libxml2-2.9.4/libxml2.spec
--- VirtualBox-6.0.12.orig/src/libs/libxml2-2.9.4/libxml2.spec
+++ VirtualBox-6.0.12/src/libs/libxml2-2.9.4/libxml2.spec
@@ -103,7 +103,7 @@ make install DESTDIR=%{buildroot}
%if 0%{?with_python3}
@ -146,10 +146,10 @@ Index: VirtualBox-6.0.2/src/libs/libxml2-2.9.4/libxml2.spec
make install DESTDIR=%{buildroot}
%endif # with_python3
Index: VirtualBox-6.0.2/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
Index: VirtualBox-6.0.12/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
===================================================================
--- VirtualBox-6.0.2.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+++ VirtualBox-6.0.2/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
--- VirtualBox-6.0.12.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+++ VirtualBox-6.0.12/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
@@ -439,6 +439,8 @@ char *PyTraceback_AsString(PyObject *exc
{ // a temp scope so I can use temp locals.
#if PY_MAJOR_VERSION <= 2
@ -159,10 +159,10 @@ Index: VirtualBox-6.0.2/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
#else
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
Index: VirtualBox-6.0.2/src/libs/xpcom18a4/python/src/PyGBase.cpp
Index: VirtualBox-6.0.12/src/libs/xpcom18a4/python/src/PyGBase.cpp
===================================================================
--- VirtualBox-6.0.2.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ VirtualBox-6.0.2/src/libs/xpcom18a4/python/src/PyGBase.cpp
--- VirtualBox-6.0.12.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ VirtualBox-6.0.12/src/libs/xpcom18a4/python/src/PyGBase.cpp
@@ -183,7 +183,11 @@ PyG_Base::~PyG_Base()
// Get the correct interface pointer for this object given the IID.
void *PyG_Base::ThisAsIID( const nsIID &iid )

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Sat Sep 7 21:28:46 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
Added file "README.build" to documentation with instructions for me and any eventual successors.
- Version update to 6.0.12 (released September 03 2019 by Oracle)
This is a maintenance release. The following items were fixed and/or added:
OCI export: handle empty disk image correctly
API: fix potential crash when using the medium I/O functionality
VBoxManage: fixed documentation of VBoxManage modifyvm uarttype documentation (bug #18759)
Network: scrub inbound TCP URG pointer, working around incorrect OOB handling
USB: Improved identification of power-saved devices on Windows hosts
Audio: in the AC97 work around buggy guest drivers which reprogram the sampling rate, breaking audio in and/or audio out
Linux host and guest: fix kernel module build for SLES 12 SP4 kernel
3D: fixed state saving and loading when the VBoxVGA graphics adapter is used with 3D enabled (bug #18802, 6.0.10 regression)
Windows guests: fixed mouse cursor visibility updating
Windows guests: fixed graphics corruption in Windows 10 search menu with VBoxSVGA adapter
Windows guests: fixed dwm.exe crashes related to the WDDM driver for VBoxSVGA adapter when the VM has lots of RAM
MacOS Guest Additions fail to start in 6.0.10 (bug #18793)
Windows guests: fixed crashes when using shared folders (bug #18766)
Linux guests: unprivileged users unable to create files inside shared folders (bug #18737)
Linux guests: improve compatibility of vboxvideo.ko kernel module build logic (bug #18869)
-------------------------------------------------------------------
Mon Jul 29 06:40:41 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>

View File

@ -47,7 +47,7 @@ python3 -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile
%define _udevrulesdir /usr/lib/udev/rules.d
Name: virtualbox
# ********* If the VB version exceeds 6.0.x, notify the libvirt maintainer!!
Version: 6.0.10
Version: 6.0.12
Release: 0
Summary: VirtualBox is an Emulator
License: GPL-2.0-or-later
@ -78,6 +78,7 @@ Source21: vboxweb-service.service
Source22: vboxweb-service.sh
Source23: vboxautostart.service
Source24: vboxautostart.sh
Source97: README.build
Source98: %{name}-rpmlintrc
Source99: %{name}-patch-source.sh
#rework init scripts to fit suse needs
@ -454,6 +455,8 @@ as an "extpack" for VirtualBox. The implementation is licensed under GPL.
#copy user manual
cp %{SOURCE1} UserManual.pdf
#copy README.build
cp %{SOURCE97} README.build
#copy kbuild config
cp %{SOURCE10} LocalConfig.kmk
#copy autostart doc
@ -916,7 +919,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
%files
%defattr(-, root, root)
%doc README.autostart UserManual.pdf
%doc README.autostart UserManual.pdf README.build
%{_bindir}/VBoxManage
%{_bindir}/VBoxHeadless
%{_bindir}/VBoxTunctl