rpm
5.2.1
|
Routines to handle file info tag sets. More...
#include "system.h"
#include <rpmio.h>
#include <rpmiotypes.h>
#include <rpmlog.h>
#include <rpmurl.h>
#include <rpmmacro.h>
#include <ugid.h>
#include <rpmdav.h>
#include <rpmtypes.h>
#include <rpmtag.h>
#include "fsm.h"
#include "legacy.h"
#include "rpmds.h"
#include "rpmte.h"
#include "rpmts.h"
#include <rpmcli.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | rpmRelocation_s |
Defines | |
#define | _RPMAV_INTERNAL |
#define | _IOSM_INTERNAL |
#define | _RPMFI_INTERNAL |
#define | _RPMTE_INTERNAL |
#define | alloca_strdup(_s) strcpy(alloca(strlen(_s)+1), (_s)) |
#define | _fdupestring(_h, _tag, _data) |
#define | _fdupedata(_h, _tag, _data) |
Functions | |
static char * | stripTrailingChar (char *s, char c) |
Remove occurences of trailing character from string. | |
int | rpmfiFC (rpmfi fi) |
Return file count from file info set. | |
int | rpmfiDC (rpmfi fi) |
Return directory count from file info set. | |
int | rpmfiFX (rpmfi fi) |
Return current file index from file info set. | |
int | rpmfiSetFX (rpmfi fi, int fx) |
Set current file index in file info set. | |
int | rpmfiDX (rpmfi fi) |
Return current directory index from file info set. | |
int | rpmfiSetDX (rpmfi fi, int dx) |
Set current directory index in file info set. | |
int | rpmfiIsSource (rpmfi fi) |
Return source rpm marker from file info set. | |
const char * | rpmfiBN (rpmfi fi) |
Return current base name from file info set. | |
const char * | rpmfiDN (rpmfi fi) |
Return current directory name from file info set. | |
const char * | rpmfiFN (rpmfi fi) |
Return current file name from file info set. | |
size_t | rpmfiFNMaxLen (rpmfi fi) |
Return maximum file name length from file info set. | |
rpmuint32_t | rpmfiFFlags (rpmfi fi) |
Return current file flags from file info set. | |
rpmuint32_t | rpmfiSetFFlags (rpmfi fi, rpmuint32_t FFlags) |
Set current file flags in file info set. | |
rpmuint32_t | rpmfiVFlags (rpmfi fi) |
Return current file verify flags from file info set. | |
rpmuint32_t | rpmfiSetVFlags (rpmfi fi, rpmuint32_t VFlags) |
Set current file verify flags in file info set. | |
rpmuint16_t | rpmfiFMode (rpmfi fi) |
Return current file mode from file info set. | |
rpmfileState | rpmfiFState (rpmfi fi) |
Return current file state from file info set. | |
rpmfileState | rpmfiSetFState (rpmfi fi, rpmfileState fstate) |
Set current file state in file info set. | |
const unsigned char * | rpmfiDigest (rpmfi fi, int *algop, size_t *lenp) |
Return current file (binary) digest from file info set. | |
const char * | rpmfiFLink (rpmfi fi) |
Return current file linkto (i.e. | |
rpmuint32_t | rpmfiFSize (rpmfi fi) |
Return current file size from file info set. | |
rpmuint16_t | rpmfiFRdev (rpmfi fi) |
Return current file rdev from file info set. | |
rpmuint32_t | rpmfiFInode (rpmfi fi) |
Return current file inode from file info set. | |
rpmuint32_t | rpmfiColor (rpmfi fi) |
Return union of all file color bits from file info set. | |
rpmuint32_t | rpmfiFColor (rpmfi fi) |
Return current file color bits from file info set. | |
const char * | rpmfiFClass (rpmfi fi) |
Return current file class from file info set. | |
const char * | rpmfiFContext (rpmfi fi) |
Return current file security context from file info set. | |
rpmuint32_t | rpmfiFDepends (rpmfi fi, const rpmuint32_t **fddictp) |
Return current file depends dictionary from file info set. | |
rpmuint32_t | rpmfiFNlink (rpmfi fi) |
Return (calculated) current file nlink count from file info set. | |
rpmuint32_t | rpmfiFMtime (rpmfi fi) |
Return current file modify time from file info set. | |
const char * | rpmfiFUser (rpmfi fi) |
Return current file owner from file info set. | |
const char * | rpmfiFGroup (rpmfi fi) |
Return current file group from file info set. | |
void * | rpmfiExclude (const rpmfi fi) |
Return file info exclude patterns. | |
int | rpmfiNExclude (const rpmfi fi) |
Return no. | |
void * | rpmfiInclude (const rpmfi fi) |
Return file info include patterns. | |
int | rpmfiNInclude (const rpmfi fi) |
Return no. | |
int | rpmfiNext (rpmfi fi) |
Return next file iterator index. | |
rpmfi | rpmfiInit (rpmfi fi, int fx) |
Initialize file iterator index. | |
int | rpmfiNextD (rpmfi fi) |
Return next directory iterator index. | |
rpmfi | rpmfiInitD (rpmfi fi, int dx) |
Initialize directory iterator index. | |
static const char * | rpmfiFtstring (rpmFileTypes ft) |
Identify a file type. | |
static rpmFileTypes | rpmfiWhatis (rpmuint16_t mode) |
Return file type from mode_t. | |
int | rpmfiCompare (const rpmfi afi, const rpmfi bfi) |
Return file info comparison. | |
int | rpmfiDecideFate (const rpmfi ofi, rpmfi nfi, int skipMissing) |
Return file disposition. | |
const char * | rpmfiTypeString (rpmfi fi) |
Return formatted string representation of package disposition. | |
static Header | relocateFileList (const rpmts ts, rpmfi fi, Header origH, iosmFileAction *actions) |
Relocate files in header. | |
int | rpmfiSetHeader (rpmfi fi, Header h) |
Link a header to a file info set. | |
static void | rpmfiFini (void *_fi) |
static rpmfi | rpmfiGetPool (rpmioPool pool) |
static unsigned char | nibble (char c) |
Convert hex to binary nibble. | |
rpmfi | rpmfiNew (const void *_ts, Header h, rpmTag tagN, int flags) |
Create and load a file info set. | |
int | rpmfiAddRelocation (rpmRelocation *relp, int *nrelp, const char *oldPath, const char *newPath) |
Add relocation element to array. | |
rpmRelocation | rpmfiFreeRelocations (rpmRelocation relocs) |
Free relocation array. | |
rpmRelocation | rpmfiDupeRelocations (rpmRelocation relocs, int *nrelocsp) |
Duplicate a relocation array. | |
int | rpmfiFStat (rpmfi fi, struct stat *st) |
Return current stat(2) data from file info set. | |
int | rpmfiStat (rpmfi fi, const char *path, struct stat *st) |
Return lstat(2) data of path from file info set. | |
DIR * | rpmfiOpendir (rpmfi fi, const char *name) |
Return directory stream onto file info set. | |
void | rpmfiBuildFClasses (Header h, const char ***fclassp, rpmuint32_t *fcp) |
Retrieve file classes from header. | |
void | rpmfiBuildFContexts (Header h, const char ***fcontextp, rpmuint32_t *fcp) |
Retrieve file security contexts from header. | |
void | rpmfiBuildFSContexts (Header h, const char ***fcontextp, rpmuint32_t *fcp) |
Retrieve file security contexts from file system. | |
void | rpmfiBuildREContexts (Header h, const char ***fcontextp, rpmuint32_t *fcp) |
Retrieve file security contexts from policy RE's. | |
void | rpmfiBuildFDeps (Header h, rpmTag tagN, const char ***fdepsp, rpmuint32_t *fcp) |
Retrieve per-file dependencies from header. | |
Variables | |
int | _rpmfi_debug = 0 |
rpmioPool | _rpmfiPool |
Routines to handle file info tag sets.
Definition in file rpmfi.c.
#define _fdupedata | ( | _h, | |
_tag, | |||
_data | |||
) |
he->tag = _tag; \ xx = headerGet((_h), he, 0); \ _data = he->p.ptr;
Definition at line 1328 of file rpmfi.c.
Referenced by rpmfiNew().
#define _fdupestring | ( | _h, | |
_tag, | |||
_data | |||
) |
he->tag = _tag; \ xx = headerGet((_h), he, 0); \ _data = he->p.str;
Definition at line 1323 of file rpmfi.c.
Referenced by rpmfiNew().
#define alloca_strdup | ( | _s | ) | strcpy(alloca(strlen(_s)+1), (_s)) |
Definition at line 711 of file rpmfi.c.
Referenced by relocateFileList().
static unsigned char nibble | ( | char | c | ) | [inline, static] |
Convert hex to binary nibble.
c | hex character |
Definition at line 1311 of file rpmfi.c.
Referenced by rpmfiNew().
static Header relocateFileList | ( | const rpmts | ts, |
rpmfi | fi, | ||
Header | origH, | ||
iosmFileAction * | actions | ||
) | [static] |
Relocate files in header.
ts | transaction set |
fi | transaction element file info |
origH | package header |
actions | file dispositions |
Definition at line 723 of file rpmfi.c.
References _free(), alloca(), alloca_strdup, rpmDataType_u::argv, _HE_s::c, D_, FA_SKIPNSTATE, headerGet(), headerIsEntry(), headerLink(), headerMod(), headerPut(), rpmRelocation_s::newPath, rpmRelocation_s::oldPath, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPM_UINT32_TYPE, rpmCleanPath(), rpmExpandNumeric(), rpmfiFtstring(), rpmfiWhatis(), rpmlog(), RPMLOG_DEBUG, RPMPROB_BADRELOCATE, RPMPROB_FILTER_FORCERELOCATE, rpmpsAppend(), rpmpsFree(), rpmteKey(), rpmteNEVR(), rpmtsFilterFlags(), rpmtsProblems(), rpmtsRelocateElement(), stpcpy(), stripTrailingChar(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui16p, rpmDataType_u::ui32p, XDIR, xmalloc(), and xrealloc().
Referenced by rpmfiNew().
int rpmfiAddRelocation | ( | rpmRelocation * | relp, |
int * | nrelp, | ||
const char * | oldPath, | ||
const char * | newPath | ||
) |
Add relocation element to array.
*relocations | relocation array |
*nrelocations | no. of elements |
oldPath | old path |
newPath | new path |
Definition at line 1654 of file rpmfi.c.
References xrealloc(), and xstrdup().
Referenced by installArgCallback(), and main().
const char* rpmfiBN | ( | rpmfi | fi | ) |
Return current base name from file info set.
fi | file info set |
Definition at line 128 of file rpmfi.c.
Referenced by arSetup(), handleInstInstalledFiles(), rpmalAdd(), rpmfi_BN(), and skipFiles().
void rpmfiBuildFClasses | ( | Header | h, |
const char *** | fclassp, | ||
rpmuint32_t * | fcp | ||
) |
Retrieve file classes from header.
This function is used to retrieve file classes from the header.
h | header |
*fclassp | array of file classes |
*fcp | number of files |
Definition at line 1806 of file rpmfi.c.
References _free(), rpmfiFC(), rpmfiFClass(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), stpcpy(), and xmalloc().
Referenced by fileclassTag().
void rpmfiBuildFContexts | ( | Header | h, |
const char *** | fcontextp, | ||
rpmuint32_t * | fcp | ||
) |
Retrieve file security contexts from header.
This function is used to retrieve file contexts from the header.
h | header |
*fcontextp | array of file contexts |
*fcp | number of files |
Definition at line 1858 of file rpmfi.c.
References _free(), rpmfiFC(), rpmfiFContext(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), stpcpy(), and xmalloc().
Referenced by filecontextsTag().
void rpmfiBuildFDeps | ( | Header | h, |
rpmTag | tagN, | ||
const char *** | fdepsp, | ||
rpmuint32_t * | fcp | ||
) |
Retrieve per-file dependencies from header.
This function is used to retrieve per-file dependencies from the header.
h | header |
tagN | RPMTAG_PROVIDENAME | RPMTAG_REQUIRENAME |
*fdepsp | array of file dependencies |
*fcp | number of files |
Definition at line 2063 of file rpmfi.c.
References _free(), rpmdsDNEVR(), rpmdsFree(), rpmdsNew(), rpmdsNext(), rpmdsSetIx(), rpmfiFC(), rpmfiFDepends(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), stpcpy(), and xmalloc().
Referenced by fileprovideTag(), and filerequireTag().
void rpmfiBuildFSContexts | ( | Header | h, |
const char *** | fcontextp, | ||
rpmuint32_t * | fcp | ||
) |
Retrieve file security contexts from file system.
This function is used to retrieve file contexts from the file system.
h | header |
*fcontextp | array of file contexts |
*fcp | number of files |
Definition at line 1910 of file rpmfi.c.
References _free(), alloca(), freecon, lgetfilecon, rpmfiFC(), rpmfiFN(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), xmalloc(), and xrealloc().
Referenced by fscontextsTag().
void rpmfiBuildREContexts | ( | Header | h, |
const char *** | fcontextp, | ||
rpmuint32_t * | fcp | ||
) |
Retrieve file security contexts from policy RE's.
This function is used to retrieve file contexts from policy RE's.
h | header |
*fcontextp | array of file contexts |
*fcp | number of files |
Definition at line 1978 of file rpmfi.c.
References _free(), alloca(), freecon, matchpathcon, matchpathcon_fini, matchpathcon_init, rpmfiFC(), rpmfiFMode(), rpmfiFN(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), rpmGetPath(), xmalloc(), and xrealloc().
Referenced by recontextsTag().
rpmuint32_t rpmfiColor | ( | rpmfi | fi | ) |
Return file info comparison.
afi | 1st file info |
bfi | 2nd file info |
Definition at line 571 of file rpmfi.c.
References LINK, REG, rpmfiDigest(), rpmfiFLink(), rpmfiFMode(), and rpmfiWhatis().
Referenced by handleInstInstalledFiles(), and handleOverlappedFiles().
int rpmfiDC | ( | rpmfi | fi | ) |
Return directory count from file info set.
fi | file info set |
Definition at line 79 of file rpmfi.c.
Referenced by rpmalAdd(), rpmalDel(), rpmfi_DC(), and skipFiles().
Return file disposition.
ofi | old file info |
nfi | new file info |
skipMissing | OK to skip missing files? |
Definition at line 605 of file rpmfi.c.
References D_, dodigest(), FA_ALTNAME, FA_CREATE, FA_SAVE, FA_SKIP, LINK, Lstat(), Readlink(), REG, rpmfiDigest(), rpmfiFFlags(), rpmfiFLink(), rpmfiFMode(), rpmfiFN(), RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, RPMFILE_SPARSE, rpmfiWhatis(), rpmlog(), RPMLOG_DEBUG, and XDIR.
Referenced by handleInstInstalledFiles().
const unsigned char* rpmfiDigest | ( | rpmfi | fi, |
int * | algop, | ||
size_t * | lenp | ||
) |
Return current file (binary) digest from file info set.
fi | file info set |
*algop | digest algorithm |
*lenp | digest length (in bytes) |
Definition at line 258 of file rpmfi.c.
Referenced by handleOverlappedFiles(), rpmfi_Digest(), rpmfiCompare(), rpmfiDecideFate(), rpmVerifyFile(), and showQueryPackage().
const char* rpmfiDN | ( | rpmfi | fi | ) |
Return current directory name from file info set.
fi | file info set |
Definition at line 139 of file rpmfi.c.
Referenced by handleInstInstalledFiles(), rpmalAdd(), rpmalDel(), rpmfi_DN(), and skipFiles().
rpmRelocation rpmfiDupeRelocations | ( | rpmRelocation | relocs, |
int * | nrelocsp | ||
) |
Duplicate a relocation array.
relocs | relocation array |
*nrelocsp | no. of elements |
Definition at line 1679 of file rpmfi.c.
References rpmRelocation_s::newPath, rpmRelocation_s::oldPath, xmalloc(), and xstrdup().
Referenced by addTE().
int rpmfiDX | ( | rpmfi | fi | ) |
Return current directory index from file info set.
fi | file info set |
Definition at line 107 of file rpmfi.c.
Referenced by rpmalAdd(), rpmfi_DX(), and skipFiles().
int rpmfiFC | ( | rpmfi | fi | ) |
Return file count from file info set.
fi | file info set |
Definition at line 74 of file rpmfi.c.
Referenced by handleOverlappedFiles(), mapFind(), markReplacedFiles(), pkgUnpackagedSubdirs(), postPopulateInstallHeader(), rpmalAdd(), rpmalDel(), rpmfcGenerateDepends(), rpmfi_FC(), rpmfi_length(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmpsmStage(), rpmteColorDS(), rpmtsCheckDSIProblems(), rpmtsRun(), and showQueryPackage().
const char* rpmfiFClass | ( | rpmfi | fi | ) |
Return current file class from file info set.
fi | file info set |
Definition at line 341 of file rpmfi.c.
Referenced by rpmfi_FClass(), and rpmfiBuildFClasses().
rpmuint32_t rpmfiFColor | ( | rpmfi | fi | ) |
Return current file color bits from file info set.
fi | file info set |
Definition at line 329 of file rpmfi.c.
Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), rpmalAdd(), rpmfi_FColor(), rpmteColorDS(), and skipFiles().
const char* rpmfiFContext | ( | rpmfi | fi | ) |
Return current file security context from file info set.
fi | file info set |
Definition at line 353 of file rpmfi.c.
Referenced by rpmfiBuildFContexts().
rpmuint32_t rpmfiFDepends | ( | rpmfi | fi, |
const rpmuint32_t ** | fddictp | ||
) |
Return current file depends dictionary from file info set.
fi | file info set |
*fddictp | file depends dictionary array (or NULL) |
Definition at line 364 of file rpmfi.c.
Referenced by rpmfiBuildFDeps(), and rpmteColorDS().
rpmuint32_t rpmfiFFlags | ( | rpmfi | fi | ) |
Return current file flags from file info set.
fi | file info set |
Definition at line 175 of file rpmfi.c.
Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), rpmfcGenerateDepends(), rpmfi_FFlags(), rpmfi_iternext(), rpmfiDecideFate(), rpmtsRun(), rpmVerifyFile(), showQueryPackage(), skipFiles(), and verifyHeader().
const char* rpmfiFGroup | ( | rpmfi | fi | ) |
Return current file group from file info set.
fi | file info set |
Definition at line 428 of file rpmfi.c.
Referenced by rpmfi_FGroup(), rpmfi_iternext(), rpmVerifyFile(), and showQueryPackage().
static void rpmfiFini | ( | void * | _fi | ) | [static] |
Definition at line 1221 of file rpmfi.c.
References _fi, _free(), freeFSM(), headerFree(), and mireFreeAll().
Referenced by rpmfiGetPool().
rpmuint32_t rpmfiFInode | ( | rpmfi | fi | ) |
Return current file inode from file info set.
fi | file info set |
Definition at line 308 of file rpmfi.c.
Referenced by rpmfi_iternext().
const char* rpmfiFLink | ( | rpmfi | fi | ) |
Return current file linkto (i.e.
symlink(2) target) from file info set.
fi | file info set |
Definition at line 275 of file rpmfi.c.
Referenced by rpmfi_FLink(), rpmfiCompare(), rpmfiDecideFate(), rpmVerifyFile(), and showQueryPackage().
rpmuint16_t rpmfiFMode | ( | rpmfi | fi | ) |
Return current file mode from file info set.
fi | file info set |
Definition at line 223 of file rpmfi.c.
Referenced by fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), rpmfcGenerateDepends(), rpmfi_FMode(), rpmfi_iternext(), rpmfiBuildREContexts(), rpmfiCompare(), rpmfiDecideFate(), rpmVerifyFile(), showQueryPackage(), and skipFiles().
rpmuint32_t rpmfiFMtime | ( | rpmfi | fi | ) |
Return current file modify time from file info set.
fi | file info set |
Definition at line 405 of file rpmfi.c.
Referenced by rpmfi_FMtime(), rpmfi_iternext(), rpmVerifyFile(), and showQueryPackage().
const char* rpmfiFN | ( | rpmfi | fi | ) |
Return current file name from file info set.
fi | file info set |
Definition at line 150 of file rpmfi.c.
References stpcpy(), urlPath(), and xmalloc().
Referenced by checkUnpackagedFiles(), fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), pkgUnpackagedSubdirs(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfi_FN(), rpmfi_iternext(), rpmfi_print(), rpmfi_subscript(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiDecideFate(), rpmfiOpendir(), rpmfiStat(), rpmtsCheck(), rpmtsRun(), rpmVerifyFile(), showQueryPackage(), and verifyHeader().
rpmuint32_t rpmfiFNlink | ( | rpmfi | fi | ) |
Return (calculated) current file nlink count from file info set.
fi | file info set |
Definition at line 385 of file rpmfi.c.
Referenced by rpmfi_iternext(), rpmfiFStat(), and showQueryPackage().
size_t rpmfiFNMaxLen | ( | rpmfi | fi | ) |
Return maximum file name length from file info set.
fi | file info set |
Definition at line 168 of file rpmfi.c.
Referenced by pkgUnpackagedSubdirs().
rpmuint16_t rpmfiFRdev | ( | rpmfi | fi | ) |
Return current file rdev from file info set.
fi | file info set |
Definition at line 297 of file rpmfi.c.
Referenced by rpmfi_FRdev(), rpmfi_iternext(), rpmVerifyFile(), and showQueryPackage().
rpmRelocation rpmfiFreeRelocations | ( | rpmRelocation | relocs | ) |
Free relocation array.
relocs | relocation array |
Definition at line 1666 of file rpmfi.c.
References _free(), rpmRelocation_s::newPath, and rpmRelocation_s::oldPath.
rpmuint32_t rpmfiFSize | ( | rpmfi | fi | ) |
Return current file size from file info set.
fi | file info set |
Definition at line 286 of file rpmfi.c.
Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), rpmfi_FSize(), rpmfi_iternext(), rpmVerifyFile(), and showQueryPackage().
int rpmfiFStat | ( | rpmfi | fi, |
struct stat * | st | ||
) |
Return current stat(2) data from file info set.
fi | file info set |
*st | stat(2) data |
Definition at line 1704 of file rpmfi.c.
References gnameToGid(), rpmfiFNlink(), and unameToUid().
Referenced by rpmfiStat().
rpmfileState rpmfiFState | ( | rpmfi | fi | ) |
Return current file state from file info set.
fi | file info set |
Definition at line 234 of file rpmfi.c.
References RPMFILE_STATE_MISSING.
Referenced by handleOverlappedFiles(), rpmfi_FState(), rpmfi_iternext(), rpmVerifyFile(), and showQueryPackage().
static const char* rpmfiFtstring | ( | rpmFileTypes | ft | ) | [static] |
const char* rpmfiFUser | ( | rpmfi | fi | ) |
Return current file owner from file info set.
fi | file info set |
Definition at line 416 of file rpmfi.c.
Referenced by rpmfi_FUser(), rpmfi_iternext(), rpmVerifyFile(), and showQueryPackage().
int rpmfiFX | ( | rpmfi | fi | ) |
Return current file index from file info set.
fi | file info set |
Definition at line 90 of file rpmfi.c.
Referenced by rpmfi_FX().
Definition at line 1292 of file rpmfi.c.
References _rpmfi_debug, _rpmfiPool, rpmfiFini(), rpmioGetPool(), and rpmioNewPool().
Referenced by rpmfiNew().
Initialize file iterator index.
fi | file info set |
fx | file iterator index |
Definition at line 482 of file rpmfi.c.
Referenced by arSetup(), checkUnpackagedFiles(), dnlInitIterator(), fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), pkgUnpackagedSubdirs(), rpmalAdd(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfi_iternext(), rpmfi_print(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiOpendir(), rpmfiStat(), rpmteColorDS(), rpmtsCheck(), rpmtsRun(), showQueryPackage(), skipFiles(), and verifyHeader().
Initialize directory iterator index.
fi | file info set |
dx | directory iterator index |
Definition at line 516 of file rpmfi.c.
Referenced by skipFiles().
int rpmfiIsSource | ( | rpmfi | fi | ) |
Create and load a file info set.
_ts | transaction set (NULL skips path relocation) |
h | header |
tagN | RPMTAG_BASENAMES |
flags | scareMem(0x1), nofilter(0x2) |
Definition at line 1333 of file rpmfi.c.
References _fdupedata, _fdupestring, _free(), _rpmfi_debug, alloca(), rpmDataType_u::argv, argvFree(), _HE_s::c, FA_UNKNOWN, headerFree(), headerGet(), headerIsEntry(), headerLink(), headerMacrosLoad(), headerMacrosUnload(), headerSprintf(), IOSM_MAP_GID, IOSM_MAP_MODE, IOSM_MAP_PATH, IOSM_MAP_UID, newFSM(), rpmRelocation_s::newPath, nibble(), _HE_s::p, PGPHASHALGO_CRC32, PGPHASHALGO_ERROR, PGPHASHALGO_MD2, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD128, PGPHASHALGO_RIPEMD160, PGPHASHALGO_RIPEMD256, PGPHASHALGO_RIPEMD320, PGPHASHALGO_SHA1, PGPHASHALGO_SHA224, PGPHASHALGO_SHA256, PGPHASHALGO_SHA384, PGPHASHALGO_SHA512, rpmDataType_u::ptr, relocateFileList(), rpmfiGetPool(), RPMFILE_ICON, RPMFILE_PATCH, RPMFILE_SOURCE, RPMFILE_SPECFILE, rpmfiLink(), rpmGenPath(), rpmGetPath(), rpmHeaderFormats, rpmteType(), rpmtsRelocateElement(), rpmtsRootDir(), stpcpy(), _HE_s::tag, TR_ADDED, rpmDataType_u::ui32p, xcalloc(), xmalloc(), xrealloc(), and xstrdup().
Referenced by addTE(), checkDuplicateFiles(), checkUnpackagedFiles(), genCpioListAndHeader(), handleInstInstalledFiles(), hdr_fiFromHeader(), packagedDir(), pkgUnpackagedSubdirs(), rpmfi_init(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmInstallSourcePackage(), rpmtsRun(), showQueryPackage(), and showVerifyPackage().
int rpmfiNext | ( | rpmfi | fi | ) |
Return next file iterator index.
fi | file info set |
Definition at line 460 of file rpmfi.c.
References _rpmfi_debug.
Referenced by arSetup(), checkUnpackagedFiles(), dnlInitIterator(), fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), pkgUnpackagedSubdirs(), rpmalAdd(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfi_iternext(), rpmfi_print(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiOpendir(), rpmfiStat(), rpmteColorDS(), rpmtsCheck(), rpmtsRun(), showQueryPackage(), skipFiles(), and verifyHeader().
int rpmfiNextD | ( | rpmfi | fi | ) |
Return next directory iterator index.
fi | file info set |
Definition at line 496 of file rpmfi.c.
References _rpmfi_debug.
Referenced by skipFiles().
DIR* rpmfiOpendir | ( | rpmfi | fi, |
const char * | name | ||
) |
Return directory stream onto file info set.
fi | file info set |
name | directory path |
Definition at line 1762 of file rpmfi.c.
References _free(), _rpmfi_debug, argvAdd(), argvFree(), avOpendir(), name, rpmfiFN(), rpmfiInit(), rpmfiNext(), and xcalloc().
int rpmfiSetDX | ( | rpmfi | fi, |
int | dx | ||
) |
Set current directory index in file info set.
fi | file info set |
dx | new directory index |
Definition at line 112 of file rpmfi.c.
Referenced by rpmalAdd(), and rpmalDel().
rpmuint32_t rpmfiSetFFlags | ( | rpmfi | fi, |
rpmuint32_t | FFlags | ||
) |
Set current file flags in file info set.
fi | file info set |
FFlags | new file flags |
Definition at line 186 of file rpmfi.c.
Referenced by rpmtsRun().
rpmfileState rpmfiSetFState | ( | rpmfi | fi, |
rpmfileState | fstate | ||
) |
int rpmfiSetFX | ( | rpmfi | fi, |
int | fx | ||
) |
Set current file index in file info set.
fi | file info set |
fx | new file index |
Definition at line 95 of file rpmfi.c.
Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), and rpmfi_subscript().
Link a header to a file info set.
fi | file info set |
h | header |
Definition at line 1209 of file rpmfi.c.
References headerFree(), and headerLink().
Referenced by showVerifyPackage().
rpmuint32_t rpmfiSetVFlags | ( | rpmfi | fi, |
rpmuint32_t | VFlags | ||
) |
int rpmfiStat | ( | rpmfi | fi, |
const char * | path, | ||
struct stat * | st | ||
) |
Return lstat(2) data of path from file info set.
fi | file info set |
path | file path |
*st | stat(2) data |
Definition at line 1731 of file rpmfi.c.
References _rpmfi_debug, rpmfiFN(), rpmfiFStat(), rpmfiInit(), and rpmfiNext().
const char* rpmfiTypeString | ( | rpmfi | fi | ) |
Return formatted string representation of package disposition.
fi | file info set |
Definition at line 701 of file rpmfi.c.
References rpmteType(), TR_ADDED, and TR_REMOVED.
Referenced by fsmStage().
rpmuint32_t rpmfiVFlags | ( | rpmfi | fi | ) |
Return current file verify flags from file info set.
fi | file info set |
Definition at line 199 of file rpmfi.c.
Referenced by rpmfi_iternext(), rpmfi_VFlags(), and rpmVerifyFile().
static rpmFileTypes rpmfiWhatis | ( | rpmuint16_t | mode | ) | [static] |
Return file type from mode_t.
mode | file mode bits (from header) |
Definition at line 557 of file rpmfi.c.
References BDEV, CDEV, LINK, PIPE, REG, S_ISLNK, S_ISSOCK, SOCK, and XDIR.
Referenced by relocateFileList(), rpmfiCompare(), and rpmfiDecideFate().
static char* stripTrailingChar | ( | char * | s, |
char | c | ||
) | [static] |
Remove occurences of trailing character from string.
s | string |
c | character to strip |
Definition at line 63 of file rpmfi.c.
Referenced by relocateFileList().
int _rpmfi_debug = 0 |
Definition at line 54 of file rpmfi.c.
Referenced by rpmfi_alloc(), rpmfi_Debug(), rpmfi_free(), rpmfi_init(), rpmfi_new(), rpmfiGetPool(), rpmfiNew(), rpmfiNext(), rpmfiNextD(), rpmfiOpendir(), and rpmfiStat().
Definition at line 1290 of file rpmfi.c.
Referenced by rpmfiGetPool().