- In gawk >= 4.0.x printf() "adjusts" things according to current locale,
but we need the data as it is. Forcing C locale prevents gawk from
getting funny ideas about character conversions...
- The previous rules far too specific to glibc + gcc with certain
optimization levels, eg relying on parse_auxv() getting inlined
and when it does not, the suppression rules would no longer match.
- valgrind is not happy about us now processing /proc/self/auxv on Linux,
this can be used to suppress the false positives when running
rpm under valgrind. At least until a better solution is found or
valgrind is taught to treat /proc/self/auxv specially (see
https://bugs.kde.org/show_bug.cgi?id=253519)
- /usr/lib/rpm/perl.req scans for the opening brace type on lines, but
then only scans for closing curly braces ('}') instead of the proper
losing brace type when that closing brace occures on a different line.
This means that any use/require statements that occur after the
multi-line q{} statement but before the first closing curly brace in
the file will be ignored.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
- This patch adds quotes around $RPM_BUILD_ROOT in places that I noticed
they were missing, and attempts to handle some of the problems that can
occur when looping over the output of find.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
- This is a new option to eu-strip that strips out/resolves relocations
between .debug_* elf sections in ET_REL files. This can save a lot of
space for kernel module.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Test case from DOM.pm (perl-CSS-DOM 0.13):
use # to keep CPANTS happy :-)
strict;
use # same here
warnings;
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
- The support for --print-requires|provides was only upstreamed in
pkg-config 0.24, prior to that it relied on distros patching their
pkg-config. Rpm relying on non-upstream stuff is not good...
Now that it's upstream we can make a clean break and simply not
even try to generate the dependencies with anything older.
- The upstreamed version behaves slightly differently from what distros
were patching with, for rpm's purposes we also want
--print-requires-private now.
- The find-debuginfo.sh script makes hard links of .debug files to
correspond to hard links between install binaries. It can fail to
create one of these .debug hard links if it's in a directory that
didn't exist at that point in the script run. How this happens
depends on things like the order "find" lists files, so it can
be hard to reproduce off hand.
- if fonts are detected in the package being built but fc-query isn't
present, the script exited without consuming stdin which can break
getOutputFrom()
- More modern tools for diffing rpms exist, ones that use librpm
instead of trying to parse the lowlevel header structures and tags
by themselves. Nobody appears to use these scripts as they've been
dysfunctional since eons ago, might as well drop them off.
Requires the "version" module installed (perl >= 5.9 or separately), falls
back to the previous "output first versioned one found" behavior if it is
not available.
- With "#!/usr/bin/env <interpreter>" shebang directives, rpm previously
only added a dependency for /usr/bin/env, completely missing the
actual interpreter. If the interpreter happens to be an absolute path, we
can just add it as is.
- Patch originally from Ville Skyttä
- No functional changes, just making more obvious mapping between
attributes and the dependency extractor names. This also leaves the
term "interpreter" free for use for the actual interpreters, such
as interpreter(python) provides if we go that way (ticket #136).
Drop dead code, comment fixes, weed out duplicate dependencies to perl
(done by rpm itself anyway, but does not hurt to do it already on this
level for cleaner results when testing).
- permit overriding/customization of script interepreter dependencies
- unlike the C-version, the interpreter.req only looks at the first line
for shebang: libmagic only looks at the first line too, so anything
else will never get classified as scripts in the first place
- fix incorrect paths (eg /site-packages/filename.py instead of
/usr/lib/pythonX.Y/site-packages/filename.py) ending up in bytecode
- add a "strict" mode where byte-compilation errors will abort the build
- when in non-strict mode, byte-compile everything we can instead of
bailing out at first error
- patch originally from Toshio Kuratomi, slightly changed to preserve
the original order of arguments to avoid unnecessary incompatibilities