[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