#include "system.h"
#include <signal.h>
#include <rpmbuild.h>
#include <argv.h>
#include <rpmfc.h>
#include <rpmds.h>
#include <rpmfi.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | DepMsg_s |
struct | rpmfcApplyTbl_s |
Defines | |
#define | _RPMDS_INTERNAL |
Typedefs | |
typedef rpmfcApplyTbl_s * | rpmfcApplyTbl |
typedef DepMsg_s * | DepMsg_t |
Functions | |
int | rpmfcExpandAppend (ARGV_t *argvp, const ARGV_t av) |
StringBuf | getOutputFrom (const char *dir, ARGV_t argv, const char *writePtr, int writeBytesLeft, int failNonZero) |
int | rpmfcExec (ARGV_t av, StringBuf sb_stdin, StringBuf *sb_stdoutp, int failnonzero) |
Return helper output. | |
int | rpmfcSaveArg (ARGV_t *argvp, const char *key) |
char * | rpmfcFileDep (char *buf, int ix, rpmds ds) |
int | rpmfcHelper (rpmfc fc, unsigned char deptype, const char *nsdep) |
Run per-interpreter dependency helper. | |
int | rpmfcColoring (const char *fmstr) |
Return file color given file(1) string. | |
void | rpmfcPrint (const char *msg, rpmfc fc, FILE *fp) |
Print results of file classification. | |
rpmfc | rpmfcFree (rpmfc fc) |
Destroy a file classifier. | |
rpmfc | rpmfcNew (void) |
int | rpmfcSCRIPT (rpmfc fc) |
Extract script dependencies. | |
int | rpmfcELF (rpmfc fc) |
Extract Elf dependencies. | |
int | rpmfcApply (rpmfc fc) |
Build file/package dependency dictionary and mappings. | |
int | rpmfcClassify (rpmfc fc, ARGV_t argv) |
Build file class dictionary and mappings. | |
void | printDeps (Header h) |
int | rpmfcGenerateDependsHelper (const Spec spec, Package pkg, rpmfi fi) |
int | rpmfcGenerateDepends (const Spec spec, Package pkg) |
Generate package dependencies. | |
Variables | |
rpmfcTokens_s | rpmfcTokens [] |
rpmfcApplyTbl_s | rpmfcApplyTable [] |
DepMsg_s | depMsgs [] |
DepMsg_t | DepMsgs = depMsgs |
|
|
|
|
|
|
|
Definition at line 1297 of file rpmfc.c. References DepMsg_s::ftag, int_32, DepMsg_s::mask, DepMsg_s::msg, DepMsg_s::ntag, rpmds, rpmdsDNEVR(), rpmdsFlags(), rpmdsFree(), rpmdsInit(), rpmdsNew(), rpmdsNext(), RPMMESS_NORMAL, rpmMessage, and DepMsg_s::xor. Referenced by rpmfcGenerateDepends(). |
|
Build file/package dependency dictionary and mappings.
Definition at line 1052 of file rpmfc.c. References argiAdd(), argvCount(), rpmfcApplyTbl_s::colormask, rpmfc_s::ddict, rpmfc_s::ddictx, rpmfc_s::fcolor, rpmfc_s::fddictn, rpmfc_s::fddictx, rpmfc_s::fn, rpmfcApplyTbl_s::func, int_32, rpmfc_s::ix, rpmfc_s::provides, rpmfc_s::requires, rpmds, rpmdsFind(), rpmdsFree(), rpmdsSingle(), RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, and ARGI_s::vals. Referenced by main(), and rpmfcGenerateDepends(). |
|
Build file class dictionary and mappings.
Definition at line 1141 of file rpmfc.c. References argiAdd(), argv, ARGV_t, argvAdd(), argvCount(), argvFree(), argvSearch(), rpmfc_s::cdict, rpmfc_s::fcdictx, rpmfc_s::fcolor, rpmfc_s::fddictn, rpmfc_s::fddictx, rpmfc_s::fknown, fmagicProcess(), fmagicSetup(), rpmfc_s::fn, rpmfc_s::fwhite, rpmfc_s::ix, fmagic_s::magicfile, rpmfc_s::nfiles, fmagic_s::nob, fmagic_s::obp, fmagic_s::obuf, RPMFC_INCLUDE, RPMFC_WHITE, rpmfcColoring(), rpmfcSaveArg(), RPMMESS_DEBUG, and rpmMessage. Referenced by main(), and rpmfcGenerateDepends(). |
|
Return file color given file(1) string.
Definition at line 512 of file rpmfc.c. References rpmfcTokens_s::colors, RPMFC_BLACK, RPMFC_INCLUDE, and rpmfcTokens_s::token. Referenced by rpmfcClassify(). |
|
Extract Elf dependencies.
Definition at line 735 of file rpmfc.c. References _free(), rpmfc_s::ddict, EI_CLASS, ELFCLASS64, ET_EXEC, rpmfc_s::fn, int_32, rpmfc_s::ix, rpmfc_s::provides, rpmfc_s::requires, rpmds, rpmdsFree(), rpmdsMerge(), rpmdsSingle(), rpmExpandNumeric(), rpmfcFileDep(), rpmfcSaveArg(), RPMSENSE_FIND_PROVIDES, RPMSENSE_FIND_REQUIRES, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, rpmfc_s::skipProv, rpmfc_s::skipReq, stpcpy(), and xstrdup(). |
|
Return helper output.
Definition at line 201 of file rpmfc.c. References _free(), ARGV_t, argvAppend(), argvFree(), freeStringBuf(), getOutputFrom(), getStringBuf(), poptParseArgvString(), rpmExpand(), and rpmfcExpandAppend(). Referenced by checkFiles(), rpmfcGenerateDependsHelper(), and rpmfcHelper(). |
|
Definition at line 24 of file rpmfc.c. References argv, ARGV_t, argvCount(), rpmExpand(), and xrealloc(). Referenced by rpmfcExec(). |
|
Definition at line 278 of file rpmfc.c. References int_32, rpmds, rpmdsEVR(), rpmdsFlags(), rpmdsN(), rpmdsTagN(), RPMTAG_PROVIDENAME, and RPMTAG_REQUIRENAME. Referenced by rpmfcELF(), rpmfcHelper(), and rpmfcSCRIPT(). |
|
Destroy a file classifier.
Definition at line 604 of file rpmfc.c. References _free(), argiFree(), argvFree(), rpmfc_s::cdict, rpmfc_s::ddict, rpmfc_s::ddictx, rpmfc_s::fcdictx, rpmfc_s::fcolor, rpmfc_s::fddictn, rpmfc_s::fddictx, rpmfc_s::fn, freeStringBuf(), rpmfc_s::provides, rpmfc_s::requires, rpmdsFree(), rpmfc_s::sb_java, rpmfc_s::sb_perl, and rpmfc_s::sb_python. Referenced by main(), and rpmfcGenerateDepends(). |
|
|
Definition at line 1342 of file rpmfc.c. References _, _free(), appendLineStringBuf, DepMsg_s::argv, Package_s::autoProv, Package_s::autoReq, freeStringBuf(), DepMsg_s::ftag, getStringBuf(), DepMsg_s::msg, newStringBuf(), DepMsg_s::ntag, parseRCPOT(), RPMERR_EXEC, rpmError, rpmExpand(), rpmfcExec(), rpmfi, rpmfiFN(), rpmfiInit(), rpmfiNext(), RPMMESS_NORMAL, rpmMessage, RPMSENSE_FIND_PROVIDES, RPMSENSE_FIND_REQUIRES, RPMTAG_PROVIDEFLAGS, and RPMTAG_REQUIREFLAGS. Referenced by rpmfcGenerateDepends(). |
|
Run per-interpreter dependency helper.
Definition at line 311 of file rpmfc.c. References appendLineStringBuf, ARGV_t, argvCount(), argvFree(), argvSplit(), rpmfc_s::ddict, rpmfc_s::fn, freeStringBuf(), getStringBuf(), int_32, rpmfc_s::ix, newStringBuf(), rpmfc_s::provides, rpmfc_s::requires, rpmds, rpmdsFree(), rpmdsMerge(), rpmdsSingle(), rpmfcExec(), rpmfcFileDep(), rpmfcSaveArg(), RPMSENSE_EQUAL, RPMSENSE_FIND_PROVIDES, RPMSENSE_FIND_REQUIRES, RPMSENSE_GREATER, RPMSENSE_LESS, RPMSENSE_RPMLIB, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, rpmfc_s::skipProv, rpmfc_s::skipReq, snprintf(), and rpmfc_s::tracked. Referenced by rpmfcSCRIPT(). |
|
Definition at line 628 of file rpmfc.c. References xcalloc(). Referenced by main(), and rpmfcGenerateDepends(). |
|
Print results of file classification.
Definition at line 527 of file rpmfc.c. References rpmfc_s::cdict, rpmfc_s::ddictx, rpmfc_s::fcdictx, rpmfc_s::fcolor, rpmfc_s::fddictn, rpmfc_s::fddictx, rpmfc_s::fn, rpmfc_s::nfiles, rpmfc_s::provides, rpmfc_s::requires, rpmdsCount(), rpmdsDNEVR(), rpmdsNext(), rpmdsSetIx(), RPMFC_BLACK, and ARGI_s::vals. Referenced by main(), and rpmfcGenerateDepends(). |
|
Definition at line 265 of file rpmfc.c. References ARGV_t, argvAdd(), argvSearch(), and argvSort(). Referenced by rpmfcClassify(), rpmfcELF(), rpmfcHelper(), and rpmfcSCRIPT(). |
|
Extract script dependencies.
Definition at line 639 of file rpmfc.c. References rpmfc_s::ddict, rpmfc_s::fcolor, rpmfc_s::fn, rpmfc_s::ix, rpmfc_s::requires, rpmds, rpmdsFree(), rpmdsMerge(), rpmdsSingle(), RPMFC_MODULE, RPMFC_PERL, RPMFC_PYTHON, rpmfcFileDep(), rpmfcHelper(), rpmfcSaveArg(), RPMSENSE_FIND_REQUIRES, RPMTAG_REQUIRENAME, and ARGI_s::vals. |
|
|
|
|
|
Initial value: { { rpmfcELF, RPMFC_ELF }, { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL) }, { NULL, 0 } } |
|
|