]> git.donarmstrong.com Git - debbugs.git/blob - examples/debian/versions/merge-one-version
7be6f38a198ac2c3305667d86ef51c00c0ec7d09
[debbugs.git] / examples / debian / versions / merge-one-version
1 #! /usr/bin/perl -w
2
3 use vars qw($gVersionPackagesDir);
4 require '/etc/debbugs/config';
5 my $root = $gVersionPackagesDir;
6
7 use strict;
8 use Debbugs::Versions;
9 use Debbugs::Versions::Dpkg;
10
11 unless (-d $root) {
12     mkdir $root or die "can't mkdir $root: $!\n";
13 }
14
15 my $tree = Debbugs::Versions->new(\&Debbugs::Versions::Dpkg::vercmp);
16
17 my $versions = shift;
18
19 (my $pkg = $versions) =~ s{.*/}{};
20 $pkg =~ s/_.*//;
21 my $pkghash = substr $pkg, 0, 1;
22 unless (-d "$root/$pkghash") {
23     mkdir "$root/$pkghash" or die "can't mkdir $root/$pkghash";
24 }
25 my $outfile = "$root/$pkghash/$pkg";
26 if (open PREV, "< $outfile") {
27     $tree->load(*PREV);
28     close PREV;
29 }
30
31 $tree->load(*STDIN);
32
33 open OUT, "> $outfile" or die "can't open $outfile for writing: $!\n";
34 $tree->save(*OUT);
35 close OUT or die "can't close $outfile: $!\n";