diff options
-rw-r--r-- | docker/Dockerfile | 55 | ||||
-rwxr-xr-x | scripts/package-build/linux-kernel/build.py | 9 | ||||
-rw-r--r-- | scripts/package-build/linux-kernel/package.toml | 42 | ||||
-rw-r--r-- | scripts/package-build/openvpn-otp/package.toml | 8 |
4 files changed, 58 insertions, 56 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index 1b73ca66..2329ff54 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -88,7 +88,8 @@ RUN apt-get update && apt-get install -y \ po4a \ openssh-client \ jq \ - socat + socat \ + python-is-python3 # Packages needed for vyos-build RUN apt-get update && apt-get install -y \ @@ -198,34 +199,7 @@ RUN wget https://salsa.debian.org/klausenbusk-guest/debootstrap/commit/a9a603b17 dpkg-buildpackage -us -uc && \ sudo dpkg -i ../debootstrap*.deb -# Packages needed for Linux Kernel -# cmake required by accel-ppp -RUN apt-get update && apt-get install -y \ - cmake \ - gnupg2 \ - rsync \ - libelf-dev \ - libncurses5-dev \ - flex \ - bison \ - bc \ - kmod \ - cpio \ - python-is-python3 \ - dwarves \ - nasm \ - rdfind - -# Packages needed for Intel QAT out-of-tree drivers # FPM is used when generation Debian pckages for e.g. Intel QAT drivers -RUN apt-get update && apt-get install -y \ - pciutils \ - yasm \ - ruby \ - libudev-dev \ - ruby-dev \ - rubygems \ - build-essential RUN gem install --no-document fpm # Packages needed for vyos-1x @@ -322,12 +296,6 @@ RUN if dpkg-architecture -iarm64; then \ grub-efi-arm; \ fi -# Packages needed for openvpn-otp -RUN apt-get update && apt-get install -y \ - debhelper \ - libssl-dev \ - openvpn - # Packages needed for OWAMP/TWAMP (service sla) RUN git clone -b 4.4.6 https://github.com/perfsonar/i2util.git /tmp/i2util && \ cd /tmp/i2util && \ @@ -340,30 +308,11 @@ RUN apt-get update && apt-get install -y \ udev \ zip -# Packages needed for Accel-PPP -# XXX: please note that this must be installed after nftable dependencies - otherwise -# APT will remove liblua5.3-dev which breaks the Accel-PPP build -# With bookworm, updated to libssl3 (Note: https://github.com/accel-ppp/accel-ppp/issues/68) -RUN apt-get update && apt-get install -y \ - liblua5.3-dev \ - libssl3 \ - libssl-dev \ - libpcre3-dev - # debmake: a native Debian tool for preparing sources for packaging RUN apt-get update && apt-get install -y \ debmake \ python3-debian -# Packages for jool -RUN apt-get update && apt-get install -y \ - libnl-genl-3-dev \ - libxtables-dev - -# Packages needed for nftables -RUN apt-get update && apt-get install -y \ - asciidoc-base - # Allow password-less 'sudo' for all users in group 'sudo' RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \ echo "vyos_bld\tALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ diff --git a/scripts/package-build/linux-kernel/build.py b/scripts/package-build/linux-kernel/build.py index af610079..6fa6af35 100755 --- a/scripts/package-build/linux-kernel/build.py +++ b/scripts/package-build/linux-kernel/build.py @@ -37,6 +37,7 @@ def ensure_dependencies(dependencies: list) -> None: return print("I: Ensure Debian build dependencies are met") + run(['sudo', 'apt-get', 'update'], check=True) run(['sudo', 'apt-get', 'install', '-y'] + dependencies, check=True) @@ -112,9 +113,6 @@ def build_package(package: dict, dependencies: list) -> None: # Clone or update the repository #clone_or_update_repo(repo_dir, package['scm_url'], package['commit_id']) - # Ensure dependencies - #ensure_dependencies(dependencies) - # Prepare the package if required #if package.get('prepare_package', False): # prepare_package(repo_dir, package.get('install_data', '')) @@ -275,6 +273,11 @@ if __name__ == '__main__': with open(defaults_path, 'r') as file: defaults = toml.load(file) + # Load global dependencies + global_dependencies = config.get('dependencies', {}).get('packages', []) + if global_dependencies: + ensure_dependencies(global_dependencies) + packages = config['packages'] # Filter packages if specific packages are specified in the arguments diff --git a/scripts/package-build/linux-kernel/package.toml b/scripts/package-build/linux-kernel/package.toml index 0bbd6785..b98bcd2f 100644 --- a/scripts/package-build/linux-kernel/package.toml +++ b/scripts/package-build/linux-kernel/package.toml @@ -81,3 +81,45 @@ name = "ipt-netflow" commit_id = "0eb2092e93" scm_url = "https://github.com/aabc/ipt-netflow" build_cmd = "build_ipt_netflow" + +[dependencies] +packages = [ + "cmake", + "gnupg2", + "rsync", + "libelf-dev", + "libncurses5-dev", + "flex", + "bison", + "bc", + "kmod", + "cpio", + "dwarves", + "nasm", + "rdfind", + "pciutils", + "yasm", + "libudev-dev", + "ruby", + "ruby-dev", + "rubygems", + "build-essential", + "libdw-dev", + "libunwind-dev", + "systemtap-sdt-dev", + "libslang2-dev", + "python-dev-is-python3", + "libzstd-dev", + "libcap-dev", + "libnuma-dev", + "libbabeltrace-ctf-dev", + "libpfm4-dev", + "libtraceevent-dev", + "liblua5.3-dev", + "libssl3", + "libssl-dev", + "libpcre3-dev", + "libnl-genl-3-dev", + "libxtables-dev", + "asciidoc-base" +] diff --git a/scripts/package-build/openvpn-otp/package.toml b/scripts/package-build/openvpn-otp/package.toml index bdbc6d9d..51430864 100644 --- a/scripts/package-build/openvpn-otp/package.toml +++ b/scripts/package-build/openvpn-otp/package.toml @@ -17,3 +17,11 @@ fpm --input-type dir --output-type deb --name openvpn-otp \ --depends openvpn --architecture $(dpkg --print-architecture) \ --version $(git describe --tags --always | cut -c2-) --deb-compression gz usr """ + + +[dependencies] +packages = [ + "debhelper", + "libssl-dev", + "openvpn" +] |