check extra packages

This commit is contained in:
Stephan Kulow 2014-01-01 09:06:13 +01:00
parent caa7db049e
commit 29b8b5248e

View File

@ -11,7 +11,7 @@ my $baseurl = "https://build.opensuse.org";
my %ringed;
my %toignore;
for my $i (qw(kernel-syms kernel-xen glibc.i686 openSUSE-release kernel-desktop kernel-default kernel-pae)) {
for my $i (qw(kernel-syms kernel-xen glibc.i686 openSUSE-release kernel-desktop kernel-default kernel-pae Test-DVD-x86_64 kiwi-image-livecd-gnome.x86_64 kiwi-image-livecd-kde.x86_64 package-lists-kde.x86_64 package-lists-gnome.x86_64)) {
$toignore{$i} = 1;
}
@ -24,13 +24,12 @@ sub fetch_api($) {
}
sub fetch_prj($) {
my $prj = shift;
my $packages = XMLin(fetch_api("/status/project/$prj"))->{package};
my %ret;
for my $p (keys %${packages}) {
next if defined $toignore{$p};
next if defined $toignore{$p} || $p =~ /AGGR/;
$ret{$p} = $packages->{$p}->{verifymd5} || $packages->{$p}->{srcmd5};
}
return \%ret;
@ -44,11 +43,12 @@ sub check_ring($) {
my $ring = fetch_prj($ringprj);
PACKAGE: for my $p (keys %${ring}) {
#print "checking $ringprj $p $ring->{$p} $fact->{$p}\n";
if ($ringed{$p}) {
print "osc rdelete $ringprj $p -m 'in two rings'\n";
next;
}
$ringed{$p} = 1;
$ringed{$p} = $ring->{$p};
if ($ring->{$p} ne $fact->{$p}) {
eval {
@ -56,7 +56,14 @@ PACKAGE: for my $p (keys %${ring}) {
my $rxml = XMLin(fetch_api("/source/$ringprj/$p?view=info"));
next if ($fxml->{verifymd5} eq $rxml->{verifymd5});
};
if ($@) {
print "# $@";
print "osc rdelete -m 'gone away' $ringprj $p\n";
next;
}
eval {
my @ftext = split(/\n/, fetch_api("/source/openSUSE:Factory/$p/$p.changes?expand=1"));
my @rtext = split(/\n/, fetch_api("/source/$ringprj/$p/$p.changes?expand=1"));
@ -75,9 +82,10 @@ PACKAGE: for my $p (keys %${ring}) {
next PACKAGE;
}
}
};
warn $@ if $@;
#system("osc rdiff openSUSE:Factory $p openSUSE:Factory:Core $p");
print "osc linkpac -f -c openSUSE:Factory $p $ringprj\n";
};
}
}
}
@ -87,3 +95,21 @@ check_ring("openSUSE:Factory:Core");
check_ring("openSUSE:Factory:MainDesktops");
check_ring("openSUSE:Factory:DVD");
sub check_package($$$) {
my $package = shift;
my $spkg = shift;
my $tpkg = shift;
my $p1 = XMLin(fetch_api("/source/$spkg/$package?expand=1"));
my $p2 = XMLin(fetch_api("/source/$tpkg/$package?expand=1"));
return if ($p1->{verifymd5} eq $p2->{verifymd5});
print "osc linkpac -f -r $p1->{srcmd5} $spkg $package $tpkg\n";
}
check_package('Test-DVD-x86_64', 'openSUSE:Factory', 'openSUSE:Factory:Core');
check_package('kiwi-image-livecd-gnome.x86_64', 'openSUSE:Factory:Live', 'openSUSE:Factory:MainDesktops');
check_package('kiwi-image-livecd-kde.x86_64', 'openSUSE:Factory:Live', 'openSUSE:Factory:MainDesktops');
check_package('package-lists-gnome.x86_64', 'openSUSE:Factory:Live', 'openSUSE:Factory:MainDesktops');
check_package('package-lists-kde.x86_64', 'openSUSE:Factory:Live', 'openSUSE:Factory:MainDesktops');