Todo List

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.

Global argerror (const char *desc)
(CLI embedding) Use rpmlog/rpmlog instead of fprintf, remove exit.

Global armorFormat (HE_t he)
Permit selectable display formats (i.e. binary).

Global base64Format (HE_t he)
Permit selectable display formats (i.e. binary).

File buildio.h
Eliminate, merge into rpmlib.

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.

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)

glibc also supports ",ccs="

Global dbiFindByLabel (dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, const char *arg, dbiIndexSet *matches)
Name must be an exact match, as name is a db key.

Page Dependencies

per-interpreter dependency generators are not located in subdirectories.

Global doSetupMacro (Spec spec, char *line)
FIXME: Option -q broken when not immediately after setup.

Global expandMacro (MacroBuf mb)
Dynamically reallocate target buffer.

Global expandMacros (void *spec, MacroContext mc, char *sbuf, size_t slen)
Eliminate from API.

Global fingerPrint
Convert to pointer and make abstract.

Global genCpioListAndHeader (FileList fl, rpmfi *fip, Header h, int isSrc)

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

Remove RPMTAG_OLDFILENAMES, add dirname/basename instead.

Global getFilesystemList (void)
determine rdonly for non-linux file systems.

Global getGidS (const char *gname)
Implement using hash.

Global getGname (gid_t gid)
Implement using hash.

Global getGnameS (const char *gname)
Implement using hash.

Global getOutputFrom (const char *dir, ARGV_t argv, const char *writePtr, int writeBytesLeft, int failNonZero)
Use poll(2) rather than select(2), if available.

Global getUidS (const char *uname)
Implement using hash.

Global getUname (uid_t uid)
Implement using hash.

Global getUnameS (const char *uname)
Implement using hash.

Global grabArgs (MacroBuf mb, const MacroEntry me, const char *se, const char *lastc)
Use popt rather than getopt to parse args.

Global handleOneTrigger (const rpmpsm psm, Header sourceH, Header triggeredH, int arg2, unsigned char *triggersAlreadyRun)
Trigger on any provides, not just package NVR.

Global headerMergeLegacySigs (Header h, const Header sigh)
Remove headerSort() through headerInitIterator() modifies sig.

Global headerRegenSigHeader (const Header h, int noArchiveSize)
Remove headerSort() through headerInitIterator() modifies h.

Page Immutable header regions in rpm-4.0.1 and later

Either concatenated/nested regions may be used to implement a metarpm, aka a package of packages, dunno how, when, or even if, yet.

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 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, uint8_t *keyid)
V3 non-RSA public keys not implemented.

Global pgpHashAlgo
Add SHA256.

Global pgpHexStr (const uint8_t *p, size_t plen)
Remove static buffer.

Global pgpMpiStr (const uint8_t *p)
Remove static buffer.

Global pgpPubkeyFingerprint (const uint8_t *pkt, size_t pktlen, uint8_t *keyid)
V3 non-RSA public keys not implemented.

Global printHash (const uint64_t amount, const uint64_t total)
Unsnarl isatty(STDOUT_FILENO) from the control flow.

Global printSize (FD_t fd, size_t siglen, size_t pad, size_t datalen)
rpmio: use fdSize rather than fstat(2) to get file size.

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, fileAction *actions)
multilib file dispositions need to be checked.

Global rpm_machtable_e
Eliminate in rpm-5.1.

Global rpmalSatisfiesDepend (const rpmal al, const rpmds ds, alKey *keyp)
Eliminate.

Global rpmcliImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen)
Implicit --update policy for gpg-pubkey headers.

Global rpmcliImportPubkeys (const rpmts ts, QVA_t qva, const char **argv)
Implicit --update policy for gpg-pubkey headers.

Global rpmcliInstall (rpmts ts, QVA_t ia, const char **argv)
Use rpmdsCompare rather than rpmVersionCompare.

Global rpmcliQuery (rpmts ts, QVA_t qva, const char **argv)
hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?

Global rpmcliVerify (rpmts ts, QVA_t qva, const char **argv)
hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?

Global rpmdbNew (const char *root, const char *home, int mode, int perms, int flags)
document rpmdbNew

Global rpmdbOpenDatabase (const char *prefix, const char *dbpath, int _dbapi, rpmdb *dbp, int mode, int perms, int flags)
document rpmdbOpenDatabase

Global rpmDefineMacro (MacroContext mc, const char *macro, int level)
Document.

Global rpmdepFlags
Move to rpmts.h.

Global rpmdsLdconfig (rpmPRCO PRCO, const char *fn)
Add dependency colors, and attach to file.

Global rpmfcPrint (const char *msg, rpmfc fc, FILE *fp)
Remove debugging routine.

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.

Global rpmgiOpen (const char *path, const char *fmode)
There are two error messages printed on header, then manifest failures.

Global rpmInstallSourcePackage (rpmts ts, void *_fd, const char **specFilePtr, const char **cookie)
Eliminate in rpm-5.1, insturment rpmtsRun() state machine instead.

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 rpmProblemGetLong (rpmProblem prob)
needs a better name

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 rpmQVSources
Reassign to tag values.

Global rpmReadPackageFile (rpmts ts, void *_fd, const char *fn, Header *hdrp)
Implement disable/enable/warn/error/anal policy.

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. #

Global rpmSetVerbosity (_lvl)
These convenience macros belong somewhere else.

Global rpmShowProgress (const void *arg, const rpmCallbackType what, const uint64_t amount, const uint64_t total, fnpyKey key, void *data)
Remove headerSprintf() from the progress callback.

Global rpmsqWaitUnregister (rpmsq sq)
Rewrite to use waitpid on helper thread.

Global rpmtePkgFileSize (rpmte te)
Signature header is estimated at 256b.

Global RPMTRANS_FLAG_KEEPOBSOLETE
Document.

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.

Global rpmtsImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen)
Implicit --update policy for gpg-pubkey headers.

Global rpmUndefineMacro (MacroContext mc, const char *macro)
Document.

Global rpmVerifyFile (const rpmts ts, rpmfi fi, rpmVerifyAttrs *res, rpmVerifyAttrs omitMask)
gnorpm and python bindings prevent this from being static.

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.

Global rpmVersionCompare (Header first, Header second)
Eliminate in rpm-5.1.

Global showQueryPackage (QVA_t qva, rpmts ts, Header h)
Devise a meaningful return code.

Global Symlink (const char *oldpath, const char *newpath)
Implement remotely.

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.

Global Utimes (const char *path, const struct timeval *times)
Implement remotely.

Global XpgpDigLink (pgpDig dig, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XpgpDigUnlink (pgpDig dig, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global xrealloc (void *ptr, size_t size)
Annotate ptr with returned/out.

Global XrpmdbLink (rpmdb db, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmdbUnlink (rpmdb db, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmdsLink (rpmds ds, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmdsUnlink (rpmds ds, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmfiLink (rpmfi fi, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmfiUnlink (rpmfi fi, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmgiLink (rpmgi gi, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmgiUnlink (rpmgi gi, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmpsLink (rpmps ps, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmpsmLink (rpmpsm psm, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmpsmUnlink (rpmpsm psm, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmpsUnlink (rpmps ps, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmsxLink (rpmsx sx, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmsxUnlink (rpmsx sx, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmtsLink (rpmts ts, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XrpmtsUnlink (rpmts ts, const char *msg, const char *fn, unsigned ln)
Remove debugging entry from the ABI.

Global XurlFree (urlinfo u, const char *msg, const char *file, unsigned line)
Remove debugging entry from the ABI.

Global XurlLink (urlinfo u, const char *msg, const char *file, unsigned line)
Remove debugging entry from the ABI.

Global XurlNew (const char *msg, const char *file, unsigned line)
Remove debugging entry from the ABI.
Generated on Wed Jun 30 10:57:00 2010 for rpm by  doxygen 1.6.3