rpm  4.5
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
files.c File Reference

The post-build, pre-packaging file tree walk to assemble the package manifest. More...

#include "system.h"
#include <regex.h>
#include <rpmio_internal.h>
#include <fts.h>
#include <rpmbuild.h>
#include "cpio.h"
#include "argv.h"
#include "rpmfc.h"
#include "rpmfi.h"
#include "rpmte.h"
#include "buildio.h"
#include "legacy.h"
#include "misc.h"
#include "debug.h"
Include dependency graph for files.c:

Go to the source code of this file.

Data Structures

struct  FileListRec_s
 
struct  AttrRec_s
 
struct  FileList_s
 Package file tree walk data. More...
 
struct  VFA
 

Macros

#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 struct FileListRec_sFileListRec
 
typedef struct AttrRec_sAttrRec
 
typedef struct FileList_sFileList
 Package file tree walk data. More...
 
typedef struct 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

static void nullAttrRec (AttrRec ar)
 
static void freeAttrRec (AttrRec ar)
 
static void dupAttrRec (const AttrRec oar, AttrRec nar)
 
static char * strtokWithQuotes (char *s, char *delim)
 
static void timeCheck (int tc, Header h)
 
static int parseForVerify (char *buf, FileList fl)
 Parse verify and defverify from file manifest. More...
 
static int parseForDev (char *buf, FileList fl)
 Parse dev from file manifest. More...
 
static int parseForAttr (char *buf, FileList fl)
 Parse attr and defattr from file manifest. More...
 
static int parseForConfig (char *buf, FileList fl)
 Parse config from file manifest. More...
 
static int langCmp (const void *ap, const void *bp)
 
static int parseForLang (char *buf, FileList fl)
 Parse lang from file manifest. More...
 
static int parseForRegexLang (const char *fileName, char **lang)
 
static int parseForSimple (Spec spec, Package pkg, char *buf, FileList fl, const char **fileName)
 Parse simple attributes (e.g. More...
 
static int compareFileListRecs (const void *ap, const void *bp)
 
static int isDoc (FileList fl, const char *fileName)
 Test if file is located in a docdir. More...
 
static int checkHardLinks (FileList fl)
 Verify that file attributes scope over hardlinks correctly. More...
 
static int dncmp (const void *a, const void *b)
 
static void compressFilelist (Header h)
 Convert absolute path tag to (dirname,basename,dirindex) tags. More...
 
static void genCpioListAndHeader (FileList fl, rpmfi *fip, Header h, int isSrc)
 Add file entries to header. More...
 
static FileListRec freeFileList (FileListRec fileList, int count)
 
static int recurseDir (FileList fl, const char *diskURL)
 Add directory (and all of its files) to the package manifest. More...
 
static int addFile (FileList fl, const char *diskURL, struct stat *statp)
 Add a file to the package manifest. More...
 
static int processMetadataFile (Package pkg, FileList fl, const char *fileURL, rpmTag tag)
 Add a pubkey/policy/icon to a binary package. More...
 
static int processBinaryFile (Package pkg, FileList fl, const char *fileURL)
 Add a file to a binary package. More...
 
static int processPackageFiles (Spec spec, Package pkg, int installSpecialDoc, int test)
 
int initSourceHeader (Spec spec, StringBuf *sfp)
 Create and initialize header for source package. More...
 
int processSourceFiles (Spec spec)
 Post-build processing for source package. More...
 
static int checkFiles (StringBuf fileList)
 Check packaged file list against what's in the build root. More...
 
int processBinaryFiles (Spec spec, int installSpecialDoc, int test)
 Post-build processing for binary package(s). More...
 

Variables

static struct AttrRec_s root_ar = { NULL, NULL, "root", "root", 0, 0 }
 
static StringBuf check_fileList = NULL
 
VFA_t verifyAttrs []
 
VFA_t virtualFileAttributes []
 

Detailed Description

The post-build, pre-packaging file tree walk to assemble the package manifest.

Definition in file files.c.

Macro Definition Documentation

#define _RPMFI_INTERNAL

Definition at line 23 of file files.c.

#define _RPMTE_INTERNAL

Definition at line 26 of file files.c.

#define fl_dev   fl_st.st_dev

Definition at line 66 of file files.c.

#define fl_gid   fl_st.st_gid

Definition at line 71 of file files.c.

#define fl_ino   fl_st.st_ino

Definition at line 67 of file files.c.

#define fl_mode   fl_st.st_mode

Definition at line 68 of file files.c.

#define fl_mtime   fl_st.st_mtime

Definition at line 74 of file files.c.

#define fl_nlink   fl_st.st_nlink

Definition at line 69 of file files.c.

#define fl_rdev   fl_st.st_rdev

Definition at line 72 of file files.c.

#define fl_size   fl_st.st_size

Definition at line 73 of file files.c.

#define fl_uid   fl_st.st_uid

Definition at line 70 of file files.c.

#define isAttrDefault (   _ars)    ((_ars)[0] == '-' && (_ars)[1] == '\0')

Definition at line 414 of file files.c.

Referenced by parseForAttr().

#define MAXDOCDIR   1024

Definition at line 44 of file files.c.

Referenced by parseForSimple().

#define MYALLPERMS   07777

Definition at line 9 of file files.c.

Referenced by parseForAttr().

#define SKIPNONWHITE (   _x)    {while(*(_x) &&!(xisspace(*_x) || *(_x) == ',')) (_x)++;}

Definition at line 42 of file files.c.

Referenced by parseForAttr(), parseForConfig(), parseForDev(), parseForLang(), and parseForVerify().

#define SKIPWHITE (   _x)    {while(*(_x) && (xisspace(*_x) || *(_x) == ',')) (_x)++;}

Definition at line 41 of file files.c.

Referenced by parseForAttr(), parseForConfig(), parseForDev(), parseForLang(), and parseForVerify().

Typedef Documentation

typedef struct AttrRec_s * AttrRec
typedef struct FileList_s * FileList

Package file tree walk data.

typedef struct FileListRec_s * FileListRec
typedef enum specdFlags_e specdFlags
typedef struct VFA VFA_t

Enumeration Type Documentation

Enumerator
SPECD_DEFFILEMODE 
SPECD_DEFDIRMODE 
SPECD_DEFUID 
SPECD_DEFGID 
SPECD_DEFVERIFY 
SPECD_FILEMODE 
SPECD_DIRMODE 
SPECD_UID 
SPECD_GID 
SPECD_VERIFY 

Definition at line 48 of file files.c.

Function Documentation

static int addFile ( FileList  fl,
const char *  diskURL,
struct stat *  statp 
)
static
static int checkFiles ( StringBuf  fileList)
static

Check packaged file list against what's in the build root.

Parameters
fileListpackaged file list
Returns
-1 if skipped, 0 on OK, 1 on error

Definition at line 2621 of file files.c.

References _, _free(), freeStringBuf(), getStringBuf(), rpmExpand(), rpmExpandNumeric(), rpmfcExec(), RPMMESS_ERROR, RPMMESS_NORMAL, RPMMESS_WARNING, and rpmMessage.

Referenced by processBinaryFiles().

static int checkHardLinks ( FileList  fl)
static

Verify that file attributes scope over hardlinks correctly.

If partial hardlink sets are possible, then add tracking dependency.

Parameters
flpackage file tree walk data
Returns
1 if partial hardlink sets can exist, 0 otherwise.

Definition at line 1116 of file files.c.

References FileList_s::fileList, FileList_s::fileListRecsUsed, FileListRec_s::flags, RPMFILE_EXCLUDE, and RPMFILE_GHOST.

Referenced by processPackageFiles().

static int compareFileListRecs ( const void *  ap,
const void *  bp 
)
static

Definition at line 1081 of file files.c.

References urlPath().

Referenced by genCpioListAndHeader().

static void compressFilelist ( Header  h)
static

Convert absolute path tag to (dirname,basename,dirindex) tags.

Parameters
hheader

Definition at line 1166 of file files.c.

References alloca(), dncmp(), headerAddEntry(), headerFreeData(), headerGetEntryMinMemory(), headerIsEntry(), headerRemoveEntry(), RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_OLDFILENAMES, and urlPath().

Referenced by genCpioListAndHeader().

static int dncmp ( const void *  a,
const void *  b 
)
static

Definition at line 1148 of file files.c.

References urlPath().

Referenced by compressFilelist().

static void dupAttrRec ( const AttrRec  oar,
AttrRec  nar 
)
static
static void freeAttrRec ( AttrRec  ar)
static
static FileListRec freeFileList ( FileListRec  fileList,
int  count 
)
static
static void genCpioListAndHeader ( FileList  fl,
rpmfi fip,
Header  h,
int  isSrc 
)
static

Add file entries to header.

Todo:

Should directories have doc/config attributes? (#14531)

Remove RPMTAG_OLDFILENAMES, add dirname/basename instead.

Parameters
flpackage file tree walk data
Return values
*fipfile info for package
Parameters
h
isSrc

Definition at line 1271 of file files.c.

References _, _free(), FileList_s::buildRootURL, compareFileListRecs(), compressFilelist(), CPIO_FOLLOW_SYMLINKS, CPIO_MAP_GID, CPIO_MAP_MODE, CPIO_MAP_PATH, CPIO_MAP_TYPE, CPIO_MAP_UID, FileListRec_s::diskURL, dodigest(), FA_COPYOUT, FA_SKIP, FileList_s::fileList, FileList_s::fileListRecsUsed, FileListRec_s::fileURL, FileListRec_s::flags, freecon, FileListRec_s::gname, headerAddEntry(), headerAddOrAppendEntry(), isDoc(), FileListRec_s::langs, matchpathcon, matchpathcon_init, PGPHASHALGO_ADLER32, PGPHASHALGO_CRC32, PGPHASHALGO_CRC64, PGPHASHALGO_HAVAL_5_160, PGPHASHALGO_MD2, PGPHASHALGO_MD4, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD128, PGPHASHALGO_RIPEMD160, PGPHASHALGO_SHA1, PGPHASHALGO_SHA256, PGPHASHALGO_SHA384, PGPHASHALGO_SHA512, PGPHASHALGO_TIGER192, FileList_s::prefix, FileList_s::processingFailed, Readlink(), RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMERR_BADSPEC, rpmError, rpmExpandNumeric(), rpmfiFree(), RPMFILE_CONFIG, RPMFILE_DOC, RPMFILE_EXCLUDE, RPMFILE_GHOST, rpmfiNew(), rpmGetPath(), rpmlibNeedsFeature(), RPMMESS_WARNING, rpmMessage, RPMTAG_BASENAMES, RPMTAG_FILECONTEXTS, RPMTAG_FILEDEVICES, RPMTAG_FILEDIGESTALGOS, RPMTAG_FILEDIGESTS, RPMTAG_FILEFLAGS, RPMTAG_FILEGROUPNAME, RPMTAG_FILEINODES, RPMTAG_FILELANGS, RPMTAG_FILELINKTOS, RPMTAG_FILEMODES, RPMTAG_FILEMTIMES, RPMTAG_FILERDEVS, RPMTAG_FILESIZES, RPMTAG_FILEUSERNAME, RPMTAG_FILEVERIFYFLAGS, RPMTAG_OLDFILENAMES, RPMTAG_SIZE, RPMVERIFY_FILESIZE, RPMVERIFY_LINKTO, RPMVERIFY_MD5, RPMVERIFY_MTIME, S_ISLNK, SPECD_DEFDIRMODE, SPECD_DEFFILEMODE, SPECD_DEFGID, SPECD_DEFUID, SPECD_DEFVERIFY, SPECD_DIRMODE, SPECD_FILEMODE, SPECD_GID, SPECD_UID, SPECD_VERIFY, FileListRec_s::specdFlags, stpcpy(), FileList_s::totalFileSize, TR_ADDED, FileListRec_s::uname, urlPath(), FileListRec_s::verifyFlags, xcalloc(), and xmalloc().

Referenced by processPackageFiles(), and processSourceFiles().

static int isDoc ( FileList  fl,
const char *  fileName 
)
static

Test if file is located in a docdir.

Bug:
Use of strstr(3) might result in false positives.
Parameters
flpackage file tree walk data
fileNamefile path
Returns
1 if doc file, 0 if not

Definition at line 1099 of file files.c.

References FileList_s::docDirCount, and FileList_s::docDirs.

Referenced by genCpioListAndHeader().

static int langCmp ( const void *  ap,
const void *  bp 
)
static

Definition at line 719 of file files.c.

Referenced by parseForLang().

static void nullAttrRec ( AttrRec  ar)
static
static int parseForAttr ( char *  buf,
FileList  fl 
)
static

Parse attr and defattr from file manifest.

Parameters
bufcurrent spec file line
flpackage file tree walk data
Returns
0 on success

Definition at line 525 of file files.c.

References _, alloca(), FileList_s::cur_ar, FileList_s::currentSpecdFlags, FileList_s::def_ar, FileList_s::defSpecdFlags, dupAttrRec(), isAttrDefault, MYALLPERMS, name, nullAttrRec(), FileList_s::processingFailed, RPMERR_BADSPEC, rpmError, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, SPECD_DIRMODE, SPECD_FILEMODE, SPECD_GID, and SPECD_UID.

Referenced by processPackageFiles(), and processSourceFiles().

static int parseForConfig ( char *  buf,
FileList  fl 
)
static

Parse config from file manifest.

Parameters
bufcurrent spec file line
flpackage file tree walk data
Returns
0 on success

Definition at line 658 of file files.c.

References _, alloca(), FileList_s::currentFlags, name, FileList_s::processingFailed, RPMERR_BADSPEC, rpmError, RPMFILE_CONFIG, RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, SKIPNONWHITE, SKIPSPACE, and SKIPWHITE.

Referenced by processPackageFiles().

static int parseForDev ( char *  buf,
FileList  fl 
)
static

Parse dev from file manifest.

Parameters
bufcurrent spec file line
flpackage file tree walk data
Returns
0 on success

Definition at line 423 of file files.c.

References _, alloca(), FileList_s::devmajor, FileList_s::devminor, FileList_s::devtype, name, FileList_s::noGlob, FileList_s::processingFailed, RPMERR_BADSPEC, rpmError, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, and xisdigit().

Referenced by processPackageFiles().

static int parseForLang ( char *  buf,
FileList  fl 
)
static

Parse lang from file manifest.

Parameters
bufcurrent spec file line
flpackage file tree walk data
Returns
0 on success

Definition at line 734 of file files.c.

References _, alloca(), FileList_s::currentLangs, langCmp(), name, FileList_s::nLangs, FileList_s::processingFailed, RPMERR_BADSPEC, rpmError, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, xmalloc(), and xrealloc().

Referenced by processPackageFiles().

static int parseForRegexLang ( const char *  fileName,
char **  lang 
)
static

Definition at line 825 of file files.c.

References _free(), and rpmExpand().

Referenced by addFile().

static int parseForSimple ( Spec  spec,
Package  pkg,
char *  buf,
FileList  fl,
const char **  fileName 
)
static

Parse simple attributes (e.g.

dir) from file manifest.

Parameters
specspec file control structure
pkgpackage control structure
bufcurrent spec file line
flpackage file tree walk data
Return values
*fileNamefile name
Returns
0 on success

Definition at line 904 of file files.c.

References _, _free(), appendLineStringBuf, appendStringBuf, VFA::attribute, FileList_s::currentFlags, FileList_s::docDirCount, FileList_s::docDirs, VFA::flag, Package_s::header, headerSprintf(), FileList_s::isDir, FileList_s::isSpecialDoc, MAXDOCDIR, MKDIR_P, newStringBuf(), VFA::not, FileList_s::passedSpecialDoc, FileList_s::processingFailed, RPMERR_BADSPEC, RPMERR_INTERNAL, rpmError, rpmExpand(), RPMFILE_DOC, RPMFILE_ICON, RPMFILE_POLICY, RPMFILE_PUBKEY, rpmGetPath(), rpmHeaderFormats, rpmTagTable, Package_s::specialDoc, strtokWithQuotes(), URL_IS_PATH, urlPath(), and xstrdup().

Referenced by processPackageFiles().

static int parseForVerify ( char *  buf,
FileList  fl 
)
static

Parse verify and defverify from file manifest.

Parameters
bufcurrent spec file line
flpackage file tree walk data
Returns
0 on success

Definition at line 325 of file files.c.

References _, alloca(), VFA::attribute, FileList_s::currentSpecdFlags, FileList_s::currentVerifyFlags, FileList_s::defSpecdFlags, FileList_s::defVerifyFlags, VFA::flag, name, FileList_s::processingFailed, RPMERR_BADSPEC, rpmError, RPMVERIFY_NONE, SKIPNONWHITE, SKIPSPACE, SKIPWHITE, and SPECD_VERIFY.

Referenced by processPackageFiles().

static int processBinaryFile ( Package  pkg,
FileList  fl,
const char *  fileURL 
)
static

Add a file to a binary package.

Parameters
pkgpackage control structure
flpackage file tree walk data
fileURL
Returns
0 on success

Definition at line 2042 of file files.c.

References _, _free(), addFile(), FileList_s::buildRootURL, Glob_pattern_p(), FileList_s::noGlob, FileList_s::processingFailed, RPMERR_BADSPEC, rpmError, rpmGenPath(), rpmGlob(), and urlPath().

Referenced by processPackageFiles().

static int processMetadataFile ( Package  pkg,
FileList  fl,
const char *  fileURL,
rpmTag  tag 
)
static

Add a pubkey/policy/icon to a binary package.

Parameters
pkgpackage control structure
flpackage file tree walk data
fileURLpath to file, relative is builddir, absolute buildroot.
tagtag to add
Returns
0 on success

Definition at line 1962 of file files.c.

References _, _free(), addFile(), FileList_s::buildRootURL, Package_s::header, headerAddOrAppendEntry(), PGPARMOR_PUBKEY, pgpArmorWrap(), pgpReadPkts(), FileList_s::processingFailed, RPM_STRING_ARRAY_TYPE, RPMERR_BADSPEC, rpmError, rpmGenPath(), rpmioSlurp(), RPMTAG_POLICIES, RPMTAG_PUBKEYS, and urlPath().

Referenced by processPackageFiles().

static int processPackageFiles ( Spec  spec,
Package  pkg,
int  installSpecialDoc,
int  test 
)
static

Definition at line 2124 of file files.c.

References _, _free(), appendStringBuf, FileList_s::buildRootURL, Spec_s::buildSubdir, checkHardLinks(), Package_s::cpioList, 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, Package_s::fileFile, FileList_s::fileList, Package_s::fileList, FileList_s::fileListRecsAlloced, FileList_s::fileListRecsUsed, Fopen(), freeAttrRec(), freeFileList(), freeSplitString(), Fstrerror(), genCpioListAndHeader(), getStringBuf(), handleComments(), Package_s::header, headerGetEntryMinMemory(), FileList_s::inFtw, FileList_s::isDir, FileList_s::isSpecialDoc, Spec_s::macros, FileList_s::nLangs, FileList_s::noGlob, nullAttrRec(), parseForAttr(), parseForConfig(), parseForDev(), parseForLang(), parseForSimple(), parseForVerify(), FileList_s::passedSpecialDoc, FileList_s::prefix, processBinaryFile(), FileList_s::processingFailed, processMetadataFile(), Spec_s::rootURL, RPMBUILD_STRINGBUF, RPMERR_BADFILENAME, RPMERR_BADSPEC, rpmError, rpmExpandNumeric(), RPMFILE_POLICY, RPMFILE_PUBKEY, rpmGenPath(), rpmGetPath(), rpmlibNeedsFeature(), RPMTAG_DEFAULTPREFIX, RPMTAG_POLICIES, RPMTAG_PUBKEYS, RPMVERIFY_ALL, SKIPSPACE, Package_s::specialDoc, splitString(), Spec_s::timeCheck, timeCheck(), FileList_s::totalFileSize, and xstrdup().

Referenced by processBinaryFiles().

static int recurseDir ( FileList  fl,
const char *  diskURL 
)
static

Add directory (and all of its files) to the package manifest.

Parameters
flpackage file tree walk data
diskURLpath to file
Returns
0 on success

Definition at line 1905 of file files.c.

References addFile(), _ftsent::fts_accpath, Fts_close(), FTS_COMFOLLOW, FTS_D, FTS_DC, FTS_DEFAULT, FTS_DNR, FTS_DOT, FTS_DP, FTS_ERR, FTS_F, _ftsent::fts_info, FTS_INIT, FTS_NOCHDIR, FTS_NS, FTS_NSOK, Fts_open(), FTS_PHYSICAL, Fts_read(), FTS_SL, FTS_SLNONE, _ftsent::fts_statp, FTS_W, FileList_s::inFtw, FileList_s::isDir, and RPMERR_BADSPEC.

Referenced by addFile().

static char* strtokWithQuotes ( char *  s,
char *  delim 
)
static
Parameters
sstring
delimtoken delimiters

Definition at line 225 of file files.c.

Referenced by parseForSimple().

static void timeCheck ( int  tc,
Header  h 
)
static

Variable Documentation

StringBuf check_fileList = NULL
static

Definition at line 113 of file files.c.

struct AttrRec_s root_ar = { NULL, NULL, "root", "root", 0, 0 }
static

Definition at line 108 of file files.c.

VFA_t verifyAttrs[]
Initial value:
= {
{ "md5", 0, RPMVERIFY_MD5 },
{ "size", 0, RPMVERIFY_FILESIZE },
{ "link", 0, RPMVERIFY_LINKTO },
{ "user", 0, RPMVERIFY_USER },
{ "group", 0, RPMVERIFY_GROUP },
{ "mtime", 0, RPMVERIFY_MTIME },
{ "mode", 0, RPMVERIFY_MODE },
{ "rdev", 0, RPMVERIFY_RDEV },
{ NULL, 0, 0 }
}

Definition at line 305 of file files.c.

VFA_t virtualFileAttributes[]
Initial value:
= {
{ "%dir", 0, 0 },
{ "%doc", 0, RPMFILE_DOC },
{ "%ghost", 0, RPMFILE_GHOST },
{ "%exclude", 0, RPMFILE_EXCLUDE },
{ "%readme", 0, RPMFILE_README },
{ "%license", 0, RPMFILE_LICENSE },
{ "%pubkey", 0, RPMFILE_PUBKEY },
{ "%policy", 0, RPMFILE_POLICY },
{ NULL, 0, 0 }
}

Definition at line 872 of file files.c.