Re: rpm debuginfo improvements for rawhide/f27

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Wed, 2017-07-26 at 14:38 +0200, Kamil Dudka wrote:
> On Monday, June 26, 2017 16:13:02 Mark Wielaard wrote:
> > Hi packagers,
> > 
> > rawhide rpmbuild contains various debuginfo improvements that
> > hopefully
> > will make various hacks in spec files redundant.
> 
> These improvements break build of packages that use the
> RemovePathPostfixes 
> feature of RPM, such as coreutils or curl:
> 
> https://koji.fedoraproject.org/koji/getfile?taskID=20745024&volume=DE
> FAULT&name=build.log&offset=-4000
> https://koji.fedoraproject.org/koji/getfile?taskID=20745984&volume=DE
> FAULT&name=build.log&offset=-4000
> 
> Is this expected?
Definitely not, but thanks a lot for reporting!

I've created issue for rpm[0] to track this problem. For now, feel free
to add %undefine _debuginfo_subpackages on top of your spec files.

Sorry for breakage.

[0]https://github.com/rpm-software-management/rpm/issues/280
> 
> Kamil
>  
> > If you have your own way of handling debuginfo packages, calling
> > find-debuginfo.sh directly, need hacks for working around debugedit
> > limitations or split your debuginfo package by hand then please try
> > out
> > rpmbuild in rawhide and read below for some macros you can set to
> > tweak
> > debuginfo package generation.
> > 
> > If you still need hacks in your spec file because setting macros
> > isn't
> > enough to get the debuginfo packages you want then please let us
> > know.
> > Also please let us know about packages that need to set debuginfo
> > rpm
> > macros to non-default values because they would crash and burn with
> > the
> > default settings (best to file a bug against rpmbuild).
> > 
> > The improvements have been mainly driven by the following two
> > change
> > proposals for f27 (some inspired by what other distros do):
> > 
> > https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo
> > https://fedoraproject.org/wiki/Changes/SubpackageAndSourceDebuginfo
> > 
> > The first is completely done and has been enabled by default for
> > some
> > months now in rawhide. The second introduces two new macros to
> > enable
> > separate debugsource and sub-debuginfo packages, but has not been
> > enabled by default yet. If people like the change and no bugs are
> > found
> > (and fesco and releng agree) we can enable them for the f27 mass
> > rebuild.
> > 
> > If your package already splits debuginfo packages in a (common)
> > source
> > package and/or sub-debuginfo packages, please try out the new
> > macros
> > introduced by the second change. You can enable the standard
> > splitting
> > by adding the following to your spec file:
> > 
> > %global _debugsource_packages 1
> > %global _debuginfo_subpackages 1
> > 
> > Besides the above two changes debuginfo packages can now (and are
> > by
> > default in rawhide) build by running debug extraction in parallel.
> > This
> > should speed up building with lots of binaries/libraries. If you do
> > invoke find-debuginfo.sh by hand you most likely will want to add
> > %{?_smp_mflags} as argument to get the parallel processing speedup.
> > 
> > If your package is invoking find-debuginfo.sh by hand also please
> > take a
> > look at all the new options that have been added. Also note that
> > almost
> > all options can be changed by setting (or undefining) rpm macros
> > now.
> > Using the rpm macros is preferred over invoking find-debuginfo.sh
> > directly since it means you get any defaults and improvements that
> > might
> > need new find-debuginfo.sh arguments automatically. 
> > 
> > Here is an overview of various debuginfo rpm macros that you can
> > define
> > undefine in your spec file with the latest rpmbuild:
> > 
> > #
> > # Should an ELF file processed by find-debuginfo.sh having no build
> > ID
> > # terminate a build?  This is left undefined to disable it and
> > defined to
> > # enable.
> > #
> > %_missing_build_ids_terminate_build    1
> > 
> > #
> > # Include minimal debug information in build binaries.
> > # Requires _enable_debug_packages.
> > #
> > %_include_minidebuginfo        1
> > 
> > #
> > # Include a .gdb_index section in the .debug files.
> > # Requires _enable_debug_packages and gdb-add-index installed.
> > #
> > %_include_gdb_index    1
> > 
> > #
> > # Defines how and if build_id links are generated for ELF files.
> > # The following settings are supported:
> > #
> > # - none
> > #   No build_id links are generated.
> > #
> > # - alldebug
> > #   build_id links are generated only when the __debug_package
> > global is
> > #   defined. This will generate build_id links in the -debuginfo
> > package
> > #   for both the main file as /usr/lib/debug/.build-id/xx/yyy and
> > for
> > #   the .debug file as /usr/lib/debug/.build-id/xx/yyy.debug.
> > #   This is the old style build_id links as generated by the
> > original
> > #   find-debuginfo.sh script.
> > #
> > # - separate
> > #   build_id links are generate for all binary packages. If this is
> > a
> > #   main package (the __debug_package global isn't set) then the
> > #   build_id link is generated as /usr/lib/.build-id/xx/yyy. If
> > this is
> > #   a -debuginfo package (the __debug_package global is set) then
> > the
> > #   build_id link is generated as /usr/lib/debug/.build-id/xx/yyy.
> > #
> > # - compat
> > #   Same as for "separate" but if the __debug_package global is set
> > then
> > #   the -debuginfo package will have a compatibility link for the
> > main
> > #   ELF /usr/lib/debug/.build-id/xx/yyy -> /usr/lib/.build-
> > id/xx/yyy
> > %_build_id_links compat
> > 
> > # Whether build-ids should be made unique between package
> > version/releases
> > # when generating debuginfo packages. If set to 1 this will pass
> > # --build-id-seed "%{VERSION}-%{RELEASE}" to find-debuginfo.sh
> > which will
> > # pass it onto debugedit --build-id-seed to be used to prime the
> > build-id
> > # note hash.
> > %_unique_build_ids      1
> > 
> > # Do not recompute build-ids but keep whatever is in the ELF file
> > already.
> > # Cannot be used together with _unique_build_ids (which forces
> > recomputation).
> > # Defaults to undefined (unset).
> > #%_no_recompute_build_ids 1
> > 
> > # Whether .debug files should be made unique between package
> > version,
> > # release and architecture. If set to 1 this will pass
> > # --unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch} find-
> > debuginfo.sh
> > # to create debuginfo files which end in -<ver>-<rel>.<arch>.debug
> > # Requires _unique_build_ids.
> > %_unique_debug_names    1
> > 
> > # Whether the /usr/debug/src/<package> directories should be unique
> > between
> > # package version, release and architecture. If set to 1 this will
> > pass #
> > --unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}" to
> > #
> > find-debuginfo.sh to name the directory under /usr/debug/src as #
> > <name>-<ver>-<rel>.<arch>.
> > %_unique_debug_srcs     1
> > 
> > # Whether rpm should put debug source files into its own subpackage
> > #%_debugsource_packages 1
> > 
> > # Whether rpm should create extra debuginfo packages for each
> > subpackage
> > #%_debuginfo_subpackages 1
> > 
> > # Number of debugging information entries (DIEs) above which
> > # dwz will stop considering file for multifile optimizations
> > # and enter a low memory mode, in which it will optimize
> > # in about half the memory needed otherwise.
> > %_dwz_low_mem_die_limit          10000000
> > # Number of DIEs above which dwz will stop processing
> > # a file altogether.
> > %_dwz_max_die_limit              50000000
> > 
> > %_find_debuginfo_dwz_opts --run-dwz\\\
> >    --dwz-low-mem-die-limit %{_dwz_low_mem_die_limit}\\\
> >    --dwz-max-die-limit %{_dwz_max_die_limit}
> > 
> > If there are settings missing that would be useful, bugs with the
> > default settings or defaults that should be changed please do file
> > a bug
> > report.
> > 
> > Thanks,
> > 
> > Mark
> 
> _______________________________________________
> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx

- -- 
- -Igor Gnatenko
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEhLFO09aHZVqO+CM6aVcUvRu8X0wFAll4kUYACgkQaVcUvRu8
X0xOWhAAu5GGfH9ZsXzeZx/lARpVWsWzou+SiQ34ECzIu6wrWJXlc/l8xEXShSFI
Ye5lNtxOlsdACvI+IIsRplLG7NHPLoyX6593yYNS5TquUU6dSVIw2PH8wAy3uk00
mvO65HPlYyMsA9WK/MvcXVhdeCfPAJT9q0VxIrjrwpwa1nJbj4+gi8JEMqQSptPF
mgFEUa/HuE4rBb2kSQQDEfxOlcI7P39/FgmZf6eYqv7JwVWJ8S2vMgNnKU7gZvgP
oPSP7D52MHjZRJWUky3GtpyicNZafikpnt8iCJc1wItBeMl5uRm2zElqxPsEP7Sp
6pr7PKgDp1/B5XELyOfhsvEWCw4rVHzoWiuhyLqRcrGrNXLQbXCas9vKag1GLWDX
n+WutrsyxvMaRf9pGf4q+8RXEdpMlaMKgImigmK1FFCVcELhVkVF5jAs6VDr78Yp
rm82JQQ6OeFi55lj0Hl4aHT0cjYq34birfaJTreJ/VXGDbGb8IfEEvNqDetuX1gM
vl5VWfLZgCdgtX8JYrjxx7pSTZsZurw0UD+0sddvSYQlYAYF4lnRVPqL3wmhv5QK
P7U9xxdfKCM42s7qq20eexbgVPp0PB5/tvJrjL4AGviRQATrXY4NXKN0j7TKy04Q
oXHBmbBG4Co3gDEQt+OUcOIOMTMalkC+IuZpbwjM7hRww0j1qEo=
=UcUg
-----END PGP SIGNATURE-----
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux