1#!/bin/bash 2 3set -x 4set -e 5 6TMP=$(mktemp -d /tmp/rpmbuild.XXXXXX) 7 8function cleanup() { 9 [[ -d $TMP ]] && rm -rf $TMP 10} 11trap cleanup EXIT 12 13# install python dependencies for test 14if [ -f os-release ]; then 15 . os-release 16fi 17if [[ $VERSION_ID -lt 30 ]]; then 18 PKGS="python3-cachetools python-cachetools" 19else 20 PKGS="python3-cachetools" 21fi 22sudo dnf install -y $PKGS 23 24mkdir $TMP/{BUILD,RPMS,SOURCES,SPECS,SRPMS} 25 26llvmver=3.7.1 27 28# populate submodules 29git submodule update --init --recursive 30 31. scripts/git-tag.sh 32 33git archive HEAD --prefix=bcc/ --format=tar -o $TMP/SOURCES/bcc.tar 34 35# archive submodules 36pushd src/cc/libbpf 37git archive HEAD --prefix=bcc/src/cc/libbpf/ --format=tar -o $TMP/SOURCES/bcc_libbpf.tar 38popd 39 40# merge all archives into bcc.tar.gz 41pushd $TMP/SOURCES 42tar -A -f bcc.tar bcc_libbpf.tar 43gzip bcc.tar 44popd 45 46sed \ 47 -e "s/^\(Version:\s*\)@REVISION@/\1$revision/" \ 48 -e "s/^\(Release:\s*\)@GIT_REV_COUNT@/\1$release/" \ 49 SPECS/bcc.spec > $TMP/SPECS/bcc.spec 50 51pushd $TMP 52rpmbuild $RPM_WITH_OPTS --define "_topdir `pwd`" -ba SPECS/bcc.spec 53popd 54 55cp $TMP/RPMS/*/*.rpm . 56cp $TMP/SRPMS/*.rpm . 57