-----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(a)lists.fedoraproject.org
To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org
- --
- -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-----