# This code is issued under the GNU General Public License.
# See the file COPYING in this distribution
-EXTRA_DIST = license-status maketags.sh lustre.spec version_tag.pl $(initd_SCRIPTS)
+EXTRA_DIST = license-status maketags.sh lustre.spec version_tag.pl \
+ $(initd_SCRIPTS) lustre.spec.in lustre-kernel-2.4.spec.in \
+ lmake linux-merge-config.awk linux-merge-modules.awk \
+ linux-rhconfig.h
+
initddir = $(sysconfdir)/init.d
initd_SCRIPTS = lustre
[ -d "$KERNELDIR" ] || \
usage 1 "$KERNELDIR is not a directory."
- if [ "$RELEASE" = "no" ] ; then
+ if ! (( $RELEASE )) ; then
[ "$TAG" ] || \
usage 1 "When building a snapshot, a tag name must be used."
fi
if [ "$EXTRA_VERSION_save" ] ; then
EXTRA_VERSION="$EXTRA_VERSION_save"
- else
- EXTRA_VERSION="${EXTRA_VERSION}_${TAG//_/}.${TIMESTAMP}"
+ elif ! (( $RELEASE )) ; then
+ EXTRA_VERSION="${EXTRA_VERSION}-${TAG//_/}.${TIMESTAMP}"
fi
- EXTRA_VERSION=${EXTRA_VERSION//-/_/}
+ # EXTRA_VERSION=${EXTRA_VERSION//-/_}
ALL_ARCHS="$BASE_ARCHS $BIGMEM_ARCHS $BOOT_ARCHS $JENSEN_ARCHS $SMP_ARCHS $UP_ARCHS"
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"
pushd linux >/dev/null
echo -n "Applying patches:"
prep_build()
{
# make .spec file
- sed -e s/@KERNEL_VERSION@/$VERSION/g \
- -e s/@KERNEL_RELEASE@/$EXTRA_VERSION/g \
- -e s/@KERNEL_SOURCE@/$KERNEL/g \
- -e s/@LUSTRE_SOURCE@/${LUSTRE##*/}/g \
- -e s/@LUSTRE_TARGET@/$TARGET/g \
- -e s/@CONFIGURE_FLAGS@/$CONFIGURE_FLAGS/g \
- -e s/@BASE_ARCHS@/$BASE_ARCHS/g \
- -e s/@BIGMEM_ARCHS@/$BIGMEM_ARCHS/g \
- -e s/@BOOT_ARCHS@/$BOOT_ARCHS/g \
- -e s/@JENSEN_ARCHS@/$BOOT_ARCHS/g \
- -e s/@SMP_ARCHS@/$SMP_ARCHS/g \
- -e s/@UP_ARCHS@/$UP_ARCHS/g \
+ sed -e "s/@KERNEL_VERSION@/$VERSION/g" \
+ -e "s/@KERNEL_EXTRA_VERSION@/$EXTRA_VERSION/g" \
+ -e "s^@KERNEL_RELEASE@^${EXTRA_VERSION//-/_}^g" \
+ -e "s/@KERNEL_SOURCE@/$KERNEL/g" \
+ -e "s/@LUSTRE_SOURCE@/${LUSTRE##*/}/g" \
+ -e "s/@LUSTRE_TARGET@/$TARGET/g" \
+ -e "s/@CONFIGURE_FLAGS@/$CONFIGURE_FLAGS/g" \
+ -e "s/@BASE_ARCHS@/$BASE_ARCHS/g" \
+ -e "s/@BIGMEM_ARCHS@/$BIGMEM_ARCHS/g" \
+ -e "s/@BOOT_ARCHS@/$BOOT_ARCHS/g" \
+ -e "s/@JENSEN_ARCHS@/$BOOT_ARCHS/g" \
+ -e "s/@SMP_ARCHS@/$SMP_ARCHS/g" \
+ -e "s/@UP_ARCHS@/$UP_ARCHS/g" \
< $TOPDIR/lustre/scripts/lustre-kernel-2.4.spec.in \
> lustre-kernel-2.4.spec
[ -d SRPMS ] || mkdir SRPMS
[ -d RPMS ] || mkdir RPMS
[ -d BUILD ] || mkdir BUILD
[ -d SOURCES ] || mkdir SOURCES
+ cp $TOPDIR/lustre/scripts/linux-rhconfig.h SOURCES
cp $TOPDIR/lustre/scripts/linux-merge-config.awk SOURCES
cp $TOPDIR/lustre/scripts/linux-merge-modules.awk SOURCES
cp "$LUSTRE" "$KERNEL_FILE" SOURCES
TARGET=
# Not sure what to put here
# TARGET_ARCH=$(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
-TARGET_ARCH="i386"
+TARGET_ARCH=
TARGET_CONFIG=
JOBS=1
CONFIGURE_FLAGS=
[ -r "$SERIES_FILE" ] || \
fatal 1 "Target $TARGET's series $SERIES missing from $TOPDIR/kernel_patches/series."
- CONFIG_TARGET="$TARGET${TARGET_ARCH:+-$TARGET_ARCH}${TARGET_CONFIG:+-$TARGET_CONFIG}"
+ TARGET_ARCH=${TARGET_ARCH:-$BASE_ARCHS}
+ CONFIG_TARGET="$TARGET-${TARGET_ARCH}${TARGET_CONFIG:+-$TARGET_CONFIG}"
CONFIG_FILE="$TOPDIR/kernel_patches/kernel_configs/kernel-$VERSION-$CONFIG_TARGET.config"
- [ -r "$CONFIG_FILE" ] || \
- fatal 1 "Target $TARGET's config file $CONFIG missing from $TOPDIR/kernel_patches/configs."
+ [ -r "$CONFIG_FILE" ] ||
+ fatal 1 "Target $TARGET's config file $CONFIG_FILE missing from $TOPDIR/kernel_patches/configs."
if [ "$EXTRA_VERSION_save" ] ; then
EXTRA_VERSION="$EXTRA_VERSION_save"
# adding some text to the end of the version number.
#
%define kversion @KERNEL_VERSION@
+%define kextraver @KERNEL_EXTRA_VERSION@
%define release @KERNEL_RELEASE@
# /usr/src/%{kslnk} -> /usr/src/linux-%{KVERREL}
%define kslnk linux-2.4
Name: kernel
Version: %{kversion}
Release: %{release}%{?targetboard:%{targetboard}}%{?debuglevel_1:.dbg}
-%define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}
+%define KVERREL %{PACKAGE_VERSION}-%{kextraver}%{?targetboard:%{targetboard}}%{?debuglevel_1:.dbg}
License: GPL
Group: System Environment/Kernel
ExclusiveArch: %{all_x86} x86_64
Source0: @LUSTRE_SOURCE@
Source1: @KERNEL_SOURCE@
+Source15: linux-rhconfig.h
Source16: linux-merge-config.awk
Source17: linux-merge-modules.awk
--target @LUSTRE_TARGET@ \
--target-arch %{_target_cpu} \
${target_config} \
- --extraversion %{release} \
+ --extraversion %{kextraver} \
-j $RPM_BUILD_NCPUS
}
--target @LUSTRE_TARGET@ \
--target-arch %{_target_cpu} \
${target_config} \
- --extraversion %{release} \
+ --extraversion %{kextraver} \
--kerneldir $RPM_SOURCE_DIR \
-j $RPM_BUILD_NCPUS \
--destdir $RPM_BUILD_ROOT \
sh -x ./scripts/lmake \
--save-headers \
--target @LUSTRE_TARGET@ \
- --extraversion %{release} \
+ --extraversion %{kextraver} \
--destdir $RPM_BUILD_ROOT
}
mkdir -p $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
rm -f drivers/net/hamradio/soundmodem/gentbl scripts/mkdep
tar cf - . | tar xf - -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
-perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}custom/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile
+perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{kextraver}custom/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile
ln -sf linux-%{KVERREL} $RPM_BUILD_ROOT/usr/src/linux
# install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
done
echo '#endif' >> modversions.h
sed 's,$,autoconf.h,' ../../savedheaders/list | awk -f %{SOURCE16} >> autoconf.h
-# install -m 644 %{SOURCE15} rhconfig.h
+install -m 644 %{SOURCE15} rhconfig.h
echo "#include <linux/rhconfig.h>" >> version.h
keyword=if
for i in smp BOOT BOOTsmp bigmem up ; do
%files -n lustre-lite-utils
%defattr(-, root, root)
%doc lustre/COPYING lustre/BUGS lustre/ChangeLog lustre/README lustre/doc/lustre.pdf
+/sbin/*
%{_sbindir}/*
%{_bindir}/*
%{_libdir}/lustre/python