- Global Access (const char *path, int amode)
- Implement remotely.
- Global addChangelogEntry (Header h, time_t time, const char *name, const char *text)
- addChangelogEntry should be static.
- Parameters
-
h | header |
time | time of change |
name | person who made the change |
text | description of change |
- Global argerror (const char *desc) __attribute__((__noreturn__))
- (CLI embedding) Use rpmlog/rpmlog instead of fprintf, remove exit.
- Parameters
-
- Global armorFormat (HE_t he, const char **av)
- Permit selectable display formats (i.e. binary).
- Parameters
-
he | tag container |
av | parameter list (or NULL) |
- Returns
- formatted string
- Global base64Format (HE_t he, const char **av)
- Permit selectable display formats (i.e. binary).
- Parameters
-
he | tag container |
av | parameter list (or NULL) |
- Returns
- formatted string
- File buildio.h
- Eliminate, merge into rpmlib.
- Global Chflags (const char *path, unsigned int flags)
- Implement remotely.
- Global Chmod (const char *path, mode_t mode)
- Implement remotely.
- Global Chown (const char *path, uid_t owner, gid_t group)
- Implement remotely.
- Global Chroot (const char *path)
- Implement remotely.
- Global copyEntry (const indexEntry entry, HE_t he, int minMem)
- Permit retrieval of regions other than HEADER_IMUTABLE.
- Parameters
-
- Return values
-
- Parameters
-
minMem | string pointers refer to header memory? |
- Returns
- 1 on success, otherwise error.
- Global cpio_doio (FD_t fdo, Header h, CSA_t csa, const char *payload_format, const char *fmodeMacro)
- Create transaction set much earlier.
- Global cvtfmode (const char *m, char *stdio, size_t nstdio, char *other, size_t nother, const char **end, int *f, mode_t *mode)
- glibc also supports ",ccs="
- Global dbiMireKeys (rpmdb db, rpmTag tag, rpmMireMode mode, const char *pat, dbiIndexSet *matches, const char ***argvp)
- Move to Berkeley DB db3.c when dbiIndexSet is eliminated.
- Parameters
-
db | rpm database |
tag | rpm tag |
mode | type of pattern match |
pat | pattern to match (NULL iterates all keys). |
- Return values
-
*matches | array or primary keys that match (or NULL) |
*argvp | array of secondary keys that match (or NULL) |
- Global deptypeFormat (HE_t he, const char **av)
- There's more sense bits, and the bits are attributes, not exclusive.
- Parameters
-
he | tag container |
av | parameter list (or NULL) |
- Returns
- formatted string
- Global doSetupMacro (Spec spec, const char *line)
- FIXME: Option -q broken when not immediately after setup.
- Parameters
-
spec | build info |
line | current line from spec file |
- Returns
- 0 on success
- Global expandMacro (MacroBuf mb)
- Dynamically reallocate target buffer.
- Parameters
-
- Returns
- 0 on success, 1 on failure
- Global expandMacros (void *spec, MacroContext mc, char *sbuf, size_t slen)
- Eliminate from API.
- Parameters
-
spec | cookie (unused) |
mc | macro context (NULL uses global context). |
- Return values
-
sbuf | input macro to expand, output expansion |
- Parameters
-
- Returns
- 0 on success
- Global Fchflags (FD_t fd, unsigned int flags)
- Implement remotely.
- Global Fchmod (FD_t fd, mode_t mode)
- Implement remotely.
- Global Fchown (FD_t fd, uid_t owner, gid_t group)
- Implement remotely.
- Global fingerPrint
- Convert to pointer and make abstract.
- Global freePackage (Package pkg)
- Rename to pkgFree.
- Parameters
-
pkg | package control structure |
- Returns
- NULL on last dereference
- Global freeSpec (Spec spec)
- Rename to specFree.
- Parameters
-
spec | spec file control structure |
- Returns
- NULL on last dereference
- Global genCpioListAndHeader (FileList fl, rpmfi *fip, Header h, int isSrc)
Should directories have doc/config attributes? (#14531)
Remove RPMTAG_OLDFILENAMES, add dirname/basename instead.
- Parameters
-
fl | package file tree walk data |
- Return values
-
*fip | file info for package |
- Parameters
-
- Global getFilesystemList (void)
- determine rdonly for non-linux file systems.
- Returns
- 0 on success, 1 on error
- Global getGidS (const char *gname)
- Implement using hash.
- Parameters
-
- Returns
- cached gid
- Global getGname (gid_t gid)
- Implement using hash.
- Parameters
-
- Returns
- cached group name
- Global getGnameS (const char *gname)
- Implement using hash.
- Parameters
-
- Returns
- cached group name
- Global getOutputFrom (const char *dir, ARGV_t argv, const char *writePtr, size_t writeBytesLeft, int failNonZero)
- Use poll(2) rather than select(2), if available.
- Parameters
-
dir | directory to run in (or NULL) |
argv | program and arguments to run |
writePtr | bytes to feed to script on stdin (or NULL) |
writeBytesLeft | no. of bytes to feed to script on stdin |
failNonZero | is script failure an error? |
- Returns
- buffered stdout from script, NULL on error
- Global getUidS (const char *uname)
- Implement using hash.
- Parameters
-
- Returns
- cached uid
- Global getUname (uid_t uid)
- Implement using hash.
- Parameters
-
- Returns
- cached user name
- Global getUnameS (const char *uname)
- Implement using hash.
- Parameters
-
- Returns
- cached user name
- Global grabArgs (MacroBuf mb, const MacroEntry me, const char *se, const char *lastc)
- Use popt rather than getopt to parse args.
- Parameters
-
mb | macro expansion state |
me | macro entry slot |
se | arguments to parse |
lastc | stop parsing at lastc |
- Returns
- address to continue parsing
- Global headerMergeLegacySigs (Header h, const Header sigh)
- Remove headerSort() through headerInitIterator() modifies sig.
- Parameters
-
h | header |
sigh | signature header |
- Global headerRegenSigHeader (const Header h, int noArchiveSize)
- Remove headerSort() through headerInitIterator() modifies h.
- Parameters
-
h | header |
noArchiveSize | don't copy archive size tag (pre rpm-4.1) |
- Returns
- regenerated signature header
- Class iosmIterator_s
- rpmts and rpmsx need to be moved elsewhere.
- Global Lchflags (const char *path, unsigned int flags)
- Implement remotely.
- Global Lchmod (const char *path, mode_t mode)
- Implement remotely.
- Global Lchown (const char *path, uid_t owner, gid_t group)
- Implement remotely.
- Global Lseek (int fdno, off_t offset, int whence)
- Implement SEEK_HOLE/SEEK_DATA.
- Global Lutimes (const char *path, const struct timeval *times)
- Implement remotely.
- Global Mkfifo (const char *path, mode_t mode)
- Implement remotely.
- Global Mknod (const char *path, mode_t mode, dev_t dev)
- Implement remotely.
- Global Open (const char *path, int flags, mode_t mode)
- Implement remotely.
- Global pgpExtractPubkeyFingerprint (const char *b64pkt, rpmuint8_t *keyid)
- V3 non-RSA public keys not implemented.
- Parameters
-
b64pkt | base64 encoded openpgp packet |
- Return values
-
keyid[8] | public key fingerprint |
- Returns
- 8 (no. of bytes) on success, < 0 on error
- Global pgpHashAlgo
- Add SHA256.
- Global pgpHashAlgo
- Add SHA256.
- Global pgpHexStr (const rpmuint8_t *p, size_t plen)
- Remove static buffer.
- Parameters
-
- Returns
- hex formatted string
- Global pgpMpiStr (const rpmuint8_t *p)
- Remove static buffer.
- Parameters
-
- Returns
- hex formatted string
- Global pgpPubkeyFingerprint (const rpmuint8_t *pkt, size_t pktlen, rpmuint8_t *keyid)
- V3 non-RSA public keys not implemented.
- Parameters
-
pkt | OpenPGP packet (i.e. PGPTAG_PUBLIC_KEY) |
pktlen | OpenPGP packet length (no. of bytes) |
- Return values
-
keyid | publick key fingerprint |
- Returns
- 0 on success, else -1
- Global printHash (const rpmuint64_t amount, const rpmuint64_t total)
- Unsnarl isatty(STDOUT_FILENO) from the control flow.
- Parameters
-
- Global readFile (FD_t fd, const char *fn)
- If the GPG key was known available, the md5 digest could be skipped.
- Global Readlink (const char *path, char *buf, size_t bufsiz)
- Implement remotely.
- Global relocateFileList (const rpmts ts, rpmfi fi, Header origH, iosmFileAction *actions)
- multilib file dispositions need to be checked.
- Parameters
-
ts | transaction set |
fi | transaction element file info |
origH | package header |
actions | file dispositions |
- Returns
- header with relocated files
- Global rpm_machtable_e
- Eliminate in rpm-5.1.
- Global rpmalSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
- Eliminate.
- Parameters
-
al | available list |
ds | dependency set |
- Return values
-
keyp | added package key pointer (or NULL) |
- Returns
- associated package key, NULL if none
- Global rpmaugNew (const char *root, const char *loadpath, unsigned int flags)
- Change to common RPM embedded interpreter API.
- Parameters
-
root | augeas filesystem root |
loadpath | augeas load path (colon separated) |
flags | augeas flags |
- Returns
- new augeas wrapper
- Global rpmbfDel (rpmbf bf, const void *_s, size_t ns)
- Counting bloom filter needed?
- Parameters
-
bf | Bloom filter |
*_s | bytes |
ns | no. bytes (0 will do strlen) |
- Returns
- 0 on success, -1 on NULL pointer
- Global rpmcliImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen)
- Implicit –update policy for gpg-pubkey headers.
- Parameters
-
ts | transaction set |
pkt | pgp pubkey packet(s) |
pktlen | pgp pubkey length |
- Returns
- RPMRC_OK/RPMRC_FAIL
- Global rpmcliImportPubkeys (const rpmts ts, QVA_t qva, const char **argv)
- Implicit –update policy for gpg-pubkey headers.
- Parameters
-
ts | transaction set |
qva | mode flags and parameters |
argv | array of pubkey file names (NULL terminated) |
- Returns
- 0 on success
- Global rpmcliInstall (rpmts ts, QVA_t ia, const char **argv)
- Use rpmdsCompare rather than rpmVersionCompare.
- Parameters
-
ts | transaction set |
ia | mode flags and parameters |
argv | array of package file names (NULL terminated) |
- Returns
- 0 on success
Generalize –freshen policies.
- Global rpmcliQuery (rpmts ts, QVA_t qva, const char **argv)
- hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
- Parameters
-
ts | transaction set |
qva | parsed query/verify options |
argv | query argument(s) (or NULL) |
- Returns
- 0 on success, else no. of failures
- Global rpmcliVerify (rpmts ts, QVA_t qva, const char **argv)
- hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
- Parameters
-
ts | transaction set |
qva | parsed query/verify options |
argv | verify argument(s) (or NULL) |
- Returns
- 0 on success, else no. of failures
- Global rpmdbNew (const char *root, const char *home, int mode, mode_t perms, int flags)
- document rpmdbNew
- Global rpmDefineMacro (MacroContext mc, const char *macro, int level)
- Document.
- Global rpmdepFlags
- Move to rpmts.h.
- Global rpmdepFlags
- Move to rpmts.h.
- Global rpmdsLdconfig (rpmPRCO PRCO, const char *fn)
- Add dependency colors, and attach to file.
- Return values
-
*PRCO | provides/requires/conflicts/obsoletes depedency set(s) |
- Parameters
-
fn | cache file name (NULL uses /etc/ld.so.cache) |
- Returns
- 0 on success
- Global rpmfcPrint (const char *msg, rpmfc fc, FILE *fp)
- Remove debugging routine.
- Parameters
-
msg | message prefix (NULL for none) |
fc | file classifier |
fp | output file handle (NULL for stderr) |
- Global rpmFreeRpmrc (void)
Eliminate in rpm-5.1. Destroy rpmrc arch/os compatibility tables.
Eliminate from API.
- Global rpmgiLoadReadHeader (rpmgi gi)
An empty file read as manifest truncates argv returning RPMRC_NOTFOUND.
Errors, e.g. non-existent path in manifest, will terminate iteration.
Chained manifests lose an arg someplace.
- Parameters
-
- Returns
- RPMRC_OK on success
- Global rpmgiOpen (const char *path, const char *fmode)
- There are two error messages printed on header, then manifest failures.
- Parameters
-
path | file path |
fmode | open mode |
- Returns
- file handle
- Global rpmInstallSourcePackage (rpmts ts, void *_fd, const char **specFilePtr, const char **cookie)
- Eliminate in rpm-5.1, insturment rpmtsRun() state machine instead.
- Parameters
-
ts | transaction set |
_fd | file handle |
- Return values
-
specFilePtr | address of spec file name (or NULL) |
cookie | address of cookie pointer (or NULL) |
- Returns
- rpmRC return code
- Class rpmlead
- Don't use any information from lead.
- Global rpmlogClose (void)
- Implement.
- Global rpmlogOpen (const char *ident, int option, int facility)
- Implement.
- Global rpmprobFilterFlags
- Generalize filter mechanism.
- Global rpmprobFilterFlags
- Generalize filter mechanism.
- Global rpmProblemGetStr (rpmProblem prob)
- needs a better name
- Global rpmpsmStage (rpmpsm psm, pkgStage stage)
- Packages w/o files never get a callback, hence don't get displayed on install with -v.
- Global rpmQueryFlags
- Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
- Global rpmQueryFlags
- Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
- Global rpmQVSources
- Reassign to tag values.
- Global rpmQVSources
- Reassign to tag values.
- Global rpmReadPackageFile (rpmts ts, FD_t fd, const char *fn, Header *hdrp)
Implement disable/enable/warn/error/anal policy.
The rpmts either needs to become void *, or changed to -lrpmdb scope.
- Parameters
-
ts | transaction set |
fd | file handle |
fn | file name |
- Return values
-
hdrp | address of header (or NULL) |
- Returns
- RPMRC_OK on success
- Global rpmReadPackageManifest (FD_t fd, int *argcPtr, const char ***argvPtr)
- Infinite loops through manifest files exist, operator error for now.
- Global rpmRollback (rpmts ts, QVA_t ia, const char **argv)
- Transaction handling, more, needs work.
- Global rpmSetTables (int archTable, int osTable)
Eliminate in rpm-5.1.
Only used by build code.
- Parameters
-
- Global rpmSetVerbosity (_lvl)
- These convenience macros belong somewhere else.
- Global rpmShowProgress (const void *arg, const rpmCallbackType what, const rpmuint64_t amount, const rpmuint64_t total, fnpyKey key, void *data)
- Remove headerSprintf() from the progress callback.
- Warning
- This function's args have changed, so the function cannot be used portably
- Global rpmsqWaitUnregister (rpmsq sq)
- Rewrite to use waitpid on helper thread.
- Parameters
-
sq | scriptlet queue element |
- Returns
- 0 on success
- Global rpmtePkgFileSize (rpmte te)
- Signature header is estimated at 256b.
- Parameters
-
- Returns
- size in bytes of package file.
- Global rpmtransFlags
- Move to rpmts.h.
- Global rpmtransFlags
- Move to rpmts.h.
- Global rpmts_AddErase (rpmtsObject *s, PyObject *args, PyObject *kwds)
- Permit finer control (i.e. not just –allmatches) of deleted elments.
- Global rpmts_iternext (rpmtsObject *s)
- Add TR_ADDED filter to iterator.
- Global rpmts_Next (rpmtsObject *s)
- Add TR_ADDED filter to iterator.
- Global rpmtsiFi (const rpmtsi tsi)
- Take a rpmfi refcount here.
- Parameters
-
tsi | transaction element iterator |
- Returns
- transaction element file info
- Global rpmUndefineMacro (MacroContext mc, const char *macro)
- Document.
- Global rpmVerifyFlags
- Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs values?.
- Global rpmVerifyFlags
- Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs values?.
- Global rpmVerifyScript (QVA_t qva, rpmts ts, rpmfi fi, FD_t scriptFd)
- malloc/free/refcount handling is fishy here.
- Parameters
-
qva | parsed query/verify options |
ts | transaction set |
fi | file info set |
scriptFd | file handle to use for stderr (or NULL) |
- Returns
- 0 on success
- Global showQueryPackage (QVA_t qva, rpmts ts, Header h)
- Devise a meaningful return code.
- Parameters
-
qva | parsed query/verify options |
ts | transaction set |
h | header to use for query |
- Returns
- 0 always
- Global Symlink (const char *oldpath, const char *newpath)
- Implement remotely.
- Global tagMacros []
- Should other macros be added from header when installing a package?
- Global tagMacros []
- Should other macros be added from header when installing a package?
- Global tagType (rpmTag tag)
- Return rpmTagType-like, not unsigned int. There's no clear typedef yet.
- Parameters
-
- Returns
- tag data type, 0 on not found.
- Global Utimes (const char *path, const struct timeval *times)
- Implement remotely.
- Global xrealloc (void *ptr, size_t size)
- Annotate ptr with returned/out.
- Global XurlNew (const char *msg, const char *fn, unsigned ln)
- Remove debugging entry from the ABI.