8 use Packages::Config qw( $TOPDIR );
10 use Packages::Search qw( :all );
11 &Packages::Config::init( './' );
13 my $suite = $ARGV[0] or die "No suite given";
14 my $start_time = time;
19 my ($day, $month, $year) = (gmtime($start_time - ($age*86_400)))[3..5];
22 return sprintf( "%04s-%02s-%02s", $year, $month, $day );
25 open CHANGES, '>', "$TOPDIR/files/packages/newpkg_info.new"
26 or die "Couldn't open CHANGES file: $!";
27 for (my $age = 0; $age < 7; $age++) {
29 my $newday = get_iso_date( $age );
30 my $oldday = get_iso_date( $age+1 );
31 open OLD, '<', "$TOPDIR/files/packages/package_names_$suite.$oldday"
32 or die "Couldn't open OLD file $TOPDIR/files/packages/package_names_$suite.$oldday: $!";
38 open NEW, '<', "$TOPDIR/files/packages/package_names_$suite.$newday"
39 or die "Couldn't open NEW file $TOPDIR/files/packages/package_names_$suite.$newday: $!";
43 # we assume here that the input contains no dupes!
54 my %archives = map { $_ => 1 } qw( us security non-US );
55 foreach (sort keys %changes) {
56 my $entry = read_entry_simple( \%packages, $_, \%archives, $suite)
57 or die "Can't find entry for package $_";
58 shift @$entry; # remove virtual pkg info
59 print CHANGES join(" ", $_, $age, @$entry)."\n";
60 print "Wrote entry: ".join(" ", $_, $age, @$entry)."\n";
65 rename("$TOPDIR/files/packages/newpkg_info.new",
66 "$TOPDIR/files/packages/newpkg_info");