Age | Commit message (Collapse) | Author | Files | Lines |
|
- without this the build can barf on unresolved dl* symbols with a
linker defaulting to --no-add-needed
|
|
This patch adds a generic plugin, exec.so, that should be sufficient for the
majority of Collection actions. After all packages in a Collection have been
installed/removed, this plugin executes the arguments by calling system(3),
allowing for a very generic and powerful method to perform many actions.
This also adds two sample macros as examples of the format, using the exec.so
plugin.
|
|
- replace unused feature tests in configure.ac with a simple version check
|
|
- we dont want anything to do with System V IPC, really... BDB uses
file backed mmap when it needs, this suits us just fine
|
|
- move most of the hardwired classification logic from rpmfc C-code
to macro-based configuration, supporting drop-in addition of arbitrary
new attributes + dependency extractors based on regex matching of
libmagic file types and paths
- just the initial rough conversion of our built-in dependency types,
various open questions + todo-items remain, plus likely fair amount
of more-or-less subtle breakage
|
|
- Elf dependency extraction code code lifted from rpmfcELF() and refactored
to saner pieces. Having it in separate executable also frees librpmbuild
of libelf dependency, clean up the unnecessary linkage etc from
autofoo
- This lets internal dependency generator for elf files be
overridden without losing file coloring (which is required for
correct multilib handling). It also permits non-native elf files
(eg when cross-building) to be handled by providing a custom
elf dependency helper
- On the flip side, this inevitably slows down builds somewhat as
two fork-exec's are needed for every elf file, but unlike invoking
something like the python interpreter, this is a slim helper...
- All dependency extractors of the internal dependency generator are now
external helpers (how twisted is that, huh? :) and thus can be customized
and filtered through %__foo_provides|requires macros
|
|
|
|
|
|
|
|
- <string.h> is required by C standard, we dont support ancient
non-conformant compilers anyway
|
|
- all uses of dgettext() and friends are already protected by
appropriate ifdef's, no need to provide dummy defines here
- setlocale() and <locale.h> are required by C89, C99 and POSIX .. assume
its there and if not, one can disable the whole thing with --disable-nls
|
|
- no point conditionalizing what we cant live without
|
|
- just two places where needed, dont pollute system.h needlessly
- include depending on HAVE_MMAP instead of separately checking for
sys/mman.h, if sys/mman.h doesn't exist or is broken HAVE_MMAP wont be set
|
|
- the AC_HEADER_TIME check is unnecessary for any remotely recent systems,
and the HAVE_SYS_TIME_H conditional in system.h is just broken as we
dont even check for <sys/time.h> header in configure
- dont include from system.h, the time.h and sys/time.h get already
included through our public headers where necessary
|
|
- there's no fallback for missing netdb.h so there's little point
conditionalizing it
- avoid yet more system.h pollution
|
|
- vprintf(), vsnprintf() and snprintf() are in C99, no point checking
especially as we dont have fallbacks for them
- no point testing for inline capability as we dont try to work around
|
|
- whole lotta unnecessary wankery here (what have I been thinking)
- avoid using the non-standard strndup(), we checked for it in configure
but didn't provide an alternative so checking was just bogus
|
|
|
|
- move the includes out of system.h, not commonly needed
- <poll.h> is conditional as we actually provide a fallback through select(),
but for <sys/select.h> missing there's no fallback so doesn't make
much sense to test for (and both poll.h and sys/select.h are posix anyway...)
|
|
- maybe these have been used at some point but not anymore...
|
|
- this was used by _fixowner and _fixgroup macros back in the day but they
no longer exist as they're unusable without building as root
|
|
- this stuff has been disabled for years, lets see what breaks...
|
|
- a leftover from pre-C99 requirement times
|
|
- these are specified by POSIX 2001, it's not really rpm's job to
provide them if the system doesn't
|
|
- lchown() is POSIX 2001, we dont care about older / nonconformant stuff
|
|
|
|
- we're not particularly interested in AmigaOS quirks from 1996
|
|
- getwd(), getcwd(), basename() and realpath() are all POSIX 2001
defined, we dont care about older stuff
|
|
- setenv() and unsetenv() are required by POSIX 2001, we dont care about
older systems
|
|
- only the lua posix extension "uses" this by providing putenv()
to Lua, make it conditional and return error if not supported by
the underlying operating system
|
|
- realloc(NULL, size) is defined as equal to malloc(size) in C99 and
POSIX 2001, we dont care about anything older than that
|
|
- rpm requires C99 compiler anyway, no point in carrying these around
|
|
- no much point conditionalizing something we can't live without
- just three places need, no point polluting include space everywhere
|
|
|
|
- no much point conditionalizing something we can't live without
- just two places need, no point polluting include space everywhere
|
|
|
|
|
|
- some of this stuff was used in 4.4.x but not anymore
- additionally we dont even use getdomainnname(), check for gethostname()
instead
|
|
- for rpmbuild's purposes MKDIR_P doesn't cut it though, we need to
point it to something that exists on an installed system
|
|
|
|
Also remove abstraction layer between rpmdb.h and the back end
in lib/backend/
|
|
|
|
- Python >= 2.6 is known to work, 2.5 might be possible with __future__
imports but until somebody tests it...
|
|
- on selinux enabled systems, 'ls -l' mode string is longer than
expected here, just trim the ls output to our expected length
|
|
|
|
- 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ä
|
|
|
|
- ...to help protect against screwups like
2ee45ef12aaa958b78c56b6d83bb18aa6a477d15
|
|
|
|
- what we support now in payloads is XZ, not the former LZMA format, rename
user- and header-visible parts to match this
- rpmlib(PayloadIsXz) dependency versioned 5.2-1 to avoid unnecessary
incompatibility with what rpm5 has and what Mandriva is already using
- only provide the rpmlib dependency if actually built with xz support
- rpmFileIsCompressed() attempts to guess the magicless old lzma format
by file suffix, so it can handle both right now
|