We occasionaly get complaints from users that our official Vagrant images do not include the VirtualBox Guest Additions. We do not include them because the CentOS repositories do not have any package for VirtualBox. Packaging it would probably require a significant amount of work - the Debian source package shows quite a number of first-level dependencies, probably not all already available in CentOS. [1] I'm also not sure if packaging the full VirtualBox is even desirable. [2]
The alternative would be to package just the Guest Additions (which have considerably fewer build dependencies), to be able to include them in the Vagrant images. Two VirtualBox developers told me in #vbox-devel that the source code already supports building just the Guest Additions, and it's actually used for generating the official download images: one should simply invoke "kmk VBOX_ONLY_ADDITIONS=1", or, I quote: 'kmk VBOX_ONLY_ADDITIONS=1 packing to produce the ISO, which will only be for one platform and bit count.' They also believe we should be able to get away with simply providing the binary modules, since our kernels have a stable ABI (the upstream Guest Additions ISO, as well as the Debian packages, require DKMS and the development tools and kernel headers, which would considerably increase the size of our Vagrant images). We would probably need to incorporate some functionality from their installer at RPM build time, to get just the binary modules.
Regards, Laurențiu
[1] https://packages.debian.org/sid/virtualbox [2] https://lkml.org/lkml/2011/10/6/317
On 08/15/2016 07:39 AM, Laurentiu Pancescu wrote:
We occasionaly get complaints from users that our official Vagrant images do not include the VirtualBox Guest Additions. We do not include them because the CentOS repositories do not have any package for VirtualBox. Packaging it would probably require a significant amount of work - the Debian source package shows quite a number of first-level dependencies, probably not all already available in CentOS. [1] I'm also not sure if packaging the full VirtualBox is even desirable. [2]
I don't think we need (or want) to package up all of virtualbox, no.
The alternative would be to package just the Guest Additions (which have considerably fewer build dependencies), to be able to include them in the Vagrant images. Two VirtualBox developers told me in #vbox-devel that the source code already supports building just the Guest Additions, and it's actually used for generating the official download images: one should simply invoke "kmk VBOX_ONLY_ADDITIONS=1", or, I quote: 'kmk VBOX_ONLY_ADDITIONS=1 packing to produce the ISO, which will only be for one platform and bit count.' They also believe we should be able to get away with simply providing the binary modules, since our kernels have a stable ABI (the upstream Guest Additions ISO, as well as the Debian packages, require DKMS and the development tools and kernel headers, which would considerably increase the size of our Vagrant images). We would probably need to incorporate some functionality from their installer at RPM build time, to get just the binary modules.
This is something to look into, as I think it might be worthwhile. I'll work on chasing this down to make sure that we're okay license-wise if someone wants to take a crack at putting together a specfile/src.rpm for the build.
On 15/08/16 23:54, Jim Perrin wrote:
The alternative would be to package just the Guest Additions (which have considerably fewer build dependencies), to be able to include them in the Vagrant images. [...]
This is something to look into, as I think it might be worthwhile. I'll work on chasing this down to make sure that we're okay license-wise if someone wants to take a crack at putting together a specfile/src.rpm for the build.
If the license is ok, I'd like to give it a try (unless someone more experienced wants to do it - I might need occasional support). We'll probably need to distribute the entire VirtualBox source [1] as SRPM, even if we just build the Guest Additions - they seem to at least include header files living outside the src/VBox/Additions directory.
Regards, Laurențiu
On Tue, Aug 16, 2016 at 12:32 AM, Laurentiu Pancescu lpancescu@gmail.com wrote:
If the license is ok, I'd like to give it a try (unless someone more experienced wants to do it - I might need occasional support). We'll probably need to distribute the entire VirtualBox source [1] as SRPM, even if we just build the Guest Additions - they seem to at least include header files living outside the src/VBox/Additions directory.
Regards, Laurențiu
Thanks for doing this! We use the Vbox guest additions in most of our Vagrant boxes, so this would be very helpful for me. Feel free to email me offlist if there's anything I can do to help build/test.
-Jeff