From Fedora Project Wiki
(add libvirt info) |
|||
Line 1: | Line 1: | ||
The {{package|qemu}} package maintainers use the [http://git.et.redhat.com/?p=qemu-fedora.git qemu-fedora.git] git | 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 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] | # 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> descending from the upstream tag is an individual patch in the RPM | # 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 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 | ||
# We match commits to patch filenames using <code>Fedora-patch:</code> meta-data | # We match commits to patch filenames using <code>Fedora-patch:</code> meta-data | ||
# The patch set should be re-based using <code>git rebase <upstream tag></code> when moving to a new upstream release | # The patch set should be re-based using <code>git rebase <upstream tag></code> when moving to a new upstream release | ||
# Each fedora build is tagged in git using <code>git tag -a -m '<nvr>' <nvr></code> | |||
In order to sync the patches from git to CVS, do e.g: | In order to sync the patches from git to CVS, do e.g: |
Revision as of 10:07, 21 August 2009
The qemu
and libvirt
package maintainers now have the option to use the qemu-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-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