Skip to content
Snippets Groups Projects
Commit 0d054593 authored by jacob's avatar jacob
Browse files

Commit changes from b_release_1_3_2

 - update rhel kernel to 2.4.21-20.EL
 - small lbuild fixes
parent 986ec8a9
No related merge requests found
...@@ -12,6 +12,7 @@ TAG= ...@@ -12,6 +12,7 @@ TAG=
TARGET= TARGET=
TARGET_ARCHS= TARGET_ARCHS=
CONFIGURE_FLAGS= CONFIGURE_FLAGS=
EXTERNAL_PATCHES=
EXTRA_VERSION= EXTRA_VERSION=
# from target file # from target file
...@@ -41,11 +42,15 @@ cleanup() ...@@ -41,11 +42,15 @@ cleanup()
true true
} }
error()
{
[ "$1" ] && echo -e "\n${0##*/}: $1"
}
fatal() fatal()
{ {
cleanup cleanup
[ "$2" ] && echo error "$2"
[ "$2" ] && echo "${0##*/}: $2"
exit $1 exit $1
} }
...@@ -79,6 +84,11 @@ Usage: ${0##*/} [OPTION]... [-- <lustre configure options>] ...@@ -79,6 +84,11 @@ Usage: ${0##*/} [OPTION]... [-- <lustre configure options>]
environment variable \$CVSROOT is used if this option is not environment variable \$CVSROOT is used if this option is not
present. present.
--external-patches=EXTERNAL_PATCHES
Directory similar to lustre/kernel_patches/ that lbuild should
look for seres and config files in before looking in the lustre
tree.
--extraversion=EXTRAVERSION --extraversion=EXTRAVERSION
Text to use for the rpm release and kernel extraversion. Text to use for the rpm release and kernel extraversion.
...@@ -177,7 +187,10 @@ uniqify() ...@@ -177,7 +187,10 @@ uniqify()
load_target() load_target()
{ {
EXTRA_VERSION_save="$EXTRA_VERSION" EXTRA_VERSION_save="$EXTRA_VERSION"
TARGET_FILE="$TOPDIR/lustre/kernel_patches/targets/$TARGET.target" for patchesdir in "$EXTERNAL_PATCHES" "$TOPDIR/lustre/kernel_patches" ; do
TARGET_FILE="$patchesdir/targets/$TARGET.target"
[ -r "$TARGET_FILE" ] && break
done
[ -r "$TARGET_FILE" ] || \ [ -r "$TARGET_FILE" ] || \
fatal 1 "Target $TARGET was not found." fatal 1 "Target $TARGET was not found."
...@@ -196,9 +209,12 @@ load_target() ...@@ -196,9 +209,12 @@ load_target()
fatal 1 "Target $TARGET's kernel file $KERNEL not found in kernel directory $KERNELDIR." fatal 1 "Target $TARGET's kernel file $KERNEL not found in kernel directory $KERNELDIR."
fi fi
SERIES_FILE="$TOPDIR/lustre/kernel_patches/series/$SERIES" for series in $SERIES ; do
[ -r "$SERIES_FILE" ] || \ for patchesdir in "$EXTERNAL_PATCHES" "$TOPDIR/lustre/kernel_patches" ; do
fatal 1 "Target $TARGET's series $SERIES missing from $TOPDIR/lustre/kernel_patches/series." [ -r "$patchesdir/series/$series" ] && continue 2
done
fatal 1 "Target $TARGET's series $SERIES could not be found.\nSearched:\n\t$EXTERNAL_PATCHES/series\n\t$TOPDIR/lustre/kernel_patches/series."
done
CONFIG_FILE="$TOPDIR/lustre/kernel_patches/kernel_configs/$CONFIG" CONFIG_FILE="$TOPDIR/lustre/kernel_patches/kernel_configs/$CONFIG"
[ -r "$CONFIG_FILE" ] || \ [ -r "$CONFIG_FILE" ] || \
...@@ -282,24 +298,35 @@ patch_linux() ...@@ -282,24 +298,35 @@ patch_linux()
FULL_PATCH="$PWD/lustre-kernel-${TARGET}-${EXTRA_VERSION}.patch" FULL_PATCH="$PWD/lustre-kernel-${TARGET}-${EXTRA_VERSION}.patch"
[ -f "$FULL_PATCH" ] && rm -f "$FULL_PATCH" [ -f "$FULL_PATCH" ] && rm -f "$FULL_PATCH"
pushd linux >/dev/null pushd linux >/dev/null
echo -n "Applying patches:" for series in $SERIES ; do
for patch in $(<"$SERIES_FILE") ; do echo -n "Applying series $series:"
echo -n " $patch" for patchesdir in "$EXTERNAL_PATCHES" "$TOPDIR/lustre/kernel_patches" ; do
PATCH_FILE="$TOPDIR/lustre/kernel_patches/patches/$patch" [ -r "$patchesdir/series/$series" ] || continue
[ -r "$PATCH_FILE" ] || \ SERIES_FILE="$patchesdir/series/$series"
fatal 1 "Patch $patch does not exist in Lustre tree." for patch in $(<"$SERIES_FILE") ; do
cat "$PATCH_FILE" >> "$FULL_PATCH" || \ echo -n " $patch"
fatal 1 "Error adding patch $patch to full patch." PATCH_FILE="$patchesdir/patches/$patch"
patch -s -p1 < "$PATCH_FILE" || fatal 1 "Error applying patch $patch." [ -r "$PATCH_FILE" ] || \
fatal 1 "Patch $patch does not exist in Lustre tree."
cat "$PATCH_FILE" >> "$FULL_PATCH" || \
fatal 1 "Error adding patch $patch to full patch."
patch -s -p1 < "$PATCH_FILE" || fatal 1 "Error applying patch $patch."
done
break
done
echo
done done
echo
popd >/dev/null popd >/dev/null
echo "Full patch has been saved in ${FULL_PATCH##*/}." echo "Full patch has been saved in ${FULL_PATCH##*/}."
echo "Replacing .config files..." echo "Replacing .config files..."
[ -d linux/configs ] || mkdir linux/configs || \ [ -d linux/configs ] || mkdir linux/configs || \
fatal 1 "Error creating configs directory." fatal 1 "Error creating configs directory."
rm -f linux/configs/* rm -f linux/configs/*
cp -v lustre/kernel_patches/kernel_configs/kernel-${VERSION}-${TARGET}*.config linux/configs/ || \ copysuccess=0
for patchesdir in "$EXTERNAL_PATCHES" "lustre/kernel_patches" ; do
cp -v $patchesdir/kernel_configs/kernel-${VERSION}-${TARGET}*.config linux/configs/ >/dev/null && copysuccess=1
done
[ "$copysuccess" = "1" ] || \
fatal 1 "Error copying in kernel configs." fatal 1 "Error copying in kernel configs."
} }
...@@ -324,22 +351,23 @@ clean_linux() ...@@ -324,22 +351,23 @@ clean_linux()
prep_build() prep_build()
{ {
# make .spec file # make .spec file
sed -e "s/@KERNEL_VERSION@/$VERSION/g" \ sed \
-e "s/@KERNEL_EXTRA_VERSION@/$EXTRA_VERSION/g" \ -e "s^@BASE_ARCHS@^$BASE_ARCHS^g" \
-e "s^@BIGMEM_ARCHS@^$BIGMEM_ARCHS^g" \
-e "s^@BOOT_ARCHS@^$BOOT_ARCHS^g" \
-e "s^@CONFIGURE_FLAGS@^$CONFIGURE_FLAGS^g" \
-e "s^@JENSEN_ARCHS@^$BOOT_ARCHS^g" \
-e "s^@KERNEL_EXTRA_VERSION@^$EXTRA_VERSION^g" \
-e "s^@KERNEL_RELEASE@^${EXTRA_VERSION//-/_}^g" \ -e "s^@KERNEL_RELEASE@^${EXTRA_VERSION//-/_}^g" \
-e "s/@KERNEL_SOURCE@/$KERNEL/g" \ -e "s^@KERNEL_SOURCE@^$KERNEL^g" \
-e "s/@LUSTRE_SOURCE@/${LUSTRE##*/}/g" \ -e "s^@KERNEL_VERSION@^$VERSION^g" \
-e "s/@LUSTRE_TARGET@/$TARGET/g" \ -e "s^@LINUX26@^$LINUX26^g" \
-e "s#@CONFIGURE_FLAGS@#$CONFIGURE_FLAGS#g" \ -e "s^@LUSTRE_SOURCE@^${LUSTRE##*/}^g" \
-e "s/@BASE_ARCHS@/$BASE_ARCHS/g" \ -e "s^@LUSTRE_TARGET@^$TARGET^g" \
-e "s/@BIGMEM_ARCHS@/$BIGMEM_ARCHS/g" \ -e "s^@RHBUILD@^$RHBUILD^g" \
-e "s/@BOOT_ARCHS@/$BOOT_ARCHS/g" \ -e "s^@SMP_ARCHS@^$SMP_ARCHS^g" \
-e "s/@JENSEN_ARCHS@/$BOOT_ARCHS/g" \ -e "s^@SUSEBUILD@^$SUSEBUILD^g" \
-e "s/@SMP_ARCHS@/$SMP_ARCHS/g" \ -e "s^@UP_ARCHS@^$UP_ARCHS^g" \
-e "s/@UP_ARCHS@/$UP_ARCHS/g" \
-e "s/@RHBUILD@/$RHBUILD/g" \
-e "s/@LINUX26@/$LINUX26/g" \
-e "s/@SUSEBUILD@/$SUSEBUILD/g" \
< $TOPDIR/lustre/scripts/lustre-kernel-2.4.spec.in \ < $TOPDIR/lustre/scripts/lustre-kernel-2.4.spec.in \
> lustre-kernel-2.4.spec > lustre-kernel-2.4.spec
[ -d SRPMS ] || mkdir SRPMS [ -d SRPMS ] || mkdir SRPMS
...@@ -350,6 +378,11 @@ prep_build() ...@@ -350,6 +378,11 @@ prep_build()
cp $TOPDIR/lustre/scripts/linux-merge-config.awk SOURCES cp $TOPDIR/lustre/scripts/linux-merge-config.awk SOURCES
cp $TOPDIR/lustre/scripts/linux-merge-modules.awk SOURCES cp $TOPDIR/lustre/scripts/linux-merge-modules.awk SOURCES
cp "$LUSTRE" "$KERNEL_FILE" SOURCES cp "$LUSTRE" "$KERNEL_FILE" SOURCES
if [ "$EXTERNAL_PATCHES" -a -d "$EXTERNAL_PATCHES" ] ; then
tar zcf SOURCES/external-patches.tar.gz -C "$EXTERNAL_PATCHES" series targets patches kernel_configs
else
touch SOURCES/external-patches.tar.gz
fi
} }
clean_lustre() clean_lustre()
...@@ -372,9 +405,11 @@ build() ...@@ -372,9 +405,11 @@ build()
--define "_topdir $TOPDIR" || \ --define "_topdir $TOPDIR" || \
fatal 1 "Error building rpms for $arch." fatal 1 "Error building rpms for $arch."
(( $DO_SRC )) && $RPMBUILD -bs lustre-kernel-2.4.spec \ if (( $DO_SRC )) ; then
--define "_topdir $TOPDIR" || \ $RPMBUILD -bs lustre-kernel-2.4.spec \
fatal 1 "Error building .src.rpm." --define "_topdir $TOPDIR" || \
fatal 1 "Error building .src.rpm."
fi
} }
publish() publish()
...@@ -384,7 +419,7 @@ publish() ...@@ -384,7 +419,7 @@ publish()
[ -r ~/.lbuildrc ] && . ~/.lbuildrc [ -r ~/.lbuildrc ] && . ~/.lbuildrc
options=$(getopt -o d:D:h -l extraversion:,kerneldir:,lustre:,nosrc,publish,release,tag:,target:,target-archs:,disable-datestamp -- "$@") options=$(getopt -o d:D:h -l external-patches:,extraversion:,kerneldir:,lustre:,nosrc,publish,release,tag:,target:,target-archs:,disable-datestamp -- "$@")
eval set -- "$options" eval set -- "$options"
...@@ -401,6 +436,10 @@ while [ "$1" ] ; do ...@@ -401,6 +436,10 @@ while [ "$1" ] ; do
DATE=$2 DATE=$2
shift 2 shift 2
;; ;;
--external-patches)
EXTERNAL_PATCHES=$2
shift 2
;;
--extraversion) --extraversion)
EXTRA_VERSION=$2 EXTRA_VERSION=$2
shift 2 shift 2
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment