Packaging VirtualBox
This page exists so that we can collaborate on getting VirtualBox packaged for Fedora. Note it can't make it to Fedora as it contains a kernel module, so targets are Livna and RPMFusion.
Source repository
SPEC and patches are stored in a Mercurial repository. To check it out, do the following:
$ hg clone ssh://people.fedoraproject.org//home/fedora/lkundrak/repo/virtualbox
Look at the Makefile
to see for some shorthands. Feel free to improve it.
Use make srpm
to create a source package, use mock to build it.
If you add patches, don't forget to hg add
those.
Once your patches look sane, do a hg commit
.
If you can hg push
the patches to the repository if you're in cla_done
FAS group,
otherwise feel free to mail the patches to lkundrak@redhat.com, he'll be happy to push :)
Please add to your ~/.hgrc
file on fedorapeople:
[trusted] users=lkundrak
This will make hg send a notification mail when you push your patch.
Building VirtualBox
VirtualBox needs kBuild to build.
Repository with binaries prebuilt for i386 and x86_64 as well as source packages is available at http://people.fedoraproject.org/~lkundrak/kBuild/. Feel free to grab the source package, polish it if needed, and submit for inclusion in Fedora.
This is food for your mock or yum configuration:
[kBuild] name=kBuild gpgcheck=0 baseurl=http://people.fedoraproject.org/~lkundrak/kBuild/
TODO
1. Does it work with all kernel flavours? 1. Make it honour RPM_OPT_FLAGS as much as possible 1. Where doesn't it do? (some info ) Also the current spec does not use any of the RPM_OPT_FLAGS 1. Guest additions 1. If there are some that don't depend on a kernel module, they should be packaged separately
- the shared folders one does depend
- x11 driver probably does not
1. We should not build 32bit ones when building a 64bit package 1. create /usr/share/hwdata/videoaliases/virtualbox.xinf
- how to find out the pci IDs?
- There is some information about how to create .xinf files at my page: TillMaas
1. long time idea: also create an iso image that can be used in guests to install additions like upstream does it. 1. packages: timesync 1. iso: timesync and xorg drivers 1. iso: Windows stuff (maybe it can be crosscompiled with xmingw-gcc or whatever the correct name is) 1. Icon / installation of .desktop file 1. x86_64 Test 1. use rpath instead of wrapper script(?) 1. Install into FHS hierarchy
- Debian does this
1. In case libaries can't be installed directly into %{_libdir}, is ldconfig configuration file a good alternative to rpath and wrapper? 1. Selinux for strict mode 1. Do not disable tests 1. kernel module packages
- Provide both dkms and kmod2?
- ThorstenLeemhis, 20080307 -- livna in devel support akmods; IOW: you can maintain one normal kmod spec and have the traditional kmods build for the repo as well as support akmods, which provide a dkms-like functionality
- maybe the kmod package needs to be adjusted to work in rpmfusion-devel (builds on Fedora 8)
- test, whether they actually work, e.g. on xen?
1. Review kBuild for Fedora 1. Check out debian patches for VirtualBox and kBuild
- Seem mostly uninteresting :)