[devel] Q: at@ robots
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Май 12 22:52:26 MSD 2006
On Wed, May 10, 2006 at 01:14:38PM +0400, Konstantin A. Lepikhov wrote:
> Не так давно на какой-то из машин в офисе обитал робот, который
> периодически лазил по CPAN и спамил мантейнеров соотвествующих перловых
> модулей о выходе новых версий. Потом что-то этот робот затих. Он умер, или
> на него/про него забили/забыли? :)
Он работает, шлёт письма мне. Могу перестроить его на cybertalk.
В принципе можно его запустить и посмотреть. Что не нравится что если
какой-либо перловый пакет с анметом тогда весь робот вываливается. Не
знаю что с этим можно придумать.
----------- следующая часть -----------
#!/bin/sh -ef
hshdir="${1:-$TMPDIR/build}"
mkdir -p "$hshdir"
cd "${workdir:?}"
. trap.sh
hsh -q --no-stuff --initroot-only "$hshdir"
add_trap hsh -q --cleanup-only "$hshdir"
conflicts='perl-Geo-IPfree
perl-Module-Signature
perl-SOAP-Lite-examples
perl-SOAP-Lite
perl-Spreadsheet-WriteExcel'
# install all perl packages
"$hshdir"/aptbox/apt-cache -q --no-all-names pkgnames perl |
grep -Fx -v "$conflicts" |
xargs hsh-install -q -- "$hshdir" >/dev/null
# query CPAN database
hsh-run -q -- "$hshdir" perl -MCPAN -e 'CPAN::Shell->r' >cpan.out <<EOF
no, not ready for manual configuration
EOF
# fix CPAN output
sed '1,/^Package namespace/d;/installed modules have/,$d' cpan.out >modules
# list packages that need updating
while read -r mod v0 v1 dist; do
dep="${mod//:://}"; dep="perl($dep.pm)"
pkg="$(hsh-run -q -- "$hshdir" rpm -q --whatprovides --qf '%{NAME}\n' "$dep")"
pkg="$(echo "$pkg" |head -1)"
who="$(hsh-run -q -- "$hshdir" rpm -q --whatprovides --qf '%{PACKAGER}\n' "$dep")"
who="$(echo "$who" |head -1)"
who="${who// at /@}"; who="${who// dot /.}"
dist="${dist##*/}"
printf "%s\t%s\t%s\t%s\t%s\t%s\n" "$pkg" "$mod" "$v0" "$v1" "$dist" "$who"
done <modules
cd - >/dev/null
# group by packager
xfmt1()
{
sort -t$'\t' +5 |awk -F'\t' 'who != $6 { who = $6; printf "\n%s:\n", who; }
{ printf "%-16s\t%s\t%s\t%s\t%s\n", $1, $2, $3, $4, $5; }'
}
fmt_plus()
{
subj="$subj +$1"
echo " $1 NEW $2 added to the list"
xfmt1; echo
}
fmt_minus()
{
subj="$subj -$1"
echo " $1 $2 REMOVED from the list"
xfmt1; echo
}
fmt_total()
{
subj="$subj ($1)"
echo " Total $1 $2 need updating"
xfmt1; echo
}
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : trap.sh
Тип : application/x-sh
Размер : 923 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060512/4a2caf2f/attachment-0001.sh>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/devel/attachments/20060512/4a2caf2f/attachment-0001.bin>
Подробная информация о списке рассылки Devel