diff options
| author | asklymenko <a.klymenko@vyos.io> | 2026-01-29 21:46:44 +0200 |
|---|---|---|
| committer | asklymenko <a.klymenko@vyos.io> | 2026-01-29 21:46:44 +0200 |
| commit | f98e6951cb8c799a6d80a64b0302d1cdb6b1940e (patch) | |
| tree | 5815348a4ca76727d93583df669716799bec9b88 /scripts | |
| parent | ca5cb3f91d6981185f8c0c29550fdd8fc8e8c1fd (diff) | |
| download | vyos-build-f98e6951cb8c799a6d80a64b0302d1cdb6b1940e.tar.gz vyos-build-f98e6951cb8c799a6d80a64b0302d1cdb6b1940e.zip | |
T8219: Start building Salt from source
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/package-build/salt/.gitignore | 1 | ||||
| l--------- | scripts/package-build/salt/build.py | 1 | ||||
| -rw-r--r-- | scripts/package-build/salt/build.sh | 76 | ||||
| -rw-r--r-- | scripts/package-build/salt/package.toml | 25 |
4 files changed, 103 insertions, 0 deletions
diff --git a/scripts/package-build/salt/.gitignore b/scripts/package-build/salt/.gitignore new file mode 100644 index 00000000..5c783a52 --- /dev/null +++ b/scripts/package-build/salt/.gitignore @@ -0,0 +1 @@ +/salt/ diff --git a/scripts/package-build/salt/build.py b/scripts/package-build/salt/build.py new file mode 120000 index 00000000..3c76af73 --- /dev/null +++ b/scripts/package-build/salt/build.py @@ -0,0 +1 @@ +../build.py
\ No newline at end of file diff --git a/scripts/package-build/salt/build.sh b/scripts/package-build/salt/build.sh new file mode 100644 index 00000000..b99b9d93 --- /dev/null +++ b/scripts/package-build/salt/build.sh @@ -0,0 +1,76 @@ +#!/bin/sh + +# ============================================================================== +# Script to build Salt (Onedir) for VyOS +# ============================================================================== + +# Exit immediately on error +set -e + +# Configuration +ARCH=$(dpkg --print-architecture) + +# Uncomment SALT_REPO and ALT_VERSION variable to build Salt manually +#SALT_REPO="https://github.com/saltstack/salt.git" +#SALT_VERSION="v3006.19" +TOOLS_REPO="https://github.com/saltstack/python-tools-scripts" + +# Check this page to find a correct relenv/python combination. +# https://github.com/saltstack/relenv/releases +RELENV_VERSION="0.22.2" +RELENV_PYTHON_VERSION="3.11.14" + +# Specify the platform parameter, use x86_64 for amd64, arm64 for arm64 +if [ "${ARCH}" = "arm64" ]; then + BUILD_ARCH=${ARCH} +else + BUILD_ARCH="x86_64" +fi + +# Specify the Python version currently used by VyOS. This version will be used to specify the correct requirements list, +# for example: requirements/static/pkg/py3.11/tools.tx +PYTHON_VERSION="3.11" + +BUILD_DIR="salt" +OUTPUT_DIR="$BUILD_DIR/artifacts" + +# Prepare Build Directory +mkdir -p "$BUILD_DIR" +cd "$BUILD_DIR" + +if [ ! -d "python-tools-scripts" ]; then + git clone ${TOOLS_REPO} +fi + +# Setup Python Build Environment +echo "Setting up build virtual environment..." +if [ ! -d "venv-build" ]; then + python3 -m venv venv-build +fi + +# Install Python build requirements +echo "Installing Python build requirements..." +venv-build/bin/python3 -m pip install --upgrade pip + +# Install all required build tools +venv-build/bin/python3 -m pip install relenv build packaging jinja2 pyyaml msgpack-python python-tools-scripts ppbt setuptools tornado + +# Install repo-specific tools if found +if [ -f "requirements/static/pkg/py${PYTHON_VERSION}/tools.txt" ]; then + venv-build/bin/python3 -m pip install -r requirements/static/pkg/py${PYTHON_VERSION}/tools.txt +fi + +# Build the package +echo "Starting Build..." +export PYTHONPATH=$PYTHONPATH:$(pwd) + +# The build script below handles fetching the correct runtime version. +venv-build/bin/python3 -m tools.pkg.build deb + +# Example: tools pkg build deb --relenv-version=0.22.2 --python-version=3.10.19 --arch=x86_64 +venv-build/bin/tools pkg build deb --relenv-version=${RELENV_VERSION} --python-version=${RELENV_PYTHON_VERSION} --arch=${BUILD_ARCH} + +echo "List artifacts..." +find ../ -name "*.deb" + +echo "Build finished successfully" diff --git a/scripts/package-build/salt/package.toml b/scripts/package-build/salt/package.toml new file mode 100644 index 00000000..24bada78 --- /dev/null +++ b/scripts/package-build/salt/package.toml @@ -0,0 +1,25 @@ +[[packages]] +name = "salt" +commit_id = "v3006.19" +scm_url = "https://github.com/saltstack/salt.git" +build_cmd = "cd ..; ./build.sh" + +[dependencies] +packages = [ + "libssl-dev", + "libffi-dev", + "python3-dev", + "python3-pip", + "python3-venv", + "patchelf", + "fakeroot", + "dpkg-dev", + "cargo", + "dh-make", + "libgdbm-dev", + "liblzma-dev", + "libzmq3-dev", + "patchelf", + "pkg-config", + "python3-venv" +] |
