1#!/bin/bash 2 3DOCKER="docker" 4 5set -eu -o pipefail 6 7${DOCKER} build --platform linux/amd64 -t libbpf-sys-builder - <<'EOF' 8FROM ubuntu:jammy AS libbpf-sys-builder 9 10ENV LANG=C.UTF-8 \ 11 LC_ALL=C.UTF-8 12 13VOLUME /usr/local/src/libbpf-sys 14WORKDIR /usr/local/src/libbpf-sys 15 16SHELL ["/bin/bash", "-eu", "-o", "pipefail", "-c"] 17 18RUN \ 19 export DEBIAN_FRONTEND=noninteractive; \ 20 apt-get -q update; \ 21 apt-get -q install -y curl build-essential zlib1g-dev libelf-dev libclang-dev llvm clang pkg-config; \ 22 apt-get -q clean autoclean; 23 24RUN \ 25 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable; 26 27ENTRYPOINT \ 28 source $HOME/.cargo/env; \ 29 cargo build --features bindgen-source --release --verbose; 30EOF 31 32${DOCKER} run --platform linux/amd64 --rm -v "$(pwd):/usr/local/src/libbpf-sys" libbpf-sys-builder 33