#!/bin/rc flag e + aflag=0 if(~ $1 -a) aflag=1 if not if(~ $#* 0) { echo 'usage: '$0' package...' echo ' '$0' -a' } >[1=2] packages=$* cd `{git rev-parse --show-toplevel} fn fetch-git { git submodule update --init --checkout src if([ -d patch ]) { patches=patch/* git -C src am ../$patches } status=() } fn fetch-curl { if([ -d src ]) rm -rf src if(! sha256sum -c sha256 >[2]/dev/null) { curl -L -O -K url sha256sum -c sha256 } for(archive in `{awk '{print $2}' sha256}) { switch($archive) { case *.gz tool=zcat case *.bz2 tool=bzcat case *.xz tool=xzcat case * tool=() } if(! ~ $#tool 0) $tool $archive | pax -r -s '/^\.\|[^\/]*/src/' } if([ -d patch ]) { if(prefix=`{git rev-parse --show-prefix >[2]/dev/null}) dir=$prefix^src if not dir=src git apply -v --directory $dir patch/* } status=() } fn fetch { if (~ $aflag 1 || ~ $1 $packages) @ { cd $1 switch($2) { case git fetch-git case curl fetch-curl case * echo 'unknown fetch type: '$2 } } status=() } fetch core/awk git fetch core/bc curl fetch core/bzip2 curl fetch core/curl git fetch core/file git fetch core/git git fetch core/iproute2 git fetch core/kbd git fetch core/libressl git fetch core/loksh git fetch core/mdocml curl fetch core/ninja git fetch core/openbsd curl fetch core/openssh git fetch core/perp curl fetch core/pigz git fetch core/plan9port git fetch core/sbase git fetch core/sinit git fetch core/tz git fetch core/ubase git fetch core/xz git fetch core/zlib git fetch desktop/plan9fonts git fetch devel/cparser git fetch devel/libfirm git fetch devel/make git fetch extra/hostap git fetch extra/libevent git fetch extra/libfuse git fetch extra/libnl git fetch extra/msmtp git fetch extra/pcre curl fetch extra/sshfs git fetch extra/the_silver_searcher git fetch extra/transmission curl fetch extra/unzip curl