VirtualBox

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#19537 closed defect (fixed)

We need dedicated RPM packages for upcoming Fedora 32 release. (fixed with 6.1.10)

Reported by: Frank Batschulat (Oracle) Owned by: Frank Batschulat (Oracle)
Component: installer Version: VirtualBox 6.1.6
Keywords: fedora32 fedora 32 rpm Cc:
Guest type: all Host type: Linux

Description (last modified by Frank Batschulat (Oracle))

We need dedicated RPM packages for upcoming Fedora 32 release.

The following had been reported:

i have a issue with
https://download.virtualbox.org/virtualbox/6.1.6/VirtualBox-6.1-6.1.6_137129_fedora31-1.x86_64.rpm
 
The installation of this rpm on Fedora 32 (which will be released
tomorrow) fails with the following message:
 
# dnf install VirtualBox-6.1-6.1.6_137129_fedora31-1.x86_64.rpm
Letzte Prüfung auf abgelaufene Metadaten: vor 2:14:28 am Mo 27 Apr 2020
16:01:09 CEST.
Fehler:
 Problem: conflicting requests
  - nothing provides python(abi) = 3.7 needed by
VirtualBox-6.1-6.1.6_137129_fedora31-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

We need to provide dedicated Fedora 32 RPM packages going forward.

see also #19431 Dependency failure on Fedora 32 - python(abi)

Change History (13)

comment:1 by Frank Batschulat (Oracle), 4 years ago

Keywords: fedora32 fedora 32 rpm added
Owner: set to Frank Batschulat (Oracle)
Status: newaccepted

comment:2 by Frank Batschulat (Oracle), 4 years ago

Step 1, small adjustements we need for rpmbuild:

VBox/Trunk root@lserver trunk # svn diff
Index: src/VBox/Installer/linux/distributions_rpm
===================================================================
--- src/VBox/Installer/linux/distributions_rpm	(revision 137597)
+++ src/VBox/Installer/linux/distributions_rpm	(working copy)
@@ -8,6 +8,7 @@
 sles11.0        = SLES_11_0
 sles10.1        = SLES_10_1
 mdv2011.0       = MANDRIVA_2011_0
+fedora32        = FEDORA_32
 fedora31        = FEDORA_31
 fedora29        = FEDORA_29
 fedora26        = FEDORA_26
Index: src/VBox/Installer/linux/rpm/rules
===================================================================
--- src/VBox/Installer/linux/rpm/rules	(revision 137597)
+++ src/VBox/Installer/linux/rpm/rules	(working copy)
@@ -104,7 +104,7 @@
   $(error Cannot detect package distribution (rpmrel=$(rpmrel)))
  endif
 
- ifeq ($(filter-out el5 el6 el7 el8 fedora18 fedora19 fedora20 fedora21 fedora22 fedora24 fedora25 fedora26 fedora29 fedora31,$(rpmrel)),)
+ ifeq ($(filter-out el5 el6 el7 el8 fedora18 fedora19 fedora20 fedora21 fedora22 fedora24 fedora25 fedora26 fedora29 fedora31 fedora32,$(rpmrel)),)
   rpmspec := rpm_redhat
  endif
  ifeq ($(filter-out openSUSE110 openSUSE111 openSUSE112 openSUSE113 openSUSE114 openSUSE123 openSUSE131 openSUSE132 openSUSE150 openSUSETW,$(rpmrel)),)

Putbacked to trunk in revision r137625

Backported to 6.1 in revision r137627

Backported to 6.0.X in revision r137628

Backported to 5.2.X in revision r137632

Last edited 4 years ago by Frank Batschulat (Oracle) (previous) (diff)

comment:4 by Frank Batschulat (Oracle), 4 years ago

Description: modified (diff)

comment:5 by Frank Batschulat (Oracle), 4 years ago

the following changesets are requried internally for build purposes on trunk ( r137774 r137761 r137760 r136377 r138328) and 6.1 ( r137793 r137904 r138060 r138063 r138340).

r137760 & r138060 are:
dbgcMachoCpuType: the type and sub-types are int32_t not uint32_t.

Index: trunk/src/VBox/Debugger/DBGCDumpImage.cpp
===================================================================
--- trunk/src/VBox/Debugger/DBGCDumpImage.cpp	(revision 137759)
+++ trunk/src/VBox/Debugger/DBGCDumpImage.cpp	(revision 137760)
@@ -464,16 +464,16 @@
 }
 
 
-static const char *dbgcMachoCpuType(uint32_t uType, uint32_t uSubType)
+static const char *dbgcMachoCpuType(int32_t iType, int32_t iSubType)
 {
-    switch (uType)
+    switch (iType)
     {
         case CPU_TYPE_ANY:          return "CPU_TYPE_ANY";
         case CPU_TYPE_VAX:          return "VAX";
         case CPU_TYPE_MC680x0:      return "MC680x0";
         case CPU_TYPE_X86:          return "X86";
         case CPU_TYPE_X86_64:
-            switch (uSubType)
+            switch (iSubType)
             {
                 case CPU_SUBTYPE_X86_64_ALL:    return "X86_64/ALL64";

r136377 & r138063 are:
VBoxService: Use strncmp rather than strcmp as the ut_user field is only zero terminated if the username has shorter than the size of the field (from the utmp manpage)

Index: trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
===================================================================
--- trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp	(revision 136376)
+++ trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp	(revision 136377)
@@ -606,7 +606,7 @@
         {
             bool fFound = false;
             for (uint32_t i = 0; i < cUsersInList && !fFound; i++)
-                fFound = strcmp(papszUsers[i], ut_user->ut_user) == 0;
+                fFound = strncmp(papszUsers[i], ut_user->ut_user, sizeof(ut_user->ut_user)) == 0;
 
             if (!fFound)
             {
Version 8, edited 4 years ago by Frank Batschulat (Oracle) (previous) (next) (diff)

comment:6 by Freddy Willemsen, 4 years ago

Is there some kind of ETA when we can expect a fedora 32 RPM? I am currently using a test build but would rather use an 'official' released RPM. Thanks in advance.

comment:7 by Frank Batschulat (Oracle), 4 years ago

for Fedora32 support we also need to address:

#19583 GUI crashes when using Qt on Xwayland sessions

comment:8 by ngrennan, 4 years ago

Can you release without fixing the Wayland issue? I am on Fedora 32 and using Xorg, as I have for many Fedora releases. It would work for me as is. The only thing blocking using the 31 rpm, for me, is that it has a dependency on python 3.7 instead of 3.8.

comment:9 by Frank Batschulat (Oracle), 4 years ago

with the changesets for Trunk r138351 and for 6.1.X r138377 the shebang line for vboxshell.py will be switched from unspecified python to python3 during the package build for now. That'll allow rpmbuild to create a package on Fedora 32. /usr/bin/pathfix.py is contained within the python3-devel package which is a pre-requisite for a Virtualbox build server.

Index: src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
===================================================================
--- src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec	(revision 138375)
+++ src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec	(working copy)
@@ -220,6 +220,11 @@
 fi
 test -f $RPM_BUILD_ROOT/usr/lib/virtualbox/VBoxSDL && \
   chmod 4511 $RPM_BUILD_ROOT/usr/lib/virtualbox/VBoxSDL
+%if %{?with_python:1}%{!?with_python:0}
+if [ -x /usr/bin/pathfix.py ]; then
+  /usr/bin/pathfix.py -pni "%{__python3} %{py3_shbang_opts}" $RPM_BUILD_ROOT/usr/lib/virtualbox/vboxshell.py
+fi
+%endif

comment:10 by Andre Robatino, 4 years ago

Installed VirtualBox-6.1-6.1.10_138449_fedora32-1.x86_64.rpm on F32. Seems to work fine. Thanks!

comment:11 by dude, 4 years ago

VirtualBox-6.1-6.1.10_138449_fedora31-1.x86_64.rpm does *not* work on Fedora 32. Same error as 6.1.8:

sudo dnf install VirtualBox-6.1-6.1.10_138449_fedora31-1.x86_64.rpm
Last metadata expiration check: 2:35:35 ago on Sat 06 Jun 2020 11:35:57 AM EDT.
Error: 
 Problem: conflicting requests
  - nothing provides python(abi) = 3.7 needed by VirtualBox-6.1-6.1.10_138449_fedora31-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

in reply to:  11 comment:12 by Frank Batschulat (Oracle), 4 years ago

Replying to dude:

VirtualBox-6.1-6.1.10_138449_fedora31-1.x86_64.rpm does *not* work


I have marked your problem for you. Your welcome.

comment:13 by Frank Batschulat (Oracle), 4 years ago

Resolution: fixed
Status: acceptedclosed
Summary: We need dedicated RPM packages for upcoming Fedora 32 release.We need dedicated RPM packages for upcoming Fedora 32 release. (fixed with 6.1.10)

comment:14 by Frank Batschulat (Oracle), 4 years ago

there will be no Fedora32 packages for the 6.0.X and 5.2.X branches.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use