rpm
5.2.1
|
#include "system.h"
#include "rpmio_internal.h"
#include <rpmbc.h>
#include <rpmcb.h>
#include <rpmmacro.h>
#include <rpmuuid.h>
#include <argv.h>
#include <ugid.h>
#include <rpmtag.h>
#include <rpmevr.h>
#include <rpmns.h>
#include <rpmdb.h>
#include <rpmtypes.h>
#include "misc.h"
#include <rpmfi.h>
#include "legacy.h"
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | key_s |
struct | sprintfTag_s |
struct | sprintfToken_s |
struct | headerSprintfArgs_s |
Macros | |
#define | _MIRE_INTERNAL |
#define | _RPMTAG_INTERNAL |
#define | _RPMEVR_INTERNAL |
#define | PARSER_BEGIN 0 |
#define | PARSER_IN_ARRAY 1 |
#define | PARSER_IN_EXPR 2 |
#define | isSEP(_c) ((_c) == ':' || (_c) == '|') |
Typedefs | |
typedef struct key_s | KEY |
typedef struct sprintfTag_s * | sprintfTag |
typedef struct sprintfToken_s * | sprintfToken |
typedef struct headerSprintfArgs_s * | headerSprintfArgs |
Enumerations | |
enum | keyStat_e { STAT_KEYS_NONE = 0, STAT_KEYS_DEV = (1U << 0), STAT_KEYS_INO = (1U << 1), STAT_KEYS_MODE = (1U << 2), STAT_KEYS_NLINK = (1U << 3), STAT_KEYS_UID = (1U << 4), STAT_KEYS_GID = (1U << 5), STAT_KEYS_RDEV = (1U << 6), STAT_KEYS_SIZE = (1U << 7), STAT_KEYS_BLKSIZE = (1U << 8), STAT_KEYS_BLOCKS = (1U << 9), STAT_KEYS_ATIME = (1U << 10), STAT_KEYS_CTIME = (1U << 11), STAT_KEYS_MTIME = (1U << 12), STAT_KEYS_SLINK = (1U << 14), STAT_KEYS_DIGEST = (1U << 15), STAT_KEYS_UNAME = (1U << 17), STAT_KEYS_GNAME = (1U << 18) } |
Bit field enum for stat(2) keys. More... | |
enum | keyUuids_e { UUID_KEYS_NONE = (0U << 0), UUID_KEYS_V1 = (1U << 0), UUID_KEYS_V3 = (3U << 0), UUID_KEYS_V4 = (4U << 0), UUID_KEYS_V5 = (5U << 0) } |
Bit field enum for stat(2) keys. More... | |
Functions | |
static char * | intFormat (HE_t he, const char **av, const char *fmt) |
Convert tag data representation. More... | |
static char * | octFormat (HE_t he, const char **av) |
Return octal formatted data. More... | |
static char * | hexFormat (HE_t he, const char **av) |
Return hex formatted data. More... | |
static char * | decFormat (HE_t he, const char **av) |
Return decimal formatted data. More... | |
static char * | realDateFormat (HE_t he, const char **av, const char *strftimeFormat) |
Return strftime formatted data. More... | |
static char * | dateFormat (HE_t he, const char **av) |
Return date formatted data. More... | |
static char * | dayFormat (HE_t he, const char **av) |
Return day formatted data. More... | |
static char * | shescapeFormat (HE_t he, const char **av) |
Return shell escape formatted data. More... | |
static char * | rpmPermsString (int mode) |
static char * | triggertypeFormat (HE_t he, const char **av) |
Identify type of trigger. More... | |
static char * | permsFormat (HE_t he, const char **av) |
Format file permissions for display. More... | |
static char * | fflagsFormat (HE_t he, const char **av) |
Format file flags for display. More... | |
static char * | armorFormat (HE_t he, const char **av) |
Wrap a pubkey in ascii armor for display. More... | |
static char * | base64Format (HE_t he, const char **av) |
Encode binary data in base64 for display. More... | |
static size_t | xmlstrlen (const char *s) |
Return length of string represented with xml characters substituted. More... | |
static char * | xmlstrcpy (char *t, const char *s) |
Copy source string to target, substituting for xml characters. More... | |
static char * | strdup_locale_convert (const char *buffer, const char *tocode) |
static char * | cdataFormat (HE_t he, const char **av) |
Encode string for use in XML CDATA. More... | |
static char * | iconvFormat (HE_t he, const char **av) |
Convert string encoding. More... | |
static char * | xmlFormat (HE_t he, const char **av) |
Wrap tag data in simple header xml markup. More... | |
static size_t | yamlstrlen (const char *s, int lvl) |
Return length of string represented with yaml indentation. More... | |
static char * | yamlstrcpy (char *t, const char *s, int lvl) |
Copy source string to target, indenting for yaml. More... | |
static char * | yamlFormat (HE_t he, const char **av) |
Wrap tag data in simple header yaml markup. More... | |
static char * | pgpsigFormat (HE_t he, const char **av) |
Display signature fingerprint and time. More... | |
static char * | depflagsFormat (HE_t he, const char **av) |
Format dependency flags for display. More... | |
static char * | deptypeFormat (HE_t he, const char **av) |
Format dependency type for display. More... | |
static int | instprefixTag (Header h, HE_t he) |
Retrieve install prefixes. More... | |
static int | tv2uuidv1 (Header h, HE_t he, struct timeval *tv) |
Convert unix timeval to UUIDv1. More... | |
static int | tag2uuidv1 (Header h, HE_t he) |
Retrieve time and convert to UUIDv1. More... | |
static int | installtime_uuidTag (Header h, HE_t he) |
Retrieve install time and convert to UUIDv1. More... | |
static int | buildtime_uuidTag (Header h, HE_t he) |
Retrieve build time and convert to UUIDv1. More... | |
static int | origintime_uuidTag (Header h, HE_t he) |
Retrieve origin time and convert to UUIDv1. More... | |
static int | installtid_uuidTag (Header h, HE_t he) |
Retrieve install tid and convert to UUIDv1. More... | |
static int | removetid_uuidTag (Header h, HE_t he) |
Retrieve remove tid and convert to UUIDv1. More... | |
static int | origintid_uuidTag (Header h, HE_t he) |
Retrieve origin tid and convert to UUIDv1. More... | |
static int | str2uuid (HE_t he, const char **av, rpmuint32_t version, char *val) |
Convert tag string to UUID. More... | |
static int | tag2uuidv5 (Header h, HE_t he) |
Retrieve tag and convert to UUIDv5. More... | |
static int | pkguuidTag (Header h, HE_t he) |
Retrieve pkgid and convert to UUIDv5. More... | |
static int | sourcepkguuidTag (Header h, HE_t he) |
Retrieve sourcepkgid and convert to UUIDv5. More... | |
static int | hdruuidTag (Header h, HE_t he) |
Retrieve hdrid and convert to UUIDv5. More... | |
static int | triggercondsTag (Header h, HE_t he) |
Retrieve trigger info. More... | |
static int | triggertypeTag (Header h, HE_t he) |
Retrieve trigger type info. More... | |
static int | i18nTag (Header h, HE_t he) |
Retrieve i18n text. More... | |
static int | localeTag (Header h, HE_t he) |
Retrieve text and convert to locale. More... | |
static int | summaryTag (Header h, HE_t he) |
Retrieve summary text. More... | |
static int | descriptionTag (Header h, HE_t he) |
Retrieve description text. More... | |
static int | changelognameTag (Header h, HE_t he) |
static int | changelogtextTag (Header h, HE_t he) |
static int | groupTag (Header h, HE_t he) |
Retrieve group text. More... | |
static int | dbinstanceTag (Header h, HE_t he) |
Retrieve db instance from header. More... | |
static int | headerstartoffTag (Header h, HE_t he) |
Retrieve starting byte offset of header. More... | |
static int | headerendoffTag (Header h, HE_t he) |
Retrieve ending byte offset of header. More... | |
static int | pkgoriginTag (Header h, HE_t he) |
Retrieve package origin from header. More... | |
static int | pkgbaseurlTag (Header h, HE_t he) |
Retrieve package baseurl from header. More... | |
static int | pkgdigestTag (Header h, HE_t he) |
Retrieve package digest from header. More... | |
static int | pkgmtimeTag (Header h, HE_t he) |
Retrieve *.rpm package st->st_mtime from header. More... | |
static int | pkgsizeTag (Header h, HE_t he) |
Retrieve *.rpm package st->st_size from header. More... | |
static char * | hGetNVRA (Header h) |
Return (malloc'd) header name-version-release.arch string. More... | |
static int | nvraTag (Header h, HE_t he) |
Retrieve N-V-R.A compound string from header. More... | |
static void | rpmfiBuildFNames (Header h, rpmTag tagN, const char ***fnp, rpmTagCount *fcp) |
Retrieve file names from header. More... | |
static int | _fnTag (Header h, HE_t he, rpmTag tag) |
Retrieve file paths. More... | |
static int | filenamesTag (Header h, HE_t he) |
static int | filepathsTag (Header h, HE_t he) |
static int | origpathsTag (Header h, HE_t he) |
static int | debevrfmtTag (Header h, HE_t he, HE_t Nhe, HE_t EVRhe, HE_t Fhe) |
Return Debian formatted dependencies as string array. More... | |
static int | debevrTag (Header h, HE_t he, rpmTag tagN, rpmTag tagEVR, rpmTag tagF) |
Retrieve and return Debian formatted dependecies for –deb:control. More... | |
static int | debconflictsTag (Header h, HE_t he) |
Retrieve Depends: and Conflicts: for –deb:control. More... | |
static int | debdependsTag (Header h, HE_t he) |
static int | debobsoletesTag (Header h, HE_t he) |
static int | debprovidesTag (Header h, HE_t he) |
static int | debmd5sumsTag (Header h, HE_t he) |
Retrieve digest/path pairs for –deb:md5sums. More... | |
static int | filestatTag (Header h, HE_t he) |
static int | wnlookupTag (Header h, rpmTag tagNVRA, ARGV_t *avp, ARGI_t *hitp, HE_t PNhe, HE_t PEVRhe, HE_t PFhe) |
static int | whatneedsTag (Header h, HE_t he) |
static int | nwlookupTag (Header h, rpmTag tagNVRA, ARGV_t *avp, ARGI_t *hitp, HE_t RNhe, HE_t REVRhe, HE_t RFhe) |
static int | needswhatTag (Header h, HE_t he) |
static int | PRCOSkip (rpmTag tag, rpmTagData N, rpmTagData EVR, rpmTagData F, rpmuint32_t i) |
static int | PRCOxmlTag (Header h, HE_t he, rpmTag EVRtag, rpmTag Ftag) |
static int | PxmlTag (Header h, HE_t he) |
static int | RxmlTag (Header h, HE_t he) |
static int | CxmlTag (Header h, HE_t he) |
static int | OxmlTag (Header h, HE_t he) |
static size_t | sqlstrlen (const char *s) |
Return length of string represented with single quotes doubled. More... | |
static char * | sqlstrcpy (char *t, const char *s) |
Copy source string to target, doubling single quotes. More... | |
static char * | sqlescapeFormat (HE_t he, const char **av) |
Encode string for use in SQL statements. More... | |
static int | PRCOsqlTag (Header h, HE_t he, rpmTag EVRtag, rpmTag Ftag) |
static int | PsqlTag (Header h, HE_t he) |
static int | RsqlTag (Header h, HE_t he) |
static int | CsqlTag (Header h, HE_t he) |
static int | OsqlTag (Header h, HE_t he) |
static int | PRCOyamlTag (Header h, HE_t he, rpmTag EVRtag, rpmTag Ftag) |
static int | PyamlTag (Header h, HE_t he) |
static int | RyamlTag (Header h, HE_t he) |
static int | CyamlTag (Header h, HE_t he) |
static int | OyamlTag (Header h, HE_t he) |
static int | FDGSkip (rpmTagData DN, rpmTagData BN, rpmTagData DI, rpmuint32_t i) |
static int | FDGxmlTag (Header h, HE_t he, int lvl) |
static int | F1xmlTag (Header h, HE_t he) |
static int | F2xmlTag (Header h, HE_t he) |
static int | FDGsqlTag (Header h, HE_t he, int lvl) |
static int | F1sqlTag (Header h, HE_t he) |
static int | F2sqlTag (Header h, HE_t he) |
static int | FDGyamlTag (Header h, HE_t he, int lvl) |
static int | F1yamlTag (Header h, HE_t he) |
static int | F2yamlTag (Header h, HE_t he) |
static char * | bncdataFormat (HE_t he, const char **av) |
Encode the basename of a string for use in XML CDATA. More... | |
static int | keyCmp (const void *a, const void *b) |
static rpmuint32_t | keyValue (KEY *keys, size_t nkeys, const char *name) |
static char * | digestFormat (HE_t he, const char **av) |
Return digest of tag data. More... | |
static char * | statFormat (HE_t he, const char **av) |
Return file info. More... | |
static char * | uuidFormat (HE_t he, const char **av) |
Reformat tag string as a UUID. More... | |
static char * | rpnFormat (HE_t he, const char **av) |
Return arithmetic expressions of input. More... | |
static char * | strsubFormat (HE_t he, const char **av) |
Replace string values. More... | |
void | rpmDisplayQueryTags (FILE *fp, headerTagTableEntry _rpmTagTable, headerSprintfExtension _rpmHeaderFormats) |
Display list of tags that can be used in –queryformat. More... | |
static char | escapedChar (const char ch) |
static HE_t | rpmheClean (HE_t he) |
Clean a tag container, free'ing attached malloc's. More... | |
static sprintfToken | freeFormat (sprintfToken format, size_t num) |
Destroy headerSprintf format array. More... | |
static headerSprintfArgs | hsaInit (headerSprintfArgs hsa) |
Initialize an hsa iteration. More... | |
static sprintfToken | hsaNext (headerSprintfArgs hsa) |
Return next hsa iteration item. More... | |
static headerSprintfArgs | hsaFini (headerSprintfArgs hsa) |
Finish an hsa iteration. More... | |
static char * | hsaReserve (headerSprintfArgs hsa, size_t need) |
Reserve sufficient buffer space for next output value. More... | |
static const char * | myTagName (headerTagTableEntry tbl, rpmuint32_t val, rpmuint32_t *typep) |
Return tag name from value. More... | |
static rpmuint32_t | myTagValue (headerTagTableEntry tbl, const char *name) |
Return tag value from name. More... | |
static int | findTag (headerSprintfArgs hsa, sprintfToken token, const char *name) |
Search extensions and tags for a name. More... | |
static int | parseExpression (headerSprintfArgs hsa, sprintfToken token, char *str, char **endPtr) |
Parse a headerSprintf expression. More... | |
static int | parseFormat (headerSprintfArgs hsa, char *str, sprintfToken *formatPtr, size_t *numTokensPtr, char **endPtr, int state) |
Parse a headerSprintf term. More... | |
static int | getExtension (headerSprintfArgs hsa, headerTagTagFunction fn, HE_t he, HE_t ec) |
Call a header extension only once, saving results. More... | |
static char * | formatValue (headerSprintfArgs hsa, sprintfTag tag, size_t element) |
Format a single item's value. More... | |
static char * | singleSprintf (headerSprintfArgs hsa, sprintfToken token, size_t element) |
Format a single headerSprintf item. More... | |
static HE_t | rpmecNew (const headerSprintfExtension exts, int *necp) |
Create an extension cache. More... | |
static HE_t | rpmecFree (const headerSprintfExtension exts, HE_t ec) |
Destroy an extension cache. More... | |
char * | headerSprintf (Header h, const char *fmt, headerTagTableEntry tags, headerSprintfExtension exts, errmsg_t *errmsg) |
Return formatted output string from header tags. More... | |
Variables | |
int | _hdrqf_debug |
static struct headerSprintfExtension_s | _headerDefaultFormats [] |
headerSprintfExtension | headerDefaultFormats = &_headerDefaultFormats[0] |
Supported default header tag output formats. More... | |
static const char | uuid_ns [] = "ns:URL" |
static const char | uuid_auth [] = "%{?_uuid_auth}%{!?_uuid_auth:http://rpm5.org}" |
static const char | uuid_path [] = "%{?_uuid_path}%{!?_uuid_path:/package}" |
static rpmuint32_t | uuid_version = 5 |
static const char * | language = "LANGUAGE" |
static const char * | _macro_i18ndomains = "%{?_i18ndomains}" |
static KEY | keyDigests [] |
static size_t | nkeyDigests = sizeof(keyDigests) / sizeof(keyDigests[0]) |
static KEY | keyStat [] |
static size_t | nkeyStat = sizeof(keyStat) / sizeof(keyStat[0]) |
static KEY | keyUuids [] |
static size_t | nkeyUuids = sizeof(keyUuids) / sizeof(keyUuids[0]) |
static struct headerSprintfExtension_s | _headerCompoundFormats [] |
headerSprintfExtension | headerCompoundFormats = &_headerCompoundFormats[0] |
Supported default header extension/tag output formats. More... | |
#define isSEP | ( | _c | ) | ((_c) == ':' || (_c) == '|') |
Referenced by parseFormat().
#define PARSER_BEGIN 0 |
Definition at line 4920 of file hdrfmt.c.
Referenced by headerSprintf().
#define PARSER_IN_ARRAY 1 |
Definition at line 4921 of file hdrfmt.c.
Referenced by parseFormat().
#define PARSER_IN_EXPR 2 |
Definition at line 4922 of file hdrfmt.c.
Referenced by parseExpression(), and parseFormat().
enum keyStat_e |
Bit field enum for stat(2) keys.
enum keyUuids_e |
Retrieve file paths.
h | header |
*he | tag container |
tag | RPMTAG_BASENAMES or RPMTAG_ORIGBASENAMES |
Definition at line 2388 of file hdrfmt.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildFNames(), and _HE_s::t.
Referenced by filenamesTag(), filepathsTag(), filestatTag(), and origpathsTag().
|
static |
Wrap a pubkey in ascii armor for display.
he | tag container |
av | parameter list (or NULL) |
Definition at line 475 of file hdrfmt.c.
References _, _free(), _HE_s::c, _HE_s::ix, _HE_s::p, PGPARMOR_PUBKEY, PGPARMOR_SIGNATURE, pgpArmorWrap(), RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui8p, and xstrdup().
|
static |
Encode binary data in base64 for display.
he | tag container |
av | parameter list (or NULL) |
Definition at line 526 of file hdrfmt.c.
References _, _free(), _HE_s::c, _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_STRING_TYPE, RPM_UINT64_TYPE, stpcpy(), rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui64p, xcalloc(), and xstrdup().
Referenced by xmlFormat(), and yamlFormat().
|
static |
Encode the basename of a string for use in XML CDATA.
he | tag container |
av | parameter list (or NULL) |
Definition at line 4002 of file hdrfmt.c.
References _, _free(), _HE_s::p, RPM_STRING_TYPE, rpmDataType_u::str, strdup_locale_convert(), _HE_s::t, xcalloc(), xmlstrcpy(), xmlstrlen(), and xstrdup().
Retrieve build time and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1419 of file hdrfmt.c.
References RPMTAG_BUILDTIME, _HE_s::tag, and tag2uuidv1().
|
static |
Encode string for use in XML CDATA.
he | tag container |
av | parameter list (or NULL) |
Definition at line 729 of file hdrfmt.c.
References _, _free(), _HE_s::ix, _HE_s::p, RPM_STRING_TYPE, rpmDataType_u::str, strdup_locale_convert(), _HE_s::t, xcalloc(), xmlstrcpy(), xmlstrlen(), and xstrdup().
Definition at line 2001 of file hdrfmt.c.
References localeTag(), RPMTAG_CHANGELOGNAME, and _HE_s::tag.
Definition at line 2009 of file hdrfmt.c.
References localeTag(), RPMTAG_CHANGELOGTEXT, and _HE_s::tag.
Definition at line 3385 of file hdrfmt.c.
References PRCOsqlTag(), RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, and _HE_s::tag.
Definition at line 3160 of file hdrfmt.c.
References PRCOxmlTag(), RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, and _HE_s::tag.
Definition at line 3512 of file hdrfmt.c.
References PRCOyamlTag(), RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, and _HE_s::tag.
|
static |
Return date formatted data.
he | tag container |
av | parameter list (or NULL) |
Definition at line 228 of file hdrfmt.c.
References _, and realDateFormat().
|
static |
Return day formatted data.
he | tag container |
av | parameter list (or NULL) |
Definition at line 240 of file hdrfmt.c.
References _, and realDateFormat().
Retrieve db instance from header.
h | header |
*he | tag container |
Definition at line 2037 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGetInstance(), _HE_s::p, RPM_UINT32_TYPE, RPMTAG_DBINSTANCE, _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, and xmalloc().
Retrieve Depends: and Conflicts: for –deb:control.
h | header |
*he | tag container |
Definition at line 2527 of file hdrfmt.c.
References debevrTag(), RPMTAG_CONFLICTFLAGS, RPMTAG_CONFLICTNAME, RPMTAG_CONFLICTVERSION, _HE_s::tag, and tagValue().
Definition at line 2536 of file hdrfmt.c.
References debevrTag(), RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, _HE_s::tag, and tagValue().
Return Debian formatted dependencies as string array.
h | header |
*he | tag container |
Nhe | dependency name container |
EVRhe | dependency epoch:version-release container |
Fhe | dependency flags container |
Definition at line 2431 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::ix, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmExpand(), RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, stpcpy(), _HE_s::t, rpmDataType_u::ui32p, and xmalloc().
Referenced by debevrTag().
Retrieve and return Debian formatted dependecies for –deb:control.
h | header |
*he | tag container |
tagN | dependency tag name |
tagEVR | dependency tag epoch:version-release |
tagF | dependency tag flags |
Definition at line 2490 of file hdrfmt.c.
References _free(), alloca(), _HE_s::c, debevrfmtTag(), headerGet(), _HE_s::p, rpmDataType_u::ptr, and _HE_s::tag.
Referenced by debconflictsTag(), debdependsTag(), debobsoletesTag(), and debprovidesTag().
Retrieve digest/path pairs for –deb:md5sums.
h | header |
*he | tag container |
Definition at line 2569 of file hdrfmt.c.
References _free(), alloca(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGet(), _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, rpmExpand(), RPMTAG_FILEDIGESTS, RPMTAG_FILEPATHS, stpcpy(), _HE_s::t, _HE_s::tag, tagValue(), and xmalloc().
Definition at line 2545 of file hdrfmt.c.
References debevrTag(), RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, _HE_s::tag, and tagValue().
Definition at line 2554 of file hdrfmt.c.
References debevrTag(), RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, _HE_s::tag, and tagValue().
|
static |
Return decimal formatted data.
he | tag container |
av | parameter list (or NULL) |
Definition at line 183 of file hdrfmt.c.
References intFormat().
|
static |
Format dependency flags for display.
he | tag container |
av | parameter list (or NULL) |
Definition at line 1214 of file hdrfmt.c.
References _, alloca(), _HE_s::ix, _HE_s::p, RPM_UINT64_TYPE, RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, RPMSENSE_SENSEMASK, stpcpy(), _HE_s::t, rpmDataType_u::ui64p, and xstrdup().
Referenced by triggercondsTag().
|
static |
Format dependency type for display.
he | tag container |
av | parameter list (or NULL) |
Definition at line 1266 of file hdrfmt.c.
References _, alloca(), _HE_s::ix, _HE_s::p, RPM_UINT64_TYPE, stpcpy(), _HE_s::t, rpmDataType_u::ui64p, and xstrdup().
Retrieve description text.
h | header |
*he | tag container |
Definition at line 1993 of file hdrfmt.c.
References i18nTag(), RPMTAG_DESCRIPTION, and _HE_s::tag.
|
static |
Return digest of tag data.
he | tag container |
av | parameter list (NULL uses md5) |
Definition at line 4215 of file hdrfmt.c.
References _, _HE_s::c, _HE_s::ix, keyValue(), _HE_s::p, PGPHASHALGO_SHA1, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_STRING_TYPE, RPM_UINT64_TYPE, rpmDigestFinal(), rpmDigestInit(), rpmDigestUpdate(), rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui64p, and xstrdup().
|
static |
Definition at line 3835 of file hdrfmt.c.
References FDGsqlTag(), RPMTAG_BASENAMES, and _HE_s::tag.
Definition at line 3680 of file hdrfmt.c.
References FDGxmlTag(), RPMTAG_BASENAMES, and _HE_s::tag.
Definition at line 3980 of file hdrfmt.c.
References FDGyamlTag(), RPMTAG_BASENAMES, and _HE_s::tag.
Definition at line 3843 of file hdrfmt.c.
References FDGsqlTag(), RPMTAG_BASENAMES, and _HE_s::tag.
Definition at line 3688 of file hdrfmt.c.
References FDGxmlTag(), RPMTAG_BASENAMES, and _HE_s::tag.
Definition at line 3988 of file hdrfmt.c.
References FDGyamlTag(), RPMTAG_BASENAMES, and _HE_s::tag.
|
static |
Definition at line 3528 of file hdrfmt.c.
References rpmDataType_u::argv, and rpmDataType_u::ui32p.
Referenced by FDGsqlTag(), FDGxmlTag(), and FDGyamlTag().
Definition at line 3696 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, FDGSkip(), _HE_s::freeData, headerGet(), headerGetInstance(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_FILEFLAGS, RPMTAG_FILEMODES, snprintf(), stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui16p, rpmDataType_u::ui32p, and xmalloc().
Referenced by F1sqlTag(), and F2sqlTag().
Definition at line 3544 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, FDGSkip(), _HE_s::freeData, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_FILEFLAGS, RPMTAG_FILEMODES, stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui16p, rpmDataType_u::ui32p, xmalloc(), xmlstrcpy(), and xmlstrlen().
Referenced by F1xmlTag(), and F2xmlTag().
Definition at line 3851 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, FDGSkip(), _HE_s::freeData, headerGet(), indent, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_FILEFLAGS, RPMTAG_FILEMODES, stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui16p, rpmDataType_u::ui32p, xmalloc(), yamlstrcpy(), and yamlstrlen().
Referenced by F1yamlTag(), and F2yamlTag().
|
static |
Format file flags for display.
he | tag container |
av | parameter list (or NULL) |
Definition at line 433 of file hdrfmt.c.
References _, _HE_s::ix, _HE_s::p, RPM_UINT64_TYPE, RPMFILE_CONFIG, RPMFILE_DOC, RPMFILE_GHOST, RPMFILE_LICENSE, RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, RPMFILE_README, RPMFILE_SPECFILE, _HE_s::t, rpmDataType_u::ui64p, and xstrdup().
Definition at line 2398 of file hdrfmt.c.
References _fnTag(), RPMTAG_BASENAMES, _HE_s::tag, and tagValue().
Definition at line 2406 of file hdrfmt.c.
References _fnTag(), RPMTAG_BASENAMES, RPMTAG_FILEPATHS, and _HE_s::tag.
Definition at line 2623 of file hdrfmt.c.
References _fnTag(), _free(), _HE_s::c, rpmDataType_u::ptr, RPMTAG_BASENAMES, RPMTAG_FILEPATHS, and _HE_s::tag.
|
static |
Search extensions and tags for a name.
hsa | headerSprintf args |
token | parsed fields |
name | name to find |
Definition at line 5286 of file hdrfmt.c.
References alloca(), argvCount(), sprintfTag_s::av, sprintfToken_s::cond, sprintfTag_s::ext, sprintfTag_s::extNum, headerSprintfArgs_s::exts, sprintfTag_s::fmtfuncs, myTagValue(), name, stpcpy(), sprintfToken_s::tag, sprintfTag_s::tagno, headerSprintfArgs_s::tags, tagValue(), sprintfToken_s::type, sprintfToken_s::u, xcalloc(), and xstrcasecmp().
Referenced by parseExpression(), and parseFormat().
|
static |
Format a single item's value.
hsa | headerSprintf args |
tag | tag |
element | element index |
Definition at line 5827 of file hdrfmt.c.
References _free(), _hdrqf_debug, alloca(), rpmDataType_u::argv, argvFree(), argvSplit(), sprintfTag_s::arrayCount, sprintfTag_s::av, _HE_s::avail, _HE_s::c, headerSprintfArgs_s::ec, sprintfTag_s::ext, sprintfTag_s::extNum, sprintfTag_s::fmtfuncs, sprintfTag_s::format, _HE_s::freeData, getExtension(), headerSprintfArgs_s::h, sprintfTag_s::he, headerGet(), hsaReserve(), intFormat(), _HE_s::ix, _HE_s::p, sprintfTag_s::pad, sprintfTag_s::params, rpmDataType_u::ptr, RPM_ARRAY_RETURN_TYPE, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_MASK_RETURN_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, rpmExpand(), rpmheClean(), snprintf(), stpcpy(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, sprintfTag_s::tagno, tagType(), rpmDataType_u::ui16p, rpmDataType_u::ui32p, rpmDataType_u::ui64p, rpmDataType_u::ui8p, headerSprintfArgs_s::val, headerSprintfArgs_s::vallen, xmalloc(), and xstrdup().
Referenced by singleSprintf().
|
static |
Destroy headerSprintf format array.
format | sprintf format array |
num | number of elements |
Definition at line 5064 of file hdrfmt.c.
References _free(), argvFree(), sprintfToken_s::array, sprintfTag_s::av, sprintfToken_s::cond, sprintfTag_s::fmtfuncs, sprintfTag_s::he, sprintfTag_s::params, rpmheClean(), sprintfToken_s::tag, sprintfTag_s::tagno, and sprintfToken_s::u.
Referenced by headerSprintf(), parseExpression(), and parseFormat().
|
static |
Call a header extension only once, saving results.
hsa | headerSprintf args |
fn | function |
he | tag container |
ec | extension cache |
Definition at line 5801 of file hdrfmt.c.
References _HE_s::avail, _HE_s::freeData, headerSprintfArgs_s::h, and rpmheClean().
Referenced by formatValue(), and singleSprintf().
Retrieve group text.
h | header |
*he | tag container |
Definition at line 2023 of file hdrfmt.c.
References i18nTag(), RPMTAG_GROUP, and _HE_s::tag.
Retrieve hdrid and convert to UUIDv5.
h | header |
*he | tag container |
Definition at line 1618 of file hdrfmt.c.
References RPMTAG_HDRID, _HE_s::tag, and tag2uuidv5().
Retrieve ending byte offset of header.
h | header |
*he | tag container |
Definition at line 2073 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGetEndOff(), _HE_s::p, RPM_UINT64_TYPE, RPMTAG_HEADERENDOFF, _HE_s::t, _HE_s::tag, rpmDataType_u::ui64p, and xmalloc().
Retrieve starting byte offset of header.
h | header |
*he | tag container |
Definition at line 2055 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGetStartOff(), _HE_s::p, RPM_UINT64_TYPE, RPMTAG_HEADERSTARTOFF, _HE_s::t, _HE_s::tag, rpmDataType_u::ui64p, and xmalloc().
|
static |
Return hex formatted data.
he | tag container |
av | parameter list (or NULL) |
Definition at line 171 of file hdrfmt.c.
References intFormat().
|
static |
|
static |
Finish an hsa iteration.
hsa | headerSprintf args |
Definition at line 5182 of file hdrfmt.c.
References headerFini(), headerSprintfArgs_s::hi, and headerSprintfArgs_s::i.
Referenced by headerSprintf().
|
static |
Initialize an hsa iteration.
hsa | headerSprintf args |
Definition at line 5117 of file hdrfmt.c.
References sprintfToken_s::array, headerSprintfArgs_s::format, headerSprintfArgs_s::h, headerInit(), headerSprintfArgs_s::hi, headerSprintfArgs_s::i, sprintfToken_s::tag, sprintfTag_s::tagno, sprintfToken_s::type, and sprintfToken_s::u.
Referenced by headerSprintf().
|
static |
Return next hsa iteration item.
hsa | headerSprintf args |
Definition at line 5144 of file hdrfmt.c.
References sprintfToken_s::array, _HE_s::avail, headerSprintfArgs_s::format, sprintfTag_s::he, headerNext(), headerSprintfArgs_s::hi, headerSprintfArgs_s::i, headerSprintfArgs_s::numTokens, rpmheClean(), _HE_s::tag, sprintfToken_s::tag, sprintfTag_s::tagno, sprintfToken_s::type, and sprintfToken_s::u.
Referenced by headerSprintf().
|
static |
Reserve sufficient buffer space for next output value.
hsa | headerSprintf args |
need | no. of bytes to reserve |
Definition at line 5202 of file hdrfmt.c.
References headerSprintfArgs_s::alloced, headerSprintfArgs_s::val, headerSprintfArgs_s::vallen, and xrealloc().
Referenced by formatValue(), headerSprintf(), and singleSprintf().
Retrieve i18n text.
h | header |
*he | tag container |
Definition at line 1818 of file hdrfmt.c.
References _free(), alloca(), _HE_s::c, dgettext, _HE_s::freeData, getenv(), headerGet(), HEADERGET_NOEXTENSION, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_TYPE, rpmExpand(), RPMTAG_NAME, setenv(), snprintf(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, tagName(), unsetenv(), xstrdup(), and xstrtolocale().
Referenced by descriptionTag(), groupTag(), and summaryTag().
|
static |
Convert string encoding.
he | tag container |
av | parameter list (NULL assumes UTF-8) |
Definition at line 765 of file hdrfmt.c.
References _, _HE_s::ix, _HE_s::p, RPM_STRING_TYPE, rpmDataType_u::str, strdup_locale_convert(), _HE_s::t, and xstrdup().
Retrieve install tid and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1447 of file hdrfmt.c.
References RPMTAG_INSTALLTID, _HE_s::tag, and tag2uuidv1().
Retrieve install time and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1405 of file hdrfmt.c.
References RPMTAG_INSTALLTIME, _HE_s::tag, and tag2uuidv1().
Retrieve install prefixes.
h | header |
*he | tag container |
Definition at line 1314 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_TYPE, RPMTAG_INSTALLPREFIX, RPMTAG_INSTPREFIXES, rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xstrdup().
|
static |
Convert tag data representation.
he | tag container |
av | parameter list (or NULL) |
fmt | output radix (NULL or "" assumes d) |
Definition at line 82 of file hdrfmt.c.
References _, alloca(), rpmDataType_u::argv, _HE_s::c, _HE_s::ix, _HE_s::p, RPM_BIN_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui16p, rpmDataType_u::ui32p, rpmDataType_u::ui64p, rpmDataType_u::ui8p, and xstrdup().
Referenced by decFormat(), formatValue(), hexFormat(), octFormat(), and rpnFormat().
|
static |
Definition at line 4186 of file hdrfmt.c.
Referenced by keyValue().
|
static |
Definition at line 4195 of file hdrfmt.c.
References keyCmp(), name, key_s::name, and key_s::value.
Referenced by digestFormat(), statFormat(), and uuidFormat().
Retrieve text and convert to locale.
Definition at line 1924 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGet(), HEADERGET_NOEXTENSION, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, stpcpy(), rpmDataType_u::str, _HE_s::t, xmalloc(), xstrdup(), and xstrtolocale().
Referenced by changelognameTag(), and changelogtextTag().
|
static |
Return tag name from value.
tbl | tag table |
val | tag value to find |
*typep | tag type (or NULL) |
Definition at line 5222 of file hdrfmt.c.
References name, rpmTagTable, tagName(), tagType(), and xtolower().
Referenced by singleSprintf().
|
static |
Return tag value from name.
tbl | tag table |
name | tag name to find |
Definition at line 5261 of file hdrfmt.c.
References rpmTagTable, tagValue(), and xstrcasecmp().
Referenced by findTag().
Definition at line 2931 of file hdrfmt.c.
References _free(), alloca(), argiFree(), rpmDataType_u::argv, argvAdd(), argvCount(), argvFree(), _HE_s::c, headerGet(), _HE_s::ix, nwlookupTag(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_NVRA, RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, stpcpy(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xmalloc().
Retrieve N-V-R.A compound string from header.
h | header |
*he | tag container |
Definition at line 2259 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, hGetNVRA(), _HE_s::p, RPM_STRING_TYPE, rpmDataType_u::str, and _HE_s::t.
|
static |
Definition at line 2833 of file hdrfmt.c.
References _free(), alloca(), argiAdd(), argiCount(), argiData(), rpmDataType_u::argv, argvAdd(), argvSearch(), argvSort(), _HE_s::c, headerGet(), headerGetRpmdb(), _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, rpmEVRfree(), rpmEVRnew(), rpmEVRoverlap(), rpmEVRparse(), rpmmiFree(), rpmmiInit(), rpmmiInstance(), rpmmiNext(), rpmmiPrune(), RPMSENSE_SENSEMASK, RPMTAG_BASENAMES, RPMTAG_NVRA, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, rpmDataType_u::str, _HE_s::tag, and rpmDataType_u::ui32p.
Referenced by needswhatTag().
|
static |
Return octal formatted data.
he | tag container |
av | parameter list (or NULL) |
Definition at line 159 of file hdrfmt.c.
References intFormat().
Retrieve origin tid and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1475 of file hdrfmt.c.
References RPMTAG_ORIGINTID, _HE_s::tag, and tag2uuidv1().
Retrieve origin time and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1433 of file hdrfmt.c.
References RPMTAG_ORIGINTIME, _HE_s::tag, and tag2uuidv1().
Definition at line 2414 of file hdrfmt.c.
References _fnTag(), RPMTAG_ORIGBASENAMES, RPMTAG_ORIGPATHS, and _HE_s::tag.
Definition at line 3393 of file hdrfmt.c.
References PRCOsqlTag(), RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, and _HE_s::tag.
Definition at line 3168 of file hdrfmt.c.
References PRCOxmlTag(), RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, and _HE_s::tag.
Definition at line 3520 of file hdrfmt.c.
References PRCOyamlTag(), RPMTAG_OBSOLETEFLAGS, RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, and _HE_s::tag.
|
static |
Parse a headerSprintf expression.
hsa | headerSprintf args |
token | |
str |
*endPtr |
Definition at line 5690 of file hdrfmt.c.
References _, _hdrqf_debug, sprintfToken_s::cond, headerSprintfArgs_s::errmsg, findTag(), freeFormat(), parseFormat(), PARSER_IN_EXPR, sprintfToken_s::type, and sprintfToken_s::u.
Referenced by parseFormat().
|
static |
Parse a headerSprintf term.
hsa | headerSprintf args |
str |
*formatPtr | |
*numTokensPtr | |
*endPtr |
state |
Definition at line 5381 of file hdrfmt.c.
References _, _hdrqf_debug, argvAdd(), sprintfToken_s::array, sprintfTag_s::arrayCount, sprintfTag_s::av, headerSprintfArgs_s::errmsg, escapedChar(), findTag(), sprintfTag_s::format, freeFormat(), isSEP, sprintfTag_s::justOne, sprintfTag_s::pad, sprintfTag_s::params, parseExpression(), PARSER_IN_ARRAY, PARSER_IN_EXPR, sprintfToken_s::string, sprintfToken_s::tag, sprintfToken_s::type, sprintfToken_s::u, xcalloc(), and xisdigit().
Referenced by headerSprintf(), and parseExpression().
|
static |
Format file permissions for display.
he | tag container |
av | parameter list (or NULL) |
Definition at line 410 of file hdrfmt.c.
References _, _HE_s::ix, _HE_s::p, RPM_UINT64_TYPE, rpmPermsString(), _HE_s::t, rpmDataType_u::ui64p, and xstrdup().
|
static |
Display signature fingerprint and time.
he | tag container |
av | parameter list (or NULL) |
Definition at line 1107 of file hdrfmt.c.
References _, _HE_s::ix, _HE_s::p, pgpDigFree(), pgpDigNew(), pgpGetSignature(), pgpGrab(), PGPHASHALGO_MD5, PGPHASHALGO_SHA1, pgpHexStr(), pgpLen(), pgpPrtPkts(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, PGPTAG_SIGNATURE, RPM_BIN_TYPE, snprintf(), stpcpy(), _HE_s::t, rpmDataType_u::ui8p, xrealloc(), and xstrdup().
Retrieve package baseurl from header.
h | header |
*he | tag container |
Definition at line 2117 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGet(), HEADERGET_NOEXTENSION, headerGetBaseURL(), _HE_s::p, RPM_STRING_TYPE, RPMTAG_PACKAGEBASEURL, rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xstrdup().
Retrieve package digest from header.
h | header |
*he | tag container |
Definition at line 2143 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGetDigest(), _HE_s::p, RPM_STRING_TYPE, RPMTAG_PACKAGEDIGEST, rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xstrdup().
Retrieve *.rpm package st->st_mtime from header.
h | header |
*he | tag container |
Definition at line 2167 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGetStatbuf(), _HE_s::p, RPM_UINT64_TYPE, RPMTAG_PACKAGETIME, _HE_s::t, _HE_s::tag, rpmDataType_u::ui64p, and xmalloc().
Retrieve package origin from header.
h | header |
*he | tag container |
Definition at line 2091 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGet(), HEADERGET_NOEXTENSION, headerGetOrigin(), _HE_s::p, RPM_STRING_TYPE, RPMTAG_PACKAGEORIGIN, rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xstrdup().
Retrieve *.rpm package st->st_size from header.
h | header |
*he | tag container |
Definition at line 2188 of file hdrfmt.c.
References _HE_s::c, _HE_s::freeData, headerGetStatbuf(), _HE_s::p, RPM_UINT64_TYPE, RPMTAG_PACKAGESIZE, _HE_s::t, _HE_s::tag, rpmDataType_u::ui64p, and xmalloc().
Retrieve pkgid and convert to UUIDv5.
h | header |
*he | tag container |
Definition at line 1590 of file hdrfmt.c.
References RPMTAG_PKGID, _HE_s::tag, and tag2uuidv5().
|
static |
Definition at line 3006 of file hdrfmt.c.
References rpmDataType_u::argv, RPMTAG_REQUIRENAME, and rpmDataType_u::ui32p.
Referenced by PRCOsqlTag(), PRCOxmlTag(), and PRCOyamlTag().
Definition at line 3256 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGet(), headerGetInstance(), _HE_s::p, PRCOSkip(), rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_REQUIRENAME, snprintf(), stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, and xmalloc().
Referenced by CsqlTag(), OsqlTag(), PsqlTag(), and RsqlTag().
Definition at line 3022 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGet(), _HE_s::p, PRCOSkip(), rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_REQUIRENAME, stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, xmalloc(), xmlstrcpy(), and xmlstrlen().
Referenced by CxmlTag(), OxmlTag(), PxmlTag(), and RxmlTag().
Definition at line 3401 of file hdrfmt.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGet(), indent, _HE_s::p, PRCOSkip(), rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, xmalloc(), yamlstrcpy(), and yamlstrlen().
Referenced by CyamlTag(), OyamlTag(), PyamlTag(), and RyamlTag().
Definition at line 3369 of file hdrfmt.c.
References PRCOsqlTag(), RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, and _HE_s::tag.
Definition at line 3144 of file hdrfmt.c.
References PRCOxmlTag(), RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, and _HE_s::tag.
Definition at line 3496 of file hdrfmt.c.
References PRCOyamlTag(), RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, and _HE_s::tag.
|
static |
Return strftime formatted data.
he | tag container |
av | parameter list (or NULL) |
strftimeFormat | strftime(3) format |
Definition at line 196 of file hdrfmt.c.
References _, _HE_s::p, RPM_UINT64_TYPE, _HE_s::t, rpmDataType_u::ui64p, and xstrdup().
Referenced by dateFormat(), and dayFormat().
Retrieve remove tid and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1461 of file hdrfmt.c.
References RPMTAG_REMOVETID, _HE_s::tag, and tag2uuidv1().
void rpmDisplayQueryTags | ( | FILE * | fp, |
headerTagTableEntry | _rpmTagTable, | ||
headerSprintfExtension | _rpmHeaderFormats | ||
) |
Display list of tags that can be used in –queryformat.
fp | file handle to use for display (NULL uses stdout) |
_rpmTagTable | rpm tag table (NULL uses rpmTagTable) |
_rpmHeaderFormats | rpm tag extensions & formats (NULL uses headerCompoundFormats) |
Definition at line 4853 of file hdrfmt.c.
References _rpmHeaderFormats, headerCompoundFormats, RPM_ARRAY_RETURN_TYPE, RPM_ASN1_RETURN_TYPE, RPM_MAPPING_RETURN_TYPE, RPM_MASK_TYPE, RPM_MAX_TYPE, RPM_OPAQUE_RETURN_TYPE, RPM_OPENPGP_RETURN_TYPE, RPM_PROBE_RETURN_TYPE, RPM_TREE_RETURN_TYPE, RPM_X509_RETURN_TYPE, rpmIsVerbose, rpmTagTable, and tagValue().
Referenced by rpmcliAllArgCallback().
|
static |
Destroy an extension cache.
exts | headerSprintf extensions |
ec | extension cache |
Definition at line 6245 of file hdrfmt.c.
References _free(), and rpmheClean().
Referenced by headerSprintf().
|
static |
Create an extension cache.
exts | headerSprintf extensions |
*necp | no. of elements (or NULL) |
Definition at line 6219 of file hdrfmt.c.
References xcalloc().
Referenced by headerSprintf().
|
static |
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 basename.
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 2287 of file hdrfmt.c.
References _free(), alloca(), rpmDataType_u::argv, _HE_s::c, headerGet(), headerIsEntry(), _HE_s::p, rpmDataType_u::ptr, RPMTAG_ARCH, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_OLDFILENAMES, RPMTAG_ORIGBASENAMES, RPMTAG_ORIGDIRINDEXES, RPMTAG_ORIGDIRNAMES, RPMTAG_SOURCERPM, stpcpy(), _HE_s::tag, rpmDataType_u::ui32p, urlPath(), xcalloc(), and xmalloc().
Referenced by _fnTag().
Clean a tag container, free'ing attached malloc's.
he | tag container |
Definition at line 5046 of file hdrfmt.c.
References _free(), _HE_s::freeData, _HE_s::p, and rpmDataType_u::ptr.
Referenced by formatValue(), freeFormat(), getExtension(), hsaNext(), rpmecFree(), and singleSprintf().
|
static |
|
static |
Return arithmetic expressions of input.
he | tag container |
av | parameter list (NULL uses sha1) |
Definition at line 4495 of file hdrfmt.c.
References _, alloca(), argvCount(), _HE_s::c, intFormat(), _HE_s::p, RPM_STRING_TYPE, RPM_UINT64_TYPE, rpmDataType_u::str, _HE_s::t, _HE_s::tag, rpmDataType_u::ui64p, xisdigit(), and xstrdup().
Definition at line 3377 of file hdrfmt.c.
References PRCOsqlTag(), RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, and _HE_s::tag.
Definition at line 3152 of file hdrfmt.c.
References PRCOxmlTag(), RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, and _HE_s::tag.
Definition at line 3504 of file hdrfmt.c.
References PRCOyamlTag(), RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, and _HE_s::tag.
|
static |
Return shell escape formatted data.
he | tag container |
av | parameter list (or NULL) |
Definition at line 252 of file hdrfmt.c.
References _, _HE_s::p, RPM_STRING_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, snprintf(), rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui32p, rpmDataType_u::ui64p, xmalloc(), and xstrdup().
|
static |
Format a single headerSprintf item.
hsa | headerSprintf args |
token | item to format |
element | element index |
Definition at line 6011 of file hdrfmt.c.
References _, sprintfToken_s::array, sprintfTag_s::arrayCount, sprintfTag_s::av, _HE_s::avail, _HE_s::c, sprintfToken_s::cond, headerSprintfArgs_s::ec, headerSprintfArgs_s::errmsg, sprintfTag_s::ext, sprintfTag_s::extNum, formatValue(), getExtension(), headerSprintfArgs_s::h, sprintfTag_s::he, headerGet(), headerIsEntry(), hsaReserve(), sprintfTag_s::justOne, myTagName(), RPM_ARRAY_RETURN_TYPE, RPM_BIN_TYPE, RPM_MASK_RETURN_TYPE, RPM_SCALAR_RETURN_TYPE, RPM_STRING_TYPE, rpmheClean(), stpcpy(), sprintfToken_s::string, _HE_s::t, _HE_s::tag, sprintfToken_s::tag, sprintfTag_s::tagno, headerSprintfArgs_s::tags, sprintfToken_s::type, sprintfToken_s::u, headerSprintfArgs_s::val, and headerSprintfArgs_s::vallen.
Referenced by headerSprintf().
Retrieve sourcepkgid and convert to UUIDv5.
h | header |
*he | tag container |
Definition at line 1604 of file hdrfmt.c.
References RPMTAG_SOURCEPKGID, _HE_s::tag, and tag2uuidv5().
|
static |
Encode string for use in SQL statements.
he | tag container |
av | parameter list (or NULL) |
Definition at line 3224 of file hdrfmt.c.
References _, _free(), _HE_s::ix, _HE_s::p, RPM_STRING_TYPE, sqlstrcpy(), sqlstrlen(), rpmDataType_u::str, strdup_locale_convert(), _HE_s::t, xcalloc(), and xstrdup().
|
static |
Copy source string to target, doubling single quotes.
t | target sql string |
s | source string |
Definition at line 3202 of file hdrfmt.c.
Referenced by sqlescapeFormat().
|
static |
Return length of string represented with single quotes doubled.
s | string |
Definition at line 3181 of file hdrfmt.c.
Referenced by sqlescapeFormat().
|
static |
Return file info.
he | tag container |
av | parameter list (NULL uses sha1) |
Definition at line 4257 of file hdrfmt.c.
References _, _free(), _HE_s::c, errno, Fclose(), fdFiniDigest(), fdInitDigest(), Ferror(), Fopen(), Fread(), Fstrerror(), gidToGname(), _HE_s::ix, keyValue(), Lstat(), _HE_s::p, PGPHASHALGO_SHA1, rpmDataType_u::ptr, Readlink(), RPM_BIN_TYPE, RPM_STRING_TYPE, rpmExpand(), RPMTAG_PACKAGESTAT, S_ISLNK, snprintf(), STAT_KEYS_ATIME, STAT_KEYS_BLKSIZE, STAT_KEYS_BLOCKS, STAT_KEYS_CTIME, STAT_KEYS_DEV, STAT_KEYS_DIGEST, STAT_KEYS_GID, STAT_KEYS_GNAME, STAT_KEYS_INO, STAT_KEYS_MODE, STAT_KEYS_MTIME, STAT_KEYS_NLINK, STAT_KEYS_NONE, STAT_KEYS_RDEV, STAT_KEYS_SIZE, STAT_KEYS_SLINK, STAT_KEYS_UID, STAT_KEYS_UNAME, stpcpy(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, uidToUname(), and xstrdup().
|
static |
Convert tag string to UUID.
he | tag container |
av | parameter list (or NULL) version UUID version |
val | UUID string |
Definition at line 1500 of file hdrfmt.c.
References _free(), _HE_s::c, _HE_s::freeData, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_STRING_TYPE, rpmGetPath(), rpmuuidMake(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, tagName(), rpmDataType_u::ui8p, uuid_ns, uuid_version, and xcalloc().
Referenced by tag2uuidv5(), and uuidFormat().
|
static |
Definition at line 635 of file hdrfmt.c.
References errno, and xstrdup().
Referenced by bncdataFormat(), cdataFormat(), iconvFormat(), and sqlescapeFormat().
|
static |
Replace string values.
he | tag container |
av | parameter list (NULL is an error) |
Definition at line 4593 of file hdrfmt.c.
References _, _free(), argvCount(), mireAppend(), mireFreeAll(), mireRegexec(), mireSetEOptions(), _HE_s::p, RPM_STRING_TYPE, rpmExpand(), RPMMIRE_REGEX, stpcpy(), stpncpy(), rpmDataType_u::str, _HE_s::t, xmalloc(), and xstrdup().
Retrieve summary text.
h | header |
*he | tag container |
Definition at line 1979 of file hdrfmt.c.
References i18nTag(), RPMTAG_SUMMARY, and _HE_s::tag.
Retrieve time and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1385 of file hdrfmt.c.
References _free(), _HE_s::c, headerGet(), _HE_s::p, rpmDataType_u::ptr, tv2uuidv1(), and rpmDataType_u::ui32p.
Referenced by buildtime_uuidTag(), installtid_uuidTag(), installtime_uuidTag(), origintid_uuidTag(), origintime_uuidTag(), and removetid_uuidTag().
Retrieve tag and convert to UUIDv5.
h | header |
*he | tag container |
Definition at line 1550 of file hdrfmt.c.
References _free(), _HE_s::c, _HE_s::freeData, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_STRING_TYPE, str2uuid(), _HE_s::t, rpmDataType_u::ui8p, and xmalloc().
Referenced by hdruuidTag(), pkguuidTag(), and sourcepkguuidTag().
Retrieve trigger info.
h | header |
*he | tag container |
Definition at line 1632 of file hdrfmt.c.
References _free(), alloca(), rpmDataType_u::argv, _HE_s::c, depflagsFormat(), _HE_s::freeData, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPM_UINT64_TYPE, RPMSENSE_SENSEMASK, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERINDEX, RPMTAG_TRIGGERNAME, RPMTAG_TRIGGERSCRIPTS, RPMTAG_TRIGGERVERSION, _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, rpmDataType_u::ui64p, xmalloc(), xrealloc(), and xstrdup().
|
static |
Identify type of trigger.
he | tag container |
av | parameter list (or NULL) |
Definition at line 379 of file hdrfmt.c.
References _, _HE_s::ix, _HE_s::p, RPM_UINT64_TYPE, _HE_s::t, rpmDataType_u::ui64p, and xstrdup().
Retrieve trigger type info.
h | header |
*he | tag container |
Definition at line 1730 of file hdrfmt.c.
References _free(), alloca(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERINDEX, RPMTAG_TRIGGERSCRIPTS, _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, xmalloc(), and xstrdup().
Convert unix timeval to UUIDv1.
h | header |
*he | tag container |
tv | unix timeval |
Definition at line 1342 of file hdrfmt.c.
References _free(), _HE_s::c, _HE_s::freeData, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, rpmuuidMake(), _HE_s::t, rpmDataType_u::ui8p, and xcalloc().
Referenced by tag2uuidv1().
|
static |
Reformat tag string as a UUID.
he | tag container |
av | parameter list (NULL uses UUIDv5) |
Definition at line 4431 of file hdrfmt.c.
References _, _free(), alloca(), _HE_s::c, _HE_s::ix, keyValue(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_TYPE, rpmDataType_u::str, str2uuid(), _HE_s::t, _HE_s::tag, UUID_KEYS_V1, UUID_KEYS_V3, UUID_KEYS_V4, UUID_KEYS_V5, xmalloc(), and xstrdup().
Definition at line 2754 of file hdrfmt.c.
References _free(), alloca(), argiFree(), rpmDataType_u::argv, argvAdd(), argvCount(), argvFree(), _HE_s::c, headerGet(), _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPMTAG_FILEPATHS, RPMTAG_NVRA, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, stpcpy(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, wnlookupTag(), and xmalloc().
|
static |
Definition at line 2657 of file hdrfmt.c.
References _free(), alloca(), argiAdd(), argiCount(), argiData(), rpmDataType_u::argv, argvAdd(), argvSearch(), argvSort(), _HE_s::c, headerGet(), headerGetRpmdb(), _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, rpmEVRfree(), rpmEVRnew(), rpmEVRoverlap(), rpmEVRparse(), rpmmiFree(), rpmmiInit(), rpmmiInstance(), rpmmiNext(), rpmmiPrune(), RPMSENSE_SENSEMASK, RPMTAG_NVRA, RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, rpmDataType_u::str, _HE_s::tag, rpmDataType_u::ui32p, and xstrdup().
Referenced by whatneedsTag().
|
static |
Wrap tag data in simple header xml markup.
he | tag container |
av | parameter list (or NULL) |
Definition at line 786 of file hdrfmt.c.
References _, _free(), alloca(), rpmDataType_u::argv, base64Format(), _HE_s::ix, _HE_s::p, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, snprintf(), stpcpy(), rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui16p, rpmDataType_u::ui32p, rpmDataType_u::ui64p, rpmDataType_u::ui8p, xmlstrcpy(), xmlstrlen(), xstrdup(), and xstrtolocale().
|
static |
Copy source string to target, substituting for xml characters.
t | target xml string |
s | source string |
Definition at line 616 of file hdrfmt.c.
References stpcpy().
Referenced by bncdataFormat(), cdataFormat(), FDGxmlTag(), PRCOxmlTag(), and xmlFormat().
|
static |
Return length of string represented with xml characters substituted.
s | string |
Definition at line 593 of file hdrfmt.c.
Referenced by bncdataFormat(), cdataFormat(), FDGxmlTag(), PRCOxmlTag(), and xmlFormat().
|
static |
Wrap tag data in simple header yaml markup.
he | tag container |
av | parameter list (or NULL) |
Definition at line 944 of file hdrfmt.c.
References _, _free(), alloca(), rpmDataType_u::argv, base64Format(), _HE_s::ix, _HE_s::p, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, snprintf(), stpcpy(), rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui16p, rpmDataType_u::ui32p, rpmDataType_u::ui64p, rpmDataType_u::ui8p, xmalloc(), xstrdup(), xstrtolocale(), yamlstrcpy(), and yamlstrlen().
|
static |
Copy source string to target, indenting for yaml.
t | target yaml string |
s | source string |
lvl | indentation level |
Definition at line 914 of file hdrfmt.c.
References indent.
Referenced by FDGyamlTag(), PRCOyamlTag(), and yamlFormat().
|
static |
Return length of string represented with yaml indentation.
s | string |
lvl | indentation level |
Definition at line 887 of file hdrfmt.c.
References indent.
Referenced by FDGyamlTag(), PRCOyamlTag(), and yamlFormat().
int _hdrqf_debug |
Definition at line 64 of file hdrfmt.c.
Referenced by escapedChar(), formatValue(), headerSprintf(), parseExpression(), and parseFormat().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 1484 of file hdrfmt.c.
Referenced by doFoo(), rpmuuidMake(), and str2uuid().
|
static |
|
static |
Definition at line 1490 of file hdrfmt.c.
Referenced by doFoo(), and str2uuid().