Bug 720974

Summary: circular build deps with perl-XML-SAX
Product: [Fedora] Fedora Reporter: Peter Robinson <pbrobinson>
Component: perl-XML-SAXAssignee: Paul Howarth <paul>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mmaslano, paul, ville.skytta
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: perl-XML-SAX-0.99-3.fc18 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-17 17:21:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Peter Robinson 2011-07-13 11:43:04 UTC
perl-XML-LibXML has circular build deps with perl-XML-SAX. It only needs it for tests but it breaks builds when building new platforms or new major versions of perl.

Comment 1 Ville Skyttä 2011-08-25 21:18:27 UTC
I think the bug is in perl-XML-SAX - it specifies both build and install time dependencies to some XML-LibXML modules, but the specfile doesn't mention why, and grepping for libxml (case insensitively) through XML-SAX sources hits just some documentation.

Comment 2 Marcela Mašláňová 2011-10-07 13:04:34 UTC
I found XML::LibXML only in this comment:
<cite>Note that you should check the output of this - \$(NAME) will use the name of your distribution, which may not be exactly what you want. For example XML::LibXML has a driver called XML::LibXML::SAX::Generator, which is used in place of \$(NAME) in the above.<\cite>

It's true that XML::LibMXL is set in ParserDetails.ini for use. But I suppose we can build without it.

Comment 3 Paul Howarth 2012-02-13 15:36:33 UTC
There is still a problem here. perl-XML-SAX has explicit runtime dependencies on perl(XML::LibXML) and perl(XML::LibXML::Common), and perl-XML-LibXML has a build requirement of perl(XML::SAX), so tries to pull itself into its own build.

I don't understand why there are still these explicit runtime dependencies on perl(XML::LibXML) and perl(XML::LibXML::Common) in perl-XML-SAX. Getting rid of them would fix this loop.

perl-XML-LibXML really does use XML::SAX so that's a real dependency.

Also the %triggerun script for perl-XML-LibXML < 1.58-8 can probably go as that version of perl-XML-LibXML dates back to 2006.

Comment 4 Marcela Mašláňová 2012-03-16 16:49:09 UTC
I guess I did what you are saying. I removed perl(XML::LibXML) and perl(XML::LibXML::Common) from BR and left them in Requires for perl-XML-LibXML.

I'm afraid to touch triggers there. I spent long time to fix those two packages in RHEL.

If you see something what I missed, please remove/fix it.

Comment 5 Paul Howarth 2012-03-17 17:21:08 UTC
I see that perl-XML-LibXML-1.58-6 (i.e. < 1.58-8) is still in EL-5 so I guess there's some justification for the trigger still.

I've removed the runtime Requires for perl(XML::LibXML) and perl(XML::LibXML::Common) that you left in as nobody can see why they're needed and they are the cause of the circular build dep. If anyone can see why a runtime dependency should still be needed, please say.

The new build is: perl-XML-SAX-0.99-3.fc18