[sisyphus] Re: I: Sisyphus-20050831 packages: +37! -1 +44 (4686)
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Сен 1 03:25:13 MSD 2005
On Wed, Aug 31, 2005 at 06:12:47PM +0400, Alexey Tourbin wrote:
> On Wed, Aug 31, 2005 at 04:00:54PM +0400, Dmitry V. Levin wrote:
> Потому что для пакета, который уже был в репозитарии, робот помнит
> версию и номер предыдующей сборки. И выдает интервал changelog'а между
> предыдущей сборкой и новой сборкой. А для "совсем новых" (BRAND NEW)
> пакетов робот не знает, что такое "передыдущая сборка".
То есть в каждый момент времени имеется два дампа -- dump.new с текущим
состоянием и dump.old с предыдущим состоянием.
> fmt_new()
> {
> subj="$subj +$1!"
> echo " $1 BRAND NEW $2"; echo
> while IFS=$'\t' read -r name SVR f _; do
> rpm_summary "$SRPMS/$f"
> rpm_lastchange "$SRPMS/$f"
> echo
> done
> }
>
> fmt_updated()
> {
> subj="$subj +$1"
> echo " $1 UPDATED $2"; echo
> while IFS=$'\t' read -r name SVR2 _ _ SVR4 f _; do
> rpm_summary "$SRPMS/$f"
> rpm_changes_since "$SVR2" "$SRPMS/$f"
> echo
> done
> }
Список для fmt_new формируется при помощи comm, а список для
fmt_updated -- при помощи comm+join. Робот что-либо "помнит"
только в смысле сравнения двух дампов.
comm -13 dump.old dump.new >comm.plus
comm -23 dump.old dump.new >comm.minus
[ -s comm.plus -o -s comm.minus ] || exit 0
if [ -n "$opt_join" ]; then
join -t$'\t' comm.minus comm.plus >join.updated
join -t$'\t' -v1 comm.minus comm.plus >join.old
join -t$'\t' -v2 comm.minus comm.plus >join.new
[ -s join.updated -o -s join.old -o -s join.new ] || exit 0
fi
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050901/315d082c/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus