Main Page Modules Data Structures File List Data Fields Globals Related Pages

## Todo List

File buildio.h
  Eliminate, merge into rpmlib.

Global genCpioListAndHeader(FileList fl, rpmfi *cpioList, Header h, int isSrc)
  Should directories have doc/config attributes? (#14531)

  Remove RPMTAG_OLDFILENAMES, add dirname/basename instead.

Global cpio_doio(FD_t fdo, Header h, CSA_t csa, const char *fmodeMacro)
  Create transaction set *much* earlier.

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

Global armorFormat(int_32 type, const void *data, char *formatPrefix, int padding, int element)
  Permit selectable display formats (i.e. binary).

Global base64Format(int_32 type, const void *data, char *formatPrefix, int padding, int element)
  Permit selectable display formats (i.e. binary).

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

Global rpmReadPackageManifest(FD_t fd, int *argcPtr, const char ***argvPtr)
  Infinite loops through manifest files exist, operator error for now.

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 freeSpecVec)(Spec spec)=NULL
  Eliminate linkage loop into librpmbuild.a

Global parseSpecVec)(Spec *specp, const char *specFile, const char *rootdir, const char *buildRoot, int recursing, const char *passPhrase, char *cookie, int anyarch, int force)=NULL
  Eliminate linkage loop into librpmbuild.a

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

Global readFile(FD_t fd, const char *fn, pgpDig dig)
  If the GPG key was known available, the md5 digest could be skipped.

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 printHash(const unsigned long amount, const unsigned long total)
  Unsnarl isatty(STDOUT_FILENO) from the control flow.

Global rpmInstall(rpmts ts, struct rpmInstallArguments_s *ia, const char **fileArgv)
  Generalize --freshen policies.

Global rpmRollback(rpmts ts, struct rpmInstallArguments_s *ia, const char **argv)
  Transaction handling, more, needs work.

Global rpmprobFilterFlags_e
  Generalize filter mechanism.

Global XrpmpsLink(rpmps ps, 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 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 printSize(FD_t fd, int siglen, int pad, int datalen)
  rpmio: use fdSize rather than fstat(2) to get file size.

Global rpmVerifyScript(QVA_t qva, rpmts ts, rpmfi fi, FD_t scriptFd)
  malloc/free/refcount handling is fishy here.

Global showShortOptions(const struct poptOption *opt, FILE *fp, char *str)
  Sub-tables should be recursed.

Global rpmts_iternext(rpmtsObject *s)
  Add TR_ADDED filter to iterator.

Global rpmts_Next(rpmtsObject *s)
  Add TR_ADDED filter to iterator.

Global fingerPrint
  Convert to pointer and make abstract.

File header.h
  Document version2 headers.

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.

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 expandMacro(MacroBuf mb)
  Dynamically reallocate target buffer.

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

File rpmerr.h
  Eliminate from API.

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

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

File rpmmessages.h
  Eliminate from API.

Global pgpHashAlgo_e
  Add SHA256.

Global pgpHexStr(const byte *p, unsigned int plen)
  Remove static buffer.

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

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.

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

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

Global rpmts_AddErase(rpmtsObject *s, PyObject *args)
  Permit finer control (i.e. not just --allmatches) of deleted elments.

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 getUidS(const char *uname)
  Implement using hash.

Global getUname(uid_t uid)
  Implement using hash.

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

Global rpm_machtable_e
  Eliminate from API.

Global rpmGetVar(int var)
  Eliminate from API.

Global rpmSetVar(int var, const char *val)
  Eliminate from API.

Global rpmGetArchInfo(const char **name, int *num)
  Generalize to extract arch component from target_platform macro.

Global rpmGetOsInfo(const char **name, int *num)
  Generalize to extract os component from target_platform macro.

Global rpmMachineScore(int type, const char *name)
  Rewrite to use RE's against config.guess target platform output.

Global rpmSetTables(int archTable, int osTable)
  Eliminate from API. #
  Note:
    Only used by build code.
  Global rpmSetMachine(const char *arch, const char *os)
    Eliminate from API.

  Global rpmGetMachine(const char **arch, const char **os)
    Eliminate from API.

  Global rpmFreeRpmrc(void)
    Eliminate from API.

  Global rpmtsGetKeys(rpmts ts, fnpyKey **ep, int *nep)
    Removed packages have no keys, returned as interleaved NULL pointers.

  Global HDRaddorappend)(Header h, int_32 tag, int_32 type, const void *p, int_32 c)
    Arg "p" should have const.

  Global HDRsort)(Header h)
    Eliminate from API.

  Global HDRunsort)(Header h)
    Eliminate from API.

  Global copyEntry(const indexEntry entry, hTYP_t type, hPTR_t *p, hCNT_t c, int minMem)
    Permit retrieval of regions other than HEADER_IMUTABLE.

  Global headerAddOrAppendEntry(Header h, int_32 tag, int_32 type, const void *p, int_32 c)
    Arg "p" should have const.

  Global headerFreeData(const void *data, rpmTagType type)
    Remove from API.

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

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

  Page Dependencies
    per-interpreter dependency generators are not located in subdiretories.

  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.