From 2b1a69f7a18c8fc74eb44964089264d58b23482d Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Mon, 15 Sep 2014 03:02:06 +0200 Subject: xbulk: only build packages given on command line, resolve subpkgs --- xbulk | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'xbulk') diff --git a/xbulk b/xbulk index 4fe17f1..833910f 100755 --- a/xbulk +++ b/xbulk @@ -1,20 +1,33 @@ #!/bin/sh -# xbulk [-n] [-k] [-xbps_src_flags] PKG... - simple XBPS bulk builder +# xbulk [-n] [-k] [xbps-src flags...] PKGS... - simple XBPS bulk builder ARGS= MAKEARGS= +PKGS= + +mainpkg() { + dir=$(readlink -f srcpkgs/"$1") + echo ${dir##*/} +} -{ for pkg; do -case $pkg in - -n|-k) MAKEARGS="$MAKEARGS $pkg";; - -*) ARGS="$ARGS $pkg";; - *) + case $pkg in + -n|-k) MAKEARGS="$MAKEARGS $pkg";; + -*) ARGS="$ARGS $pkg";; + *) PKGS="$PKGS +$(mainpkg $pkg)" + esac +done + +{ +for pkg in $PKGS; do echo all: pkg-$pkg - for dep in $(./xbps-src show-build-deps $pkg | sed '1d;s|[<>].*$||g'); do - echo pkg-$pkg: pkg-$dep + for dep in $(./xbps-src show-build-deps $pkg | + sed '1d;s|[<>].*$||g'); do + mainpkg $dep | + grep -Fx "$PKGS" | + sed 's/^/pkg-'$pkg': pkg-/' done -esac done printf '%s\n' pkg-%: " pkg=\$@; ./xbps-src $ARGS pkg \$\${pkg#pkg-}" } | make -f - $MAKEARGS -- cgit 1.4.1