source: soft/build_system/build_system/mkcd/branches/Corpo/checkh @ 1

Last change on this file since 1 was 1, checked in by fasma, 12 years ago

Initial Import from Mandriva's soft revision 224062 and package revision 45733

File size: 1.4 KB
Line 
1#!/usr/bin/perl
2#
3# Check that the hierarchy of the repository is correct
4#
5#
6
7use strict;
8
9my $top = $ARGV[0] or usage();
10
11local *A; open A, "$top/Mandrake/base/depslist.ordered" or die "unable to open $top/Mandrake/base/depslist.ordered";
12my %depspackages;
13while (<A>){
14        $depspackages{((split)[0])} = 1;       
15}
16
17my %hdlist;
18my %rep;
19local *A; open A, "$top/Mandrake/base/hdlists" or die "unable to open $top/Mandrake/base/hdlists";
20while (<A>){
21        (my $hdlist, my $dir) = split;
22        local *B; open B, "$top/misc/packdrake $top/Mandrake/base/$hdlist|" or die "unable to open $top/misc/packdrake $top/Mandrake/base/$hdlist|";
23        <B>;
24        print "\nIn $hdlist, not in depslist:";
25        my $ok = 1;
26        while (<B>){
27                my $p = (split)[2];
28                $hdlist{$p} = 1;
29                if (!$depspackages{$p}) {print "\n$p"; $ok=0}
30        }
31        $ok and print " OK\n";
32        local *C; opendir C, "$top/$dir";
33        my $ok = 1;
34        print "\n\nIn $dir, not in depslist:";
35        readdir C;
36        readdir C;
37        foreach (readdir C){
38                s/\.[^\.]*\.rpm//;
39                $rep{$_} = 1;
40                if (!$depspackages{$_}) {print "\n$_"; $ok=0}
41        }       
42        $ok and print " OK\n";
43}
44
45print "\n\nIn depslist, not in hdlist.cz*:";
46my $ok = 1;
47foreach (keys %depspackages){ 
48        if (!$hdlist{$_}) {print "\n$_"; $ok=0}
49}
50$ok and print " OK\n";
51
52print "\n\nIn depslist, not in RPMS*:";
53my $ok = 1;
54foreach (keys %depspackages){ 
55        if (!$rep{$_}) {print "\n$_"; $ok=0}
56}
57$ok and print " OK\n";
58print "\n";
59
60exit;
61
62sub usage{
63        print "usage
64        $0 topdir\n\n";
65        exit
66}
Note: See TracBrowser for help on using the repository browser.