- 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
- hardlink identical .pyc and .pyo files to same some space
- not enabled by default
- originally from Ville Skyttä for redhat-rpm-config but the functionality
is not specific to Fedora or derivates in any way
- If a pattern doesn't match, we'd prefer an empty list instead of
unexpanded garbage thank you... nullglob shell option is just what the
doctor ordered but unfortunately its a bash-specific thing. Otoh there
are number of other bash-specific scripts in rpm so probably not
much of an issue...
- For *.py files in python library path, use matching python interpreter
version for compiling, this is especially needed for Python 3 which
is very different from Python 2 code. And even if the code compiled
with a wrong version, it would be recompiled at run-time when invoked
with the intended python version, causing verification errors etc.
- For *.py files outside the library path, use "system python" which
might not be always correct but we dont really know any better.
- Patch from David Malcolm
- print chanced from statement to a function in python 3, for our
purposes sys.stdout.write() is sufficient and avoids dealing with
the incompatibilities between Python 2.x and 3.x
- suggested by David Malcolm / Ville Skyttä
- OCaml seems to have fairly well detectable magic in its files, nice
- Dont call the regular find-requires from the scripts now that internal
is working
This version is stricter in finding the end identifier by using equality test
instead of a regex (as a side effect, fixes rhbz#524929) as well as parsing
quoted identifiers, and adds support for identifiers in backticks.
- This patch fix some minor bug, remove unused code and increase drastically
the perf by threading execution of tasks and using zip command instead of
jar to get meta-data
- extract mime handler capabilities from application .desktop files
- extract font family names and supported languages from font files
- both are used by PackageKit for on-demand installing of fonts and
applications, but are useful for other things too