I have been going thru all of Larry's patches and discovered most are not needed any longer - from 46 down to 9.

Larry had developed a lot of patches over 12 years and was patching them to work with the latest versions. All that are left are OpenSUSE additions to install the kernel modules and create systemd scripts and udev scripts and fix ownership of files.

I got the Oracle Code to work with 15.6 and Tumbleweed first and made a new rpm that had all the correct fixes without patching patches. Every patch he had, had an Oracle fix that was not quite the same spellings but did the exact same thing - except he removed the Oracle fix and installed his fix. 

I spent all week looking at every patch comparing my fixed Oracle code (mostly changing 15.3 to 15.6 in Oracle scripts) to Larry's Patched code. All were the same but the placement or the test variable name was different and that was the primary differences in all cases.

All the 9 patches are to build OpenSUSE install scripts and to remove the Solaris and Freebsd install scripts that OBS rpm build chokes on. They should not be on the Linux source code tarball but they are there - they cause OBS to return a failed build and no rpm is created - in Oracle scripts those files are ignored in the rpm build.

Now I have to test them all.


On 7/6/24 13:38, Jan Engelhardt wrote:
On Friday 2024-07-05 16:19, Larry Len Rainey wrote:
This is harder than creating a full Linux system as almost everything in Linux
is also built in VirtualBox as it emulates Linux Hardware and system calls.

VirtualBox.spec is 1160 lines long and the OBS project has 66 separate files.
Most are patch files that Larry created and I have no idea how he created
them.
The patch files reek of a SCM of the last decade.
'lo and behold, I just ound Virtualbox still uses SVN.

   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.
sounds just like the same I'm doing in gsoap.spec


   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.
Been there, done that. Just write me up.