xref: /aosp_15_r20/external/bcc/scripts/build-rpm.sh (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
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