rpm
4.5
|
#include "system.h"
#include "rpmio_internal.h"
#include <rpmlib.h>
#include <rpmmacro.h>
#include <rpmuuid.h>
#include <rpmds.h>
#include <rpmfi.h>
#include "legacy.h"
#include "argv.h"
#include "ugid.h"
#include "misc.h"
#include "fs.h"
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | key_s |
Defines | |
#define | _RPMEVR_INTERNAL |
Typedefs | |
typedef struct key_s | KEY |
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 * | rpmPermsString (int mode) |
static char * | triggertypeFormat (HE_t he, const char **av) |
Identify type of trigger. | |
static char * | permsFormat (HE_t he, const char **av) |
Format file permissions for display. | |
static char * | fflagsFormat (HE_t he, const char **av) |
Format file flags for display. | |
static char * | armorFormat (HE_t he, const char **av) |
Wrap a pubkey in ascii armor for display. | |
static char * | base64Format (HE_t he, const char **av) |
Encode binary data in base64 for display. | |
static size_t | xmlstrlen (const char *s) |
Return length of string represented with xml characters substituted. | |
static char * | xmlstrcpy (char *t, const char *s) |
Copy source string to target, substituting for xml characters. | |
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. | |
static char * | iconvFormat (HE_t he, const char **av) |
Convert string encoding. | |
static char * | xmlFormat (HE_t he, const char **av) |
Wrap tag data in simple header xml markup. | |
static size_t | yamlstrlen (const char *s, int lvl) |
Return length of string represented with yaml indentation. | |
static char * | yamlstrcpy (char *t, const char *s, int lvl) |
Copy source string to target, indenting for yaml. | |
static char * | yamlFormat (HE_t he, const char **av) |
Wrap tag data in simple header yaml markup. | |
static char * | pgpsigFormat (HE_t he, const char **av) |
Display signature fingerprint and time. | |
static char * | depflagsFormat (HE_t he, const char **av) |
Format dependency flags for display. | |
static int | instprefixTag (Header h, HE_t he) |
Retrieve install prefixes. | |
static int | tv2uuidv1 (Header h, HE_t he, struct timeval *tv) |
Convert unix timeval to UUIDv1. | |
static int | tag2uuidv1 (Header h, HE_t he) |
Retrieve time and convert to UUIDv1. | |
static int | installtime_uuidTag (Header h, HE_t he) |
Retrieve install time and convert to UUIDv1. | |
static int | buildtime_uuidTag (Header h, HE_t he) |
Retrieve build time and convert to UUIDv1. | |
static int | origintime_uuidTag (Header h, HE_t he) |
Retrieve origin time and convert to UUIDv1. | |
static int | installtid_uuidTag (Header h, HE_t he) |
Retrieve install tid and convert to UUIDv1. | |
static int | removetid_uuidTag (Header h, HE_t he) |
Retrieve remove tid and convert to UUIDv1. | |
static int | origintid_uuidTag (Header h, HE_t he) |
Retrieve origin tid and convert to UUIDv1. | |
static int | str2uuid (HE_t he, const char **av, int version, char *val) |
Convert tag string to UUID. | |
static int | tag2uuidv5 (Header h, HE_t he) |
Retrieve tag and convert to UUIDv5. | |
static int | pkguuidTag (Header h, HE_t he) |
Retrieve pkgid and convert to UUIDv5. | |
static int | sourcepkguuidTag (Header h, HE_t he) |
Retrieve sourcepkgid and convert to UUIDv5. | |
static int | hdruuidTag (Header h, HE_t he) |
Retrieve hdrid and convert to UUIDv5. | |
static int | triggercondsTag (Header h, HE_t he) |
Retrieve trigger info. | |
static int | triggertypeTag (Header h, HE_t he) |
Retrieve trigger type info. | |
static int | i18nTag (Header h, HE_t he) |
Retrieve i18n text. | |
static int | localeTag (Header h, HE_t he) |
Retrieve text and convert to locale. | |
static int | summaryTag (Header h, HE_t he) |
Retrieve summary text. | |
static int | descriptionTag (Header h, HE_t he) |
Retrieve description text. | |
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. | |
static int | dbinstanceTag (Header h, HE_t he) |
Retrieve db instance from header. | |
static int | headerstartoffTag (Header h, HE_t he) |
Retrieve starting byte offset of header. | |
static int | headerendoffTag (Header h, HE_t he) |
Retrieve ending byte offset of header. | |
static int | pkgoriginTag (Header h, HE_t he) |
Retrieve package origin from header. | |
static int | pkgbaseurlTag (Header h, HE_t he) |
Retrieve package baseurl from header. | |
static int | pkgdigestTag (Header h, HE_t he) |
Retrieve package digest from header. | |
static int | pkgmtimeTag (Header h, HE_t he) |
Retrieve *.rpm package st->st_mtime from header. | |
static int | pkgsizeTag (Header h, HE_t he) |
Retrieve *.rpm package st->st_size from header. | |
static char * | hGetNVRA (Header h) |
Return (malloc'd) header name-version-release.arch string. | |
static int | nvraTag (Header h, HE_t he) |
Retrieve N-V-R.A compound string from header. | |
static int | _fnTag (Header h, HE_t he) |
Retrieve file paths. | |
static int | filepathsTag (Header h, HE_t he) |
static int | origpathsTag (Header h, HE_t he) |
static int | fsnamesTag (Header h, HE_t he) |
Retrieve mounted file system paths. | |
static int | fssizesTag (Header h, HE_t he) |
Retrieve mounted file system space. | |
static int | fileclassTag (Header h, HE_t he) |
Retrieve file classes. | |
static int | filecontextsTag (Header h, HE_t he) |
Retrieve file contexts from header. | |
static int | fscontextsTag (Header h, HE_t he) |
Retrieve file contexts from file system. | |
static int | recontextsTag (Header h, HE_t he) |
Retrieve file contexts from policy RE's. | |
static int | fileprovideTag (Header h, HE_t he) |
Retrieve file provides. | |
static int | filerequireTag (Header h, HE_t he) |
Retrieve file requires. | |
static int | missingokTag (Header h, HE_t he) |
Retrieve Requires(missingok): array for Suggests: or Enhances:. | |
static int | PRCOSkip (rpmTag tag, rpmTagData N, rpmTagData EVR, rpmTagData F, uint32_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. | |
static char * | sqlstrcpy (char *t, const char *s) |
Copy source string to target, doubling single quotes. | |
static char * | sqlescapeFormat (HE_t he, const char **av) |
Encode string for use in SQL statements. | |
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 | FDGSkip (rpmTagData DN, rpmTagData BN, rpmTagData DI, uint32_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 char * | bncdataFormat (HE_t he, const char **av) |
Encode the basename of a string for use in XML CDATA. | |
static int | keyCmp (const void *a, const void *b) |
static uint32_t | keyValue (KEY *keys, size_t nkeys, const char *name) |
static char * | digestFormat (HE_t he, const char **av) |
Return digest of tag data. | |
static char * | statFormat (HE_t he, const char **av) |
Return file info. | |
static char * | uuidFormat (HE_t he, const char **av) |
Reformat tag string as a UUID. | |
static char * | rpnFormat (HE_t he, const char **av) |
Return arithmetic expressions of input. | |
Variables | |
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 int | 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]) |
struct headerSprintfExtension_s | rpmHeaderFormats [] |
Table of query format extensions. |
Definition in file formats.c.
enum keyStat_e |
Bit field enum for stat(2) keys.
enum keyUuids_e |
Retrieve file paths.
h | header |
*he | tag container |
Definition at line 1857 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildFNames(), _HE_s::t, and _HE_s::tag.
Referenced by filepathsTag(), and origpathsTag().
static char* armorFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Wrap a pubkey in ascii armor for display.
he | tag container |
av | parameter array (or NULL) |
Definition at line 177 of file formats.c.
References _, _free(), _HE_s::c, _HE_s::ix, _HE_s::p, pgpArmorWrap(), rpmDataType_u::ptr, RPM_ASN1_TYPE, RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT64_TYPE, RPM_INT8_TYPE, RPM_NULL_TYPE, RPM_OPENPGP_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui8p, and xstrdup().
static char* base64Format | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Encode binary data in base64 for display.
he | tag container |
av | parameter array (or NULL) |
Definition at line 233 of file formats.c.
References _, _free(), _HE_s::c, _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_ASN1_TYPE, RPM_BIN_TYPE, RPM_OPENPGP_TYPE, stpcpy(), _HE_s::t, xcalloc(), and xstrdup().
Referenced by xmlFormat(), and yamlFormat().
static char* bncdataFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Encode the basename of a string for use in XML CDATA.
he | tag container |
av | parameter array (or NULL) |
Definition at line 2740 of file formats.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 1051 of file formats.c.
References _HE_s::tag, and tag2uuidv1().
static char* cdataFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Encode string for use in XML CDATA.
he | tag container |
av | parameter array (or NULL) |
Definition at line 425 of file formats.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 1567 of file formats.c.
References localeTag(), and _HE_s::tag.
Definition at line 1574 of file formats.c.
References localeTag(), and _HE_s::tag.
Definition at line 2443 of file formats.c.
References PRCOsqlTag(), and _HE_s::tag.
Definition at line 2244 of file formats.c.
References PRCOxmlTag(), and _HE_s::tag.
Retrieve db instance from header.
h | header |
*he | tag container |
Definition at line 1602 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetInstance(), rpmDataType_u::i32p, _HE_s::p, RPM_INT32_TYPE, _HE_s::t, _HE_s::tag, and xmalloc().
static char* depflagsFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Format dependency flags for display.
he | tag container |
av | parameter array (or NULL) |
Definition at line 895 of file formats.c.
References _, alloca(), rpmDataType_u::i64p, _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_INT64_TYPE, RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, RPMSENSE_SENSEMASK, stpcpy(), _HE_s::t, and xstrdup().
Referenced by triggercondsTag().
Retrieve description text.
h | header |
*he | tag container |
Definition at line 1559 of file formats.c.
References i18nTag(), and _HE_s::tag.
static char* digestFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Return digest of tag data.
he | tag container |
av | parameter list (NULL uses md5) |
Definition at line 2947 of file formats.c.
References _, _HE_s::c, _HE_s::ix, keyValue(), nkeyDigests, _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().
Definition at line 2720 of file formats.c.
References FDGsqlTag(), and _HE_s::tag.
Definition at line 2587 of file formats.c.
References FDGxmlTag(), and _HE_s::tag.
Definition at line 2727 of file formats.c.
References FDGsqlTag(), and _HE_s::tag.
Definition at line 2594 of file formats.c.
References FDGxmlTag(), and _HE_s::tag.
static int FDGSkip | ( | rpmTagData | DN, |
rpmTagData | BN, | ||
rpmTagData | DI, | ||
uint32_t | i | ||
) | [static] |
Definition at line 2457 of file formats.c.
References rpmDataType_u::argv, and rpmDataType_u::ui32p.
Referenced by FDGsqlTag(), and FDGxmlTag().
Definition at line 2601 of file formats.c.
References _free(), rpmDataType_u::argv, _HE_s::c, FDGSkip(), _HE_s::freeData, headerGetEntry(), headerGetInstance(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, snprintf(), stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui16p, rpmDataType_u::ui32p, and xmalloc().
Referenced by F1sqlTag(), and F2sqlTag().
Definition at line 2472 of file formats.c.
References _free(), rpmDataType_u::argv, _HE_s::c, FDGSkip(), _HE_s::freeData, headerGetEntry(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui16p, rpmDataType_u::ui32p, xmalloc(), xmlstrcpy(), and xmlstrlen().
Referenced by F1xmlTag(), and F2xmlTag().
static char* fflagsFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Format file flags for display.
he | tag container |
av | parameter array (or NULL) |
Definition at line 135 of file formats.c.
References _, rpmDataType_u::i64p, _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_INT64_TYPE, RPMFILE_CONFIG, RPMFILE_DOC, RPMFILE_GHOST, RPMFILE_LICENSE, RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, RPMFILE_README, RPMFILE_SPECFILE, _HE_s::t, and xstrdup().
Retrieve file classes.
h | header |
*he | tag container |
Definition at line 1955 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildFClasses(), and _HE_s::t.
Retrieve file contexts from header.
h | header |
*he | tag container |
Definition at line 1972 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildFContexts(), and _HE_s::t.
Definition at line 1866 of file formats.c.
References _fnTag(), and _HE_s::tag.
Retrieve file provides.
h | header |
*he | tag container |
Definition at line 2023 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildFDeps(), and _HE_s::t.
Retrieve file requires.
h | header |
*he | tag container |
Definition at line 2040 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildFDeps(), and _HE_s::t.
Retrieve file contexts from file system.
h | header |
*he | tag container |
Definition at line 1989 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildFSContexts(), and _HE_s::t.
Retrieve mounted file system paths.
h | header |
*he | tag container |
Definition at line 1886 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmGetFilesystemList(), and _HE_s::t.
Retrieve mounted file system space.
h | header |
*he | tag container |
Definition at line 1908 of file formats.c.
References _free(), alloca(), _HE_s::c, _HE_s::freeData, headerGetEntry(), _HE_s::p, rpmDataType_u::ptr, RPM_INT64_TYPE, rpmfiBuildFNames(), rpmGetFilesystemList(), rpmGetFilesystemUsage(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, rpmDataType_u::ui64p, and xcalloc().
Retrieve group text.
h | header |
*he | tag container |
Definition at line 1587 of file formats.c.
References i18nTag(), and _HE_s::tag.
Retrieve hdrid and convert to UUIDv5.
h | header |
*he | tag container |
Definition at line 1241 of file formats.c.
References RPMTAG_HDRID, _HE_s::tag, and tag2uuidv5().
Retrieve ending byte offset of header.
h | header |
*he | tag container |
Definition at line 1648 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetEndOff(), _HE_s::p, RPM_INT64_TYPE, _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 1625 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetStartOff(), _HE_s::p, RPM_INT64_TYPE, _HE_s::t, _HE_s::tag, rpmDataType_u::ui64p, and xmalloc().
static char* hGetNVRA | ( | Header | h | ) | [static] |
Retrieve i18n text.
h | header |
*he | tag container |
Definition at line 1393 of file formats.c.
References _free(), _macro_i18ndomains, alloca(), _HE_s::c, dgettext, _HE_s::freeData, getenv(), headerGetEntry(), language, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_TYPE, rpmExpand(), setenv(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, tagName(), unsetenv(), xstrdup(), and xstrtolocale().
Referenced by descriptionTag(), groupTag(), and summaryTag().
static char* iconvFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Convert string encoding.
he | tag container |
av | parameter list (NULL assumes UTF-8) |
Definition at line 456 of file formats.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 1077 of file formats.c.
References _HE_s::tag, and tag2uuidv1().
Retrieve install time and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1038 of file formats.c.
References _HE_s::tag, and tag2uuidv1().
Retrieve install prefixes.
h | header |
*he | tag container |
Definition at line 946 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerFreeData(), headerGetEntry(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_TYPE, rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xstrdup().
static int keyCmp | ( | const void * | a, |
const void * | b | ||
) | [static] |
static uint32_t keyValue | ( | KEY * | keys, |
size_t | nkeys, | ||
const char * | name | ||
) | [static] |
Definition at line 2927 of file formats.c.
References keyCmp(), key_s::name, and key_s::value.
Referenced by digestFormat(), statFormat(), and uuidFormat().
Retrieve text and convert to locale.
Definition at line 1487 of file formats.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGetEntry(), _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, stpcpy(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, xmalloc(), xstrdup(), and xstrtolocale().
Referenced by changelognameTag(), and changelogtextTag().
Retrieve Requires(missingok): array for Suggests: or Enhances:.
h | header |
*he | tag container |
Definition at line 2057 of file formats.c.
References rpmDataType_u::argv, argvAdd(), argvFree(), _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmdsDNEVR(), rpmdsFlags(), rpmdsFree(), rpmdsInit(), rpmdsNew(), rpmdsNext(), stpcpy(), _HE_s::t, and xcalloc().
Retrieve N-V-R.A compound string from header.
h | header |
*he | tag container |
Definition at line 1837 of file formats.c.
References _HE_s::c, _HE_s::freeData, hGetNVRA(), _HE_s::p, RPM_STRING_TYPE, rpmDataType_u::str, and _HE_s::t.
Retrieve origin tid and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1103 of file formats.c.
References _HE_s::tag, and tag2uuidv1().
Retrieve origin time and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1064 of file formats.c.
References _HE_s::tag, and tag2uuidv1().
Definition at line 1873 of file formats.c.
References _fnTag(), and _HE_s::tag.
Definition at line 2450 of file formats.c.
References PRCOsqlTag(), and _HE_s::tag.
Definition at line 2251 of file formats.c.
References PRCOxmlTag(), and _HE_s::tag.
static char* permsFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Format file permissions for display.
he | tag container |
av | parameter array (or NULL) |
Definition at line 113 of file formats.c.
References _, rpmDataType_u::i64p, _HE_s::ix, _HE_s::p, RPM_INT64_TYPE, rpmPermsString(), _HE_s::t, and xstrdup().
static char* pgpsigFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Display signature fingerprint and time.
he | tag container |
av | parameter array (or NULL) |
Definition at line 788 of file formats.c.
References _, pgpDigParams_s::hash_algo, _HE_s::ix, _HE_s::p, pgpFreeDig(), pgpGrab(), PGPHASHALGO_MD5, PGPHASHALGO_SHA1, pgpHexStr(), pgpLen(), pgpNewDig(), pgpPrtPkts(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, PGPTAG_SIGNATURE, rpmDataType_u::ptr, pgpDigParams_s::pubkey_algo, RPM_ASN1_TYPE, RPM_BIN_TYPE, RPM_OPENPGP_TYPE, pgpDig_s::signature, pgpDigParams_s::signid, snprintf(), stpcpy(), _HE_s::t, pgpDigParams_s::time, xrealloc(), and xstrdup().
Retrieve package baseurl from header.
h | header |
*he | tag container |
Definition at line 1699 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetBaseURL(), headerGetEntry(), _HE_s::p, RPM_STRING_TYPE, rpmDataType_u::str, _HE_s::t, _HE_s::tag, and xstrdup().
Retrieve package digest from header.
h | header |
*he | tag container |
Definition at line 1729 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetDigest(), _HE_s::p, RPM_STRING_TYPE, 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 1758 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetStatbuf(), _HE_s::p, RPM_UINT64_TYPE, _HE_s::t, _HE_s::tag, rpmDataType_u::ui64p, and xmalloc().
Retrieve package origin from header.
h | header |
*he | tag container |
Definition at line 1671 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetEntry(), headerGetOrigin(), _HE_s::p, RPM_STRING_TYPE, 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 1782 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerGetStatbuf(), _HE_s::p, RPM_UINT64_TYPE, _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 1215 of file formats.c.
References RPMTAG_PKGID, _HE_s::tag, and tag2uuidv5().
static int PRCOSkip | ( | rpmTag | tag, |
rpmTagData | N, | ||
rpmTagData | EVR, | ||
rpmTagData | F, | ||
uint32_t | i | ||
) | [static] |
Definition at line 2108 of file formats.c.
References rpmDataType_u::argv, and rpmDataType_u::ui32p.
Referenced by PRCOsqlTag(), and PRCOxmlTag().
Definition at line 2332 of file formats.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGetEntry(), headerGetInstance(), _HE_s::p, PRCOSkip(), rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, snprintf(), stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, V, and xmalloc().
Referenced by CsqlTag(), OsqlTag(), PsqlTag(), and RsqlTag().
Definition at line 2124 of file formats.c.
References _free(), rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerGetEntry(), _HE_s::p, PRCOSkip(), rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, stpcpy(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, V, xmalloc(), xmlstrcpy(), and xmlstrlen().
Referenced by CxmlTag(), OxmlTag(), PxmlTag(), and RxmlTag().
Definition at line 2429 of file formats.c.
References PRCOsqlTag(), and _HE_s::tag.
Definition at line 2230 of file formats.c.
References PRCOxmlTag(), and _HE_s::tag.
Retrieve file contexts from policy RE's.
h | header |
*he | tag container |
Definition at line 2006 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, _HE_s::p, RPM_STRING_ARRAY_TYPE, rpmfiBuildREContexts(), and _HE_s::t.
Retrieve remove tid and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1090 of file formats.c.
References _HE_s::tag, and tag2uuidv1().
static char* rpmPermsString | ( | int | mode | ) | [static] |
Definition at line 28 of file formats.c.
References S_ISLNK, S_ISSOCK, and xstrdup().
Referenced by permsFormat(), and printFileInfo().
static char* rpnFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Return arithmetic expressions of input.
he | tag container |
av | parameter list (NULL uses sha1) |
Definition at line 3214 of file formats.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 2436 of file formats.c.
References PRCOsqlTag(), and _HE_s::tag.
Definition at line 2237 of file formats.c.
References PRCOxmlTag(), and _HE_s::tag.
Retrieve sourcepkgid and convert to UUIDv5.
h | header |
*he | tag container |
Definition at line 1228 of file formats.c.
References _HE_s::tag, and tag2uuidv5().
static char* sqlescapeFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Encode string for use in SQL statements.
he | tag container |
av | parameter array (or NULL) |
Definition at line 2307 of file formats.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 char* sqlstrcpy | ( | char * | t, |
const char * | s | ||
) | [static] |
Copy source string to target, doubling single quotes.
t | target sql string |
s | source string |
Definition at line 2285 of file formats.c.
Referenced by sqlescapeFormat().
static size_t sqlstrlen | ( | const char * | s | ) | [static] |
Return length of string represented with single quotes doubled.
s | string |
Definition at line 2263 of file formats.c.
Referenced by sqlescapeFormat().
static char* statFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Return file info.
he | tag container |
av | parameter list (NULL uses sha1) |
Definition at line 2990 of file formats.c.
References _, _free(), _HE_s::c, errno, Fclose(), fdFiniDigest(), fdInitDigest(), Ferror(), Fopen(), Fread(), Fstrerror(), gidToGname(), _HE_s::ix, keyValue(), Lstat(), nkeyDigests, _HE_s::p, PGPHASHALGO_SHA1, rpmDataType_u::ptr, Readlink(), RPM_BIN_TYPE, RPM_STRING_TYPE, rpmExpand(), 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 int str2uuid | ( | HE_t | he, |
const char ** | av, | ||
int | version, | ||
char * | val | ||
) | [static] |
Convert tag string to UUID.
he | tag container |
av | parameter list (or NULL) version UUID version |
val | UUID string |
Definition at line 1127 of file formats.c.
References _free(), _HE_s::c, _HE_s::freeData, headerFreeData(), _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_STRING_TYPE, rpmGetPath(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, tagName(), rpmDataType_u::ui8p, uuid_auth, uuid_ns, uuid_path, uuid_version, and xcalloc().
Referenced by tag2uuidv5(), and uuidFormat().
static char* strdup_locale_convert | ( | const char * | buffer, |
const char * | tocode | ||
) | [static] |
Definition at line 329 of file formats.c.
References errno, and xstrdup().
Referenced by bncdataFormat(), cdataFormat(), iconvFormat(), and sqlescapeFormat().
Retrieve summary text.
h | header |
*he | tag container |
Definition at line 1545 of file formats.c.
References i18nTag(), and _HE_s::tag.
Retrieve time and convert to UUIDv1.
h | header |
*he | tag container |
Definition at line 1019 of file formats.c.
References _HE_s::c, headerFreeData(), headerGetEntry(), _HE_s::p, rpmDataType_u::ptr, _HE_s::t, _HE_s::tag, 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 1176 of file formats.c.
References _HE_s::c, _HE_s::freeData, headerFreeData(), headerGetEntry(), _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_STRING_TYPE, str2uuid(), _HE_s::t, _HE_s::tag, rpmDataType_u::ui8p, and xmalloc().
Referenced by hdruuidTag(), pkguuidTag(), and sourcepkguuidTag().
Retrieve trigger info.
h | header |
*he | tag container |
Definition at line 1254 of file formats.c.
References _free(), alloca(), rpmDataType_u::argv, _HE_s::c, depflagsFormat(), _HE_s::freeData, headerFreeData(), headerGetEntry(), rpmDataType_u::i32p, _HE_s::p, rpmDataType_u::ptr, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMSENSE_SENSEMASK, _HE_s::t, _HE_s::tag, xmalloc(), xrealloc(), and xstrdup().
static char* triggertypeFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Identify type of trigger.
he | tag container |
av | parameter array (or NULL) |
Definition at line 82 of file formats.c.
References _, rpmDataType_u::i64p, _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_INT64_TYPE, _HE_s::t, and xstrdup().
Retrieve trigger type info.
h | header |
*he | tag container |
Definition at line 1328 of file formats.c.
References rpmDataType_u::argv, _HE_s::c, _HE_s::freeData, headerFreeData(), headerGetEntry(), rpmDataType_u::i32p, _HE_s::p, rpmDataType_u::ptr, RPM_STRING_ARRAY_TYPE, _HE_s::t, xmalloc(), and xstrdup().
Convert unix timeval to UUIDv1.
h | header |
*he | tag container |
tv | unix timeval |
Definition at line 976 of file formats.c.
References _free(), _HE_s::c, _HE_s::freeData, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, _HE_s::t, rpmDataType_u::ui8p, and xcalloc().
Referenced by tag2uuidv1().
static char* uuidFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Reformat tag string as a UUID.
he | tag container |
av | parameter list (NULL uses UUIDv5) |
Definition at line 3152 of file formats.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().
static char* xmlFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Wrap tag data in simple header xml markup.
he | tag container |
av | parameter array (or NULL) |
Definition at line 480 of file formats.c.
References _, _free(), alloca(), rpmDataType_u::argv, base64Format(), rpmDataType_u::i32p, rpmDataType_u::i64p, rpmDataType_u::i8p, _HE_s::ix, _HE_s::p, rpmDataType_u::ptr, RPM_ASN1_TYPE, RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT64_TYPE, RPM_INT8_TYPE, RPM_NULL_TYPE, RPM_OPENPGP_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, snprintf(), stpcpy(), rpmDataType_u::str, _HE_s::t, rpmDataType_u::ui16p, xmlstrcpy(), xmlstrlen(), xstrdup(), and xstrtolocale().
static char* xmlstrcpy | ( | char * | t, |
const char * | s | ||
) | [static] |
Copy source string to target, substituting for xml characters.
t | target xml string |
s | source string |
Definition at line 310 of file formats.c.
References stpcpy().
Referenced by bncdataFormat(), cdataFormat(), FDGxmlTag(), PRCOxmlTag(), and xmlFormat().
static size_t xmlstrlen | ( | const char * | s | ) | [static] |
Return length of string represented with xml characters substituted.
s | string |
Definition at line 286 of file formats.c.
Referenced by bncdataFormat(), cdataFormat(), FDGxmlTag(), PRCOxmlTag(), and xmlFormat().
static char* yamlFormat | ( | HE_t | he, |
const char ** | av | ||
) | [static] |
Wrap tag data in simple header yaml markup.
he | tag container |
av | parameter list (or NULL) |
Definition at line 643 of file formats.c.
References _, _free(), alloca(), rpmDataType_u::argv, base64Format(), _HE_s::ix, _HE_s::p, RPM_ASN1_TYPE, RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_NULL_TYPE, RPM_OPENPGP_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, xstrdup(), xstrtolocale(), yamlstrcpy(), and yamlstrlen().
static char* yamlstrcpy | ( | char * | t, |
const char * | s, | ||
int | lvl | ||
) | [static] |
Copy source string to target, indenting for yaml.
t | target yaml string |
s | source string |
lvl | indentation level |
Definition at line 613 of file formats.c.
References indent.
Referenced by yamlFormat().
static size_t yamlstrlen | ( | const char * | s, |
int | lvl | ||
) | [static] |
Return length of string represented with yaml indentation.
s | string |
lvl | indentation level |
Definition at line 586 of file formats.c.
References indent.
Referenced by yamlFormat().
const char* _macro_i18ndomains = "%{?_i18ndomains}" [static] |
KEY keyDigests[] [static] |
{ { "adler32", PGPHASHALGO_ADLER32 }, { "crc32", PGPHASHALGO_CRC32 }, { "crc64", PGPHASHALGO_CRC64 }, { "haval160", PGPHASHALGO_HAVAL_5_160 }, { "jlu32", PGPHASHALGO_JLU32 }, { "md2", PGPHASHALGO_MD2 }, { "md4", PGPHASHALGO_MD4 }, { "md5", PGPHASHALGO_MD5 }, { "rmd128", PGPHASHALGO_RIPEMD128 }, { "rmd160", PGPHASHALGO_RIPEMD160 }, { "rmd256", PGPHASHALGO_RIPEMD256 }, { "rmd320", PGPHASHALGO_RIPEMD320 }, { "salsa10", PGPHASHALGO_SALSA10 }, { "salsa20", PGPHASHALGO_SALSA20 }, { "sha1", PGPHASHALGO_SHA1 }, { "sha224", PGPHASHALGO_SHA224 }, { "sha256", PGPHASHALGO_SHA256 }, { "sha384", PGPHASHALGO_SHA384 }, { "sha512", PGPHASHALGO_SHA512 }, { "tiger192", PGPHASHALGO_TIGER192 }, }
{ { "v1", UUID_KEYS_V1 }, { "v3", UUID_KEYS_V3 }, { "v4", UUID_KEYS_V4 }, { "v5", UUID_KEYS_V5 }, }
const char* language = "LANGUAGE" [static] |
size_t nkeyDigests = sizeof(keyDigests) / sizeof(keyDigests[0]) [static] |
Definition at line 2803 of file formats.c.
Referenced by digestFormat(), and statFormat().
struct headerSprintfExtension_s rpmHeaderFormats[] |
Table of query format extensions.
Definition at line 3307 of file formats.c.
Referenced by hdr_subscript(), hdrPrintErased(), hdrPrintInstalled(), hdrSprintf(), init_rpm(), packageBinaries(), parseForSimple(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmDisplayQueryTags(), rpmfiNew(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), and runScript().
const char uuid_auth[] = "%{?_uuid_auth}%{!?_uuid_auth:http://rpm5.org}" [static] |
Definition at line 1113 of file formats.c.
Referenced by str2uuid().
const char uuid_ns[] = "ns:URL" [static] |
Definition at line 1111 of file formats.c.
Referenced by str2uuid().
const char uuid_path[] = "%{?_uuid_path}%{!?_uuid_path:/package}" [static] |
Definition at line 1115 of file formats.c.
Referenced by str2uuid().
int uuid_version = 5 [static] |
Definition at line 1117 of file formats.c.
Referenced by str2uuid().