IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Terminate build if stripped ELF files are found. Usage:
%define _stripped_files_terminate_build 1
Formatting suggestions by Dmitry V. Levin <ldv@altlinux.org>.
Actually, `.debug_line` section is checked (implicitly by debugedit)
which should go together with all `.debug_*` sections. This
simplification will make check faster.
Note: Only non-stripped binaries are checked.
Spelling fixes, usage of `Warning' function, and redirect to stderr is
suggested by Dmitry V. Levin <ldv@altlinux.org>.
Do not try to process ELF relocatable objects that are not kernel
modules, this fixes the following regression:
/usr/lib/rpm/debugedit: ./usr/lib64/gcc/x86_64-alt-linux/9/crtfastmath.o: DWARF version 0 unhandled
objdump: ./usr/lib64/gcc/x86_64-alt-linux/9/crtfastmath.o: bad value
verify-elf: ERROR: ./usr/lib64/gcc/x86_64-alt-linux/9/crtfastmath.o: objdump failed
Fixes: 7aa048df38 ("Generate debuginfo for kernel packages")
- Support uncompressed (std-def) and compressed (un-def) modules. Also,
support xz(1) compression if we'd switch to it.
- If module is uncompressed it stays in the kernel-image rpm, if it's
compressed then uncompressed module goes into /usr/lib/debug tree and
will be in debuginfo rpm. Compressed modules will be re-compressed after
stripping.
- vmlinuz binary triggers extraction of vmlinux from the kernel-source
tree, and it's then placed into /usr/lib/debug tree, then processed and
stripped as usual.
- Logic of processing of vmlinux binary for domU packages is not changed.
Some flavours do not even pack it. Thus, do not remove your
`%brp_strip_none'.
- Output of file(1) for vmlinuz is only parsed for filename, because, on
different architectures it detects completely different things.
- Debug files are compressed with `eu-elfcompress'.
- You still need to enable `CONFIG_DEBUG_INFO=y' in for `.config'.
No other changes to spec should be needed.
Thanks to Nikita Ermakov for starting this work.
When scanning files for deps, debuginfo, fixup, and verify_elf,
ignore files with type that matches "ELF * shared object, no machine, *"
pattern.
These are ELF files generated by GNU Guile, ignore them for now.
Note that 'sh -e' mode is unreliable when the last pipeline command
is non-simple command (such as while loop). So the script was somehow
failing on hardlinks and it went unnoticed. I choose to replace
pipe-to-while with a temporary file for now.
This finally provides missing strip controls. Note that even with
STRIP_NONE, the file will be edited with debugedit. So there is no
way to bypass brp-debuginfo completely (and maybe we should tolerate
debugedit failures with STRIP_NONE). But there is also an advantage:
/usr/src/debug sources will be installed even for non-stripped files!
This is why sources are now associated with .debuginfo/src/"$f"
instead of .debuginfo/src/"$debugf".
- debugedit.c: Imported from rpm.org.
- brp-debuginfo: Initial revision, replaces brp-strip.
- verify-elf: Do not descend into /usr/lib/debug.
- build/checkFiles.c: Skip /usr/lib/debug and /usr/src/debug for now.
- platform.in: Always use -g in %optflags.