#include "system.h"
#include "rpmio_internal.h"
#include <rpmlib.h>
#include <rpmmacro.h>
#include "misc.h"
#include "legacy.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | alloca_strdup(_s) strcpy(alloca(strlen(_s)+1), (_s)) |
Functions | |
static int | open_dso (const char *path, pid_t *pidp, size_t *fsizep) |
Open a file descriptor to verify file MD5 and size. | |
int | domd5 (const char *fn, unsigned char *digest, int asAscii, size_t *fsizep) |
Return MD5 sum and size of a file. | |
static int | dncmp (const void *a, const void *b) |
void | compressFilelist (Header h) |
Convert absolute path tag to (dirname,basename,dirindex) tags. | |
void | rpmfiBuildFNames (Header h, rpmTag tagN, const char ***fnp, int *fcp) |
Retrieve file names from header. | |
void | expandFilelist (Header h) |
Convert (dirname,basename,dirindex) tags to absolute path tag. | |
void | providePackageNVR (Header h) |
Retrofit a Provides: name = version-release dependency into legacy package headers. | |
void | legacyRetrofit (Header h, const struct rpmlead *lead) |
Do all necessary retorfits for a package header. | |
Variables | |
int | _noDirTokens = 0 |
Should version 3 packages be produced? |
Definition in file legacy.c.
#define alloca_strdup | ( | _s | ) | strcpy(alloca(strlen(_s)+1), (_s)) |
void compressFilelist | ( | Header | h | ) |
Convert absolute path tag to (dirname,basename,dirindex) tags.
h | header |
Definition at line 266 of file legacy.c.
Referenced by genCpioListAndHeader(), hdrCompressFilelist(), hdrLoad(), mungeFilelist(), and rpmReadHeaders().
static int dncmp | ( | const void * | a, | |
const void * | b | |||
) | [static] |
int domd5 | ( | const char * | fn, | |
unsigned char * | digest, | |||
int | asAscii, | |||
size_t * | fsizep | |||
) |
Return MD5 sum and size of a file.
fn | file name |
digest | address of md5sum |
asAscii | return md5sum as ascii string? |
*fsizep | file size pointer (or NULL) |
Definition at line 144 of file legacy.c.
Referenced by genCpioListAndHeader(), handleOverlappedFiles(), rpmAddSignature(), rpmfiConfigConflict(), rpmfiDecideFate(), and rpmVerifyFile().
void expandFilelist | ( | Header | h | ) |
Convert (dirname,basename,dirindex) tags to absolute path tag.
h | header |
Definition at line 420 of file legacy.c.
Referenced by genCpioListAndHeader(), and hdrExpandFilelist().
Do all necessary retorfits for a package header.
h | header | |
lead |
Definition at line 529 of file legacy.c.
Referenced by rpmReadPackageFile().
static int open_dso | ( | const char * | path, | |
pid_t * | pidp, | |||
size_t * | fsizep | |||
) | [static] |
Open a file descriptor to verify file MD5 and size.
path | file path |
pidp | prelink helper pid or 0 | |
fsizep | file size |
Definition at line 36 of file legacy.c.
References environ, ET_EXEC, rpmExpand(), and unsetenv().
void providePackageNVR | ( | Header | h | ) |
Retrofit a Provides: name = version-release dependency into legacy package headers.
h | header |
Definition at line 448 of file legacy.c.
References alloca(), headerAddOrAppendEntry(), headerFreeData(), headerGetEntryMinMemory(), headerNVR(), RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMSENSE_ANY, RPMSENSE_EQUAL, RPMTAG_EPOCH, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, and stpcpy().
Referenced by hdrLoad(), packageBinaries(), rpmReadHeaders(), and writeRPM().
Retrieve file names from header.
The representation of file names in package headers changed in rpm-4.0. Originally, file names were stored as an array of absolute paths. In rpm-4.0, file names are stored as separate arrays of dirname's and basename's, * with a dirname index to associate the correct dirname with each basname.
This function is used to retrieve file names independent of how the file names are represented in the package header.
h | header | |
tagN | RPMTAG_BASENAMES | PMTAG_ORIGBASENAMES |
*fnp | array of file names | |
*fcp | number of files |
Definition at line 361 of file legacy.c.
Referenced by filenamesTag(), fssizesTag(), mungeFilelist(), rpmHeaderGetEntry(), and rpmInstallSourcePackage().