diff --git a/urpm-repoclosure.pl b/urpm-repoclosure.pl index 72fac63..0d909f0 100755 --- a/urpm-repoclosure.pl +++ b/urpm-repoclosure.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl ######################################################## -# URPM Repo Closure Checker 1.5 for Linux +# URPM Repo Closure Checker 1.5.1 for Linux # A tool for checking closure of a set of RPM packages # # Copyright (C) 2011-2012 ROSA Laboratory @@ -38,7 +38,7 @@ use File::Copy qw(copy move); use Data::Dumper; use strict; -my $TOOL_VERSION = "1.5"; +my $TOOL_VERSION = "1.5.1"; my $CmdName = get_filename($0); my ($Help, $ShowVersion, $RPMlist, $RPMdir, $StaticMode, @@ -1503,7 +1503,7 @@ sub checkProfile() } my $Content = readFile($Profile); my %Index = (); - my %Order = (); + my (%Order, %Order_S) = (); my $Num = 0; while(my $Repos = parseTag(\$Content, "repos")) { @@ -1557,8 +1557,8 @@ sub checkProfile() $Index{$Info{"name"}}{$Info{"arch"}}{$Info{"section"}} = \%Info; $Order{$Info{"name"}} = $Num++; - $Order{$Info{"section"}} = $Num++; - $Order{$Info{"arch"}} = $Num++; + $Order_S{$Info{"name"}}{$Info{"section"}} = $Num++; + $Order_S{$Info{"name"}}{$Info{"arch"}} = $Num++; } my $Styles = " @@ -1610,7 +1610,7 @@ sub checkProfile() # contents my $Contents = "
\n\n"; $Contents .= "\n"; - foreach my $Name (keys(%Index)) + foreach my $Name (sort {$Order{$a}<=>$Order{$b}} keys(%Index)) { my $Anchor = $Name; $Anchor=~s/\s+/_/g; @@ -1618,7 +1618,11 @@ sub checkProfile() } $Contents .= "
Contents
\n"; - #$INDEX .= $Contents; + if(keys(%Index)>=3) + { + $INDEX .= $Contents; + $INDEX .= "
\n"; + } foreach my $Name (sort {$Order{$a}<=>$Order{$b}} keys(%Index)) { @@ -1629,20 +1633,20 @@ sub checkProfile() $INDEX .= "\n"; $INDEX .= "\n"; $INDEX .= "\n"; - foreach my $Arch (sort {$Order{$a}<=>$Order{$b}} keys(%{$Index{$Name}})) + foreach my $Arch (sort {$Order_S{$Name}{$a}<=>$Order_S{$Name}{$b}} keys(%{$Index{$Name}})) { - foreach my $Section (sort {$Order{$a}<=>$Order{$b}} keys(%{$Index{$Name}{$Arch}})) + foreach my $Section (sort {$Order_S{$Name}{$a}<=>$Order_S{$Name}{$b}} keys(%{$Index{$Name}{$Arch}})) { $INDEX .= "\n"; } last; } $INDEX .= "\n"; - foreach my $Arch (sort {$Order{$a}<=>$Order{$b}} keys(%{$Index{$Name}})) + foreach my $Arch (sort {$Order_S{$Name}{$a}<=>$Order_S{$Name}{$b}} keys(%{$Index{$Name}})) { $INDEX .= "\n"; $INDEX .= "\n"; - foreach my $Section (sort {$Order{$a}<=>$Order{$b}} keys(%{$Index{$Name}{$Arch}})) + foreach my $Section (sort {$Order_S{$Name}{$a}<=>$Order_S{$Name}{$b}} keys(%{$Index{$Name}{$Arch}})) { my %Info = %{$Index{$Name}{$Arch}{$Section}}; $INDEX .= "\n"; # (txt) @@ -1652,6 +1656,11 @@ sub checkProfile() $INDEX .= "
$Section
$ArchReport (txt)
\n"; } + if(keys(%Index)>=3) + { + $INDEX .= "
\n"; + } + my $Title = "URPM-repoclosure report"; my $Keywords = "URPM, repository, closure, report"; my $Description = "URPM-repoclosure report";