# Todo List

Class rpmtd_s
  Make this opaque (at least outside rpm itself)

Global rpmalSatisfiesDepend
  Eliminate.

Global RPMFILE_SPECFILE
  (unnecessary) marks 1st file in srpm.

File rpmtypes.h
  The grouping needs love to look sane...

File rpmvf.h
  Add a more complete API...

Global rpmVerifyFile
  gnorpm and python bindings prevent this from being static.

Global xrealloc
  Annotate ptr with returned/out.

Global rpmQVSources_e
  Reassign to tag values.

Global rpmQueryFlags_e
  Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.

Global showQueryPackage
  Devise a meaningful return code.

Global rpmcliQuery
  hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?

Global rpmcliVerify
  hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?

Global rpmShowProgress
  Remove headerFormat() from the progress callback.

Global rpmInstall
  fileArgv is modified on errors, should be ARGV_const_t

Global getGidS
  Implement using hash.

Global getGname
  Implement using hash.

Global getGnameS
  Implement using hash.

Global getUidS
  Implement using hash.

Global getUname
  Implement using hash.

Global getUnameS
  Implement using hash.

Global rpm_machtable_e
  Eliminate from API.

Global rpmGetArchInfo
  Generalize to extract arch component from target_platform macro.

Global rpmGetOsInfo
  Generalize to extract os component from target_platform macro.

Global rpmMachineScore
  Rewrite to use RE's against config.guess target platform output.

Global rpmSetTables
  Eliminate from API. #

Global rpmFreeRpmrc
  Eliminate from API.

Global RPMTRANS_FLAG_KEEPOBSOLETE
  Document.

Global rpmtsGetKeys
  Removed packages have no keys, returned as interleaved NULL pointers.

Global rpmtsImportPubkey
  Implicit --update policy for gpg-pubkey headers.

Global rpmtePkgFileSize
  Signature header is estimated at 256b.

Global rpmfcPrint
  Remove debugging routine.

Global rpmprobFilterFlags_e
  Generalize filter mechanism.

Global rpmProblemGetStr
  needs a better name

Global expandMacros
  Eliminate from API.

Global rpmlogClose
  Implement.

Global rpmlogOpen
  Implement.

Global pgpHashAlgo_e
  Add SHA256.

Global pgpExtractPubkeyFingerprint
  V3 non-RSA public keys not implemented.

Global pgpPubkeyFingerprint
  V3 non-RSA public keys not implemented.

Global headerPutString
  Make doxygen group these meaningfully.

Global RPM_BIN_ARRAY_TYPE
  Implement, kinda like RPM_STRING_ARRAY_TYPE for known (but variable) length binary data.

Global RPM_XREF_TYPE
  Implement, intent is to to carry a (???,tagNum,valNum) cross reference to retrieve data from other tags.

Global headerMergeLegacySigs
  Remove headerSort() through headerInitIterator() modifies sig.

Global headerRegenSigHeader
  Remove headerSort() through headerInitIterator() modifies h.

Global rpmTag_e
  : Somehow supply type