From 05ac4be3977128d1a2344245e763b32e2019bd79 Mon Sep 17 00:00:00 2001 From: Vincent Li Date: Wed, 28 Feb 2024 14:46:36 +0000 Subject: [PATCH] add bpftool and re-arrange lfs build order add lfs bpftool from [0] first to meet lfs xdp-tools requirement. also re-arrange BPF related add-on build order to meet lfs knot build since it requires XDP xsk.h [0] https://github.com/libbpf/bpftool/releases/download/v7.3.0/bpftool-libbpf-v7.3.0-sources.tar.gz Signed-off-by: Vincent Li --- config/rootfiles/common/bpftool | 2 + lfs/bpftool | 79 +++++++++++++++++++++++++++++++++ make.sh | 9 ++-- 3 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 config/rootfiles/common/bpftool create mode 100644 lfs/bpftool diff --git a/config/rootfiles/common/bpftool b/config/rootfiles/common/bpftool new file mode 100644 index 000000000..0010e256f --- /dev/null +++ b/config/rootfiles/common/bpftool @@ -0,0 +1,2 @@ +usr/sbin/bpftool +usr/share/bash-completion/completions/bpftool diff --git a/lfs/bpftool b/lfs/bpftool new file mode 100644 index 000000000..fbae69db7 --- /dev/null +++ b/lfs/bpftool @@ -0,0 +1,79 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2023 IPFire Team # +# Copyright (C) 2024 FireBeeOS # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 7.3.0 + +THISAPP = bpftool-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = a9414c92809875c7fa0bd4e38850f5d52ff83cef888b402b49948ea712e192b04e7af7a42da9c0e8bbd53fc7a4bb3cd00ad594dec6f1f3252f6a5cb847697150 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + + cd $(DIR_APP)/src && sed -i -e 's/^prefix ?= \/usr\/local/prefix ?= \/usr/' Makefile + cd $(DIR_APP)/src && make $(MAKETUNING) + cd $(DIR_APP)/src && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index c522465e7..bd6731c61 100755 --- a/make.sh +++ b/make.sh @@ -1109,7 +1109,6 @@ buildipfire() { lfsmake2 libcap lfsmake2 libcap-ng lfsmake2 libpcap - lfsmake2 libbpf lfsmake2 ppp lfsmake2 pptp lfsmake2 unzip @@ -1128,9 +1127,6 @@ buildipfire() { lfsmake2 iproute2 lfsmake2 screen lfsmake2 elfutils - lfsmake2 pahole - lfsmake2 llvm-project - lfsmake2 xdp-tools lfsmake2 expat lfsmake2 libconfig lfsmake2 curl @@ -1685,6 +1681,11 @@ buildipfire() { lfsmake2 shairport-sync lfsmake2 borgbackup lfsmake2 lmdb + lfsmake2 pahole + lfsmake2 libbpf + lfsmake2 bpftool + lfsmake2 llvm-project + lfsmake2 xdp-tools lfsmake2 knot lfsmake2 spectre-meltdown-checker lfsmake2 zabbix_agentd