#include "system.h"
#include <regex.h>
#include <signal.h>
#include <rpmio_internal.h>
#include <rpmbuild.h>
#include "cpio.h"
#include "rpmfi.h"
#include "rpmte.h"
#include "buildio.h"
#include "myftw.h"
#include "legacy.h"
#include "misc.h"
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | AttrRec_s |
struct | DepMsg_t |
struct | FileList_s |
Package file tree walk data. More... | |
struct | FileListRec_s |
struct | VFA |
Defines | |
#define | MYALLPERMS 07777 |
#define | _RPMFI_INTERNAL |
#define | _RPMTE_INTERNAL |
#define | SKIPWHITE(_x) {while(*(_x) && (xisspace(*_x) || *(_x) == ',')) (_x)++;} |
#define | SKIPNONWHITE(_x) {while(*(_x) &&!(xisspace(*_x) || *(_x) == ',')) (_x)++;} |
#define | MAXDOCDIR 1024 |
#define | fl_dev fl_st.st_dev |
#define | fl_ino fl_st.st_ino |
#define | fl_mode fl_st.st_mode |
#define | fl_nlink fl_st.st_nlink |
#define | fl_uid fl_st.st_uid |
#define | fl_gid fl_st.st_gid |
#define | fl_rdev fl_st.st_rdev |
#define | fl_size fl_st.st_size |
#define | fl_mtime fl_st.st_mtime |
#define | isAttrDefault(_ars) ((_ars)[0] == '-' && (_ars)[1] == '\0') |
Typedefs | |
typedef enum specdFlags_e | specdFlags |
typedef FileListRec_s * | FileListRec |
typedef AttrRec_s * | AttrRec |
typedef FileList_s * | FileList |
Package file tree walk data. More... | |
typedef VFA | VFA_t |
Enumerations | |
enum | specdFlags_e { SPECD_DEFFILEMODE = (1 << 0), SPECD_DEFDIRMODE = (1 << 1), SPECD_DEFUID = (1 << 2), SPECD_DEFGID = (1 << 3), SPECD_DEFVERIFY = (1 << 4), SPECD_FILEMODE = (1 << 8), SPECD_DIRMODE = (1 << 9), SPECD_UID = (1 << 10), SPECD_GID = (1 << 11), SPECD_VERIFY = (1 << 12) } |
Functions | |
void | nullAttrRec (AttrRec ar) |
void | freeAttrRec (AttrRec ar) |
void | dupAttrRec (const AttrRec oar, AttrRec nar) |
char * | strtokWithQuotes (char *s, char *delim) |
void | timeCheck (int tc, Header h) |
int | parseForVerify (char *buf, FileList fl) |
Parse verify and defverify from file manifest. More... | |
int | parseForDev (char *buf, FileList fl) |
Parse dev from file manifest. More... | |
int | parseForAttr (char *buf, FileList fl) |
Parse attr and defattr from file manifest. More... | |
int | parseForConfig (char *buf, FileList fl) |
Parse config from file manifest. More... | |
int | langCmp (const void *ap, const void *bp) |
int | parseForLang (char *buf, FileList fl) |
Parse lang from file manifest. More... | |
int | parseForRegexLang (const char *fileName, char **lang) |
int | parseForRegexMultiLib (const char *fileName) |
int | parseForSimple (Spec spec, Package pkg, char *buf, FileList fl, const char **fileName) |
Parse simple attributes (e.g. More... | |
int | compareFileListRecs (const void *ap, const void *bp) |
int | isDoc (FileList fl, const char *fileName) |
Test if file is located in a docdir. More... | |
int | checkHardLinks (FileList fl) |
Verify that file attributes scope over hardlinks correctly. More... | |
void | genCpioListAndHeader (FileList fl, rpmfi *cpioList, Header h, int isSrc) |
Add file entries to header. More... | |
FileListRec | freeFileList (FileListRec fileList, int count) |
int | addFile (FileList fl, const char *diskURL, struct stat *statp) |
Add a file to the package manifest. More... | |
int | processBinaryFile (Package pkg, FileList fl, const char *fileURL) |
Add a file to a binary package. More... | |
int | processPackageFiles (Spec spec, Package pkg, int installSpecialDoc, int test) |
void | initSourceHeader (Spec spec) |
int | processSourceFiles (Spec spec) |
StringBuf | getOutputFrom (char *dir, char *argv[], const char *writePtr, int writeBytesLeft, int failNonZero) |
int | generateDepends (Spec spec, Package pkg, rpmfi cpioList, int multiLib) |
void | printDepMsg (DepMsg_t *dm, int count, const char **names, const char **versions, int *flags) |
void | printDeps (Header h) |
int | checkFiles (StringBuf fileList, int fileListLen) |
Check packaged file list against what's in the build root. More... | |
int | processBinaryFiles (Spec spec, int installSpecialDoc, int test) |
Variables | |
int | multiLib = 0 |
StringBuf | check_fileList = NULL |
int | check_fileListLen = 0 |
VFA_t | verifyAttrs [] |
VFA_t | virtualFileAttributes [] |
DepMsg_t | depMsgs [] |
Definition in file files.c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 415 of file files.c. Referenced by parseForAttr. |
|
Definition at line 41 of file files.c. Referenced by parseForSimple. |
|
Definition at line 9 of file files.c. Referenced by parseForAttr. |
|
Definition at line 39 of file files.c. Referenced by parseForAttr, parseForConfig, parseForDev, parseForLang, parseForVerify, parseNoSource, and parseRCPOT. |
|
Definition at line 38 of file files.c. Referenced by parseForAttr, parseForConfig, parseForDev, parseForLang, parseForVerify, parseNoSource, and parseRCPOT. |
|
|
|
Package file tree walk data.
|
|
|
|
Referenced by parseForAttr, and parseForVerify. |
|
|
|
|
|
Add a file to the package manifest.
Definition at line 1514 of file files.c. References _, addFile, appendStringBuf, check_fileListLen, FileListRec_s::diskURL, FileListRec_s::fileURL, FileListRec_s::fl_st, FileListRec_s::flags, getGname, getGnameS, getUname, getUnameS, FileListRec_s::gname, FileListRec_s::langs, Lstat, multiLib, myftw, myftwFunc, parseForRegexLang, parseForRegexMultiLib, RPMFILE_MULTILIB_MASK, FileListRec_s::specdFlags, FileListRec_s::uname, urlPath, FileListRec_s::verifyFlags, xmalloc, xrealloc, and xstrdup. Referenced by addFile, and processBinaryFile. |
|
Check packaged file list against what's in the build root.
Definition at line 2753 of file files.c. References _, _free, freeStringBuf, getOutputFrom, getStringBuf, poptParseArgvString, rpmExpand, and rpmExpandNumeric. Referenced by processBinaryFiles. |
|
Verify that file attributes scope over hardlinks correctly. If partial hardlink sets are possible, then add tracking dependency.
Definition at line 1098 of file files.c. Referenced by processPackageFiles. |
|
Definition at line 1067 of file files.c. Referenced by genCpioListAndHeader. |
|
Definition at line 174 of file files.c. References freeAttrRec, and xstrdup. Referenced by parseForAttr, and processPackageFiles. |
|
Definition at line 160 of file files.c. References _free. Referenced by dupAttrRec, and processPackageFiles. |
|
Definition at line 1492 of file files.c. References _free, and FileListRec_s::diskURL. Referenced by processPackageFiles, and processSourceFiles. |
|
|
Definition at line 2500 of file files.c. References _, _free, appendLineStringBuf, appendStringBuf, DepMsg_t::argv, CPIO_MULTILIB, freeStringBuf, DepMsg_t::ftag, getOutputFrom, getStringBuf, DepMsg_t::msg, multiLib, newStringBuf, DepMsg_t::ntag, parseRCPOT, poptParseArgvString, rpmExpand, rpmfi, RPMSENSE_FIND_PROVIDES, RPMSENSE_FIND_REQUIRES, RPMSENSE_MULTILIB, RPMTAG_PROVIDEFLAGS, RPMTAG_REQUIREFLAGS, xcalloc, xrealloc, and xstrdup. Referenced by processBinaryFiles. |
|
Definition at line 2300 of file files.c. References _, appendStringBuf, errno, EXIT_FAILURE, newStringBuf, strerror, and unsetenv. Referenced by checkFiles, and generateDepends. |
|
Test if file is located in a docdir.
Definition at line 1081 of file files.c. Referenced by genCpioListAndHeader. |
|
Definition at line 720 of file files.c. Referenced by parseForLang. |
|
Definition at line 148 of file files.c. Referenced by parseForAttr, and processPackageFiles. |
|
Parse attr and defattr from file manifest.
Definition at line 526 of file files.c. References _, alloca, dupAttrRec, isAttrDefault, MYALLPERMS, nullAttrRec, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, SPECD_DIRMODE, SPECD_FILEMODE, SPECD_GID, SPECD_UID, and specdFlags. Referenced by processPackageFiles. |
|
Parse config from file manifest.
Definition at line 659 of file files.c. References _, alloca, RPMFILE_CONFIG, RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, SKIPNONWHITE, SKIPSPACE, and SKIPWHITE. Referenced by processPackageFiles. |
|
Parse dev from file manifest.
Definition at line 424 of file files.c. References _, alloca, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, and xisdigit. Referenced by processPackageFiles. |
|
Parse lang from file manifest.
Definition at line 735 of file files.c. References _, alloca, langCmp, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, xmalloc, and xrealloc. Referenced by processPackageFiles. |
|
Definition at line 826 of file files.c. References _free, and rpmExpand. Referenced by addFile. |
|
Definition at line 872 of file files.c. References _free, and rpmExpand. Referenced by addFile. |
|
Parse simple attributes (e.g. dir) from file manifest.
Definition at line 938 of file files.c. References _, _free, appendLineStringBuf, appendStringBuf, VFA::attribute, VFA::flag, headerNVR, MAXDOCDIR, MKDIR_P, multiLib, newStringBuf, RPMFILE_DOC, rpmGetPath, strtokWithQuotes, and xstrdup. Referenced by processPackageFiles. |
|
Parse verify and defverify from file manifest.
Definition at line 326 of file files.c. References _, alloca, VFA::attribute, VFA::flag, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, SPECD_VERIFY, and specdFlags. Referenced by processPackageFiles. |
|
Definition at line 2650 of file files.c. References isDependsMULTILIB, RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, and RPMSENSE_SENSEMASK. Referenced by printDeps. |
|
Definition at line 2692 of file files.c. References DepMsg_t::ftag, HFD_t, HGE_t, DepMsg_t::msg, DepMsg_t::ntag, printDepMsg, rpmTagType, and DepMsg_t::vtag. Referenced by processBinaryFiles. |
|
Add a file to a binary package.
Definition at line 1746 of file files.c. References _, _free, addFile, myGlobPatternP, rpmGenPath, rpmGlob, and urlPath. Referenced by processPackageFiles. |
|
Definition at line 1822 of file files.c. References _, _free, appendStringBuf, FileList_s::buildRootURL, checkHardLinks, FileList_s::cur_ar, FileList_s::currentFlags, FileList_s::currentLangs, FileList_s::currentSpecdFlags, FileList_s::currentVerifyFlags, FileList_s::def_ar, FileList_s::defSpecdFlags, FileList_s::defVerifyFlags, FileList_s::devmajor, FileList_s::devminor, FileList_s::devtype, FileList_s::docDirCount, FileList_s::docDirs, doScript, dupAttrRec, expandMacros, Fclose, fdGetFp, Ferror, FileList_s::fileCount, FileList_s::fileList, FileList_s::fileListRecsAlloced, FileList_s::fileListRecsUsed, Fopen, freeAttrRec, freeFileList, freeSplitString, Fstrerror, genCpioListAndHeader, getStringBuf, handleComments, HGE_t, FileList_s::inFtw, FileList_s::isDir, FileList_s::isSpecialDoc, multiLib, FileList_s::nLangs, FileList_s::noGlob, nullAttrRec, parseForAttr, parseForConfig, parseForDev, parseForLang, parseForSimple, parseForVerify, FileList_s::passedSpecialDoc, FileList_s::prefix, processBinaryFile, FileList_s::processingFailed, RPMBUILD_STRINGBUF, rpmExpandNumeric, rpmfi, RPMFILE_MULTILIB, rpmGenPath, rpmGetPath, rpmlibNeedsFeature, RPMTAG_DEFAULTPREFIX, SKIPSPACE, splitString, timeCheck, FileList_s::totalFileSize, and xstrdup. Referenced by processBinaryFiles. |
|
Definition at line 227 of file files.c. Referenced by parseForSimple. |
|
Definition at line 271 of file files.c. References _, HFD_t, HGE_t, RPMTAG_FILEMTIMES, RPMTAG_OLDFILENAMES, and rpmTagType. Referenced by processPackageFiles. |
|
|
|
Definition at line 103 of file files.c. Referenced by addFile, and processBinaryFiles. |
|
|
|
Definition at line 97 of file files.c. Referenced by addFile, generateDepends, parseForSimple, and processPackageFiles. |
|
Initial value: { { "md5", RPMVERIFY_MD5 }, { "size", RPMVERIFY_FILESIZE }, { "link", RPMVERIFY_LINKTO }, { "user", RPMVERIFY_USER }, { "group", RPMVERIFY_GROUP }, { "mtime", RPMVERIFY_MTIME }, { "mode", RPMVERIFY_MODE }, { "rdev", RPMVERIFY_RDEV }, { NULL, 0 } } |
|
Initial value: { { "%dir", 0 }, { "%doc", RPMFILE_DOC }, { "%ghost", RPMFILE_GHOST }, { "%exclude", RPMFILE_EXCLUDE }, { "%readme", RPMFILE_README }, { "%license", RPMFILE_LICENSE }, { "%multilib", 0 }, { NULL, 0 } } |