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 .= "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 .= "
\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 .= "$Section | \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 .= "$Arch | \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 .= "Report (txt) | \n"; # (txt)
@@ -1652,6 +1656,11 @@ sub checkProfile()
$INDEX .= "
\n";
}
+ if(keys(%Index)>=3)
+ {
+ $INDEX .= "\n";
+ }
+
my $Title = "URPM-repoclosure report";
my $Keywords = "URPM, repository, closure, report";
my $Description = "URPM-repoclosure report";