diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2014-09-15 03:02:06 +0200 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2014-09-15 03:02:06 +0200 |
commit | 2b1a69f7a18c8fc74eb44964089264d58b23482d (patch) | |
tree | 243f7c490ac9488ca04429894fef1880b10cfb54 /xbulk | |
parent | 8220996bc5e6a85c598552a212783992811857d6 (diff) | |
download | xtools-2b1a69f7a18c8fc74eb44964089264d58b23482d.tar.gz xtools-2b1a69f7a18c8fc74eb44964089264d58b23482d.tar.xz xtools-2b1a69f7a18c8fc74eb44964089264d58b23482d.zip |
xbulk: only build packages given on command line, resolve subpkgs
Diffstat (limited to 'xbulk')
-rwxr-xr-x | xbulk | 31 |
1 files changed, 22 insertions, 9 deletions
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 |