Whamcloud - gitweb
LU-11720 spec: srpm should be free of kernel requiements
[fs/lustre-release.git] / contrib / lbuild / lbuild-rhel7
index ea339a0..721d56b 100644 (file)
@@ -8,14 +8,14 @@ BUILD_GEN+=".0"
 
 SPEC_NAME="kernel.spec"
 DEVEL_PATH_ARCH_DELIMETER="."
-USE_KABI=true
+USE_KABI=false
 
 # force local definition of %dist into ~/.rpmmacros
 # to avoid verbose extended strings like ".el7.centos"
 # in kernel version and rpm names
 #
 RMAC=$HOME/.rpmmacros
-grep '%dist' $RMAC &> /dev/null || echo '%dist .el7' >> $RMAC
+grep '^%dist' $RMAC &> /dev/null || echo '%dist .el7' >> $RMAC
 
 # We modify the RHEL7 kmodtool script, because it expects
 # the kernel source to be in the correct packaged RHEL location.
@@ -25,11 +25,17 @@ LBUILD_KMODTOOL="${LBUILD_DIR}/rhel7/kmodtool"
 cp  $RHEL_KMODTOOL $LBUILD_KMODTOOL
 pushd ${LBUILD_DIR}/rhel7
 patch -p1 < kmodtool.patch
+# Replace the hardcoded /usr/src/kernels with our build path
+tmp="${TOPDIR}/reused/usr/src/kernels"
+tmp="${tmp//\//\\/}"
+sed -i "s/\/usr\/src\/kernels/${tmp}/g" ${LBUILD_DIR}/rhel7/kmodtool
 chmod 755 kmodtool
 popd
 # Next we replace %kernel_module_package with one that is nearly
 # identical, but calls lbuild's modified kmodtool script.
-sed -e "s|REPLACE_ME|$LBUILD_KMODTOOL|" \
+# We need to cleanout the previous entry
+sed -i "/^%kernel_module_package/,/^)}$/d" $RMAC
+sed -e "s|REPLACE_ME|$LBUILD_KMODTOOL|" -e "s/\/usr\/src\/kernels/${tmp}/g" \
     ${LBUILD_DIR}/rhel7/rpmmacros.template > ${LBUILD_DIR}/rhel7/rpmmacros
 cat ${LBUILD_DIR}/rhel7/rpmmacros >> $RMAC
 
@@ -102,3 +108,21 @@ kernel_srpm_location() {
     echo "http://vault.centos.org/centos/7/updates/Source/SPackages/"
 
 }
+
+kernel_debuginfo_location() {
+
+       echo "http://debuginfo.centos.org/7/x86_64/"
+
+}
+
+cleanup_rpmmacros() {
+       sed -i "/^%kernel_module_package/,/^)}$/d" $RMAC
+}
+
+apply_kmod_requires_conflicts() {
+    if $PATCHLESS; then
+        # don't allow the patched kernel to be considered as a valid kernel
+        # for the patchless client
+        echo "Conflicts:      kernel-lustre" >> rpm/kmp-lustre.preamble
+    fi
+}