X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=contrib%2Flbuild%2Flbuild;h=270214efaf7c76c94a35e29854895feb0aeda0fa;hp=948c6f3af90889a30960e258fcf9b9c452e2468c;hb=3ce96f162a;hpb=d9f95aa201341d972eeb610471e3c45f1ba12202 diff --git a/contrib/lbuild/lbuild b/contrib/lbuild/lbuild index 948c6f3..270214e 100755 --- a/contrib/lbuild/lbuild +++ b/contrib/lbuild/lbuild @@ -579,109 +579,6 @@ download_ofed() { } -parse_mpss_info() { - local file="$1" - local build="$2" - local distro="$3" - - [ -r "$file" ] || fatal 1 "Could not find MPSS info file" - - # convert to MPSS distro naming - distro=${distro/sles/suse} - distro_name=${distro%%-*} - - # extract links from MPSS info file - local urls=$(cat "$file" | \ - tr -d '\t\r\n' | sed -e 's?\(\)?\1\n?g' | \ - grep '.intel.com/' | \ - sed -e 's/^.*[hH][rR][eE][fF]="\([^>"]\+\)".*$/\1/g' | \ - grep '.tar') - local res2="" - local res3="" - for url in $urls; do - local ver2="" - local ver3="" - # Try to match with MPSS 3.3 package - if [[ $url =~ mpss-[0-9].[0-9](.[0-9]*)?-linux.tar ]]; then - ver3=${url##*mpss-} - ver3=${ver3%%-linux.tar} - # Try to match with MPSS 3.x or 3.x.x distro package - elif [[ $url =~ mpss-[0-9].[0-9](.[0-9]*)?-$distro.tar ]]; then - ver3=${url##*mpss-} - ver3=${ver3%%-$distro.tar} - # Try to match with MPSS 3.x or 3.x.x source package - elif [[ $url =~ mpss-src-[0-9].[0-9](.[0-9]*)?.tar ]]; then - ver3=${url##*mpss-src-} - ver3=${ver3%%.tar} - # Try to match with MPSS 3.x or 3.x.x cross compiler package - elif [[ $url =~ mpss-[0-9].[0-9](.[0-9]*)?-k1om.tar ]]; then - ver3=${url##*mpss-} - ver3=${ver3%%-k1om.tar} - # Try to match with MPSS 2.1.x source package - elif [[ $url =~ _src-[0-9].[0-9].[0-9]*-[0-9]*_$distro_name.tar ]]; then - ver2=${url##*_src-} - ver2=${ver2%%_$distro_name.tar} - fi - - if [ -n "$ver3" ]; then - ver3="${ver3}-0" - if [ -z "$build" ]; then - res3="$ver3" - elif [ "${build%%-*}" = "${ver3%%-*}" ]; then - res3="$res3 $url" - fi - elif [ -n "$ver2" ]; then - if [ -z "$build" ]; then - res2="$ver2" - elif [ "$build" = "$ver2" ]; then - res2="$res2 $url" - fi - fi - - done - - if [ -z "$build" ]; then - # return a last version of MPSS - if [ -n "$res3" ]; then - echo "$res3" - else - echo "$res2" - fi - elif [ "${build%%.*}" = "3" ]; then - # return URLs from MPSS info file - echo "$res3" - else - # return URLs from MPSS info file - echo "$res2" - fi -} - -# Get public information about last releases of -# Intel Manycore Platform Software Stack (MPSS) -download_mpss_info() { - local file="$1" - local force="${2:-true}" - local url=${MPSS_URL:-"http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss"} - - download_file "$url" "$file" "$force" -} - -download_mpss() { - local file="$1" - local force="${2:-false}" - local urls=$(parse_mpss_info "$file" ${MPSS_VERSION} ${MPSS_DISTRO}) - - [ -z "$urls" ] && return 0 - - local url - local i=0 - for url in $urls; do - file="$KERNELTREE/mpss_src-${MPSS_VER}-${MPSS_BLD}-${MPSS_DISTRO}-part$i.tar" - download_file "$url" "$file" "$force" - i=$((i+1)) - done -} - load_target() { EXTRA_VERSION_save="$EXTRA_VERSION" @@ -832,73 +729,6 @@ unpack_lustre() { } -unpack_mpss() { - - [ -d mpss ] && return 0 - - if [ "$MPSS_MAJ" = "3" ]; then - local file - local i - for i in $(seq 0 9); do - file="$KERNELTREE/mpss_src-${MPSS_VER}-${MPSS_BLD}-${MPSS_DISTRO}-part$i.tar" - if [ -r "$file" ]; then - untar "$file" \ - "mpss-$MPSS_VER/*/linux-*.tar.bz2" \ - "mpss-$MPSS_VER/*/kernel-dev-*.rpm" \ - "mpss-$MPSS_VER/*/ofed-driver-devel-*.rpm" \ - "mpss-$MPSS_VER/*/ofed-driver-*-devel-*.rpm" - fi - done - # Extract kernel configs - file=$(find mpss-$MPSS_VER -type f -path "*/kernel-dev-*.rpm" -print -quit) - if ! rpm2cpio "$file" | cpio -idm; then - echo "Error extracting MPSS kernel configs" - return 1 - fi - # Unpack kernel sources - file=$(find mpss-$MPSS_VER -type f -path "*/linux-*.tar.bz2" -print -quit) - if ! untar "$file"; then - echo "Error unpacking MPSS kernel sources" - return 1 - fi - # Extract OFED headers - file=$(find mpss-$MPSS_VER -type f -path "*/ofed-driver-*-devel-*.rpm" -print -quit) - if ! rpm2cpio "$file" | cpio -idm; then - # Name was changed in MPSS 3.3 - file=$(find mpss-$MPSS_VER -type f -path "*/ofed-driver-devel-*.rpm" -print -quit) - if ! rpm2cpio "$file" | cpio -idm; then - echo "Error extracting MPSS OFED headers" - return 1 - fi - fi - # Remove unpacked archives to save space - rm -rf mpss-$MPSS_VER - # Make link to MPSS kernel sources - ln -sf linux-* mpss - else - local dir="mpss-${MPSS_VER}-${MPSS_BLD}-${MPSS_DISTRO%%-*}" - - mkdir $dir || return 255 - pushd $dir >/dev/null || return 255 - if ! untar "$KERNELTREE/mpss_src-${MPSS_VER}-${MPSS_BLD}-${MPSS_DISTRO}-part0.tar" "*/gpl/*full_src*"; then - popd >/dev/null - rm -rf $dir - echo "Error unpacking MPSS tarball 1" - return 1 - fi - local file=$(find . -type f -path "*/gpl/*full_src*") - if ! untar "$file"; then - popd >/dev/null - rm -rf $dir - echo "Error unpacking MPSS tarball 2" - return 1 - fi - popd >/dev/null - ln -sf $dir mpss - fi - -} - do_patch_linux() { local do_patch=${1:-true} @@ -1025,7 +855,6 @@ build_lustre() { # Only zfs Lustre DKMS Server is supported build_lustre_dkms() { - [ -n "$MPSS_VERSION" ] && return 0 local ver=$(eval echo $(awk '/LUSTRE_VERSION_STRING/ {print $3}' lustre/include/lustre_ver.h)) echo "Building Lustre DKMS RPMs for: $BUILD_ARCHS..." ./configure --enable-dist || return 255 @@ -1176,34 +1005,6 @@ build_spl_zfs() { return 0 } -prepare_mpss() { - - pushd mpss >/dev/null || return 255 - if [ "$MPSS_MAJ" = "3" ]; then - cp -f ../boot/config-* .config - if ! make ARCH=k1om silentoldconfig ; then - popd >/dev/null - return 1 - fi - if ! make ARCH=k1om modules_prepare ; then - popd >/dev/null - return 1 - fi - cp -f ../boot/Module.symvers-* Module.symvers - else - if ! make defconfig-miclinux; then - popd >/dev/null - return 1 - fi - if ! make -C card/kernel ARCH=k1om modules_prepare ; then - popd >/dev/null - return 1 - fi - fi - popd >/dev/null - -} - stage() { [ "$STAGEDIR" ] || return 0 @@ -1973,7 +1774,7 @@ 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-version:,mpss-version:,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,ccache,norpm,external-patches:,timestamp:,extraversion:,kerneldir:,linux:,lustre:,nodownload,nosrc,noiokit,ofed-version:,publish,disable-zfs,release,set-value:,src,stage:,target:,target-archs:,with-linux:,xen -- "$@") if [ $? != 0 ]; then usage 1 @@ -2071,10 +1872,6 @@ while [ "$1" ]; do OFED_VERSION="$2" shift 2 ;; - --mpss-version) - MPSS_VERSION="$2" - shift 2 - ;; --publish) shift ;; @@ -2141,70 +1938,6 @@ if [ -n "$OFED_VERSION" -a "$OFED_VERSION" != "inkernel" ]; then unpack_ofed || fatal 1 "Error unpacking OFED tarball" fi -if [ -n "$MPSS_VERSION" ]; then - [ -z "$MPSS_DISTRO" ] && MPSS_DISTRO=$(autodetect_distro) - - MPSS_INFO=$(mktemp -u mpss-info-XXXXXXXXXX.html) - download_mpss_info "$MPSS_INFO" - - if [ "$MPSS_VERSION" = "last" ]; then - MPSS_VERSION=$(parse_mpss_info "$MPSS_INFO" "" ${MPSS_DISTRO}) - [ -z "$MPSS_VERSION" ] && - fatal 1 "Could not determine the last MPSS version" - fi - - MPSS_MAJ=${MPSS_VERSION%%.*} - MPSS_VER=${MPSS_VERSION%%-*} - MPSS_BLD=${MPSS_VERSION##*-} - [ "$MPSS_VER" = "$MPSS_BLD" ] && MPSS_BLD=0 - - download_mpss "$MPSS_INFO" - [ -r "$MPSS_INFO" ] && rm -f "$MPSS_INFO" - echo "Building with MPSS $MPSS_VER-$MPSS_BLD" - unpack_mpss || fatal 1 "Error unpacking MPSS tarballs" - prepare_mpss || fatal 1 "Error preparing MPSS for kernel modules build" - - if [ -z "$MPSS_OFED" ]; then - MPSS_OFED=$(find $PWD -type f -path "*/ofed-driver*/Module.symvers" -print -quit) - if [ -n "$MPSS_OFED" ]; then - MPSS_OFED="--with-o2ib=$(dirname $MPSS_OFED)" - else - MPSS_OFED="--without-o2ib" - fi - fi - - # disable unsupported parts: - PATCHLESS=true - IOKITRPM=false - LDISKFSRPM=false - WITH_ZFS="no" - - # define variables for cross compilation: - CROSS_SUFFIX="-mic" - if [ "$MPSS_MAJ" = "3" ]; then - CC_TARGET_ARCH=k1om-mpss-linux - LINUX="$TOPDIR/mpss" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"cross_requires /bin/sh\"" - else - CC_TARGET_ARCH=x86_64-k1om-linux - LINUX="$TOPDIR/mpss/card/kernel" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"cross_requires intel-mic-gpl = $MPSS_VER\"" - fi - LUSTRE_VERSION=$(sed -n -e 's/^VERSION = //p' lustre/META) - CONFIGURE_FLAGS="$CONFIGURE_FLAGS $MPSS_OFED --host=$CC_TARGET_ARCH --build=x86_64-pc-linux" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"post_script build/gen_filelist.sh\"" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"make_args ARCH=k1om CROSS_COMPILE=${CC_TARGET_ARCH}-\"" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"cross_path ${CROSS_PATH:=/opt/lustre/${LUSTRE_VERSION}/${CC_TARGET_ARCH}}\"" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"rootdir %{cross_path}\"" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"_prefix %{cross_path}/usr\"" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"_mandir %{_prefix}/share/man\"" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"_sysconfdir %{cross_path}/etc\"" - RPMBUILD_DEFS="$RPMBUILD_DEFS --define \"kmoddir extra\"" - - # redefine CC for proper ./configure during rpmbuild - export CC=${CC_TARGET_ARCH}-gcc -fi - # make sure the RPM build environment is set up create_rpmbuild_dirs