11#! /bin/bash
2+ set -nex
23
34mkdir -p " $OUT_DIR " /bins
45mkdir -p " $OUT_DIR " /lib
56
7+ # Package up Needed C Files
68if [[ -f /etc/debian_version ]]; then
7- sudo apt-get update -y
9+ apt-get update -y
810 if [[ $GOARCH =~ amd64 ]]; then
911 apt-get install -y llvm clang linux-libc-dev linux-headers-generic libbpf-dev libc6-dev nftables iproute2
1012 # apt-get install -y llvm clang linux-libc-dev linux-headers-generic libbpf-dev libc6-dev nftables iproute2 gcc-multilib tree
1113 for dir in /usr/include/x86_64-linux-gnu/* ; do
12- sudo ln -sfn " $dir " /usr/include/$( basename " $dir " )
14+ ln -sfn " $dir " /usr/include/$( basename " $dir " )
1315 done
1416
1517 elif [[ $GOARCH =~ arm64 ]]; then
16- sudo apt-get install -y llvm clang linux-libc-dev linux-headers-generic libbpf-dev libc6-dev nftables iproute2 gcc-aarch64-linux-gnu tree
18+ apt-get install -y llvm clang linux-libc-dev linux-headers-generic libbpf-dev libc6-dev nftables iproute2 gcc-aarch64-linux-gnu tree
1719 for dir in /usr/include/aarch64-linux-gnu/* ; do
18- sudo ln -sfn " $dir " /usr/include/$( basename " $dir " )
20+ ln -sfn " $dir " /usr/include/$( basename " $dir " )
1921 done
2022 fi
2123# Mariner
2224else
23- sudo tdnf install -y llvm clang libbpf-devel nftables tree
25+ tdnf install -y llvm clang libbpf-devel nftables tree
2426 for dir in /usr/include/aarch64-linux-gnu/* ; do
2527 if [[ -d $dir ]]; then
26- sudo ln -sfn " $dir " /usr/include/$( basename " $dir " )
28+ ln -sfn " $dir " /usr/include/$( basename " $dir " )
2729 elif [[ -f " $dir " ]]; then
28- sudo ln -Tsfn " $dir " /usr/include/$( basename " $dir " )
30+ ln -Tsfn " $dir " /usr/include/$( basename " $dir " )
2931 fi
3032 done
3133fi
3234
33- # Copy Needed Library Binaries
34- cp /usr/sbin/nft " $OUT_DIR " /bins/nft
35- cp /sbin/ip " $OUT_DIR " /bins/ip
36-
37- # Package up Needed C Files
38- if [ " $ARCH " = " arm64" ]; then
39- apt-get install -y gcc-aarch64-linux-gnu
40- ARCH=aarch64-linux-gnu
41- cp /lib/" $ARCH " /ld-linux-aarch64.so.1 " $OUT_DIR " /lib/
42-
43- for dir in /usr/include/" $ARCH " /* ; do
44- ln -s " $dir " /usr/include/$( basename " $dir " )
45- done
46-
47- elif [ " $ARCH " = " amd64" ]; then
48- apt-get install -y gcc-multilib
49- ARCH=x86_64-linux-gnu
50- cp /lib/" $ARCH " /ld-linux-x86-64.so.2 " $OUT_DIR " /lib/
51-
52- for dir in /usr/include/" $ARCH " /* ; do
53- ln -s " $dir " /usr/include/$( basename " $dir " )
54- done
55- fi
56-
5735ln -sfn /usr/include/" $ARCH " /asm /usr/include/asm
5836cp /lib/" $ARCH " /libnftables.so.1 " $OUT_DIR " /lib/
5937cp /lib/" $ARCH " /libedit.so.2 " $OUT_DIR " /lib/
@@ -67,6 +45,10 @@ cp /lib/"$ARCH"/libtinfo.so.6 "$OUT_DIR"/lib/
6745cp /lib/" $ARCH " /libbsd.so.0 " $OUT_DIR " /lib/
6846cp /lib/" $ARCH " /libmd.so.0 " $OUT_DIR " /lib/
6947
48+ # Add Needed Binararies
49+ cp /usr/sbin/nft " $OUT_DIR " /bins/nft
50+ cp /sbin/ip " $OUT_DIR " /bins/ip
51+
7052
7153# Build IPv6 HP BPF
7254export C_INCLUDE_PATH=/usr/include/bpf
0 commit comments