diff options
-rw-r--r-- | xi_buildscript.sh | 12 | ||||
-rw-r--r-- | xibuild.sh | 9 |
2 files changed, 17 insertions, 4 deletions
diff --git a/xi_buildscript.sh b/xi_buildscript.sh index b465c74..4c22a5b 100644 --- a/xi_buildscript.sh +++ b/xi_buildscript.sh @@ -2,6 +2,7 @@ PKG_NAME=$1 cd $2 +SUBPKG=${3:-all} . ./xi_profile.sh @@ -37,7 +38,14 @@ echo "Build file for $1, to build at root $2" builds="$(ls *.xibuild | grep -v "$PKG_NAME.xibuild")" -for xibuild in $PKG_NAME.xibuild $(ls *.xibuild | grep -v "^$PKG_NAME.xibuild$"); do + +[ "$SUBPKG" == "all" ] && { + pkgs=$($PKG_NAME.xibuild $(ls *.xibuild | grep -v "^$PKG_NAME.xibuild$")) +} || { + pkgs="$SUBPKG" +} + +for xibuild in $pkgs; do cd $2 SUBPKG_NAME=$(basename $xibuild .xibuild) mkdir -p ./xipkg/$SUBPKG_NAME @@ -46,7 +54,7 @@ for xibuild in $PKG_NAME.xibuild $(ls *.xibuild | grep -v "^$PKG_NAME.xibuild$") echo "============$SUBPKG_NAME=============" - # read only the static variables fromt the primary + # read only the static variables from the primary . ./$PKG_NAME.xibuild unset -f prepare unset -f build @@ -19,6 +19,7 @@ doinstall=false dostrip=true doclean=false checkopt="" +subpkg="all" root="/" @@ -43,6 +44,8 @@ ${BLUE}Avaiable Options: ${LIGHT_CYAN}specify a non-default xi_profile script, to run inside the chroot ${LIGHT_WHITE}[default: /etc/xibuild_profile.conf] ${BLUE}-k ${LIGHT_BLUE}[file] ${LIGHT_CYAN}specify an openssl private key to sign packages with${LIGHT_WHITE} + ${BLUE}-u ${LIGHT_BLUE}[subpackage] + ${LIGHT_CYAN}specify which subpackage should be built ${LIGHT_WHITE }[default: all] ${BLUE}-v ${LIGHT_CYAN}verbose: print logs to stdout @@ -133,9 +136,9 @@ xibuild_build () { mkdir -p $root/$export_dir [ "$root" = "/" ] && { - sh $build_dir/xi_buildscript.sh $NAME $build_dir $checkopt 2>&1 || return 1 + sh $build_dir/xi_buildscript.sh $NAME $build_dir $subpkg $checkopt 2>&1 || return 1 } || { - xichroot "$root" "$build_dir/xi_buildscript.sh $NAME $build_dir $checkopt" 2>&1 || return 1 + xichroot "$root" "$build_dir/xi_buildscript.sh $NAME $build_dir $subpkg $checkopt" 2>&1 || return 1 } } @@ -266,6 +269,8 @@ while getopts ":r:l:C:k:p:b:o:vcinsh" opt; do key_file=$(realpath ${OPTARG});; p) xibuild_profile=$(realpath ${OPTARG});; + u) + subpkg=${OPTARG};; v) textout=/dev/stdout;; i) |