Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
- some packages in the wild have rpmlib() requires without the flag set
due to older rpm not always setting it (for one, rpmdeps as external
dependency generator could cause such deps), causing bogus dependency
failures on install
- only fix up dependencies coming from a header, rpmdsSingle() correctness
is up to the caller
|
|
- rpmdsInit() only returns NULL if passed NULL, which can't happen
as ods is already verified to be non-NULL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- avoids useless string churning on rpmdsNext() when most paths dont
actually use the DNEVR string for anything
- make sure DNEVR is freed whenever iterator index changes
|
|
- might've been useful back in the day but...
|
|
- rpmdsNotify() which does nothing but generate RPMLOG_DEBUG messages
gets called often enough that avoiding the unnecessary
rpmlog() and strcmp() calls is easily visible in wallclock times
|
|
|
|
|
|
- "lzma alone" is superseeded by XZ but it's used by Suse and Mandriva
distros so it's nice to have as it doesn't need much, only open differs
from XZ
- rpmlib() dependency versions are an uuuuuuuugly mess here: Suse used
"PayloadIsLzma = 4.4.2-1" so that's what we provide to be most compatible
(hopefully). Built packages require "PayloadIsLzma <= 4.4.6-1" however
to be compatible with Mandriva 2008.0. Did I already say it's ugly?
- Based on similar patch in Mandriva by Per Øyvind Karlsen, but avoiding
unnecessary renames in rpmio
|
|
- 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
|
|
- add %verify(nofiledigest) as %verify(nomd5) file attribute alias
- reference digests as digests not checksums
- make old md5 related symbols obsolete and use newer reference
- update man page accordingly
|
|
- same as 94552b96256c3620b4be407c501d0d926c081963, apt-rpm expects to
pass empty version as NULL to rpmdsSingle()
|
|
- should've really been in commit 1f6ad324dbf4bebec905ddbb76d274345673a5b3,
the tag adjustment is an incompatible change from what was in
rpm 4.6.0-rc's, ugh
|
|
- Related to ticket #22, this fixes rpmdsMerge() on data grabbed from
header. Prior to this, the following would blow up with memory corruption
as headerGet() string array wasn't NULL-terminated
rpmds d1 = rpmdsNew(h, RPMTAG_REQUIRENAME, 0);
rpmds d2 = rpmdsSingle(RPMTAG_REQUIRENAME, "foo", "1", 0);
rpmdsMerge(&d1, d2);
|
|
- use rpmdsDupArgv() instead of cloning headerGet() behavior to fix this for
rpmdsSingle() and rpmdsThis() generated dependency sets
- this is a regression from rpm 4.4.x, but for rpmdsNew() created sets
rpmdsMerge() has never worked as headerGet() doesn't return NULL
terminated arrays
|
|
- unnecessary complication which doesn't benefit anything (anymore)
|
|
- no functional changes
|
|
- Parse %caps() from spec filelists, making best-guess verification of
capability string sanity by passing to cap_from_text()
- The posix draft specifies capability export presentation through
cap_copy_ext() which would be fine, except that we don't have support for
arrays of binary data. So we simply store the textual representation
of the capabilities in a string array which we do have.
- Only add capability tag on packages which actually have capabilities to
avoid unnecessary header bloat.
- Add a new rpmlib() dependency for file capabilities, packages relying
on file capabilities wont work correctly unless the capabilities are set.
To be fully correct, support for on-filesystem file capabilities should
be checked at runtime, as this depends on kernel versions and such...
|
|
- Of four different ways to create a dependency set, only rpmdsNew()
explicitly set ds->nopromote to the expected value from global
_rpmds_nopromote defaulting to on. All others fell back to legacy
"epoch promotion" behavior inherited from xcalloc()...
|
|
- we know names and evrs are string arrays, if they're not we're screwed
anyway, and flags need to be freed if header is not around
- there goes hfd() too...
|
|
- take advantage of HEADERGET_ALLOC to avoid manually duplicating Flags
- otherwise just dumb minimal conversion for now, rpmds could make use
of rpmtd iteration etc but leaving that for later...
|
|
- at least apt-rpm expects to pass empty version as NULL to rpmdsSingle(),
don't blow up...
|
|
- if not specified (or 0), quietly assume MD5
- otherwise check for supported digest type, complain and fall back to
md5 on invalid
- if non-md5 algorithm is used, add rpmlib() feature dependency to package
|
|
|
|
|
|
|
|
- use rasprintf() to construct [e:]v-r string instead of stpcpy games
- use str2hge() for N + EVR
|
|
- previously a ds created by rpmdsSingle() would turn invalid as soon as
the N and EVR strings were freed by caller (or went out of scope), ick
- convert the N + EVR strings passed to rpmdsSingle() to similar construct
as is returned by headerGetEntry so headerFreeData will free both the
pointers + contents.
|
|
|
|
|
|
- dont waste translator time by having them translate obscure debug messages
- adjust some suspect looking logging levels
- mark some non-debug messages for translation where missing..
|
|
|
|
- cast away a few cases where the enum usage causes ridiculous amount
of compiler warnings from unhandled switch-cases
|
|
- RPM_MASK_TYPE is not a datatype, move it out of the enum
- add missing cases python header handling to shut up gcc
|
|
|
|
- rpmlib provides as rpmds, lose the special case hackery
- new functions rpmdsRpmlib() and rpmdsSearch() + python bindings for them
|
|
|
|
- easy to spot, easy to change...
- time_t size can vary, header data needs fixed size
|
|
- put some consistency into include ordering
- everything (apart from bits missed ;) is now ordered like this
1. "system.h"
2. other system includes
3. rpm public headers
4. rpm private headers
5. "debug.h"
|
|
|
|
- explicitly include what's really needed instead
- document remaining uses
|
|
- consistent, easy to grep for and change...
- bogus consts removed where spotted
|
|
- in both cases the data is already directly inaccessible from outside,
no further protection necessary
|
|
|