SLES %kernel_module_package assume kernel-devel installed
in standard location /usr/src/. However, lbuild extracts
kernel-devel into its location; so we need to change
%kernel_module_package macros to use lbuild's kernel obj
Create a cleanup_rpmmacros to remove the change afterward
Test-parameters: trivial
Change-Id: I8f1d8ac50436455be23e15b0a277afb6c7def7c3
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: http://review.whamcloud.com/22484
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
mv -f lustre-*.src.rpm $TOPDIR/SRPMS/
popd >/dev/null
mv -f lustre-*.src.rpm $TOPDIR/SRPMS/
popd >/dev/null
+ if type -p cleanup_rpmmacros; then
+ cleanup_rpmmacros
+ fi
echo "http://vault.centos.org/centos/7/updates/Source/SPackages/"
}
echo "http://vault.centos.org/centos/7/updates/Source/SPackages/"
}
+
+cleanup_rpmmacros() {
+ sed -i "/^%kernel_module_package/,/^)}$/d" $RMAC
+}
DEVEL_KERNEL_TYPE="default-devel"
RPM_HELPERS_DIR="/usr/lib/rpm"
DEVEL_KERNEL_TYPE="default-devel"
RPM_HELPERS_DIR="/usr/lib/rpm"
+RMAC=$HOME/.rpmmacros
+SUSE_MACROS=/etc/rpm/macros.kernel-source
prepare_and_build_srpm() {
prepare_and_build_srpm() {
}
find_linux_devel_paths() {
}
find_linux_devel_paths() {
+ local path="$1"
+ local linuxobjpath=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$(resolve_arch $TARGET_ARCH $PATCHLESS)/$RPMSMPTYPE
- LINUX=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}
- LINUXOBJ=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$(resolve_arch $TARGET_ARCH $PATCHLESS)/$RPMSMPTYPE
+ LINUX=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}
+ LINUXOBJ=$path/usr/src/linux-obj/$(resolve_arch $TARGET_ARCH $PATCHLESS)/$RPMSMPTYPE
+ # symlink the linux-obj to linux-version-obj
+ ln -s $linuxobjpath $LINUXOBJ
+
+ # We modify %kernel_module_package macro to use the linux obj
+ # that lbuild install, not the OS installed /usr/src
+ sed -i "/^%kernel_module_package/,/^)}$/d" $RMAC
+ sed -e "s/\/usr\/src/${path//\//\\/}\/usr\/src/" ${SUSE_MACROS} >> $RMAC
+
+ return 0
find_linux_release() {
_find_linux_release $LINUXOBJ
}
find_linux_release() {
_find_linux_release $LINUXOBJ
}
+
+# cleanup the modified/added rpmmacros
+cleanup_rpmmacros() {
+ sed -i "/^%kernel_module_package/,/^)}$/d" $RMAC
+}