summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/build-submodules39
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"