From 74316588e8c55a0e816cbb5a7da1b3087a7fc3c6 Mon Sep 17 00:00:00 2001 From: Josh Poimboeuf Date: Fri, 12 Sep 2014 10:47:36 -0500 Subject: [PATCH] kpatch-build: download fedora src rpms from koji yumdownloader is problematic because it doesn't allow you to download anything but the latest released kernel. It can also be slow at times. Instead, for Fedora, download the RPMs from koji. --- README.md | 2 +- kpatch-build/kpatch-build | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e5249aa..b9b03e5 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ sudo yum install gcc kernel-devel elfutils elfutils-devel Install the dependencies for the "kpatch-build" command: ```bash -sudo yum install rpmdevtools pesign yum-utils openssl +sudo yum install rpmdevtools pesign yum-utils openssl wget sudo yum-builddep kernel sudo debuginfo-install kernel diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build index debac52..3a29a05 100755 --- a/kpatch-build/kpatch-build +++ b/kpatch-build/kpatch-build @@ -313,13 +313,16 @@ else echo "Fedora/Red Hat distribution detected" rpm -q --quiet rpmdevtools || die "rpmdevtools not installed" + echo "Downloading kernel source for $ARCHVERSION" if [[ -z "$SRCRPM" ]]; then - rpm -q --quiet yum-utils || die "yum-utils not installed" - - echo "Downloading kernel source for $ARCHVERSION" - yumdownloader --source --destdir "$TEMPDIR" "kernel-$ARCHVERSION" >> "$LOGFILE" 2>&1 || die - SRCRPM="$TEMPDIR/kernel-$KVER-$KREL.src.rpm" + if [[ $DISTRO = fedora ]]; then + (cd $TEMPDIR && wget http://kojipkgs.fedoraproject.org/packages/kernel/$KVER/$KREL/src/kernel-$KVER-$KREL.src.rpm >> "$LOGFILE" 2>&1 || die) + else + rpm -q --quiet yum-utils || die "yum-utils not installed" + yumdownloader --source --destdir "$TEMPDIR" "kernel-$ARCHVERSION" >> "$LOGFILE" 2>&1 || die + fi fi + SRCRPM="$TEMPDIR/kernel-$KVER-$KREL.src.rpm" echo "Unpacking kernel source" rpmdev-setuptree >> "$LOGFILE" 2>&1 || die