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