rpm
5.4.14
|
Structures used for managing added/available package lists. More...
Go to the source code of this file.
Macros | |
#define | RPMAL_NOMATCH ((alKey)-1L) |
#define | rpmalUnlink(_al, _msg) ((rpmal)rpmioUnlinkPoolItem((rpmioItem)(_al), _msg, __FILE__, __LINE__)) |
#define | rpmalLink(_al, _msg) ((rpmal)rpmioLinkPoolItem((rpmioItem)(_al), _msg, __FILE__, __LINE__)) |
#define | rpmalFree(_al) ((rpmal)rpmioFreePoolItem((rpmioItem)(_al), __FUNCTION__, __FILE__, __LINE__)) |
Typedefs | |
typedef int | alNum |
An added/available package retrieval index. More... | |
typedef struct rpmal_s * | rpmal |
Functions | |
rpmal | rpmalUnlink (rpmal al, const char *msg) |
Unreference available list. More... | |
rpmal | rpmalLink (rpmal al, const char *msg) |
Reference available list. More... | |
rpmal | rpmalFree (rpmal al) |
Destroy available list. More... | |
rpmal | rpmalNew (int delta) |
Initialize available list. More... | |
void | rpmalDel (rpmal al, alKey pkgKey) |
Delete package from available list. More... | |
alKey | rpmalAdd (rpmal *alistp, alKey pkgKey, fnpyKey key, rpmds provides, rpmfi fi, rpmuint32_t tscolor) |
Add package to available list. More... | |
void | rpmalAddProvides (rpmal al, alKey pkgKey, rpmds provides, rpmuint32_t tscolor) |
Add package provides to available list index. More... | |
void | rpmalMakeIndex (rpmal al) |
Generate index for available list. More... | |
fnpyKey * | rpmalAllFileSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp) |
Check added package file lists for package(s) that provide a file. More... | |
fnpyKey * | rpmalAllSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp) |
Check added package file lists for package(s) that have a provide. More... | |
fnpyKey | rpmalSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp) |
Check added package file lists for first package that has a provide. More... | |
Variables | |
int | _rpmal_debug |
Structures used for managing added/available package lists.
Definition in file rpmal.h.
#define RPMAL_NOMATCH ((alKey)-1L) |
Definition at line 17 of file rpmal.h.
Referenced by init_rpm(), rpmalAdd(), rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmteAddedKey(), rpmteSetAddedKey(), rpmtsAddEraseElement(), rpmtsAddInstallElement(), and rpmtsEraseDebuginfo().
#define rpmalFree | ( | _al | ) | ((rpmal)rpmioFreePoolItem((rpmioItem)(_al), __FUNCTION__, __FILE__, __LINE__)) |
#define rpmalLink | ( | _al, | |
_msg | |||
) | ((rpmal)rpmioLinkPoolItem((rpmioItem)(_al), _msg, __FILE__, __LINE__)) |
#define rpmalUnlink | ( | _al, | |
_msg | |||
) | ((rpmal)rpmioUnlinkPoolItem((rpmioItem)(_al), _msg, __FILE__, __LINE__)) |
alKey rpmalAdd | ( | rpmal * | alistp, |
alKey | pkgKey, | ||
fnpyKey | key, | ||
rpmds | provides, | ||
rpmfi | fi, | ||
rpmuint32_t | tscolor | ||
) |
Add package to available list.
alistp | address of available list |
pkgKey | package key, RPMAL_NOMATCH to force an append |
key | associated file name/python object |
provides | provides dependency set |
fi | file info set |
tscolor | transaction color bits |
Definition at line 222 of file rpmal.c.
References alKey2Num(), rpmal_s::alloced, assert(), availablePackage_s::bf, rpmal_s::delta, availablePackage_s::fi, availablePackage_s::key, key, rpmal_s::list, NULL, availablePackage_s::provides, RPMAL_NOMATCH, rpmalDel(), rpmalFreeIndex(), rpmalNew(), rpmdsLink(), rpmfiFNBF(), rpmfiLink(), rpmal_s::size, size, availablePackage_s::tscolor, and xrealloc.
Referenced by rpmtsAddInstallElement().
void rpmalAddProvides | ( | rpmal | al, |
alKey | pkgKey, | ||
rpmds | provides, | ||
rpmuint32_t | tscolor | ||
) |
Add package provides to available list index.
al | available list |
pkgKey | package key |
provides | added package provides |
tscolor | transaction color bits |
Definition at line 287 of file rpmal.c.
References alKey2Num(), assert(), availableIndexEntry_s::entry, availableIndexEntry_s::entryIx, availableIndexEntry_s::entryLen, IET_PROVIDES, availableIndex_s::index, rpmal_s::index, ix, availableIndex_s::k, NULL, pkgKey, availableIndexEntry_s::pkgKey, rpmdsColor(), rpmdsInit(), rpmdsIx(), rpmdsNext(), availableIndex_s::size, rpmal_s::size, and availableIndexEntry_s::type.
Referenced by rpmalMakeIndex().
Check added package file lists for package(s) that provide a file.
al | available list |
ds | dependency set |
keyp | added package key pointer (or NULL) |
Definition at line 360 of file rpmal.c.
References _, alNum2Key(), availablePackage_s::bf, exit, availablePackage_s::fi, fn, i, int, j, availablePackage_s::key, rpmal_s::list, NULL, ret, RPMAL_NOMATCH, rpmdsN(), rpmdsNotify(), rpmlog(), RPMLOG_DEBUG, rpmal_s::size, stpcpy(), strcmp(), urlPath(), void, and xrealloc.
Referenced by rpmalAllSatisfiesDepend().
Check added package file lists for package(s) that have a provide.
al | available list |
ds | dependency set |
keyp | added package key pointer (or NULL) |
Definition at line 419 of file rpmal.c.
References _, _free(), alKey2Num(), alloca(), availableIndexEntry_s::entry, availableIndexEntry_s::entryIx, availableIndexEntry_s::entryLen, exit, IET_PROVIDES, availableIndex_s::index, rpmal_s::index, indexcmp(), availablePackage_s::key, rpmal_s::list, memset(), NULL, availableIndexEntry_s::pkgKey, availablePackage_s::provides, rc, ret, RPMAL_NOMATCH, rpmalAllFileSatisfiesDepend(), rpmdsCompare(), rpmdsIx(), rpmdsN(), rpmdsNext(), rpmdsNotify(), rpmdsSetIx(), availableIndex_s::size, availableIndexEntry_s::type, void, and xrealloc.
Referenced by checkPackageDeps(), rpmalSatisfiesDepend(), and rpmtsAvailable().
Delete package from available list.
al | available list |
pkgKey | package key |
Definition at line 201 of file rpmal.c.
References alKey2Num(), availablePackage_s::bf, availablePackage_s::fi, rpmal_s::list, memset(), NULL, availablePackage_s::provides, rpmdsFree(), rpmfiFree(), and void.
Referenced by rpmalAdd().
Destroy available list.
al | available list |
Referenced by rpmtsClean(), and rpmtsFini().
Reference available list.
al | available list |
msg |
Referenced by rpmalNew().
Generate index for available list.
al | available list |
Definition at line 330 of file rpmal.c.
References alNum2Key(), i, availableIndex_s::index, rpmal_s::index, indexcmp(), availableIndex_s::k, rpmal_s::list, NULL, availablePackage_s::provides, qsort(), rpmalAddProvides(), rpmdsCount(), availableIndex_s::size, rpmal_s::size, availablePackage_s::tscolor, and xrealloc.
Referenced by _rpmtsCheck(), and unsatisfiedDepend().
Initialize available list.
delta | no. of entries to add on each realloc |
Definition at line 185 of file rpmal.c.
References rpmal_s::alloced, rpmal_s::delta, availableIndex_s::index, rpmal_s::index, rpmal_s::list, NULL, rpmalGetPool(), rpmalLink(), availableIndex_s::size, rpmal_s::size, and xcalloc().
Referenced by rpmalAdd().
Check added package file lists for first package that has a provide.
al | available list |
ds | dependency set |
keyp | added package key pointer (or NULL) |
Definition at line 511 of file rpmal.c.
References NULL, ret, and rpmalAllSatisfiesDepend().
Referenced by unsatisfiedDepend().
Unreference available list.
al | available list |
msg |