Maintaining QEMU and libvirt patches

From FedoraProject

Revision as of 19:43, 8 October 2009 by Markmc (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Package-x-generic-16.pngqemu and Package-x-generic-16.pnglibvirt package maintainers now have the option to use the qemu-kvm/fedora.git and libvirt-fedora.git git repositories in order to maintain the packages' patch sets.

The basic idea is:

  1. There should be an upstream tag corresponding to the pristine upstream sources - e.g. the kvm-88 tag in qemu-kvm.git corresponds to the qemu-kvm-devel-88 tarball and the v0.7.0 tag in libvirt-fedora.git corresponds to the libvirt-0.7.0 tarball
  2. Each commit in qemu-kvm/fedora.git or libvirt-fedora.git descending from the upstream tag is an individual patch in the RPM
  3. Each commit is preferably cherry-picked from upstream using git cherry-pick -x
  4. In the case of qemu, each commit should be signed off by the package maintainer who added it
  5. We match commits to patch filenames using Fedora-patch: meta-data
  6. The patch set should be re-based using git rebase <upstream tag> when moving to a new upstream release
  7. Each fedora build is tagged in git using git tag -a -m '<nvr>' <nvr>

In order to sync the patches from git to CVS, do e.g:

 $> git clean -f
 $> git format-patch -N kvm-88
 $> for p in 000*.patch; do mv $p /pkgs/qemu/devel/$(awk '/^Fedora-patch: / {print $2;}' $p); done