1
0
forked from pool/virtualbox
virtualbox/vbox-python-selection.patch
Larry Finger 6c3d667234 Accepting request 1142681 from home:larryr:branches:Virtualization
- Version bump to VirtualBox 7.0.14 (released January 16, 2024 by Oracle)
This is a maintenance release. The following items were fixed and/or added:
    Audio: Added more fixes for switching host audio devices on Windows hosts using the WAS backend
    3D: Added general improvements
    OCI: Fixed wrong guest RAM unit usage in VirtualSystemDescription, memory is provided in bytes, "Byte" is the base unit
    Main: OVF Import/Export: Added support for importing and exporting VMs containing NVMe storage controllers (bug #19320)
    Main: OVF Import/Export: Added support for exporting a VM which contains a medium inserted into a virtual CD/DVD drive which is attached to a Virtio-SCSI controller
    Devices: Fixed a problem where Windows guests "forget" in-progress touch events when the user holds down a finger without moving it for a period of time.
    macOS Host USB: Added support for newer storage devices
    macOS Host: Fixed memory Leak in the VBoxIntNetSwitch process when VM was configured to use 'Internal Networking' (bug #21752)
    Linux Host and Guest: Added initial support for RHEL 9.4 kernel
    Linux Guest Additions: Fixed kernel panic on RHEL 8.9 kernel caused by vboxvideo (bugs #10381 and #21911)
    Solaris Guest Additions: Added support for the Additions to be installed into an alternate root path ('pkgadd -R')
    Solaris Guest Additions: Removed requirement to reboot VM after uninstalling GAs
    RDP: Fix possible crash when connecting with the Apple Silicon variant of the Microsoft Remote Desktop application (bug #21820).
    BIOS: Fixed handle number used for DMI OEM table (bug #19781) 
=======

>>>>>>> ./virtualbox.changes.new

OBS-URL: https://build.opensuse.org/request/show/1142681
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=720
2024-01-29 22:31:23 +00:00

179 lines
7.0 KiB
Diff

Index: VirtualBox-7.0.14/src/bldprogs/scm.cpp
===================================================================
--- VirtualBox-7.0.14.orig/src/bldprogs/scm.cpp
+++ VirtualBox-7.0.14/src/bldprogs/scm.cpp
@@ -2367,7 +2367,7 @@ static int scmProcessFileInner(PSCMRWSTA
pszTreatAs = "shell";
else if ( (cchFirst >= 15 && strncmp(pchFirst, "/usr/bin/python", 15) == 0)
|| (cchFirst >= 19 && strncmp(pchFirst, "/usr/bin/env python", 19) == 0) )
- pszTreatAs = "python";
+ pszTreatAs = "python3";
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-7.0.14/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+++ VirtualBox-7.0.14/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
@@ -32,6 +32,9 @@
%define VBOXDOCDIR %{_defaultdocdir}/%NAME%
%global __requires_exclude_from ^/usr/lib/virtualbox/VBoxPython.*$|^/usr/lib/python.*$|^.*\\.py$
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
+# SUSE defines these in python-rpm-macros, not necessarily available here
+%{!?__python3:%{_bindir}/python3}}
+%{!?python3_sitelib: %define python_sitelib python3 -c "import sysconfig as s; print(s.get_paths().get('purelib'))"}
Summary: Oracle VM VirtualBox
Name: %NAME%
Index: VirtualBox-7.0.14/src/libs/libxml2-2.9.14/libxml.spec.in
===================================================================
--- VirtualBox-7.0.14.orig/src/libs/libxml2-2.9.14/libxml.spec.in
+++ VirtualBox-7.0.14/src/libs/libxml2-2.9.14/libxml.spec.in
@@ -1,3 +1,4 @@
+%global with_python2 0
%global with_python3 1
Summary: Library providing XML and HTML support
@@ -8,7 +9,9 @@ License: MIT
Group: Development/Libraries
Source: https://download.gnome.org/sources/libxml2/@LIBXML_MAJOR_VERSION@.@LIBXML_MINOR_VERSION@/libxml2-%{version}.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
+%if 0%{?with_python2}
BuildRequires: python-devel
+%endif
%if 0%{?with_python3}
BuildRequires: python3-devel
%endif # with_python3
@@ -75,7 +78,6 @@ to read, modify and write XML and HTML f
this includes parsing and validation even with complex DTDs, either
at parse time or later once the document has been modified.
-%if 0%{?with_python3}
%package -n python3-%{name}
Summary: Python 3 bindings for the libxml2 library
Group: Development/Libraries
@@ -92,7 +94,6 @@ This library allows to manipulate XML fi
to read, modify and write XML and HTML files. There is DTDs support
this includes parsing and validation even with complex DTDs, either
at parse time or later once the document has been modified.
-%endif # with_python3
%prep
%setup -q
@@ -110,11 +111,14 @@ find doc -type f -exec chmod 0644 \{\} \
%install
rm -fr %{buildroot}
+%if 0%{?with_python2}
+make clean
+%configure --with-python=python
make install DESTDIR=%{buildroot}
-
+%endif # with_python2
%if 0%{?with_python3}
make clean
-%configure --with-python=%{__python3}
+%configure --with-python=python3
make install DESTDIR=%{buildroot}
%endif # with_python3
@@ -177,6 +181,7 @@ rm -fr %{buildroot}
%{_libdir}/*a
+%if 0%{?with_python2}
%files -n python-%{name}
%defattr(-, root, root)
@@ -188,6 +193,7 @@ rm -fr %{buildroot}
%doc python/tests/*.py
%doc doc/*.py
%doc doc/python.html
+%endif
%if 0%{?with_python3}
%files -n python3-%{name}
Index: VirtualBox-7.0.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
===================================================================
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+++ VirtualBox-7.0.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
@@ -438,7 +438,9 @@ char *PyTraceback_AsString(PyObject *exc
{ // a temp scope so I can use temp locals.
#if PY_MAJOR_VERSION <= 2
- char *tempResult = PyString_AsString(obResult);
+ char *tempResult = (char *)PyString_AsString(obResult);
+#elif PY_MINOR_VERSION <= 6
+ char *tempResult = (char *)PyUnicode_AsUTF8(obResult);
#else
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
Index: VirtualBox-7.0.14/src/libs/xpcom18a4/python/src/PyGBase.cpp
===================================================================
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ VirtualBox-7.0.14/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 )
{
- if (this==NULL) return NULL;
+#if PY_MINOR_VERSION <= 6
+ if (!this) return NULL;
+#else
+ if (!this) return NULL;
+#endif
if (iid.Equals(NS_GET_IID(nsISupports)))
return (nsISupports *)(nsIInternalPython *)this;
if (iid.Equals(NS_GET_IID(nsISupportsWeakReference)))
Index: VirtualBox-7.0.14/src/libs/xpcom18a4/python/gen_python_deps.py
===================================================================
--- VirtualBox-7.0.14.orig/src/libs/xpcom18a4/python/gen_python_deps.py
+++ VirtualBox-7.0.14/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -96,7 +96,7 @@ def main(argv):
else:
multi = 1
- if multi == 0:
+ if not multi:
prefixes = ["/usr"]
versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1]),
str(sys.version_info[0])+'.'+str(sys.version_info[1])+'m']
@@ -124,24 +124,25 @@ def main(argv):
continue
for p in prefixes:
c = checkPair(p, v, dllpre, dllsuff, bitness_magic)
- if c is not None:
+ if c:
known[v] = c
break
- keys = list(known.keys())
- # we want default to be the lowest versioned Python
- keys.sort()
- d = None
# We need separator other than newline, to sneak through $(shell)
sep = "|"
- for k in keys:
- if d is None:
- d = k
- vers = k.replace('.', '').upper()
- print_vars(vers, known[k], sep, bitness_magic)
- if d is not None:
- print_vars("DEF", known[d], sep, bitness_magic)
+
+ if not known:
+ # this type of problem should be detected in configure
+ # print_vars("DEF", defaultpaths, sep, bitness_magic)
+ pass
else:
print(argv[0] + ": No Python development package found!", file=sys.stderr)
+ if multi:
+ for ver, paths in known.items():
+ print_vars(ver.replace('.', '').upper(), paths, sep, bitness_magic)
+ else:
+ ver = versions[0]
+ paths = known[ver]
+ print_vars(ver.replace('.', ''), paths, sep, bitness_magic)
if __name__ == '__main__':
main(sys.argv)