|
Packit Service |
155747 |
#!/bin/bash
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# This file is provided under a dual BSD/GPLv2 license. When using or
|
|
Packit Service |
155747 |
# redistributing this file, you may do so under either license.
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# GPL LICENSE SUMMARY
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# Copyright(c) 2015 Intel Corporation.
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# This program is free software; you can redistribute it and/or modify
|
|
Packit Service |
155747 |
# it under the terms of version 2 of the GNU General Public License as
|
|
Packit Service |
155747 |
# published by the Free Software Foundation.
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# This program is distributed in the hope that it will be useful, but
|
|
Packit Service |
155747 |
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
155747 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
155747 |
# General Public License for more details.
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# Contact Information:
|
|
Packit Service |
155747 |
# Intel Corporation, www.intel.com
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# BSD LICENSE
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# Copyright(c) 2015 Intel Corporation.
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# Redistribution and use in source and binary forms, with or without
|
|
Packit Service |
155747 |
# modification, are permitted provided that the following conditions
|
|
Packit Service |
155747 |
# are met:
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# * Redistributions of source code must retain the above copyright
|
|
Packit Service |
155747 |
# notice, this list of conditions and the following disclaimer.
|
|
Packit Service |
155747 |
# * Redistributions in binary form must reproduce the above copyright
|
|
Packit Service |
155747 |
# notice, this list of conditions and the following disclaimer in
|
|
Packit Service |
155747 |
# the documentation and/or other materials provided with the
|
|
Packit Service |
155747 |
# distribution.
|
|
Packit Service |
155747 |
# * Neither the name of Intel Corporation nor the names of its
|
|
Packit Service |
155747 |
# contributors may be used to endorse or promote products derived
|
|
Packit Service |
155747 |
# from this software without specific prior written permission.
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
Packit Service |
155747 |
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
Packit Service |
155747 |
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
Packit Service |
155747 |
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
Packit Service |
155747 |
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
Packit Service |
155747 |
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
Packit Service |
155747 |
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
Packit Service |
155747 |
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
Packit Service |
155747 |
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
Packit Service |
155747 |
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
Packit Service |
155747 |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Packit Service |
155747 |
#
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
#It makes no sense to have both CUDA and non-CUDA in the same invocation
|
|
Packit Service |
155747 |
#as they require different versions of the hfi1_user.h at this point in time.
|
|
Packit Service |
155747 |
#Limiting this script to only build CUDA if requested
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
#default BUILDARG to build source RPM only
|
|
Packit Service |
155747 |
BUILDARG=s
|
|
Packit Service |
155747 |
RPM_NAME=libpsm2
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
function usage()
|
|
Packit Service |
155747 |
{
|
|
Packit Service |
155747 |
echo "Usage: $0 [OPTION] [OPTION] [OPTION]"
|
|
Packit Service |
155747 |
echo " "
|
|
Packit Service |
155747 |
echo "Creates tar ball of source and source rpms by default."
|
|
Packit Service |
155747 |
echo "Optionally generates binary rpm(s) "
|
|
Packit Service |
155747 |
echo " "
|
|
Packit Service |
155747 |
echo " s,a,b,p,c,i,l"
|
|
Packit Service |
155747 |
echo " Optional, default is s (sourcerpm)"
|
|
Packit Service |
155747 |
echo " Set single extension letter for rpmbuild -b argument"
|
|
Packit Service |
155747 |
echo " -r <name>, -rpmname <name>"
|
|
Packit Service |
155747 |
echo " Optional, set the output rpm name"
|
|
Packit Service |
155747 |
echo " -e <basename ext>, -baseext <basename ext>"
|
|
Packit Service |
155747 |
echo " Optional, set a base name extension"
|
|
Packit Service |
155747 |
echo " This only appends an extra string onto the base RPM name"
|
|
Packit Service |
155747 |
echo " Does not affect supporting RPMs"
|
|
Packit Service |
155747 |
echo " -c, -cuda"
|
|
Packit Service |
155747 |
echo " Optional, default is unset"
|
|
Packit Service |
155747 |
echo " Sets PSM_CUDA=1, creating -cuda based spec and rpms"
|
|
Packit Service |
155747 |
echo " -d <path>, -dir <path>"
|
|
Packit Service |
155747 |
echo " Optionally sets output folder for rpmbuild to use"
|
|
Packit Service |
155747 |
echo " -h <hal_gen>, -hal_gen <hal_gen>"
|
|
Packit Service |
155747 |
echo " Optional, default is includes all HAL generations"
|
|
Packit Service |
155747 |
echo " Sets hal generations for rpmbuild to use"
|
|
Packit Service |
155747 |
echo " Examples:"
|
|
Packit Service |
155747 |
echo " $0 b"
|
|
Packit Service |
155747 |
echo " $0 s -cuda"
|
|
Packit Service |
155747 |
echo " $0 -cuda"
|
|
Packit Service |
155747 |
echo " $0 -d ./temp"
|
|
Packit Service |
155747 |
echo " $0 b -cuda -dir output"
|
|
Packit Service |
155747 |
echo " $0 -h gen1"
|
|
Packit Service |
155747 |
exit 1
|
|
Packit Service |
155747 |
}
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
err=0
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
# OUTDIR is where the Makefile places its meta-data
|
|
Packit Service |
155747 |
OUTDIR=build_release
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
# Set TEMPDIR first, so user control can override the value
|
|
Packit Service |
155747 |
# This is where rpmbuild places rpm(s) and uses its build meta-data.
|
|
Packit Service |
155747 |
# It can be set the same as OUTDIR, and work just fine if desired.
|
|
Packit Service |
155747 |
TEMPDIR=temp.$$
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
HAL_GENS=""
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
while [ "$1" != "" ]; do
|
|
Packit Service |
155747 |
case $1 in
|
|
Packit Service |
155747 |
-d | -dir) shift
|
|
Packit Service |
155747 |
if [ -z "$1" ]; then
|
|
Packit Service |
155747 |
usage
|
|
Packit Service |
155747 |
fi
|
|
Packit Service |
155747 |
TEMPDIR=$1
|
|
Packit Service |
155747 |
;;
|
|
Packit Service |
155747 |
-c | -cuda) export PSM_CUDA=1
|
|
Packit Service |
155747 |
RPM_EXT="-cuda"
|
|
Packit Service |
155747 |
;;
|
|
Packit Service |
155747 |
-e | -baseext) shift
|
|
Packit Service |
155747 |
if [ -z "$1" ]; then
|
|
Packit Service |
155747 |
usage
|
|
Packit Service |
155747 |
fi
|
|
Packit Service |
155747 |
RPM_NAME_BASEEXT="$1"
|
|
Packit Service |
155747 |
export RPM_NAME_BASEEXT="$1"
|
|
Packit Service |
155747 |
;;
|
|
Packit Service |
155747 |
-h | -halgen) shift
|
|
Packit Service |
155747 |
HAL_GENS="$1 $HAL_GENS"
|
|
Packit Service |
155747 |
;;
|
|
Packit Service |
155747 |
-r | -rpmname) shift
|
|
Packit Service |
155747 |
if [ -z "$1" ]; then
|
|
Packit Service |
155747 |
usage
|
|
Packit Service |
155747 |
fi
|
|
Packit Service |
155747 |
$RPM_NAME="$1"
|
|
Packit Service |
155747 |
export RPM_NAME="$1"
|
|
Packit Service |
155747 |
;;
|
|
Packit Service |
155747 |
s|a|b|p|c|i|l) BUILDARG=$1
|
|
Packit Service |
155747 |
;;
|
|
Packit Service |
155747 |
* ) err=1
|
|
Packit Service |
155747 |
usage
|
|
Packit Service |
155747 |
;;
|
|
Packit Service |
155747 |
esac
|
|
Packit Service |
155747 |
shift
|
|
Packit Service |
155747 |
done
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
if [ "$HAL_GENS" = "" ]; then
|
|
Packit Service |
155747 |
HAL_GENS="*"
|
|
Packit Service |
155747 |
fi
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
# Generic cleanup, build, and tmp folder creation
|
|
Packit Service |
155747 |
make distclean OUTDIR=$OUTDIR
|
|
Packit Service |
155747 |
make RPM_NAME=$RPM_NAME RPM_NAME_BASEEXT=$RPM_NAME_BASEEXT "PSM_HAL_ENABLE=$HAL_GENS" dist OUTDIR=$OUTDIR
|
|
Packit Service |
155747 |
mkdir -p ./$TEMPDIR/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT}
|
|
Packit Service |
155747 |
# Different paths based on RPM_EXT
|
|
Packit Service |
155747 |
cp ${OUTDIR}/$RPM_NAME-*.tar.gz $TEMPDIR/SOURCES
|
|
Packit Service |
155747 |
make RPM_NAME=$RPM_NAME RPM_NAME_BASEEXT=$RPM_NAME_BASEEXT specfile OUTDIR=$OUTDIR
|
|
Packit Service |
155747 |
cp ${OUTDIR}/$RPM_NAME.spec $TEMPDIR/SPECS
|
|
Packit Service |
155747 |
rpmbuild -b$BUILDARG --define "_topdir $PWD/$TEMPDIR" --nodeps $TEMPDIR/SPECS/$RPM_NAME.spec
|
|
Packit Service |
155747 |
|
|
Packit Service |
155747 |
echo "The SRPM(s) are in $TEMPDIR/SRPMS/`ls $TEMPDIR/SRPMS`"
|