[sisyphus] Re: I: Sisyphus-20050831 packages: +37! -1 +44 (4686)
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Сен 8 01:43:52 MSD 2005
On Wed, Aug 31, 2005 at 11:31:00AM +0300, Sviataslau Svirydau wrote:
> Ограничение на alt - хороший вариант. Плюс поставить ограничение на,
> скажем, максимум 3 последние записи - и для начала подойдет. А потом
> посмотрим - что понравится и что нет, и тогда можно будет подкорректировать.
"the same packager, for last 3 months, no more than 3 entires"
-rpm_lastchange() { rpm -qp --lastchange -- "$@" |sed -ne \
- 's/@\([[:alnum:]-]\+\)\.[[:alnum:]]\+>/@\1>/;/[[:alnum:]]/p'; }
+
+rpm_recent_changes()
+{
+ perl -MRPM::Header -Mstrict -l - "$@" <<'__EOF__'
+ my ($f) = @ARGV;
+ tie my %hdr, "RPM::Header", $f or die "$f: $RPM::err\n";
+ my ($guy0, $time0);
+ for my $i (0 .. $#{$hdr{CHANGELOGTIME}}) {
+ use Date::Format qw(time2str);
+ my $time = $hdr{CHANGELOGTIME}[$i];
+ my $date = time2str("%a %b %d %Y", $time);
+ my $info = "* $date $hdr{CHANGELOGNAME}[$i]";
+ my $guy;
+ $info =~ s{(?<=<)([^<>]+?)(?=>)}{
+ local $_ = $1;
+ s/ at /@/g; s/ dot /./g;
+ s/@([-\w._]+)[.]\w+\z/\@$1/;
+ $guy = $_;
+ }e;
+ print $info;
+ $guy0 = $guy if $i == 0;
+ $time0 = $time if $i == 0;
+ # the same packager, for last 3 months, no more than 3 entires
+ my $again = $guy eq $guy0 && $time+3600*24*30*3 > $time0 && $i < 3;
+ print $hdr{CHANGELOGTEXT}[$i] if $again || $i == 0;
+ last if not $again;
+ }
+__EOF__
+}
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20050908/8959666f/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus