Bug 1427970 - Include upstream debuginfo improvements to enable parallel installable debuginfo by default
Summary: Include upstream debuginfo improvements to enable parallel installable debugi...
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 26
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: 1340819
TreeView+ depends on / blocked
Reported: 2017-03-01 15:41 UTC by Mark Wielaard
Modified: 2017-04-04 15:04 UTC (History)
6 users (show)

Fixed In Version: rpm-
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2017-03-16 15:44:58 UTC
Type: Bug

Attachments (Terms of Use)
Adds upstream debuginfo improvement patches (161.25 KB, patch)
2017-03-01 15:43 UTC, Mark Wielaard
no flags Details | Diff

System ID Priority Status Summary Last Updated
Red Hat Bugzilla 528419 None None None Never

Internal Links: 528419

Description Mark Wielaard 2017-03-01 15:41:51 UTC
To enable Parallel Installable Debuginfo https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo by default we need a couple of upstream backports.

The attached patch adds these.

With these applied the following macros can be set by defaults to enable the feature by default:

%_include_gdb_index    1
%_build_id_links compat
%_unique_build_ids     1
%_unique_debug_names   1
%_unique_debug_srcs    1

Comment 1 Mark Wielaard 2017-03-01 15:43:46 UTC
Created attachment 1258805 [details]
Adds upstream debuginfo improvement patches

This is a backport against rpm of the following upstream patches:

Igor Gnatenko (1):
      configure.ac: use LIBDW always conditionally

Mark Wielaard (9):
      Make sure CPPFLAGS are setup correctly for finding nspr.h
      configure --with-external-db should fall back to external if unspecified.
      Add build-id links to rpm for all ELF files.
      Make it possible to have unique build-ids across build versions/releases.
      Make adding GDB index sections configurable.
      Add option to have unique debug file names across version/release/arch.
      Fix libdw configure check.
      debugedit: Support String/Line table rewriting for larger/smaller paths.
      Add option to have unique debug source dirs across version/release/arch.

Panu Matilainen (3):
      Fix behavior when %_build_id_links is undefined
      Fix debuginfo etc when subpackages have different versions (RhBug:1051407)
      Only process regular files when generating build-ids

Comment 2 Panu Matilainen 2017-03-03 10:35:23 UTC
I don't think it'd be a good idea to include this in F26 at this point. Even if everything went silk-smooth the result would be inconsistent debuginfo packages in F26. And considering this hasn't seen even a single day in rawhide yet, F26 seems outlandish to me.

Right now is just about the perfect time to land changes like this in rawhide to allow it to mature a bit before possible next mass rebuild for F27, but I think F26 sailed already.

Comment 3 Mark Wielaard 2017-03-03 10:56:18 UTC
Sure lets also stick it in rawhide. The idea was that this would land before f26 branched. That is what we agreed on with fesco. We deliberately delayed till after the mass rebuild, so as to not disrupt any package builds. The package set doesn't really change. The idea was that we needed to support different layout of debuginfo packages for some time. So IMHO now would be the perfect time to flip the defaults and show the feature is testable now.

Comment 4 Mark Wielaard 2017-03-03 12:38:22 UTC
Note that the individual patches on top of rpm- can also be found here: https://pagure.io/rpm-debuginfo/commits/rpm-

Comment 5 Panu Matilainen 2017-03-07 15:50:40 UTC
Hmm, I get a reject on macros.in from the individual patches but not the combined one so there's some fine-tuning needed. No big deal, I'll try to get this sorted out and into rawhide tomorrow.

Comment 6 Mark Wielaard 2017-03-07 23:34:33 UTC
(In reply to Panu Matilainen from comment #5)
> Hmm, I get a reject on macros.in from the individual patches but not the
> combined one so there's some fine-tuning needed. No big deal, I'll try to
> get this sorted out and into rawhide tomorrow.

Which patch gets rejected?

They apply cleanly for me when generated from https://pagure.io/rpm-debuginfo.git with git format-patch rpm- and added as:

Patch450: 0001-Make-sure-CPPFLAGS-are-setup-correctly-for-finding-n.patch
Patch451: 0002-configure-with-external-db-should-fall-back-to-exter.patch
Patch452: 0003-Add-build-id-links-to-rpm-for-all-ELF-files.patch
Patch453: 0004-Make-it-possible-to-have-unique-build-ids-across-bui.patch
Patch454: 0005-Make-adding-GDB-index-sections-configurable.patch
Patch455: 0006-Add-option-to-have-unique-debug-file-names-across-ve.patch
Patch456: 0007-Fix-behavior-when-_build_id_links-is-undefined.patch
Patch457: 0008-Fix-debuginfo-etc-when-subpackages-have-different-ve.patch
Patch458: 0009-Only-process-regular-files-when-generating-build-ids.patch
Patch459: 0010-configure.ac-use-LIBDW-always-conditionally.patch
Patch460: 0011-Fix-libdw-configure-check.patch
Patch461: 0012-debugedit-Support-String-Line-table-rewriting-for-la.patch
Patch462: 0013-Add-option-to-have-unique-debug-source-dirs-across-v.patch

Comment 7 Panu Matilainen 2017-03-08 06:29:51 UTC
Hmm, you probably have %_default_patch_fuzz set to non-zero in your ~/.rpmmacros, that's the only way I can get those to apply. 

The clash is on the fedora specific rpm- which will need to be updated for next major rpm version anyway so I'll just update that - like said it's no big deal.

Comment 8 Panu Matilainen 2017-03-08 11:15:59 UTC
Pushed + built for rawhide now, and seems to be live on koji already as well:

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