Support loading and testing random ISO images without the need for
build/manifest.json. If the file is detected - tests are run. If file is
not found - those tests are skipped.
Add 'apply_patches' key is set to True (default) in the package configuration
This allows skipping/applying patch application by 'build.py' for specific
packages when desired
Usage:
apply_patches = false
Patches for VPP are not applied due to specific to the vpp repo
structure, so we cannot use standard included to build.py
function 'apply_patches' to patch the vpp sources.
Use explicit patch in the "build_cmd" as a workaround and the
simplest fix.
The pre_build_hook is an optional configuration defined in packages.toml
It executes after the repository is checked out and before the
build process begins. This hook allows you to perform preparatory tasks,
such as creating directories, copying files, or running custom scripts/commands.
VyOS is based on Debian
* VyOS 1.3 -> Debian Buster (VyOS equuleus)
* VyOS 1.4 -> Debian Bookworm (VyOS sagitta)
* VyOS 1.5 -> Debian Bookworm (and then trixie) (VyOS circinus)
* VyOS rolling -> Debian Bookworm (and then trixie) (VyOS t.b.d.)
When running
vyos@vyos:~$ lsb_release -a
Distributor ID: VyOS
Description: VyOS 1.5-rolling-202501031241 (current)
Release: 1.5-rolling-202501031241
Codename: bookworm
The codename in use is the Debian base distribution. This should be changed to
the VyOS release name.
Commit 085df7615a ("Testsuite: T861: always use 2 VCPUs") also altered the base
MAC address used by QEMU to a locally administered one. Something that looked
"right" in the beginning turned out to break the smoketest platform.
The reason is the locally administered bit is evaluated in [1] and if set and
not on the exclusion list (as it was a Realtek base MAC address before), the
interface in question is not considered persistent and thus not added to the
configuration file upon system startup.
1: 825743b6bc/src/helpers/vyos-interface-rescan.py (L73-L74)
This prevents the accidental applying of a patch to multiple source directories
defined in package.toml.
Example FRR:
Package consits of build instructions for libyang, rtrlib and frr itself.
Previously patches in frr/patches folder got applied to libyang, rtrlib and frr
which made no sense and could also fail a build.