From: Minh Diep Date: Wed, 23 Aug 2017 23:07:28 +0000 (-0700) Subject: LU-9907 build: add patchless server for lbuild X-Git-Tag: 2.10.53~15 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=cfb61eb95310b0c2f084859d1246680675b1e60d LU-9907 build: add patchless server for lbuild Adding lbuild support for building patchless server Cleanup unused TARGET_ARCHS and BUILD_ARCHS Test-Parameters: trivial Change-Id: I946352fa243c86d5729779406264e6ee37856145 Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/28672 Reviewed-by: Bob Glossman Tested-by: Jenkins Reviewed-by: Nathaniel Clark Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/config/lustre-build-ldiskfs.m4 b/config/lustre-build-ldiskfs.m4 index 8cd0b9a..b748d49 100644 --- a/config/lustre-build-ldiskfs.m4 +++ b/config/lustre-build-ldiskfs.m4 @@ -322,11 +322,21 @@ AS_IF([test -e "$linux_src/fs/ext4/super.c"], [ EXT4_SRC_DIR="$linux_src/fs/ext4" ], [ # Kernel ext source provided by kernel-debuginfo-common package - linux_src=$(ls -1d /usr/src/debug/*/linux-${LINUXRELEASE%.*}* \ + # that extracted to $LINUX + linux_src=$(ls -1d $linux_src/../../debug/*/linux-${LINUXRELEASE%.*}* \ 2>/dev/null | tail -1) - AS_IF([test -e "$linux_src/fs/ext4/super.c"], - [EXT4_SRC_DIR="$linux_src/fs/ext4"], - [EXT4_SRC_DIR=""]) + AS_IF([test -e "$linux_src/fs/ext4/super.c"], [ + EXT4_SRC_DIR="$linux_src/fs/ext4" + ], [ + # Kernel ext source provided by kernel-debuginfo-common package + linux_src=$(ls -1d /usr/src/debug/*/linux-${LINUXRELEASE%.*}* \ + 2>/dev/null | tail -1) + AS_IF([test -e "$linux_src/fs/ext4/super.c"], [ + EXT4_SRC_DIR="$linux_src/fs/ext4" + ], [ + EXT4_SRC_DIR="" + ]) + ]) ]) AC_MSG_RESULT([$EXT4_SRC_DIR]) AC_SUBST(EXT4_SRC_DIR) diff --git a/contrib/lbuild/lbuild b/contrib/lbuild/lbuild index bf9e754..02f0a30 100755 --- a/contrib/lbuild/lbuild +++ b/contrib/lbuild/lbuild @@ -29,12 +29,7 @@ push_exit_trap "kill -INT -$$ || true" kill_children # increment this if you have made a change that should force a new kernel # to build built -#BUILD_GEN=1 -#BUILD_GEN=2 # bz19952: remove -lustre tag from kernel RPM names -#BUILD_GEN=3 # bz19975: enable the building of src.rpms by default -#BUILD_GEN=4 # bz22281: use the git hash in the kernel extra version -#BUILD_GEN=5 # TT-107: don't cache the BUILD dir -BUILD_GEN=6 # TT-1092: don't cache the BUILD dir, to rebuild external OFED +BUILD_GEN=8 TOPDIR="$PWD" @@ -50,10 +45,6 @@ DOWNLOAD=true CANONICAL_TARGET= TARGET= TARGET_ARCH="$(uname -m)" -# change default behavior to only build for the current arch -TARGET_ARCHS="$TARGET_ARCH" -TARGET_ARCHS_ALL="$TARGET_ARCH" -[ "$TARGET_ARCH" = "i686" ] && TARGET_ARCHS_ALL="i686 i586 i386" CONFIGURE_FLAGS= EXTERNAL_PATCHES= EXTRA_VERSION= @@ -72,6 +63,7 @@ OSDLDISKFSRPM=true OSDZFSRPM=false SMPTYPES="smp bigsmp default ''" PATCHLESS=false +PATCHLESS_SERVER=false WITH_ZFS="" XEN=false LINUXOBJ= @@ -151,6 +143,9 @@ Usage: ${0##*/} [OPTION]... [-- ] --patchless Build lustre client only + --patchless-server + Build lustre server without patching the kernel + --distro=DISTRO Which distro using. Autodetect by default @@ -222,16 +217,6 @@ Usage: ${0##*/} [OPTION]... [-- ] The name of the target to build. The available targets are listed below. - --target-archs=TARGET_ARCHS - A (space delimited) list of architectures to build. By default, - all of the archs supported by the TARGET will be built, in - addition to a .src.rpm. This option can limit those, for machines - that can only build certain archs or if you only want a certain - arch built (for testing, or a one-off kernel). - - Also note that by using a non-"base" arch (eg, i386) only kernels - will be built - there will be no lustre-lite-utils package. - --xen Builds a Xen domX kernel. @@ -282,6 +267,10 @@ check_options() { usage 1 "Could not find Lustre source tarball '$LUSTRE'." fi + if $PATCHLESS && $PATCHLESS_SERVER; then + usage 1 "Can not use both --patchless and --patchless-server." + fi + if [ -n "${OFED_SRC}" ]; then if [ -z "${OFED_VERSION}" ]; then usage 1 "Need to provide version for file ${OFED_SRC}." @@ -506,6 +495,26 @@ SRPM $srpm from $location." fi } +download_debuginfo_common() { + local rpm=$1 + local force="${2:-false}" + + # let the download_file handle the concurrency + if $DOWNLOAD; then + # get the location from a distro specific method if it exists + if type -p kernel_debuginfo_location; then + location=$(kernel_debuginfo_location) + fi + echo "Downloading $location/$rpm" + if ! download_file \ + "$location/$rpm" "$KERNELRPMSBASE/$lnxmaj/$DISTROMAJ/$TARGET_ARCH/$rpm" "$force" 2>&1 || + [ ! -s "$KERNELRPMSBASE/$lnxmaj/$DISTROMAJ/$TARGET_ARCH/$rpm" ]; then + rm -f $KERNELRPMSBASE/$lnxmaj/$DISTROMAJ/$TARGET_ARCH/$rpm + fatal 1 "Could not download $rpm from $location." + fi + fi +} + download_file() { local from="$1" local to="$2" @@ -725,18 +734,6 @@ load_target() { fi fi # EXTRA_VERSION=${EXTRA_VERSION//-/_} - - ALL_ARCHS="$BASE_ARCHS $BIGMEM_ARCHS $BOOT_ARCHS $JENSEN_ARCHS $SMP_ARCHS $BIGSMP_ARCHS $PSERIES64_ARCHS $UP_ARCHS" - - BUILD_ARCHS= - for arch in $(uniqify "$ALL_ARCHS"); do - if [ -z "$TARGET_ARCHS" ] || - [[ \ $TARGET_ARCHS\ = *\ $arch\ * ]]; then - BUILD_ARCHS="$BUILD_ARCHS $arch" - fi - done - [ "$BUILD_ARCHS" ] || usage 1 "No available target archs to build." - echo "Building for: $BUILD_ARCHS" } tarflags() { @@ -891,7 +888,7 @@ build_lustre() { return 255 fi - echo "Building Lustre RPMs for: $BUILD_ARCHS..." + echo "Building Lustre RPMs for: $TARGET_ARCH" # If server we now build the spl and zfs modules against the lustre kernel. # These are required prior to the building of lustre server. Client does @@ -939,12 +936,10 @@ build_lustre() { fi make rpms 2>&1 || - fatal 1 "Error building rpms for $BUILD_ARCHS." + fatal 1 "Error building rpms for $TARGET_ARCH." # move RPMs into place where they are expected to be - for arch in $BUILD_ARCHS; do - mv -f *lustre*.${arch}.rpm $TOPDIR/RPMS/${arch}/ - done + mv -f *lustre*.${TARGET_ARCH}.rpm $TOPDIR/RPMS/${TARGET_ARCH}/ mv -f lustre-*.src.rpm $TOPDIR/SRPMS/ popd >/dev/null @@ -961,7 +956,7 @@ build_lustre_dkms() { local name_prefix="lustre" local ver=$(sed -n -e 's/^LUSTRE_VERSION = //p' LUSTRE-VERSION-FILE) - echo "Building Lustre DKMS RPMs for: $BUILD_ARCHS..." + echo "Building Lustre DKMS RPMs for: $TARGET_ARCH" ./configure --enable-dist || fatal 1 "Error in DKMS configure." if $PATCHLESS; then @@ -970,10 +965,10 @@ build_lustre_dkms() { fi rpmbuild --define "_topdir $TOPDIR" $build_args -bs lustre-dkms.spec || - fatal 1 "Error building DKMS .src.rpm for $BUILD_ARCHS." + fatal 1 "Error building DKMS .src.rpm for $TARGET_ARCH." rpmbuild --define "_topdir $TOPDIR" $build_args \ --rebuild $TOPDIR/SRPMS/$name_prefix-dkms-$ver-*.src.rpm || - fatal 1 "Error building DKMS .rpm for $BUILD_ARCHS." + fatal 1 "Error building DKMS .rpm for $TARGET_ARCH." return 0 } @@ -1121,13 +1116,11 @@ stage() { [ "$STAGEDIR" ] || return 0 - for arch in $BUILD_ARCHS; do - rpmdir="${STAGEDIR}/${CANONICAL_TARGET}-${arch}" - echo "${0##*/}: Copying RPMs into ${rpmdir}" - mkdir -p "${rpmdir}" - for rpm in $(ls RPMS/${arch}/*.rpm RPMS/noarch/*.rpm); do - cp -v $rpm "${rpmdir}" - done + rpmdir="${STAGEDIR}/${CANONICAL_TARGET}-${TARGET_ARCH}" + echo "${0##*/}: Copying RPMs into ${rpmdir}" + mkdir -p "${rpmdir}" + for rpm in $(ls RPMS/${TARGET_ARCH}/*.rpm RPMS/noarch/*.rpm); do + cp -v $rpm "${rpmdir}" done cp -v "$LUSTRE" "$STAGEDIR" @@ -1183,10 +1176,6 @@ _find_linux_release() { # unpack kernel(/source/devel) RPM # -# This function and it's setting of $LINUX and $LINUXOBJ is a total hack that -# needs to completely refactored. It completely ingores that $BUILD_ARCHS may -# contain a list of arches for which rpmbuild commands (including the one for -# lustre itself) unpack_linux_devel_rpm() { local kernelrpm="${1}" @@ -1471,8 +1460,6 @@ build_kernel_with_srpm() { do_patch_linux false >&${outfd} # sets global $FULL_PATCH (yeah, yuck) # get an md5sum of the kernel patch + config for reuse check - # XXX really, there needs to be a signature and a CONFIG_FILE per arch - # in BUILD_ARCHS local release_str if $RELEASE; then local release_str="RELEASE=$RELEASE\n" @@ -1698,36 +1685,54 @@ build_ofed() { build_with_srpm() { local ofed_type="$1" local ofed_version="$2" + local kernelrpm + + if ! $PATCHLESS; then + if $PATCHLESS_SERVER; then + # need to find and unpack the vendor's own kernel-devel + # for patchless server build + if ! kernelrpm=$(find_linux_rpm "-$DEVEL_KERNEL_TYPE"); then + fatal 1 "Could not find the kernel-$DEVEL_KERNEL_TYPE RPM in $KERNELRPMSBASE/$lnxmaj/$DISTROMAJ" + fi + if ! lnxrel="$lnxrel" unpack_linux_devel_rpm "$kernelrpm" "-"; then + fatal 1 "Could not find the Linux tree in $kernelrpm" + fi + # download and unpack kernel-debuginfo-common (only in EL) + if [[ $DISTROMAJ =~ rhel ]]; then + local KERNEL_DEBUGINFO="kernel-debuginfo-common-${TARGET_ARCH}-${lnxmaj}-${lnxrel}.${TARGET_ARCH}.rpm" + download_debuginfo_common "$KERNEL_DEBUGINFO" + if ! lnxrel="$lnxrel" unpack_linux_devel_rpm \ + "$KERNELRPMSBASE/$lnxmaj/$DISTROMAJ/$TARGET_ARCH/$KERNEL_DEBUGINFO"; then + fatal 1 "Could not find the Linux debuginfo common rpm in $KERNELRPMSBASE/$lnxmaj/$DISTROMAJ/$TARGET_ARCH/$KERNEL_DEBUGINFO" + fi + fi + else + local kernel_extra_version + if ! kernel_extra_version=$(build_kernel_with_srpm ${STDOUT}); then + fatal 1 "Failed to build the kernel from it's SRPM" + fi - if ! $PATCHLESS; then - local kernel_extra_version - if ! kernel_extra_version=$(build_kernel_with_srpm ${STDOUT}); then - fatal 1 "Failed to build the kernel from it's SRPM" - fi - - for arch in $BUILD_ARCHS; do - local kernel_devel_rpm - if ! kernel_devel_rpm=$(find_rpm "$TOPDIR/RPMS/$arch/" provides "^$(devel_kernel_name $KERNEL_LUSTRE_NAMING) ="); then - fatal 1 "Failed to find a kernel development RPM in $TOPDIR/RPMS/$arch/" - fi + local kernel_devel_rpm + if ! kernel_devel_rpm=$(find_rpm "$TOPDIR/RPMS/${TARGET_ARCH}/" provides "^$(devel_kernel_name $KERNEL_LUSTRE_NAMING) ="); then + fatal 1 "Failed to find a kernel development RPM in $TOPDIR/RPMS/${TARGET_ARCH}/" + fi - # install the -devel RPM in preparation for modules builds - if ! lnxrel="$kernel_extra_version" unpack_linux_devel_rpm \ - "$TOPDIR/RPMS/$arch/$kernel_devel_rpm"; then - fatal 1 "Could not find the Linux tree in $TOPDIR/RPMS/$arch/$kernel_devel_rpm" - fi - done - else - # need to find and unpack the vendor's own kernel-devel for patchless - # client build - local kernelrpm - if ! kernelrpm=$(find_linux_rpm "-$DEVEL_KERNEL_TYPE"); then - fatal 1 "Could not find the kernel-$DEVEL_KERNEL_TYPE RPM in $KERNELRPMSBASE/$lnxmaj/$DISTROMAJ" - fi - if ! lnxrel="$lnxrel" unpack_linux_devel_rpm "$kernelrpm" "-"; then - fatal 1 "Could not find the Linux tree in $kernelrpm" - fi - fi + # install the -devel RPM in preparation for modules builds + if ! lnxrel="$kernel_extra_version" unpack_linux_devel_rpm \ + "$TOPDIR/RPMS/${TARGET_ARCH}/$kernel_devel_rpm"; then + fatal 1 "Could not find the Linux tree in $TOPDIR/RPMS/${TARGET_ARCH}/$kernel_devel_rpm" + fi + fi + else + # need to find and unpack the vendor's own kernel-devel for patchless + # client build + if ! kernelrpm=$(find_linux_rpm "-$DEVEL_KERNEL_TYPE"); then + fatal 1 "Could not find the kernel-$DEVEL_KERNEL_TYPE RPM in $KERNELRPMSBASE/$lnxmaj/$DISTROMAJ" + fi + if ! lnxrel="$lnxrel" unpack_linux_devel_rpm "$kernelrpm" "-"; then + fatal 1 "Could not find the Linux tree in $kernelrpm" + fi + fi # ~sigh~ have to make copies of and modify some of the rpm # infrastructure files so that find-requires can find our unpacked @@ -1808,20 +1813,13 @@ EOF create_rpmbuild_dirs() { - [ -d RPMS ] || mkdir RPMS - for arch in $BUILD_ARCHS; do - if [[ $arch = i?86 ]]; then - # some stupidity in the sles11 kernel spec requires an RPMS/i386 - # even if the target arch is i686 - [ -d RPMS/i386 ] || mkdir RPMS/i386 - fi - [ -d RPMS/$arch ] || mkdir RPMS/$arch - done - [ -d RPMS/noarch ] || mkdir RPMS/noarch - [ -d BUILD ] || mkdir BUILD - [ -d SOURCES ] || mkdir SOURCES - [ -d SPECS ] || mkdir SPECS - [ -d SRPMS ] || mkdir SRPMS + [ -d RPMS ] || mkdir RPMS + [ -d RPMS/${TARGET_ARCH} ] || mkdir RPMS/${TARGET_ARCH} + [ -d RPMS/noarch ] || mkdir RPMS/noarch + [ -d BUILD ] || mkdir BUILD + [ -d SOURCES ] || mkdir SOURCES + [ -d SPECS ] || mkdir SPECS + [ -d SRPMS ] || mkdir SRPMS } @@ -1923,7 +1921,11 @@ set -E [ -r ~/.lbuildrc ] && . ~/.lbuildrc -options=$(getopt -o D:h -l kerneltree:,distro:,kernelrpm:,reusebuild:,patchless,ccache,norpm,external-patches:,timestamp:,extraversion:,kerneldir:,linux:,lustre:,nodownload,nosrc,noiokit,ofed-type:,ofed-version:,mlnx-version:,ofed-src:,publish,disable-zfs,release,set-value:,src,stage:,target:,target-archs:,with-linux:,xen -- "$@") +options=$(getopt -o D:h -l kerneltree:,distro:,kernelrpm:,reusebuild:,\ +patchless,patchless-server,ccache,norpm,external-patches:,timestamp:,\ +extraversion:,kerneldir:,linux:,lustre:,nodownload,nosrc,noiokit,ofed-type:,\ +ofed-version:,mlnx-version:,ofed-src:,publish,disable-zfs,release,set-value:,\ +src,stage:,target:,with-linux:,xen -- "$@") if [ $? != 0 ]; then usage 1 @@ -1992,6 +1994,10 @@ while [ "$1" ]; do PATCHLESS=true shift ;; + --patchless-server) + PATCHLESS_SERVER=true + shift + ;; --kernelrpm) if ! KERNELRPMSBASE=$(canon_path "$2"); then fatal 1 "Could not determine the canonical location of $2" @@ -2051,10 +2057,6 @@ while [ "$1" ]; do TARGET=$2 shift 2 ;; - --target-archs) - TARGET_ARCHS=$2 - shift 2 - ;; --xen) XEN=true shift diff --git a/contrib/lbuild/lbuild-rhel b/contrib/lbuild/lbuild-rhel index a2b0475..1811301 100644 --- a/contrib/lbuild/lbuild-rhel +++ b/contrib/lbuild/lbuild-rhel @@ -41,51 +41,29 @@ Provides: kernel-devel-lustre = %{KVRA}%{?1:.%{1}}\\' \ fatal 1 "Error while editing SPECS/$SPEC_NAME" fi - } prepare_and_build_srpm() { - pushd $TOPDIR >/dev/null - - # create the buildid - local buildid="_lustre${EXTRA_VERSION##*_lustre}" - - # edit the SPEC with our changes - patch_spec - - popd >/dev/null - - # this concept of being able to build a list of targets with a single - # lbuild is a fine idea, but in reality I think it's (very) broken. I - # don't even think the lustre.spec can handle being called with "--target - # ". It certainly can't handle the issue where each - # arch has it's own kernel location. - # but we will do the best we can and put the plumbing in place so that - # this could work when the other broken bits are fixed. - # in reality, our current use of lbuild only ever has a single arch in - # $BUILD_ARCHS - local arch - local targets="" - for arch in $BUILD_ARCHS; do - # XXX - ok. so here's a hack that needs to be fixed properly - # ppc64 was merged to ppc some time ago pre 2.6.18 - if [ $arch = ppc64 ]; then - arch=ppc - fi - targets="--target $arch $targets" - # copy our .config into the RPM build tree - (echo "# $(basearch $arch)"; cat $CONFIG_FILE) > \ - SOURCES/kernel-$lnxmaj-$arch.config - - # XXX - hackity hack -- until we get (or generate from the base - # config) configs for xen and debug - local f="" - for f in SOURCES/kernel-${lnxmaj}-*.config; do - grep -q "^CONFIG_SD_IOSTATS=y" $f || \ - echo "CONFIG_SD_IOSTATS=y" >> $f - done - done + pushd $TOPDIR >/dev/null + # create the buildid + local buildid="_lustre${EXTRA_VERSION##*_lustre}" + + # edit the SPEC with our changes + patch_spec + popd >/dev/null + + # copy our .config into the RPM build tree + (echo "# $(basearch ${TARGET_ARCH})"; cat $CONFIG_FILE) > \ + SOURCES/kernel-$lnxmaj-${TARGET_ARCH}.config + + # XXX - hackity hack -- until we get (or generate from the base + # config) configs for xen and debug + local f="" + for f in SOURCES/kernel-${lnxmaj}-*.config; do + grep -q "^CONFIG_SD_IOSTATS=y" $f || \ + echo "CONFIG_SD_IOSTATS=y" >> $f + done # do we need any special rpm build options local rpmbuildopt="-bb" @@ -106,19 +84,19 @@ prepare_and_build_srpm() { # get any release specific build options rpmbuildopt="$rpmbuildopt $(get_rpmbuildopts)" - # now build it - if ! eval rpmbuild $rpmbuildopt $targets --with baseonly \ - --define \"_topdir $TOPDIR\" \ - --define \"buildid $buildid\" \ - --define \"_tmppath $TMPDIR\" \ - $TOPDIR/SPECS/$SPEC_NAME 2>&1; then - return 1 - fi + # now build it + if ! eval rpmbuild $rpmbuildopt --target ${TARGET_ARCH} --with baseonly \ + --define \"_topdir $TOPDIR\" \ + ${buildid:+--define \"buildid $buildid\"} \ + --define \"_tmppath $TMPDIR\" \ + $TOPDIR/SPECS/$SPEC_NAME 2>&1; then + return 1 + fi # for informative purposes, display a diff between the .config that # was actually built and what we proposed as a .config echo "Diffs between $(basename $CONFIG_FILE) and the built kernel's .config:" - local rpmname="$TOPDIR/RPMS/${BUILD_ARCHS# }/kernel-${lnxmaj}-${lnxrel}${buildid}.${BUILD_ARCHS# }.rpm" + local rpmname="$TOPDIR/RPMS/${TARGET_ARCH}/kernel-${lnxmaj}-${lnxrel}${buildid}.${TARGET_ARCH}.rpm" rpmcfg=$(rpm -qpl $rpmname | grep '/boot/config-') rpm2cpio $rpmname | cpio -id .$rpmcfg diff -u $CONFIG_FILE .$rpmcfg diff --git a/contrib/lbuild/lbuild-rhel6 b/contrib/lbuild/lbuild-rhel6 index bf2139c..ea5f025 100644 --- a/contrib/lbuild/lbuild-rhel6 +++ b/contrib/lbuild/lbuild-rhel6 @@ -77,3 +77,9 @@ kernel_srpm_location() { echo "http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/" } + +kernel_debuginfo_location() { + + echo "http://debuginfo.centos.org/6/x86_64/" + +} diff --git a/contrib/lbuild/lbuild-rhel7 b/contrib/lbuild/lbuild-rhel7 index 6045984..9aed529 100644 --- a/contrib/lbuild/lbuild-rhel7 +++ b/contrib/lbuild/lbuild-rhel7 @@ -105,6 +105,12 @@ kernel_srpm_location() { } +kernel_debuginfo_location() { + + echo "http://debuginfo.centos.org/7/x86_64/" + +} + cleanup_rpmmacros() { sed -i "/^%kernel_module_package/,/^)}$/d" $RMAC } diff --git a/contrib/lbuild/lbuild-sles b/contrib/lbuild/lbuild-sles index 9968ce1..f09bb98 100644 --- a/contrib/lbuild/lbuild-sles +++ b/contrib/lbuild/lbuild-sles @@ -16,19 +16,12 @@ prepare_and_build_srpm() { # generate our buildid local buildid="lustre${EXTRA_VERSION##*_lustre}" - # do release specific spec editing - edit_specs - - # XXX - need to flesh this out per the rhel5 method - local targets - for arch in $BUILD_ARCHS; do - targets="--target $arch $targets" - mkdir -p config/$(basearch $arch) - cp $CONFIG_FILE config/$(basearch $arch)/$RPMSMPTYPE - done - - tar cjf SOURCES/config.tar.bz2 config - rm -rf config + # do release specific spec editing + edit_specs + mkdir -p config/$(basearch $TARGET_ARCH) + cp $CONFIG_FILE config/$(basearch $TARGET_ARCH)/$RPMSMPTYPE + tar cjf SOURCES/config.tar.bz2 config + rm -rf config # do we need any special rpm build options local rpmbuildopt="-bb" @@ -40,18 +33,12 @@ prepare_and_build_srpm() { # all about. touch SOURCES/IGNORE-KABI-BADNESS - -# XXX testing speedup hack - never let an inspection pass without this -# commented out! in fact it should be removed completely before a -# landing. -#if false; then - # now build it - if ! rpmbuild $rpmbuildopt $targets \ - --define "_topdir $TOPDIR" \ - $TOPDIR/SOURCES/kernel-$RPMSMPTYPE.spec 2>&1; then - fatal 1 "Failed to build kernel RPM" - fi -#fi + # now build it + if ! rpmbuild $rpmbuildopt --target ${TARGET_ARCH} \ + --define "_topdir $TOPDIR" \ + $TOPDIR/SOURCES/kernel-$RPMSMPTYPE.spec 2>&1; then + fatal 1 "Failed to build kernel RPM" + fi # for SLES, we also need to build the kernel-source rpm if ! rpmbuild $rpmbuildopt $targets \ diff --git a/contrib/lbuild/lbuild-sles10 b/contrib/lbuild/lbuild-sles10 index 2d3a04f..003ec28 100644 --- a/contrib/lbuild/lbuild-sles10 +++ b/contrib/lbuild/lbuild-sles10 @@ -172,11 +172,7 @@ EOF echo "%description -n %{-n*}%{!-n:%name}-kmp-_dummy_" \ )} EOF - local targets - for arch in $BUILD_ARCHS; do - targets="--target $(resolve_arch $arch $PATCHLESS) $targets" - done - if ! rpmbuild --rebuild --nodeps $targets \ + if ! rpmbuild --rebuild --nodeps --target ${TARGET_ARCH} \ --define "symsetsdir ${TOPDIR}/reused/boot" \ --define "kobjdir ${LINUXOBJ%/*/*}" \ --define "_tmppath /var/tmp" \