#!/usr/bin/perl # # oldbugs - Find bugs older than N days # (C) 2004 Emanuele Rocca # Distributed under the GNU GPL License (see http://www.gnu.org/gpl) use strict; use Date::Manip; use Net::LDAP; exit print "Usage: oldbugs numdays \n" if (!$ARGV[0]); my $server = "bugs.debian.org"; my $port = "10101"; my $base = "dc=current,dc=bugs,dc=debian,dc=org"; my $attrs = [ "debbugsID", "debbugsDate", "debbugsPackage" ]; my $ldap = Net::LDAP->new($server, "port" => $port) or die "Can't create ldap object: $!"; $ldap->bind or die "Can't bind to LDAP on $server:$port: $!"; my ($year, $month, $day) = (DateCalc("today","- ".$ARGV[0]." days") =~ /(\w{4})(\w\w)(\w\w)/); my $date=Date_SecsSince1970($month,$day,$year,00,00,00); my $mesg = $ldap->search("base" => $base, "filter" => "(debbugsDate<=$date)", "attrs" => $attrs) or die; $mesg->code and die $mesg->error; foreach my $entry ($mesg->entries) { print "\n#".$entry->get_value("debbugsID")." " .$entry->get_value("debbugsPackage")." - " .&UnixDate(&ParseDateString("epoch ".$entry->get_value("debbugsDate")),"%g"); }