From Fedora Project Wiki
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:
- 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 thev0.7.0
tag in libvirt-fedora.git corresponds to the libvirt-0.7.0 tarball - Each commit in
qemu-kvm/fedora.git
orlibvirt-fedora.git
descending from the upstream tag is an individual patch in the RPM - Each commit is preferably cherry-picked from upstream using
git cherry-pick -x
- In the case of qemu, each commit should be signed off by the package maintainer who added it
- We match commits to patch filenames using
Fedora-patch:
meta-data - The patch set should be re-based using
git rebase <upstream tag>
when moving to a new upstream release - 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