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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
- platform.in:
+ %_smp_mflags: changed to use %__nprocs;
+ added -O option to MAKEFLAGS.
- installplatform, rpmrc.in: made armv8l compatible with armh (by Sergey Bolshakov).
glibc-2.26~154 changed behaviour of "getconf _NPROCESSORS_ONLN":
it now returns 2 instead of 1 when /proc is not mounted.
Change %_smp_mflags to use %__nprocs that is set to 1 when /proc
is not available.
- compare_deps: fixed a bug in handling epochs.
- platform.in:
+ %optflags_core: added -frecord-gcc-switches (see: #34162);
+ %make_build: implemented as a simple command (closes: #34237).
- genCpioListAndHeader: implemented remapping of device and inode numbers
(by Vladimir D. Seleznev and me; closes: #34398).
gcc -frecord-gcc-switches adds .GCC.command.line section to each
generated ELF file. These sections have the same type (PROGBITS) and
flags (MERGE, STRINGS) as .comment sections. Like .comment sections,
.GCC.command.line sections are moved to .debug files by debugedit.
New implementation allows to invoke %make_build with a variable
assignments, e.g. LD_LIBRARY_PATH=.libs %make_build check.
A side effect of old %make_build was initialization of NPROCS
environment variable. New %make_build no longer initializes NPROCS,
but, according to specfile scan made by Igor Vlasenko, packages
in Sisyphus do not rely on NPROCS being initialized by %make_build.
Add a brp interface for checking contents of files in buildroot.
The initial revision of brp-check_contents scripts checks
for suspicious path names like /var/lib/run, complementing
the change introduced in sisyphus_check-0.8.43-alt1.
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.
[4.0.4-alt102]
+ verify-elf: fixed passing of LD_PRELOAD in verify_unresolved.
[4.0.4-alt101]
+ verify-elf: made verify_lfs check shared objects too.
+ Relaxed check for gcc package name in {cpp,pkgconfiglib}.req generators.
[4.0.4-alt100.99]
+ Updated generator of non-LFS functions list.
[4.0.4-alt100.97]
+ fixup-libraries: fixed recognition of PIEs (ldv@).
+ verify-elf: treat PIEs as executables in the check for unresolved symbols (ldv@).
In verify_unresolved(), do not preload requested objects to $elf_ldd
directly because the latter is not an ELF interpreter but a shell
script. Instead, pass the list of objects that have to be preloaded
to $elf_ldd script which in turn assigns it to LD_PRELOAD variable
in the ELF interpreter invocation.
In file included from /usr/include/string.h:648:0,
from ../system.h:76,
from rpmio.c:6:
In function 'strncat',
inlined from 'Fdopen' at rpmio.c:3473:5:
/usr/include/bits/string3.h:158:10: warning: call to __builtin___strncat_chk might overflow destination buffer
return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
Previously, verify_lfs checked if object has valid interpreter, but it
doesn't make sense in case of shared objects. verify_lfs check is valid
for all ELFs linked with libraries supporting both LFS and non-LFS API
(libc.so and libz.so in our case).
In verify_unresolved(), do not preload requested objects to $elf_ldd
directly because the latter is not an ELF interpreter but a shell
script. Instead, pass the list of objects that have to be preloaded
to $elf_ldd script which in turn assigns it to LD_PRELOAD variable
in the ELF interpreter invocation.
In file included from /usr/include/string.h:648:0,
from ../system.h:76,
from rpmio.c:6:
In function 'strncat',
inlined from 'Fdopen' at rpmio.c:3473:5:
/usr/include/bits/string3.h:158:10: warning: call to __builtin___strncat_chk might overflow destination buffer
return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
Previously, verify_lfs checked if object has valid interpreter, but it
doesn't make sense in case of shared objects. verify_lfs check is valid
for all ELFs linked with libraries supporting both LFS and non-LFS API
(libc.so and libz.so in our case).
Previously (according to the exit statuses):
0. if something strange was found in $rpath, an error was reported;
1. if nothing strange was found, no error was reported;
2. if grep failed, it looked like the previous case and no error was
reported (as if $rpath was valid).
Now, the pipe (and the whole script) would abort on grep's failure.
Now, if something fails, the pipe (and the function, and the whole
script) will fail.
If the exit codes are normal, they are handled according to our logic.
Previously, a failure (which is an exceptional rare case) would lead to:
1. skipping the further exe_stack check and error_strict STACK "$f" 'STACK entry not found'
2. silently skipping the exe_stack check (which was impossible anyway because of the failure)
The pipe (and the function, and the whole script) would fail when the
resulting constructed rpath was empty. But usually at least
$RPM_VERIFY_ELF_LDD_RPATH is not empty, so the bad behavior has not
been observed.
- fixup-libraries: fixed recognition of PIEs (ldv@).
- verify-elf: treat PIEs as executables in the check for unresolved symbols (ldv@).
- Disabled rpm's installer part.
- Built rpm-build in "compat" mode with rpm-4.13.