# since strip in binutils fails to strip bpf objects in this package # use eu-strip of elfutils instead %global __strip /usr/bin/eu-strip # eu-strip cannot strip static libs # use strip for static libs %global __brp_strip_static_archive %{_rpmconfigdir}/brp-strip-static-archive /usr/bin/strip Name: xdp-tools Version: 1.0.1 Release: 3 Summary: Utilities and example programs for use with XDP %global _soversion 1.0.0 License: GPLv2 URL: https://github.com/xdp-project/%{name} Source0: https://github.com/xdp-project/%{name}/archive/v%{version}.tar.gz BuildRequires: libbpf-devel BuildRequires: elfutils-libelf-devel BuildRequires: zlib-devel BuildRequires: libpcap-devel BuildRequires: clang >= 10.0.0 BuildRequires: llvm >= 10.0.0 BuildRequires: make BuildRequires: gcc BuildRequires: pkgconfig BuildRequires: m4 BuildRequires: emacs-nox BuildRequires: wireshark-cli BuildRequires: elfutils # Always keep xdp-tools and libxdp packages in sync Requires: libxdp = %{version}-%{release} # find-debuginfo produces empty debugsourcefiles.list # disable the debug package to avoid rpmbuild error'ing out because of this %global debug_package %{nil} %global _hardened_build 1 %description Utilities and example programs for use with XDP %package -n libxdp Summary: XDP helper library Requires: kernel-headers %package -n libxdp-devel Summary: Development files for libxdp Requires: kernel-headers Requires: libxdp = %{version}-%{release} %package -n libxdp-static Summary: Static library files for libxdp Requires: kernel-headers Requires: libxdp-devel = %{version}-%{release} %description -n libxdp The libxdp package contains the libxdp library for managing XDP programs, used by the %{name} package %description -n libxdp-devel The libxdp-devel package contains headers used for building XDP programs using libxdp. %description -n libxdp-static The libxdp-static package contains the static library version of libxdp. %prep %autosetup -p1 -n %{name}-%{version} %build export CFLAGS='%{build_cflags}' export LDFLAGS='%{build_ldflags}' export LIBDIR='%{_libdir}' export CLANG=%{_bindir}/clang export LLC=%{_bindir}/llc export PRODUCTION=1 export DYNAMIC_LIBXDP=1 export FORCE_SYSTEM_LIBBPF=1 export FORCE_EMACS=1 ./configure make %{?_smp_mflags} V=1 %install export DESTDIR='%{buildroot}' export SBINDIR='%{_sbindir}' export LIBDIR='%{_libdir}' export MANDIR='%{_mandir}' export DATADIR='%{_datadir}' export HDRDIR='%{_includedir}/xdp' make install V=1 %files %{_sbindir}/xdp-filter %{_sbindir}/xdp-loader %{_sbindir}/xdpdump %{_mandir}/man8/* %{_libdir}/bpf/xdpfilt_*.o %{_libdir}/bpf/xdpdump_*.o %{_datadir}/xdp-tools/ %license LICENSE %files -n libxdp %{_libdir}/libxdp.so.1 %{_libdir}/libxdp.so.%{_soversion} %{_libdir}/bpf/xdp-dispatcher.o %{_mandir}/man3/* %files -n libxdp-static %{_libdir}/libxdp.a %files -n libxdp-devel %{_includedir}/xdp/*.h %{_libdir}/libxdp.so %{_libdir}/pkgconfig/libxdp.pc %changelog * Mon Oct 10 2022 LemmyHuang 1.0.1-3 - correct release number format * Wed Apr 20 2022 Di Wang 1.0.1-2 - workaround for stripping failure of bpf objects by binutils * Fri Sep 10 2021 Pengju Jiang 1.0.1-1 - solve the strip problem of dark conversion compilation * Tue Oct 20 2020 Hubble Zhu 1.0.1-0 - Initial package