Bug 1131892 - rpmdeps --provides crashes when building bustle-0.4.7
Summary: rpmdeps --provides crashes when building bustle-0.4.7
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: rawhide
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1129484 1132275
TreeView+ depends on / blocked
 
Reported: 2014-08-20 08:48 UTC by Philip Withnall
Modified: 2014-08-25 08:18 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1132275 (view as bug list)
Environment:
Last Closed: 2014-08-20 09:17:01 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1131943 0 unspecified CLOSED Do not redefine internal dependency generator 2021-02-22 00:41:40 UTC

Internal Links: 1131943

Description Philip Withnall 2014-08-20 08:48:36 UTC
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).

Comment 1 Panu Matilainen 2014-08-20 09:05:17 UTC
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)

Comment 2 Panu Matilainen 2014-08-20 09:11:58 UTC
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.

Comment 3 Panu Matilainen 2014-08-20 09:17:01 UTC
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

Comment 4 Jens Petersen 2014-08-20 15:29:26 UTC
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?

Comment 5 Philip Withnall 2014-08-20 15:58:07 UTC
(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.

Comment 6 Jens Petersen 2014-08-21 02:07:35 UTC
(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.

Comment 7 Jens Petersen 2014-08-21 03:46:57 UTC
Anyway going by the presence of /usr/lib/rpm/fileattrs/
I assume this is good for F19+.

Comment 8 Panu Matilainen 2014-08-21 06:43:35 UTC
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.

Comment 9 Christopher Meng 2014-08-22 10:47:38 UTC
(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...

Comment 10 Panu Matilainen 2014-08-25 08:18:46 UTC
(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.


Note You need to log in before you can comment on or make changes to this bug.