From 386b796d218325b85f3903d0ae8b04f04b3a2757 Mon Sep 17 00:00:00 2001 From: Francois Pons Date: Mon, 22 May 2000 18:44:05 +0000 Subject: *** empty log message *** --- genhdlist_cz2 | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'genhdlist_cz2') diff --git a/genhdlist_cz2 b/genhdlist_cz2 index ec83e54..6a178a4 100644 --- a/genhdlist_cz2 +++ b/genhdlist_cz2 @@ -38,11 +38,18 @@ my (%keys, @keys); opendir DIR, $dir or die "unable to opendir $dir: $!\n"; while ($_ = readdir DIR) { - my ($key) = /(.*)\..*\.rpm$/ or next; - system("rpm2header $dir/$_ > $key") unless -e $key; - $? == 0 or unlink($key), die "bad rpm $dir/$_\n"; - -s $key or unlink($key), die "bad rpm $dir/$_\n"; - $keys{$key} = 1; + my ($key, $arch) = /(.*)\.(.*)\.rpm$/ or next; + system("rpm2header $dir/$_ > $_") unless -e $_; + $? == 0 or unlink($_), die "bad rpm $dir/$_\n"; + -s $_ or unlink($_), die "bad rpm $dir/$_\n"; + if ($keys{$key}) { + my ($name, $tail) = $key =~ /(.*)(-[^-]*-[^-]*)/; + $keys{"$name($keys{$key})$tail"} = $keys{$key}; unlink "$name($keys{$key})$tail"; link $_, "$name($keys{$key})$tail"; + $keys{"$name($arch)$tail"} = $arch; unlink "$name($arch)$tail"; link $_, "$name($arch)$tail"; + delete $keys{$key}; + } else { + $keys{$key} = $arch; unlink $key; link $_, $key; + } } if (-e $depslist) { open F, $depslist; -- cgit v1.2.1