[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Add removals.pl



Signed-off-by: Joerg Jaspert <joerg@debian.org>
---
 ChangeLog                 |    4 ++
 config/debian/cron.hourly |    1 +
 tools/removals.pl         |   81 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 86 insertions(+), 0 deletions(-)
 create mode 100755 tools/removals.pl

diff --git a/ChangeLog b/ChangeLog
index c451026..c14f7c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-12-15  Joerg Jaspert  <joerg@debian.org>
+
+	* config/debian/cron.hourly: Call the removals.pl
+
 2008-12-09  Joerg Jaspert  <joerg@debian.org>
 
 	* config/debian/cron.hourly: Added queue_rss.py to hourly cron.
diff --git a/config/debian/cron.hourly b/config/debian/cron.hourly
index 71e6808..18bca24 100755
--- a/config/debian/cron.hourly
+++ b/config/debian/cron.hourly
@@ -15,5 +15,6 @@ dak queue-report -n > $webdir/new.html
 dak show-deferred > ${webdir}/deferred.html
 cd $queuedir/new ; dak show-new *.changes > /dev/null
 $base/dak/tools/queue_rss.py -q $queuedir/new -o $webdir/rss/ -d $base/misc
+$base/dak/tools/removals.pl > $webdir/rss/removals.rss
 
 $scriptsdir/generate-di
diff --git a/tools/removals.pl b/tools/removals.pl
new file mode 100755
index 0000000..ec65f15
--- /dev/null
+++ b/tools/removals.pl
@@ -0,0 +1,81 @@
+#! /usr/bin/perl
+
+#    removals - generate an RSS feed of removals from Debian
+#    (C) Copyright 2005 Tollef Fog Heen <tfheen@err.no>
+#
+#    This program is free software; you can redistribute it and/or
+#    modify it under the terms of the GNU General Public License
+#    version 2 as published by the Free Software Foundation.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#    General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not, write to the Free Software
+#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+#    02111-1307 USA
+
+
+use strict;
+use warnings;
+
+use MIME::Base64 qw(encode_base64);
+use XML::RSS;
+use POSIX qw(strftime);
+use CGI qw/:standard/;
+
+open REMOVALS, "</srv/ftp.debian.org/web/removals.txt";
+
+my @removals;
+
+{
+  local $/ = "=========================================================================\n=========================================================================";
+  @removals = reverse <REMOVALS>;
+}
+
+my $rss = new XML::RSS (version => '1.0');
+$rss->channel(
+			  title        => "Removals from Debian",
+			  link         => "http://ftp-master.debian.org/removals.txt";,
+			  description  => "List of all the removals from Debian's archives",
+			  dc => {
+					 date       => POSIX::strftime ("%FT%R+00:00",gmtime()),
+					 subject    => "Removals from Debian",
+					 creator    => 'tfheen@debian.org',
+					 publisher  => 'joerg@debian.org',
+					 rights     => 'Copyright 2005, Tollef Fog Heen',
+					 language   => 'en-us',
+					},
+			  syn => {
+					  updatePeriod     => "hourly",
+					  updateFrequency  => "1",
+					  updateBase       => "1901-01-01T00:00+00:00",
+					 }
+			 );
+
+for (0..15) {
+  my $i = $_;
+  my ($null, $date, $ftpmaster, $body, $reason);
+  $removals[$i] =~ s/=========================================================================//g;
+  $removals[$i] =~ m/\[Date: ([^]]+)\] \[ftpmaster: ([^]]+)\]/;
+  $date = $1;
+  $ftpmaster = $2;
+  ($null, $body) = split /\n/, $removals[$i], 2;
+  chomp $body;
+  $body =~ m/---- Reason ---.*\n(.*)/;
+  $reason = $1;
+  my $link =  encode_base64($date . $ftpmaster);
+  chomp($link);
+
+  $rss->add_item(title       => "$reason",
+				 link        => "http://ftp-master.debian.org/removals.txt?"; . $link,
+				 description => qq[&lt;pre&gt;$body&lt;/pre&gt;],
+				 dc => {
+						creator => "$ftpmaster",
+					   }
+				);
+
+}
+print $rss->as_string;
-- 
1.5.6.5


Reply to: