#include "system.h"
#include <rpmlib.h>
#include "rpmal.h"
#include "rpmds.h"
#include "rpmfi.h"
#include "debug.h"
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... | |
Typedefs | |
typedef struct availablePackage_s * | availablePackage |
typedef struct availableIndexEntry_s * | availableIndexEntry |
typedef struct availableIndex_s * | availableIndex |
typedef struct fileIndexEntry_s * | fileIndexEntry |
typedef struct 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.
typedef struct availableIndex_s* availableIndex |
typedef struct availableIndexEntry_s* availableIndexEntry |
typedef struct availablePackage_s* availablePackage |
typedef struct fileIndexEntry_s* fileIndexEntry |
static int dieCompare | ( | const void * | one, | |
const void * | two | |||
) | [static] |
static int fieCompare | ( | const void * | one, | |
const void * | two | |||
) | [static] |
static int indexcmp | ( | const void * | one, | |
const void * | two | |||
) | [static] |
alKey rpmalAdd | ( | rpmal * | alistp, | |
alKey | pkgKey, | |||
fnpyKey | key, | |||
rpmds | provides, | |||
rpmfi | fi, | |||
uint_32 | 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 414 of file rpmal.c.
Referenced by rpmal_Add(), rpmtsAddAvailableElement(), and rpmtsAddInstallElement().
Add package provides to available list index.
al | available list | |
pkgKey | package key | |
provides | added package provides | |
tscolor | transaction color bits |
Definition at line 619 of file rpmal.c.
Referenced by rpmal_AddProvides().
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 791 of file rpmal.c.
Referenced by rpmtsAvailable().
rpmal rpmalCreate | ( | int | delta | ) |
Delete package from available list.
al | available list | |
pkgKey | package key |
Definition at line 292 of file rpmal.c.
Referenced by rpmal_Del().
Free available packages, items, and directory members.
al | available list |
Definition at line 202 of file rpmal.c.
Referenced by rpmal_dealloc(), rpmtsClean(), and rpmtsFree().
static void rpmalFreeIndex | ( | rpmal | al | ) | [static] |
Destroy available item index.
al | available list |
Definition at line 123 of file rpmal.c.
References _free(), availableIndex_s::index, rpmal_s::index, and availableIndex_s::size.
void rpmalMakeIndex | ( | rpmal | al | ) |
Generate index for available list.
al | available list |
Definition at line 660 of file rpmal.c.
Referenced by rpmal_MakeIndex(), rpmts_Check(), rpmtsOrder(), and unsatisfiedDepend().
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 879 of file rpmal.c.
Referenced by unsatisfiedDepend().
int _rpmal_debug = 0 |