diff options
-rwxr-xr-x | scripts/build-submodules | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/scripts/build-submodules b/scripts/build-submodules index c36dccca..9bbc7ed5 100755 --- a/scripts/build-submodules +++ b/scripts/build-submodules @@ -20,8 +20,11 @@ print_help() { echo "Parameters:" echo " --init-packages - Initiate all subpackages before building" echo " --verbose - Enable verbose output" + echo " --build-[packagename] - build only selected packages" } +BUILDLIST="" + while test $# -gt 0 do case "$1" in @@ -35,6 +38,10 @@ do --verbose) VERBOSE=1 ;; + --build-*) + VAL=$(sed s/^--build-//g <<< $1) + BUILDLIST="$BUILDLIST $VAL" + ;; *) (>&2 echo "Error: Argument $1 is not valid") echo "" @@ -67,8 +74,26 @@ ROOTDIR="$(pwd)" PKGDIR="$ROOTDIR/packages" SCRIPTDIR="$ROOTDIR/scripts" +package_in_buildlist() { + # Return true if buildlist is not set + if [ -z "$BUILDLIST" ]; then + return 0 + fi + + if [[ $BUILDLIST =~ (^|[[:space:]])$1($|[[:space:]]) ]]; then + return 0 + fi + + return 1 + + +} + build_package() { PKG=$1 + if ! package_in_buildlist $1; then + return 0 + fi status_start "Building package: $PKG" if [ ! -d "$PKGDIR/$PKG/debian" ]; then status_skip "No source for: $PKG" @@ -117,8 +142,11 @@ fi build_frr() { PKG=frr + if ! package_in_buildlist "frr"; then + return 0 + fi - status_start "Building package: $PKG" + status_start "Building package: $PKG (Git commit/tag: $FRR_VER)" if [ ! -f "$PKGDIR/$PKG/README.md" ]; then status_skip "No source for: $PKG" return 1 @@ -223,6 +251,9 @@ done # KERNEL build_kernel() { + if ! package_in_buildlist "vyos-kernel"; then + return 0 + fi status_start "Building-package: vyos-kernel" if [ ! -f "$PKGDIR/vyos-kernel/Makefile" ]; then status_skip "No source for: vyos-kernel" @@ -258,6 +289,9 @@ fi # WIREGUARD build_wireguard() { + if ! package_in_buildlist "vyos-wireguard"; then + return 0 + fi status_start "Building package: vyos-wireguard" if [ ! -d "$PKGDIR/vyos-wireguard/debian" ]; then @@ -305,6 +339,9 @@ fi # ACCEL-PPP build_accel-ppp() { + if ! package_in_buildlist "accel-ppp"; then + return 0 + fi status_start "Building package: vyos-accel-ppp" if [ ! -d "$PKGDIR/vyos-accel-ppp/debian" ]; then status_skip "No source for: vyos-accel-ppp" |