From 5fb6b8fee487f9b017f13d8589745ca668eaedab Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Wed, 25 Jul 2012 17:02:05 +0000 Subject: sync with upstream rpm.org: "Fix perl version provide for packages defined in multiple blocks (#rhbz214496) Successive definitions of the same package shouldn't stomp on previously found $VERSION, this is how perl itself behaves. Patch from James Ralston." (Panu Matilainen, 2007-08-28) --- NEWS | 1 + perl.prov | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 2dabcbd..0679ccd 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ (Per Oyvind, mdv) - perl.prov: sync with upstream rpm.org: o filter out incorrect perl(main) provides (rh#177960) + o fix perl version provide for packages defined in multiple blocks (#rhbz214496) o make perl.{req,prov} warn about unreadable files o skip new-fangled head[34] while gerenerating deps (#118243) o skip over =for ... perlpod construct (RhBug:477516) diff --git a/perl.prov b/perl.prov index 7ac8c16..1668d29 100755 --- a/perl.prov +++ b/perl.prov @@ -139,7 +139,11 @@ sub process_file { if ($package eq 'main') { undef $package; } else { - $require{$package}=undef; + # If $package already exists in the $require hash, it means + # the package definition is broken up over multiple blocks. + # In that case, don't stomp a previous $VERSION we might have + # found. (See BZ#214496.) + $require{$package} = undef unless (exists $require{$package}); } } } -- cgit v1.2.1