User:Till/VirtualBox

= 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:

Look at the to see for some shorthands. Feel free to improve it. Use to create a source package, use mock to build it.

If you add patches, don't forget to those. Once your patches look sane, do a. If you can the patches to the repository if you're in  FAS group, otherwise feel free to mail the patches to lkundrak@redhat.com, he'll be happy to push :) Please add to your file on fedorapeople:

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:

TODO

 * 1) Does it work with all kernel flavours?
 * 2) Make it honour RPM_OPT_FLAGS as much as possible
 * 3) Where doesn't it do? (some info) Also the current spec does not use any of the RPM_OPT_FLAGS
 * 4) Guest additions
 * 5) 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
 * 2) 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.
 * 2) packages: timesync
 * 3) iso: timesync and xorg drivers
 * 4) iso: Windows stuff (maybe it can be crosscompiled with xmingw-gcc or whatever the correct name is)
 * 5) Icon / installation of .desktop file
 * 6) x86_64 Test
 * 7) use rpath instead of wrapper script(?)
 * 8) 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?
 * 2) Selinux for strict mode
 * 3) Do not disable tests
 * 4) 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
 * 2) Check out debian patches for VirtualBox and kBuild
 * Seem mostly uninteresting :)