#include "system.h"
#include <rpmlib.h>
#include "rpmal.h"
#include "rpmds.h"
#include "rpmfi.h"
#include "debug.h"
Include dependency graph for rpmal.c:
Go to the source code of this file.
Data Structures | |
struct | availablePackage_s |
Info about a single package to be installed. More... | |
struct | availableIndexEntry_s |
A single available item (e.g. More... | |
struct | availableIndex_s |
Index of all available items. More... | |
struct | fileIndexEntry_s |
A file to be installed/removed. More... | |
struct | dirInfo_s |
A directory to be installed/removed. More... | |
struct | rpmal_s |
Set of available packages, items, and directories. More... | |
Defines | |
#define | _RPMDS_INTERNAL |
Typedefs | |
typedef availablePackage_s * | availablePackage |
typedef availableIndexEntry_s * | availableIndexEntry |
typedef availableIndex_s * | availableIndex |
typedef fileIndexEntry_s * | fileIndexEntry |
typedef dirInfo_s * | dirInfo |
Functions | |
static void | rpmalFreeIndex (rpmal al) |
Destroy available item index. | |
static alNum | alKey2Num (const rpmal al, alKey pkgKey) |
static alKey | alNum2Key (const rpmal al, alNum pkgNum) |
rpmal | rpmalCreate (int delta) |
Initialize available packckages, items, and directory list. | |
rpmal | rpmalFree (rpmal al) |
Free available packages, items, and directory members. | |
static int | dieCompare (const void *one, const void *two) |
Compare two directory info entries by name (qsort/bsearch). | |
static int | fieCompare (const void *one, const void *two) |
Compare two file info entries by name (qsort/bsearch). | |
void | rpmalDel (rpmal al, alKey pkgKey) |
Delete package from available list. | |
alKey | rpmalAdd (rpmal *alistp, alKey pkgKey, fnpyKey key, rpmds provides, rpmfi fi, uint_32 tscolor) |
Add package to available list. | |
static int | indexcmp (const void *one, const void *two) |
Compare two available index entries by name (qsort/bsearch). | |
void | rpmalAddProvides (rpmal al, alKey pkgKey, rpmds provides, uint_32 tscolor) |
Add package provides to available list index. | |
void | rpmalMakeIndex (rpmal al) |
Generate index for available list. | |
fnpyKey * | rpmalAllFileSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp) |
Check added package file lists for package(s) that provide a file. | |
fnpyKey * | rpmalAllSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp) |
Check added package file lists for package(s) that have a provide. | |
fnpyKey | rpmalSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp) |
Check added package file lists for first package that has a provide. | |
Variables | |
int | _rpmal_debug = 0 |
Definition in file rpmal.c.
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 148 of file rpmal.c. Referenced by rpmalAdd(), rpmalAddProvides(), rpmalAllSatisfiesDepend(), and rpmalDel(). |
|
Definition at line 157 of file rpmal.c. Referenced by rpmalAllFileSatisfiesDepend(). |
|
Compare two directory info entries by name (qsort/bsearch).
Definition at line 243 of file rpmal.c. References dirInfo_s::dirName, and dirInfo_s::dirNameLen. Referenced by rpmalAdd(), rpmalAllFileSatisfiesDepend(), and rpmalDel(). |
|
Compare two file info entries by name (qsort/bsearch).
Definition at line 268 of file rpmal.c. References _rpmal_debug, fileIndexEntry_s::baseName, and fileIndexEntry_s::baseNameLen. Referenced by rpmalAdd(), and rpmalAllFileSatisfiesDepend(). |
|
Compare two available index entries by name (qsort/bsearch).
Definition at line 611 of file rpmal.c. References availableIndexEntry_s::entry, and availableIndexEntry_s::entryLen. Referenced by rpmalAllSatisfiesDepend(), and rpmalMakeIndex(). |
|
|
Add package provides to available list index.
Definition at line 627 of file rpmal.c. References alKey2Num(), availableIndexEntry_s::entry, availableIndexEntry_s::entryIx, availableIndexEntry_s::entryLen, rpmal_s::index, availableIndex_s::index, availableIndex_s::k, availableIndexEntry_s::pkgKey, rpmdsColor(), rpmdsInit(), rpmdsIx(), rpmdsNext(), rpmal_s::size, availableIndex_s::size, and availableIndexEntry_s::type. Referenced by rpmal_AddProvides(), and rpmalMakeIndex(). |
|
Check added package file lists for package(s) that provide a file.
Definition at line 700 of file rpmal.c. References _, _free(), _rpmal_debug, alloca(), alNum2Key(), fileIndexEntry_s::baseName, dieCompare(), dirName, dirInfo_s::dirName, rpmal_s::dirs, fileIndexEntry_s::ficolor, fieCompare(), dirInfo_s::files, availablePackage_s::key, rpmal_s::list, rpmal_s::numDirs, dirInfo_s::numFiles, fileIndexEntry_s::pkgNum, RPMAL_NOMATCH, rpmdsN(), rpmdsNotify(), availablePackage_s::tscolor, xrealloc(), and xstrdup(). Referenced by rpmalAllSatisfiesDepend(). |
|
Check added package file lists for package(s) that have a provide.
Definition at line 801 of file rpmal.c. References _, _free(), alKey2Num(), alloca(), availableIndexEntry_s::entryIx, rpmal_s::index, availableIndex_s::index, indexcmp(), availablePackage_s::key, rpmal_s::list, availableIndexEntry_s::pkgKey, availablePackage_s::provides, RPMAL_NOMATCH, rpmalAllFileSatisfiesDepend(), rpmdsCompare(), rpmdsN(), rpmdsNext(), rpmdsNotify(), rpmdsSetIx(), availableIndex_s::size, availableIndexEntry_s::type, and xrealloc(). Referenced by checkPackageDeps(), rpmalSatisfiesDepend(), and rpmtsAvailable(). |
|
Initialize available packckages, items, and directory list.
Definition at line 189 of file rpmal.c. References availableIndex_s::index, availableIndex_s::size, and xcalloc(). Referenced by rpmalAdd(). |
|
Delete package from available list.
Definition at line 299 of file rpmal.c. References _free(), _rpmal_debug, alKey2Num(), alloca(), fileIndexEntry_s::baseName, dieCompare(), dirInfo_s::dirName, dirInfo_s::dirNameLen, rpmal_s::dirs, availablePackage_s::fi, dirInfo_s::files, rpmal_s::list, rpmal_s::numDirs, dirInfo_s::numFiles, fileIndexEntry_s::pkgNum, availablePackage_s::provides, rpmdsFree(), rpmfiDC(), rpmfiDN(), rpmfiFC(), rpmfiFree(), rpmfiSetDX(), and xrealloc(). Referenced by rpmal_Del(), and rpmalAdd(). |
|
Free available packages, items, and directory members.
Definition at line 207 of file rpmal.c. References _free(), rpmal_s::alloced, dirInfo_s::dirName, rpmal_s::dirs, availablePackage_s::fi, dirInfo_s::files, rpmal_s::list, rpmal_s::numDirs, availablePackage_s::provides, rpmalFreeIndex(), rpmdsFree(), rpmfiFree(), and availableIndex_s::size. Referenced by rpmal_dealloc(), rpmtsClean(), and rpmtsFree(). |
|
Destroy available item index.
Definition at line 125 of file rpmal.c. References _free(), availableIndex_s::index, rpmal_s::index, and availableIndex_s::size. Referenced by rpmalAdd(), and rpmalFree(). |
|
Generate index for available list.
Definition at line 670 of file rpmal.c. References rpmal_s::index, availableIndex_s::index, indexcmp(), availableIndex_s::k, rpmal_s::list, availablePackage_s::provides, rpmalAddProvides(), rpmdsCount(), availableIndex_s::size, availablePackage_s::tscolor, and xrealloc(). Referenced by rpmal_MakeIndex(), rpmts_Check(), rpmtsCheck(), rpmtsOrder(), and unsatisfiedDepend(). |
|
Check added package file lists for first package that has a provide.
Definition at line 889 of file rpmal.c. References rpmalAllSatisfiesDepend(). Referenced by addRelation(), and unsatisfiedDepend(). |
|
|