From Fedora Project Wiki

(add libvirt info)
(qemu git repo has moved)
 
Line 1: Line 1:
The {{package|qemu}} and {{package|libvirt}} package maintainers now have the option to use the [http://git.et.redhat.com/?p=qemu-fedora.git qemu-fedora.git] and [http://gitorious.org/~markmc/libvirt/fedora libvirt-fedora.git] git repositories in order to maintain the packages' patch sets.
The {{package|qemu}} and {{package|libvirt}} package maintainers now have the option to use the [http://repo.or.cz/w/qemu-kvm/fedora.git qemu-kvm/fedora.git] and [http://gitorious.org/~markmc/libvirt/fedora libvirt-fedora.git] git repositories in order to maintain the packages' patch sets.


The basic idea is:
The basic idea is:


# There should be an upstream tag corresponding to the pristine upstream sources - e.g. the <code>kvm-88</code> tag in [http://git.kernel.org/?p=virt/kvm/qemu-kvm.git qemu-kvm.git] corresponds to the [http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-devel-88.tar.gz qemu-kvm-devel-88 tarball] and the <code>v0.7.0</code> tag in [http://gitorious.org/~markmc/libvirt/fedora libvirt-fedora.git] corresponds to the [http://libvirt.org/sources/libvirt-0.7.0.tar.gz libvirt-0.7.0 tarball]
# There should be an upstream tag corresponding to the pristine upstream sources - e.g. the <code>kvm-88</code> tag in [http://git.kernel.org/?p=virt/kvm/qemu-kvm.git qemu-kvm.git] corresponds to the [http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-devel-88.tar.gz qemu-kvm-devel-88 tarball] and the <code>v0.7.0</code> tag in [http://gitorious.org/~markmc/libvirt/fedora libvirt-fedora.git] corresponds to the [http://libvirt.org/sources/libvirt-0.7.0.tar.gz libvirt-0.7.0 tarball]
# Each commit in <code>qemu-fedora.git</code> or <code>libvirt-fedora.git</code> descending from the upstream tag is an individual patch in the RPM
# Each commit in <code>qemu-kvm/fedora.git</code> or <code>libvirt-fedora.git</code> descending from the upstream tag is an individual patch in the RPM
# Each commit is preferably cherry-picked from upstream using <code>git cherry-pick -x</code>
# Each commit is preferably cherry-picked from upstream using <code>git cherry-pick -x</code>
# In the case of qemu, each commit should be signed off by the package maintainer who added it
# In the case of qemu, each commit should be signed off by the package maintainer who added it

Latest revision as of 19:43, 8 October 2009

The qemu and libvirt 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