From Fedora Project Wiki

< TillMaas

Revision as of 14:13, 24 May 2008 by fp-wiki>ImportUser (Imported from MoinMoin)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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