Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
- it's only needed locally inside PSM_PROCESS on PSM_INSTALL
|
|
|
|
|
|
- fixes a small memleak
|
|
|
|
- remove ancient and likely irrelevant LCL comments and bogus NULL checks
|
|
This fixes a memory corruption due to write access out of
bounds of token array, whose size was computed incorrectly.
It was assumed that only '%' characters separate tokens,
which could lead to crashes on useless uses of '[' tokens,
such as "rpm -qa --qf '[]lalala'".
|
|
- if lead read returns short without it being an IO error, treat it
as a case of "not an rpm package"
|
|
- query and install options clash, use popt callback to enable processing
|
|
|
|
|
|
- otherwise at least rpm --initdb can fail due to transaction locking failing
|
|
- at the time relocation problems are added, ts problem set is NULL
and rpmtsCheck() wipes it out anyway so the problems from relocation
are never seen anywhere
- The header isn't available at transaction prepare stage where most
problems are checked for, so we can't validate the prefixes at that
point. Add a per-element problem set to carry the problem data and
merge it to ts problem set when checking for other problem types.
|
|
- pretty much everything else in rpm returns NULL from unreference functions,
make be more consistent here...
- also tolerate NULL in both reference and unreference
|
|
|
|
- excluded paths aren't counted as actual relocations, dont bother
checkig addPrefixes() return
|
|
|
|
|
|
- simplifies headerGet() & friends a bit and reduces redundancy
- also just return an error instead of dying with assert on NULL td argument
|
|
|
|
- the tl calculation has been unused since commit
5994a308bc062fff53ff0184b8dea15d19fcfb63 in 2001 and we dont even
read rpm 2.x packages anyway...
|
|
- we dont even read packages from the "8/98 bug" era anymore, hardly relevant
|
|
- disable dependency caching on chrooted verify to avoid ugly spew
from paths containing outside paths while we're actually inside the
root during verification
- correct fix would be to fix the temporary db path calculation
|
|
- requiring every caller to handle this separately, violating header type
opaqueness in the process, doesn't seem that bright an idea
- also fix a memleak on signature header read in case of failure
|
|
- no point going to fs if there are no matching files in the rpmdb
- use allMatches count as size hint to fingerprint cache instead of
arbitrary 20
|
|
|
|
- if it doesn't crash, it can cause rpmdb provided file not seen in chroot,
the other half of RhBug:506323
- streamline exit points to enable freeing allocated resources sanely
|
|
fixes rhbz#505777
|
|
|
|
- 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...
|
|
|
|
- other src.rpm dependencies are only relevant for building, but rpmlib
features can affect src.rpm "install" too, such as unsupported file
digests, payload compressors etc
|
|
- shouldn't be needed anyway anymore as package of preferred color should get
always installed first, and the issue is solvable in packaging anyway
|
|
|
|
|
|
- Instead of blindly picking the first match, try to pick the best provider
for the dependency: for colored dependencies, try to find a provider of
matching color. For non-colored dependencies, prefer providers of
transaction preferred color.
- This avoids creating bogus and loopy relations between 32- and 64-bit packages
where they dont exist, and makes behavior with things like /sbin/ldconfig
consistent by returning the preferred colored element.
|
|
|
|
|
|
|
|
- initialize on declaration
- remove unused code
|
|
- rpmdsInit() and rpmdsNext() can handle NULL ds correctly, dont bother
separately checking here
- te type doesn't change inside rpmdsNext() iteration
- added vs installed difference is handled inside addRelation(), otherwise
the cases here are identical except for the al
|
|
|
|
|
|
- this gives close enough semantics for packages that rely on old
PreReq behavior (eg RHEL 4-5 package set ordering is completely broken
without such mapping)
|
|
- long long time ago the PREREQ bit was also turned on for scriptlet
dependencies etc, this is no longer the case so the old mask doesn't work
- build part is not affected by the mask change as we never set
PREREQ bit by ourselves
|
|
|
|
- Detect strongly connected components (SCCs) using Tarjan's SCC algorithm
- Use Dijkstra's algorithm to find the best relations to zap
- Add forward relations for the Dijkstra's algorithm
- Separate the per package ordering data and the relations
|
|
|