Before I use the latest rawhide kernel for a test, I had to ensure some specific patches made into it from KVM upstream GIT PULL request . This is how I tried:
Fetch the Rawhide Kernel SRPM
Install the rawhide SRPM:
# Move into SRPMS directory
$ cd ~/rpmbuild/SRPMS
# Fetch the SRPM
$ wget http://kojipkgs.fedoraproject.org//packages/kernel/3.10.0/0.rc0.git23.1.fc20/src/kernel-3.10.0-0.rc0.git23.1.fc20.src.rpm
# Install the kernel SRPM
$ rpm -ivh kernel-3.10.0-0.rc0.git23.1.fc20.src.rpm
First, simpler way
git-describe
to the rescue: Each Fedora rawhide kernel changelog has the precise output of Linus’ tree (thanks jwb!). So, let’s run it on the upstream kernel tree.
# Clone Linus' tree (or traverse to its path if it already exists)
# git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
# Run:
$ git describe
v3.9-11789-ge0fd9af
The above output can be understood as (from git-describe man page): The current head of the “parent” branch is based on v3.9, and is 11789 commits ahead of it; with a hash suffix ge0fd9af: where “-g” (stands for “git”), e0fd9af is the 7-character abbreviation for the tip commit (which was — e0fd9affeb64088eff407dfc98bbd3a5c17ea479)
Now, compare the above tag from the tag mentioned in changelog of Fedora Rawhide Kernel
$ rpm -q kernel --changelog | head -2
* Thu May 09 2013 Josh Boyer - 3.10.0-0.rc0.git23.1
- Linux v3.9-11789-ge0fd9af
Second, a more convoluted way to ensure a specific patch is in
Check upstream KVM tree, for the latest commit —
db6ae6158186a17165ef990bda2895ae7594b039
# Clone the upstream KVM git
$ git clone git://git.kernel.org/pub/scm/virt/kvm/kvm.git
# Traverse into its directory
$ cd kvm
# Get the latest commit ID
$ git log tags/kvm-3.10-1 | head -1
db6ae6158186a17165ef990bda2895ae7594b039
Now, get details the above commit. Its commit’s short description says: “kvm: Add compat_ioctl for device control API”
$ git log -p db6ae6158186a17165ef990bda2895ae7594b039
.....
+ .compat_ioctl = kvm_device_ioctl,
(that’s the first line of change)
Let’s grep
for that string in our just installed kernel sources tree
$ cd ~/rpmbuild/SOURCES/
# Copy the patch file archive into a temp directory
$ cp patch-3.9-git23.xz /var/tmp/test/
# Extract & list it
$ unxz patch-3.9-git23.xz
$ ls
patch-3.9-git23
# grep
for that specific line
$ grep ".compat_ioctl = kvm_device_ioctl" patch-3.9-git23
+ .compat_ioctl = kvm_device_ioctl,
So, the above confirms that the patch (and the KVM GIT PULL request is contained in the koji rawhide build.
And the entire PULL request for KVM updates is merged with this commit ID – 01227a889ed56ae53aeebb9f93be9d54dd8b2de8.