In the Fedora 21 and 22 build slaves, `rpmdeps --provides` crashes when building bustle-0.4.7: http://koji.fedoraproject.org/koji/taskinfo?taskID=7407823 http://koji.fedoraproject.org/koji/taskinfo?taskID=7407826 Here’s the relevant bit of the log: Finding Provides: /usr/lib/rpm/find-provides /usr/lib/rpm/find-provides: line 3: 15767 Segmentation fault /usr/lib/rpm/rpmdeps --provides error: /usr/lib/rpm/find-provides failed: 8b00 error: Failed to find Provides: Requires(interp): /bin/sh /bin/sh /bin/sh Requires(post): /bin/sh Requires(postun): /bin/sh Requires(posttrans): /bin/sh RPM build errors: /usr/lib/rpm/find-provides failed: 8b00 Failed to find Provides: Child return code was: 1 I can’t reproduce this locally (but I’m on F19 and can’t upgrade at the moment) so I can’t get a backtrace. Is there a sensible way of getting one? bustle.spec is here: http://pkgs.fedoraproject.org/cgit/bustle.git/tree/bustle.spec (from bug #1129484).
Fix is being built. However any package tripping up on this should reviewed as to why the external dependency generator is being used. Its possible there are some real usecases for that still, but 99% the cases are filtering hacks that are either no longer needed or would be better of using native filtering (http://rpm.org/wiki/PackagerDocs/DependencyGenerator)
Oh and as for bustle, its not guilty of anything in itself. The problem (of using the deprecated external dependency generator) comes from ghc-rpm-macros.
Fixed in rpm-4.12.0-0.beta1.4.fc22 (and fc21 once it finishes building): http://koji.fedoraproject.org/koji/taskinfo?taskID=7429952 http://koji.fedoraproject.org/koji/taskinfo?taskID=7429979
Thanks! - I ran into this earlier today when doing a ghc scratch build. I will see what changes should be made to ghc-rpm-macros. Does it apply to F21+ only, or how far back?
(In reply to Jens Petersen from comment #4) > I will see what changes should be made to ghc-rpm-macros. > Does it apply to F21+ only, or how far back? Bustle built successfully on F19 and F20, and failed on F21 and rawhide — so I guess this applies to F21+ only.
(In reply to Philip Withnall from comment #5) > Bustle built successfully on F19 and F20, and failed on F21 and rawhide — so > I guess this applies to F21+ only. Yes, thanks I saw that. My question was really to Panu - ie whether external dep generation should be deprecated for all current Fedora releases? Anyway let me clone this bug to ghc-rpm-macros to track this.
Anyway going by the presence of /usr/lib/rpm/fileattrs/ I assume this is good for F19+.
Technically the external dep generator has been deprecated for over a decade by now. Thats a bit hypocritical though as there was no way to customize the internal depgen output prior to rpm >= 4.9.0. In terms of our distros the cutover point is Fedora >= 15 and RHEL >= 7. That doesn't mean the external dependency generator is going anywhere anytime soon (the rpmdeps crasher bug was just a good old stupid regression gone unnoticed), but as it affects package generation in more ways than just generated dependencies, its use should be avoided. Especially since the typical dependency generation customizations are nowadays possible without extra hacks.
(In reply to Panu Matilainen from comment #8) > Technically the external dep generator has been deprecated for over a decade > by now. Thats a bit hypocritical though as there was no way to customize the > internal depgen output prior to rpm >= 4.9.0. In terms of our distros the > cutover point is Fedora >= 15 and RHEL >= 7. > > That doesn't mean the external dependency generator is going anywhere > anytime soon (the rpmdeps crasher bug was just a good old stupid regression > gone unnoticed), but as it affects package generation in more ways than just > generated dependencies, its use should be avoided. Especially since the > typical dependency generation customizations are nowadays possible without > extra hacks. Is there any option to let packager choose to display the deps like rpm did before? Sometimes due to some buggy upstream packages, there are issues in the linking process, without "Requires:" display, I need to do some extra examinations to verify if the libs are linked...
(In reply to Christopher Meng from comment #9) > Is there any option to let packager choose to display the deps like rpm did > before? Another regression caused by the same changes behind this bug... fixed in rpm-4.12.0-0.beta1.6, thanks for pointing this out.