[devel] ANN: mosquito-rebuild

Igor Vlasenko vlasenko на imath.kiev.ua
Чт Май 19 22:45:53 MSK 2016


On Wed, May 18, 2016 at 09:34:42PM +0300, Ivan Zakharyaschev wrote:
> Рад получить отклик! Дожать до совместно используемого пакета -- это именно
> то, чего хочется в идеале.

> С параллельностью я пока экспериментирую, но в пакете не публикую, потому
> что не всё проверено/продумано. Но в ближайшее время добавлю параллельность.
> 
> Начало этому положено mike@ в https://www.altlinux.org/Hasher/parallel .
> 
> Получается, уже существующий girar-nmu-local-build во многом дублирует
> нынешний mosquito-rebuild. Посмотрю внимательнее, сравню. Спасибо за
> упоминание сейчас, потому что я, конечно, вероятно, про него читал, но уже
> вылетело из головы.
> 
> Мне в целом была удобна манера работы beehive, поэтому я примерно её и
> повторял.

Брошу свои кривые скрипты с basalt.
На что можно посмотреть, это 1) защита против засирания лога бесконечным
циклом - head -c 10M выбивает после 10M и останавливает сборку.
"$@" $i 2>&1 | tee "$logfile" | head -c 10M # against infinite loops
2) окна tmux как оболочка для параллельной сборки

[viy на basalt ~]$ cat bin/TMUX_BUILD 
#!/bin/sh
num=9
[ -n "$1" ] && num=$1
tmux new-session -n w0 -s build -d
for i in `seq 1 $num`; do tmux new-window -a -n $i -t build "AILB $i"; done

[viy на basalt ~]$ cat bin/AILB 
#!/bin/sh
s=$1;
mkdir -p $TMPDIR/hasher$s; 
LB OUT.$s hsh --apt-config=/home/viy/.autorepo/apt/apt.conf.x86_64 --with-stuff --mountpoints=/proc  --packager="Igor Vlasenko <viy на altlinux.ru>" --number=$s $TMPDIR/hasher$s

[viy на basalt ~]$ cat bin/LB
#!/bin/sh

OUT=$1
shift

LOGDIR=${OUT}-hsh.logs-failure
mkdir -p $LOGDIR

for i in $OUT/* ; do
    echo hsh-ing $i;
    j=`basename $i`
    logfile="$LOGDIR/$j.log"
    echo RUN "$@" $i
    "$@" $i 2>&1 | tee "$logfile" | head -c 10M # against infinite loops
    [ ${PIPESTATUS[0]} -eq 0 ] && rm $i && rm "$logfile"
done

rmdir -p $LOGDIR 2>/dev/null



-- 

I V


Подробная информация о списке рассылки Devel