1
0
forked from pool/virtualbox
Go to file
Larry Finger a4bb9742dd Accepting request 1036720 from home:lwfinger:branches:Virtualization
added file "set_noexec_stack.patch" to remove executable stack in yasm-compiled routines
addwd file "fix_v7_build.patch"
added file "VBoxDDR0.r0"
deleted file "/vb-6.1.16-modal-dialog-parent.patch"
VirtualBox 7.0.2 (released October 20 2022)
This is a maintenance release. The following items were fixed and/or added:
Known issue: VMs having more than one vCPU configured will not work properly on macOS Catalina due to an unknown memory corruption issue. Either lower the number of vCPUs to 1 or upgrade to BigSur or later where the issue does not occur
Main: Fixed issue when VBoxSVC could become unresponsive if Extension Pack was not installed (bug #21167)
Linux Guest Additions: Introduced initial support for kernel 6.1
Linux Guest Additions: Fixed issue when VBoxClient seamless service caused a crash of some X11 applications (bug #21132)
GUI: Fixed a glitch in the log viewer which was causing wrong log file to be saved (bug #21156)
VirtualBox 7.0.0 (released October 10 2022)
This is a major update. The following major new features were added:
Virtual machines can be fully encrypted now, including the VM config logs and saved states (CLI only for now)
OCI: Cloud virtual machines can be added to Virtual Machine Manager and controlled as local VMs
OCI: Cloud networks can now be configured via Network Manager tool same way as it is done for Host-only and NAT networks
GUI: Added a new utility similar to "top" or "resource monitor" which lists peformance statistics (CPU usage, RAM usage, disk I/O rate, etc.) of running guests
GUI: Reworked the new vm wizard to integrate the unattended guest OS installation and to have a more streamlined work flow
GUI: Added a new help viewer widget which enables the user manual to be navigated and searched
GUI: Adding new notification center unifying most of running progresses and error reporting around the GUI
GUI: Improved theme support on all platforms. Linux and macOS use native engine while for Windows host it is separately implemented.
GUI: Large icon update.
Audio recording: Now using Vorbis as the default audio format for WebM containers. Opus is no longer being used.
Audio: Added "default" host driver type to make it possible to move VMs (appliances) between different platforms without the need of changing the audio driver explicitly. When the "default" driver is selected, the best audio backend option for a platform will be used. This is the default for newly created VMs.
Guest Control: Implemented initial support for automatic updating of Guest Additions for Linux guests
Guest Control: Implemented ability to wait for and/or reboot the guest when updating Guest Additions via VBoxManage
VBoxManage: Added Guest Control "waitrunlevel" sub-command to make it possible to wait for a guest to reach a certain run level
Linux Guest Additions: Reworked guest screen re-size functionality, added basic integration with some of guest Desktop Environments
Devices: Implemented new 3D support based on DirectX 11 (and DXVK on non Windows hosts)
Devices: Added virtual IOMMU devices (Intel and AMD variant)

OBS-URL: https://build.opensuse.org/request/show/1036720
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=663
2022-11-18 21:49:33 +00:00
_constraints - Fix several problems with the startup scripts. The SysV form is no longer used for most packages as proper systemd 2017-07-10 18:31:23 +00:00
_multibuild Accepting request 820027 from home:lwfinger:branches:Virtualization 2020-07-10 18:39:52 +00:00
_service Accepting request 214248 from home:saschpe:branches:Virtualization 2014-01-19 00:52:50 +00:00
.gitattributes Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
.gitignore osc copypac from project:home:mseben:branches:Virtualization package:virtualbox-ose revision:7 2010-12-23 10:08:49 +00:00
fix_conflict_between_host_and_guest.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
Fix_for_server_1.19.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fix_kmp_build.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fix_lib_search.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fix_usb_rules.sh - Revise warning screen concerning USB passthru - fixes bnc#1041137. 2017-06-08 22:26:55 +00:00
fix_v7_build.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fix-missing-includes-with-qt-5.15.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_gcc10.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_leap15.2.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_leap15.3.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_leap15.4.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_Leap42.3.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_makefile.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_python.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_qt5.13.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_Qt5.11.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
fixes_for_sle12.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
gcc5-real-support.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
handle_gsoap_208103.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
internal-headers.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
modify_for_4_8_bo_move.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
README.autostart Accepting request 888128 from home:lwfinger:branches:Virtualization 2021-04-24 13:48:44 +00:00
README.build Accepting request 994409 from home:lwfinger:branches:Virtualization 2022-08-10 23:50:09 +00:00
remove_vbox_video_build.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
security_fixes.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
set_noexec_stack.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
smap.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
turn_off_cloud_net.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
update-extpack.sh Accepting request 876243 from home:mgerstner:branches:Virtualization 2021-03-02 17:30:32 +00:00
UserManual.pdf Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox_remove_smp_mflags.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-default-os-type.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-deprec-gsoap-service-proxies.diff Accepting request 1029812 from home:larryr:branches:Virtualization 2022-10-18 18:55:40 +00:00
vbox-disable-updates.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-fpie.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-gsoapssl-deps.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-no-build-dates.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-permissions_warning.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-python-py310.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-python-selection.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-smc-napa.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-suid-warning.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-usb-warning.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-vboxadd-init-script.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vbox-vboxdrv-init-script.diff Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vboxadd-service.service Accepting request 893086 from home:dancermak:branches:Virtualization 2021-05-14 18:05:55 +00:00
vboxautostart-service.service Accepting request 888128 from home:lwfinger:branches:Virtualization 2021-04-24 13:48:44 +00:00
vboxautostart-service.sh Accepting request 888128 from home:lwfinger:branches:Virtualization 2021-04-24 13:48:44 +00:00
vboxclient.desktop Accepting request 994409 from home:lwfinger:branches:Virtualization 2022-08-10 23:50:09 +00:00
vboxclient.service Accepting request 994409 from home:lwfinger:branches:Virtualization 2022-08-10 23:50:09 +00:00
vboxconfig.sh Accepting request 765913 from home:lwfinger:branches:Virtualization 2020-01-20 20:15:41 +00:00
VBoxDDR0.r0 Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
vboxdrv.service - Fix several problems with the startup scripts. The SysV form is no longer used for most packages as proper systemd 2017-07-10 18:31:23 +00:00
vboxdrv.sh Accepting request 1008282 from home:lwfinger:branches:Virtualization 2022-10-05 19:01:23 +00:00
vboxguestconfig.sh Accepting request 877293 from home:lwfinger:branches:Virtualization 2021-03-09 17:15:18 +00:00
vboxservice.service Accepting request 994409 from home:lwfinger:branches:Virtualization 2022-08-10 23:50:09 +00:00
vboxweb-service.service - Version bump to 6.0.4 (released January 28 2019 by Oracle) 2019-01-28 20:37:13 +00:00
vboxweb-service.sh Accepting request 1006481 from home:lwfinger:branches:Virtualization 2022-09-27 18:00:44 +00:00
virtualbox-60-vboxdrv.rules Accepting request 1008282 from home:lwfinger:branches:Virtualization 2022-10-05 19:01:23 +00:00
virtualbox-60-vboxguest.rules Accepting request 1008282 from home:lwfinger:branches:Virtualization 2022-10-05 19:01:23 +00:00
VirtualBox-5.2.10-xclient.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
VirtualBox-7.0.2-patched.tar.bz2 Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
virtualbox-default.virtualbox Accepting request 655353 from home:frispete:kernel 2019-01-03 03:21:14 +00:00
virtualbox-fix-ui-background-color.patch Accepting request 1004165 from home:larryr:branches:Virtualization 2022-09-16 17:04:36 +00:00
virtualbox-kmp-files Accepting request 926822 from home:lwfinger:branches:Virtualization 2021-10-21 17:55:02 +00:00
virtualbox-kmp-preamble Accepting request 719647 from home:lwfinger:branches:Virtualization 2019-07-30 19:54:24 +00:00
virtualbox-LocalConfig.kmk - Build with system libs for X instead of localy built ones. 2015-05-06 20:07:21 +00:00
virtualbox-patch-source.sh Accepting request 975263 from home:lwfinger:branches:Virtualization 2022-05-05 21:28:14 +00:00
virtualbox-rpmlintrc Accepting request 976283 from home:marxin:branches:Virtualization 2022-05-11 14:16:04 +00:00
virtualbox-sed-params.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
virtualbox-snpritnf-buffer-overflow.patch Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
virtualbox-wrapper.sh Accepting request 794392 from home:lwfinger:branches:Virtualization 2020-04-15 23:48:18 +00:00
VirtualBox.appdata.xml Accepting request 741624 from home:hellcp:branches:Virtualization 2019-10-21 22:21:51 +00:00
virtualbox.changes Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00
virtualbox.spec Accepting request 1036720 from home:lwfinger:branches:Virtualization 2022-11-18 21:49:33 +00:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Instructions for building the VirtualBox project

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.

You will need a login account at OBS. This account is also used to login at openSUSE's
bugzilla, etc. Those credentials are also used by osc whose package must also be
installed.

A. Create a new sub-project:
   1. Branch the package:
	The sources for Tumbleweed and the Leap releases have been merges, thus
	development work can be concentrates on TW. To branch VB for Tumbleweed,
		osc branch Virtualization virtualbox
   2. Checkout the package using the "osc co" command listed

B. For the first time, test 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. This build will create all the
      VirtualBox packages except the kernel modules. To build them use "osc build -M kmp",
      which takes a lot less time. The split was made to reduce the load on OBS.
      Now, a kernel change only requires rebuild of the modules, not the entire package.
   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. In general, about 25 GB is required for each flavor,
      thus the disk usabe can approach 100 GB. If you have plenty of headroom in /,
      you can skip this separate 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 --alternative-project Kernel:HEAD standard".
      Note: The syntax of this step has changed throughout the years. If it fails, ask
      how to do it on the openSUSE Factory mailing list at opensuse-factory@opensuse.org.
      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 of
      python or Qt. Use the "--alternative-project=<xxx>" switch to force usage of
      the revised component. You will need to ask at factory@lists.opensuse.org to
      get the proper profect name.

C. Steps to take with a new release:
   1. When Oracle releases a new version, you will need to download the new tarball
      from https://download.virtualbox.org/virtualbox/. While downloading the file, I
      also get the new UserManual.pdf. I use the wget utility, but the browser could
      be used.
   2. openSUSE makes some changes to the tarballi, which are done with the command
          bash ./virtualbox-patch-source.sh <name of tarball just downloaded>
      This script unpacks the tar file, removes Windows and Mac host code from the file,
      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_tarball-name>" and "osc add <new_tarball_name>" to get the
      new file into osc. The local build will work without these changes, but the remote
      operations with OBS will fail.
   5. VirtualBox at openSUSE is a multi-build package consisting of virtualbox-kmp and
      the rest of virtualbox. The former builds in about 20% of the time needed for the
      latter, thus it is best to start with the kmp part.
   6. The usual problems are as follows:
      a. Fixing for kernel API changes are incorporated in a new release, thus our patch
         is obsolete.
      b. Oracle has revised their code such that one of the patches needed by openSUSE
         fails to apply.
      c. There are kernel API changes that break the building of the kmp part of VB.
   5. When fixing kernel API changes, keep in mind that Oracle will be 2-3 months behind
      your needs; however, they will eventually include the necessary changes in their
      distribution. If you find something that you do not know how to fix, you could file
      a bug tracker at https://www.virtualbox.org/wiki/Bugtracker. Note that previous
      reports have gotten the response "We do not support kernel X.Y" - a really helpful
      response. To be able to back out your changes, create a new patch file for the
      updates. An OBS or osc build will unpack the "patched" tarball and apply the patches.
      To help in the creation of such patches, it is my practice to untar the tarball and
      use quilt to create the necessary patch, refresh it, and then copy it back into the
      main directory. At that point it can be added into the spec file. The utility
      wiggle is useful in fixing patches that will not apply.
   6. Once the kmp modules, and the main part of VirtualBox are building correctly with
      osc, use 'osc status' to indicate the file changes. Anything with a "?" as its status
      is a new file that needs to be resolved. If these files are not added to the project,
      they will not be uploaded to OBS. You should also remove any files made obsolete
      because Oracle caught up with kernel API changes. At this point, the new release
      should be tested by adding the directory  
           /var/tmp/build-root/.../home/abuild/rpmbuild/RPMS/x86_64
      to the list of repositories, and updating virtualbox from that new repository. These
      packages will not be signed, thus you will get a warning that can be ignored. Be sure
      to install virtualbox-host-source, as well as kernel-default-devel and kernel-devel
      for the kernel you are running. After loading the updated packages, then run
      'sudo /lib/sbin/vboxconfig' to build and install the kernel modules.
   7. The new code can now be tested. Usually, the tests will not show any problems;
      however, there was a version where Windows 7 failed to boot because of a virtual
      BIOS change. With kernel 5.18, there was a major bug where the FPU was not being
      saved. The symptoms ranged from application crashes in a Linux VM to a full virtual
      machine crash in a Windows 10 VM. The patch for this problem was provided by Oracle,
      only a few days before kernel 5.18.1 was released and added to Tumbleweed. Obviously,
      both Windows and Linux systems should be tested to ensure that screen resizing,
      bidirectional clipboard, and shared folders work with no crashes.
   8. Once the new release is tested and 'osc status' is clean, it is time to update the
      changes file using the 'osc vc' command. I copy and paste the changes listed in
      the Oracle release notes to the new entry and add references to any bugzilla entries.
      In this section, it is essential that you list files that are deleted or added. It is
      not necessary to mention the tarball change - it is implied.
   9. Now it is time to send the new material to OBS using the 'osc ci' command. The
      material in the new section usually appears as the commit message. If not, copy it
      from the .changes file. Committing new material will trigger builds at OBS. The
      status of them can be seen with the 'osc r' command. Once the builds are successful,
      they should be submitted using the 'osc sr' for Tumbleweed. One peculiarity of the
      factory releases is that they require a review, even for your own changes. A few
      minutes after an osc sr command, you will need to log into OBS and check your
      tasks for “Outgoing Requests”. From there, you will be able to submit a review.
  10. After VirtualBox is completed for Tumbleweed, and building OK on the various Leap
      versions at OBS, you can branch the various Leap versions with the command
	    osc branch openSUSE:Leap:15.X:Update virtualbox
      It is not necessary to check out the code as creating the directory that will
      be used. If it already exists on your system, delete all files in that directory.
      Then copy all the files from the Tumbleweed source into the Leap directory. To
      syncronize your system wuth OBS, do an "osc update". At this point, you will
      need to repeat the "osc rm" and "osc add" steps to update the version of the
      tarball. After that, make sure that "osc status" is clean. At that point, update
      the package at OBS with "osc ci". When "osc r" shows that the build has completed,
      use "osc mr" to submit it to the project. For the update projects, no review by
      the maintainer is requied.
  11. When a new Leap release is in a pre-release state, updated VB releases can be
      sent to that project from OBS.