argv.h   argv.h 
skipping to change at line 151 skipping to change at line 151
enum argvFlags_e { enum argvFlags_e {
ARGV_NONE = 0, ARGV_NONE = 0,
ARGV_SKIPEMPTY = (1 << 0), /* omit empty strings from result */ ARGV_SKIPEMPTY = (1 << 0), /* omit empty strings from result */
}; };
typedef rpmFlags argvFlags; typedef rpmFlags argvFlags;
/** \ingroup rpmargv /** \ingroup rpmargv
* Split a string into an argv array. * Split a string into an argv array.
* @param str string arg to split * @param str string arg to split
* @param seps seperator characters * @param seps separator characters
* @param flags flags to control behavior * @param flags flags to control behavior
* @return argv array * @return argv array
*/ */
ARGV_t argvSplitString(const char * str, const char * seps, argvFlags flags ); ARGV_t argvSplitString(const char * str, const char * seps, argvFlags flags );
/** \ingroup rpmargv /** \ingroup rpmargv
* Split a string into an argv array. * Split a string into an argv array.
* @retval *argvp argv array * @retval *argvp argv array
* @param str string arg to split * @param str string arg to split
* @param seps seperator characters * @param seps separator characters
* @return 0 always * @return 0 always
*/ */
int argvSplit(ARGV_t * argvp, const char * str, const char * seps); int argvSplit(ARGV_t * argvp, const char * str, const char * seps);
/** \ingroup rpmargv /** \ingroup rpmargv
* Join an argv array into a string. * Join an argv array into a string.
* @param *argv argv array to join * @param *argv argv array to join
* @param sep seperator string to use * @param sep separator string to use
* @return malloc'ed string * @return malloc'ed string
*/ */
char *argvJoin(ARGV_const_t argv, const char *sep); char *argvJoin(ARGV_const_t argv, const char *sep);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _H_ARGV_ */ #endif /* _H_ARGV_ */
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 rpmcli.h   rpmcli.h 
skipping to change at line 285 skipping to change at line 285
INSTALL_NONE = 0, INSTALL_NONE = 0,
INSTALL_PERCENT = (1 << 0), /*!< from --percent */ INSTALL_PERCENT = (1 << 0), /*!< from --percent */
INSTALL_HASH = (1 << 1), /*!< from --hash */ INSTALL_HASH = (1 << 1), /*!< from --hash */
INSTALL_NODEPS = (1 << 2), /*!< from --nodeps */ INSTALL_NODEPS = (1 << 2), /*!< from --nodeps */
INSTALL_NOORDER = (1 << 3), /*!< from --noorder */ INSTALL_NOORDER = (1 << 3), /*!< from --noorder */
INSTALL_LABEL = (1 << 4), /*!< from --verbose (notify) */ INSTALL_LABEL = (1 << 4), /*!< from --verbose (notify) */
INSTALL_UPGRADE = (1 << 5), /*!< from --upgrade */ INSTALL_UPGRADE = (1 << 5), /*!< from --upgrade */
INSTALL_FRESHEN = (1 << 6), /*!< from --freshen */ INSTALL_FRESHEN = (1 << 6), /*!< from --freshen */
INSTALL_INSTALL = (1 << 7), /*!< from --install */ INSTALL_INSTALL = (1 << 7), /*!< from --install */
INSTALL_ERASE = (1 << 8), /*!< from --erase */ INSTALL_ERASE = (1 << 8), /*!< from --erase */
INSTALL_ALLMATCHES = (1 << 9) /*!< from --allmatches */ INSTALL_ALLMATCHES = (1 << 9), /*!< from --allmatches */
INSTALL_REINSTALL = (1 << 10), /*!< from --reinstall */
}; };
typedef rpmFlags rpmInstallFlags; typedef rpmFlags rpmInstallFlags;
/** \ingroup rpmcli /** \ingroup rpmcli
* Bit(s) to control rpmErase() operation. * Bit(s) to control rpmErase() operation.
*/ */
#define UNINSTALL_NONE INSTALL_NONE #define UNINSTALL_NONE INSTALL_NONE
#define UNINSTALL_NODEPS INSTALL_NODEPS #define UNINSTALL_NODEPS INSTALL_NODEPS
#define UNINSTALL_ALLMATCHES INSTALL_ALLMATCHES #define UNINSTALL_ALLMATCHES INSTALL_ALLMATCHES
skipping to change at line 345 skipping to change at line 346
rpmprobFilterFlags probFilter; rpmprobFilterFlags probFilter;
rpmInstallFlags installInterfaceFlags; rpmInstallFlags installInterfaceFlags;
int numRelocations; int numRelocations;
int noDeps; int noDeps;
int incldocs; int incldocs;
rpmRelocation * relocations; rpmRelocation * relocations;
char * prefix; char * prefix;
}; };
/** \ingroup rpmcli /** \ingroup rpmcli
* Install/upgrade/freshen binary rpm package. * Install/upgrade/freshen/reinstall binary rpm package.
* @param ts transaction set * @param ts transaction set
* @param ia mode flags and parameters * @param ia mode flags and parameters
* @param fileArgv array of package file names (NULL terminated) * @param fileArgv array of package file names (NULL terminated)
* @return 0 on success * @return 0 on success
* *
* @todo fileArgv is modified on errors, should be ARGV_const _t * @todo fileArgv is modified on errors, should be ARGV_const _t
*/ */
int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_t fileArgv ); int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_t fileArgv );
/** \ingroup rpmcli /** \ingroup rpmcli
 End of changes. 2 change blocks. 
2 lines changed or deleted 3 lines changed or added


 rpmdb.h   rpmdb.h 
skipping to change at line 82 skipping to change at line 82
unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi); unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi);
/** \ingroup rpmdb /** \ingroup rpmdb
* Append items to set of package instances to iterate. * Append items to set of package instances to iterate.
* @param mi rpm database iterator * @param mi rpm database iterator
* @param hdrNums array of package instances * @param hdrNums array of package instances
* @param nHdrNums number of elements in array * @param nHdrNums number of elements in array
* @return 0 on success, 1 on failure (bad args) * @return 0 on success, 1 on failure (bad args)
*/ */
int rpmdbAppendIterator(rpmdbMatchIterator mi, int rpmdbAppendIterator(rpmdbMatchIterator mi,
const int * hdrNums, int nHdrNums); const unsigned int * hdrNums, unsigned int nHdrNums) ;
/** \ingroup rpmdb /** \ingroup rpmdb
* Add pattern to iterator selector. * Add pattern to iterator selector.
* @param mi rpm database iterator * @param mi rpm database iterator
* @param tag rpm tag * @param tag rpm tag
* @param mode type of pattern match * @param mode type of pattern match
* @param pattern pattern to match * @param pattern pattern to match
* @return 0 on success * @return 0 on success
*/ */
int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag, int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
skipping to change at line 174 skipping to change at line 174
* @param db rpm database * @param db rpm database
* @param rpmtag the index to iterate over * @param rpmtag the index to iterate over
* @return the index iterator * @return the index iterator
*/ */
rpmdbIndexIterator rpmdbIndexIteratorInit(rpmdb db, rpmDbiTag rpmtag); rpmdbIndexIterator rpmdbIndexIteratorInit(rpmdb db, rpmDbiTag rpmtag);
/** \ingroup rpmdb /** \ingroup rpmdb
* Get the next key - Warning! Keys are not zero terminated! * Get the next key - Warning! Keys are not zero terminated!
* Binary tags may even contain zero bytes * Binary tags may even contain zero bytes
* @param ii index iterator * @param ii index iterator
* @param key adress to save the pointer to the key * @param key address to save the pointer to the key
* @param keylen adress to save the length of the key to * @param keylen address to save the length of the key to
* @return 0 on success; != 0 on error or end of index * @return 0 on success; != 0 on error or end of index
*/ */
int rpmdbIndexIteratorNext(rpmdbIndexIterator ii, const void ** key, size_t * keylen); int rpmdbIndexIteratorNext(rpmdbIndexIterator ii, const void ** key, size_t * keylen);
/** \ingroup rpmdb /** \ingroup rpmdb
* Get the next key into a tag data container.
* Caller is responsible for calling rpmtdFreeData() to freeing the
* data returned in keytd once done with it.
* @param ii index iterator
* @param keytd tag container to store the key in
* @return 0 on success; != 0 on error or end of index
*/
int rpmdbIndexIteratorNextTd(rpmdbIndexIterator ii, rpmtd keytd);
/** \ingroup rpmdb
* Get number of entries for current key * Get number of entries for current key
* @param ii index iterator * @param ii index iterator
* @return number of entries. 0 on error. * @return number of entries. 0 on error.
*/ */
unsigned int rpmdbIndexIteratorNumPkgs(rpmdbIndexIterator ii); unsigned int rpmdbIndexIteratorNumPkgs(rpmdbIndexIterator ii);
/** \ingroup rpmdb /** \ingroup rpmdb
* Get package offset of entry * Get package offset of entry
* @param ii index iterator * @param ii index iterator
* @param nr number of the entry * @param nr number of the entry
 End of changes. 3 change blocks. 
3 lines changed or deleted 13 lines changed or added


 rpmds.h   rpmds.h 
skipping to change at line 89 skipping to change at line 89
#define _INSTALL_ONLY_MASK \ #define _INSTALL_ONLY_MASK \
_notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSEN SE_KEYRING|RPMSENSE_PRETRANS|RPMSENSE_POSTTRANS) _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSEN SE_KEYRING|RPMSENSE_PRETRANS|RPMSENSE_POSTTRANS)
#define _ERASE_ONLY_MASK \ #define _ERASE_ONLY_MASK \
_notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN) _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)
#define isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE _PREREQ) #define isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE _PREREQ)
#define isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK) #define isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK)
#define isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK) #define isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK)
/** \ingroup rpmds /** \ingroup rpmds
* Return only those flags allowed for given type of dependencies
* @param tagN type of dependency
* @param flags flags
* @return flags filtered to allowed bits
*/
rpmFlags rpmSanitizeDSFlags(rpmTagVal tagN, rpmFlags Flags);
/** \ingroup rpmds
* Reference a dependency set instance. * Reference a dependency set instance.
* @param ds dependency set * @param ds dependency set
* @return new dependency set reference * @return new dependency set reference
*/ */
rpmds rpmdsLink(rpmds ds); rpmds rpmdsLink(rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Destroy a dependency set. * Destroy a dependency set.
* @param ds dependency set * @param ds dependency set
* @return NULL always * @return NULL always
skipping to change at line 146 skipping to change at line 154
rpmds rpmdsSingle(rpmTagVal tagN, const char * N, const char * EVR, rpmsens eFlags Flags); rpmds rpmdsSingle(rpmTagVal tagN, const char * N, const char * EVR, rpmsens eFlags Flags);
/** \ingroup rpmds /** \ingroup rpmds
* Return a new dependency set of size 1 from the current iteration index * Return a new dependency set of size 1 from the current iteration index
* @param ds dependency set * @param ds dependency set
* @return new dependency set * @return new dependency set
*/ */
rpmds rpmdsCurrent(rpmds ds); rpmds rpmdsCurrent(rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Write content of the dependency set to the header
* @param ds dependency set
* @param h header
* @return 0 on success
*/
int rpmdsPutToHeader(rpmds ds, Header h);
/** \ingroup rpmds
* Return dependency set count. * Return dependency set count.
* @param ds dependency set * @param ds dependency set
* @return current count * @return current count
*/ */
int rpmdsCount(const rpmds ds); int rpmdsCount(const rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Return dependency set index. * Return dependency set index.
* @param ds dependency set * @param ds dependency set
* @return current index * @return current index
skipping to change at line 175 skipping to change at line 191
int rpmdsSetIx(rpmds ds, int ix); int rpmdsSetIx(rpmds ds, int ix);
/** \ingroup rpmds /** \ingroup rpmds
* Return current formatted dependency string. * Return current formatted dependency string.
* @param ds dependency set * @param ds dependency set
* @return current dependency DNEVR, NULL on invalid * @return current dependency DNEVR, NULL on invalid
*/ */
const char * rpmdsDNEVR(const rpmds ds); const char * rpmdsDNEVR(const rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Return one char indicating the type of the dependency.
* @param ds dependency set
* @return character
*/
char rpmdsD(const rpmds ds);
/** \ingroup rpmds
* Return matching tagN for one char dependency type description.
* @param deptype character
* @return type of dependency
*/
rpmTagVal rpmdsDToTagN(char deptype);
/** \ingroup rpmds
* Return current dependency name. * Return current dependency name.
* @param ds dependency set * @param ds dependency set
* @return current dependency name, NULL on invalid * @return current dependency name, NULL on invalid
*/ */
const char * rpmdsN(const rpmds ds); const char * rpmdsN(const rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Return current dependency epoch-version-release. * Return current dependency epoch-version-release.
* @param ds dependency set * @param ds dependency set
* @return current dependency EVR, NULL on invalid * @return current dependency EVR, NULL on invalid
*/ */
const char * rpmdsEVR(const rpmds ds); const char * rpmdsEVR(const rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Return current dependency triggerindex.
* @param ds dependency set
* @return current dependency trigger index, 0 on invalid
*/
int rpmdsTi(const rpmds ds);
/** \ingroup rpmds
* Return current dependency flags. * Return current dependency flags.
* @param ds dependency set * @param ds dependency set
* @return current dependency flags, 0 on invalid * @return current dependency flags, 0 on invalid
*/ */
rpmsenseFlags rpmdsFlags(const rpmds ds); rpmsenseFlags rpmdsFlags(const rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Return current dependency type. * Return current dependency type.
* @param ds dependency set * @param ds dependency set
* @return current dependency type, 0 on invalid * @return current dependency type, 0 on invalid
*/ */
rpmTagVal rpmdsTagN(const rpmds ds); rpmTagVal rpmdsTagN(const rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Return current dependency type.
* @param ds dependency set
* @return current dependency type version tag, 0 on invalid
*/
rpmTagVal rpmdsTagEVR(const rpmds ds);
/** \ingroup rpmds
* Return current dependency type.
* @param ds dependency set
* @return current dependency type flags tag, 0 on invalid
*/
rpmTagVal rpmdsTagF(const rpmds ds);
/** \ingroup rpmds
* Return current dependency type.
* @param ds dependency set
* @return current dependency type trigger index tag, 0 on inva
lid
*/
rpmTagVal rpmdsTagTi(const rpmds ds);
/** \ingroup rpmds
* Return dependency header instance, ie whether the dependency comes from * Return dependency header instance, ie whether the dependency comes from
* an installed header or not. * an installed header or not.
* @param ds dependency set * @param ds dependency set
* @return header instance of dependency (0 for not installed) * @return header instance of dependency (0 for not installed)
*/ */
unsigned int rpmdsInstance(rpmds ds); unsigned int rpmdsInstance(rpmds ds);
/** \ingroup rpmds /** \ingroup rpmds
* Return current "Don't promote Epoch:" flag. * Return current "Don't promote Epoch:" flag.
* *
skipping to change at line 283 skipping to change at line 341
* @param ds dependency set to search * @param ds dependency set to search
* @param ods dependency set element to find. * @param ods dependency set element to find.
* @return dependency index (or -1 if not found) * @return dependency index (or -1 if not found)
*/ */
int rpmdsFind(rpmds ds, const rpmds ods); int rpmdsFind(rpmds ds, const rpmds ods);
/** \ingroup rpmds /** \ingroup rpmds
* Merge a dependency set maintaining (N,EVR,Flags) sorted order. * Merge a dependency set maintaining (N,EVR,Flags) sorted order.
* @retval *dsp (merged) dependency set * @retval *dsp (merged) dependency set
* @param ods dependency set to merge * @param ods dependency set to merge
* @return (merged) dependency index * @return number of merged dependencies, -1 on error
*/ */
int rpmdsMerge(rpmds * dsp, rpmds ods); int rpmdsMerge(rpmds * dsp, rpmds ods);
/** \ingroup rpmds /** \ingroup rpmds
* Search a sorted dependency set for an element that overlaps. * Search a sorted dependency set for an element that overlaps.
* A boolean result is saved (if allocated) and accessible through * A boolean result is saved (if allocated) and accessible through
* rpmdsResult(ods) afterwards. * rpmdsResult(ods) afterwards.
* @param ds dependency set to search * @param ds dependency set to search
* @param ods dependency set element to find. * @param ods dependency set element to find.
* @return dependency index (or -1 if not found) * @return dependency index (or -1 if not found)
skipping to change at line 341 skipping to change at line 399
int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote); int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote);
/** /**
* Load rpmlib provides into a dependency set. * Load rpmlib provides into a dependency set.
* @retval *dsp (loaded) depedency set * @retval *dsp (loaded) depedency set
* @param tblp rpmlib provides table (NULL uses internal table) * @param tblp rpmlib provides table (NULL uses internal table)
* @return 0 on success * @return 0 on success
*/ */
int rpmdsRpmlib(rpmds * dsp, const void * tblp); int rpmdsRpmlib(rpmds * dsp, const void * tblp);
/** \ingroup rpmds
* Create and load a dependency set.
* @param pool shared string pool (or NULL for private pool)
* @param h header
* @param tagN type of dependency
* @param flags unused
* @return new dependency set
*/
rpmds rpmdsNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, int flags);
/** \ingroup rpmds
* Create, load and initialize a dependency for this header.
* @param pool string pool (or NULL for private pool)
* @param h header
* @param tagN type of dependency
* @param Flags comparison flags
* @return new dependency set
*/
rpmds rpmdsThisPool(rpmstrPool pool,
Header h, rpmTagVal tagN, rpmsenseFlags Flags);
/** \ingroup rpmds
* Create, load and initialize a dependency set of size 1.
* @param pool string pool (or NULL for private pool)
* @param tagN type of dependency
* @param N name
* @param EVR epoch:version-release
* @param Flags comparison flags
* @return new dependency set
*/
rpmds rpmdsSinglePool(rpmstrPool pool, rpmTagVal tagN,
const char * N, const char * EVR, rpmsenseFlags Flags)
;
/** \ingroup rpmds
* Create, load and initialize a trigger dependency set of size 1.
* @param pool string pool (or NULL for private pool)
* @param tagN type of dependency
* @param N name
* @param EVR epoch:version-release
* @param Flags comparison flags
* @param triggerIndex trigger index
* @return new dependency set
*/
rpmds rpmdsSinglePoolTix(rpmstrPool pool, rpmTagVal tagN,
const char * N, const char * EVR,
rpmsenseFlags Flags, int triggerIndex);
/**
* Load rpmlib provides into a dependency set.
* @param pool shared string pool (or NULL for private pool)
* @retval *dsp (loaded) depedency set
* @param tblp rpmlib provides table (NULL uses internal table)
* @return 0 on success
*/
int rpmdsRpmlibPool(rpmstrPool pool, rpmds * dsp, const void * tblp);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* H_RPMDS */ #endif /* H_RPMDS */
 End of changes. 7 change blocks. 
1 lines changed or deleted 117 lines changed or added


 rpmfc.h   rpmfc.h 
skipping to change at line 108 skipping to change at line 108
*/ */
rpmds rpmfcProvides(rpmfc fc); rpmds rpmfcProvides(rpmfc fc);
/** \ingroup rpmfc /** \ingroup rpmfc
* Retrieve file classification requires * Retrieve file classification requires
* @param fc file classifier * @param fc file classifier
* @return rpmds dependency set of fc requires * @return rpmds dependency set of fc requires
*/ */
rpmds rpmfcRequires(rpmfc fc); rpmds rpmfcRequires(rpmfc fc);
/** \ingroup rpmfc
* Retrieve file classification dependencies
* @param fc file classifier
* @param tagN name tag of the wanted dependency
* @return rpmds dependency set of fc requires
*/
rpmds rpmfcDependencies(rpmfc fc, rpmTagVal tagN);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _H_RPMFC_ */ #endif /* _H_RPMFC_ */
 End of changes. 1 change blocks. 
0 lines changed or deleted 8 lines changed or added


 rpmfi.h   rpmfi.h 
#ifndef H_RPMFI #ifndef H_RPMFI
#define H_RPMFI #define H_RPMFI
/** \ingroup rpmdep rpmtrans /** \ingroup rpmfi
* \file lib/rpmfi.h * \file lib/rpmfi.h
* Structure(s) used for file info tag sets. * File info set iterator API.
*/ */
#include <rpm/rpmtypes.h> #include <rpm/rpmtypes.h>
#include <rpm/rpmvf.h> #include <rpm/rpmfiles.h>
#include <rpm/rpmpgp.h> #include <rpm/rpmarchive.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \ingroup rpmfi /** \ingroup rpmfi
* File types. * Reference a file info set iterator instance.
* These are the file types used internally by rpm. The file * @param fi file info set iterator
* type is determined by applying stat(2) macros like S_ISDIR to * @return new file info set iterator reference
* the file mode tag from a header. The values are arbitrary,
* but are identical to the linux stat(2) file types.
*/
typedef enum rpmFileTypes_e {
PIPE = 1, /*!< pipe/fifo */
CDEV = 2, /*!< character device */
XDIR = 4, /*!< directory */
BDEV = 6, /*!< block device */
REG = 8, /*!< regular file */
LINK = 10, /*!< hard link */
SOCK = 12 /*!< socket */
} rpmFileTypes;
/**
* File States (when installed).
*/
typedef enum rpmfileState_e {
RPMFILE_STATE_MISSING = -1, /* used for unavailable data */
RPMFILE_STATE_NORMAL = 0,
RPMFILE_STATE_REPLACED = 1,
RPMFILE_STATE_NOTINSTALLED = 2,
RPMFILE_STATE_NETSHARED = 3,
RPMFILE_STATE_WRONGCOLOR = 4
} rpmfileState;
#define RPMFILE_IS_INSTALLED(_x) ((_x) == RPMFILE_STATE_NORMAL || (_x) == R
PMFILE_STATE_NETSHARED)
/**
* Exported File Attributes (ie RPMTAG_FILEFLAGS)
*/
enum rpmfileAttrs_e {
RPMFILE_NONE = 0,
RPMFILE_CONFIG = (1 << 0), /*!< from %%config */
RPMFILE_DOC = (1 << 1), /*!< from %%doc */
RPMFILE_ICON = (1 << 2), /*!< from %%donotuse. */
RPMFILE_MISSINGOK = (1 << 3), /*!< from %%config(missingok) */
RPMFILE_NOREPLACE = (1 << 4), /*!< from %%config(noreplace) */
RPMFILE_SPECFILE = (1 << 5), /*!< @todo (unnecessary) marks 1st f
ile in srpm. */
RPMFILE_GHOST = (1 << 6), /*!< from %%ghost */
RPMFILE_LICENSE = (1 << 7), /*!< from %%license */
RPMFILE_README = (1 << 8), /*!< from %%readme */
/* bits 9-10 unused */
RPMFILE_PUBKEY = (1 << 11), /*!< from %%pubkey */
};
typedef rpmFlags rpmfileAttrs;
#define RPMFILE_ALL ~(RPMFILE_NONE)
/** \ingroup rpmfi
* File disposition(s) during package install/erase transaction.
*/
typedef enum rpmFileAction_e {
FA_UNKNOWN = 0, /*!< initial action for file ... */
FA_CREATE, /*!< ... copy in from payload. */
FA_COPYIN, /*!< ... copy in from payload. */
FA_COPYOUT, /*!< ... copy out to payload. */
FA_BACKUP, /*!< ... renamed with ".rpmorig" extension. */
FA_SAVE, /*!< ... renamed with ".rpmsave" extension. */
FA_SKIP, /*!< ... already replaced, don't remove. */
FA_ALTNAME, /*!< ... create with ".rpmnew" extension. */
FA_ERASE, /*!< ... to be removed. */
FA_SKIPNSTATE, /*!< ... untouched, state "not installed". */
FA_SKIPNETSHARED, /*!< ... untouched, state "netshared". */
FA_SKIPCOLOR /*!< ... untouched, state "wrong color". */
} rpmFileAction;
#define XFA_SKIPPING(_a) \
((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED |
| (_a) == FA_SKIPCOLOR)
/**
* We pass these around as an array with a sentinel.
*/
struct rpmRelocation_s {
char * oldPath; /*!< NULL here evals to RPMTAG_DEFAULTPREFIX, */
char * newPath; /*!< NULL means to omit the file completely! */
};
/** \ingroup rpmfi
* Reference a file info set instance.
* @param fi file info set
* @return new file info set reference
*/ */
rpmfi rpmfiLink (rpmfi fi); rpmfi rpmfiLink (rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return file count from file info set. * Return file count from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file count * @return current file count
*/ */
rpm_count_t rpmfiFC(rpmfi fi); rpm_count_t rpmfiFC(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file index from file info set. * Return current file index from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file index * @return current file index
*/ */
int rpmfiFX(rpmfi fi); int rpmfiFX(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Set current file index in file info set. * Set current file index in file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @param fx new file index * @param fx new file index
* @return current file index * @return current file index
*/ */
int rpmfiSetFX(rpmfi fi, int fx); int rpmfiSetFX(rpmfi fi, int fx);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return directory count from file info set. * Return directory count from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current directory count * @return current directory count
*/ */
rpm_count_t rpmfiDC(rpmfi fi); rpm_count_t rpmfiDC(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current directory index from file info set. * Return current directory index from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current directory index * @return current directory index
*/ */
int rpmfiDX(rpmfi fi); int rpmfiDX(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Set current directory index in file info set. * Set current directory index in file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @param dx new directory index * @param dx new directory index
* @return current directory index * @return current directory index
*/ */
int rpmfiSetDX(rpmfi fi, int dx); int rpmfiSetDX(rpmfi fi, int dx);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current base name from file info set. * Return current base name from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current base name, NULL on invalid * @return current base name, NULL on invalid
*/ */
const char * rpmfiBN(rpmfi fi); const char * rpmfiBN(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current directory name from file info set. * Return current directory name from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current directory, NULL on invalid * @return current directory, NULL on invalid
*/ */
const char * rpmfiDN(rpmfi fi); const char * rpmfiDN(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file name from file info set. * Return current file name from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file name * @return current file name
*/ */
const char * rpmfiFN(rpmfi fi); const char * rpmfiFN(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file flags from file info set. * Return file index of the given file name or -1 if file is not in the rpm
* @param fi file info set fi.
* The file name may have "." prefixed but is then interpreted as a global
* path without the prefixing "."
* @param fi file info set iterator
* @return file index or -1
*/
int rpmfiFindFN(rpmfi fi, const char * fn);
/** \ingroup rpmfi
* Return current original base name from file info set iterator.
* @param fi file info set iterator
* @return current base name, NULL on invalid
*/
const char * rpmfiOBN(rpmfi fi);
/** \ingroup rpmfi
* Return current original directory name from file info set iterator.
* @param fi file info set iterator
* @return current directory, NULL on invalid
*/
const char * rpmfiODN(rpmfi fi);
/** \ingroup rpmfi
* Return current original file name from file info set iterator.
* @param fi file info set iterator
* @return current file name
*/
const char * rpmfiOFN(rpmfi fi);
/** \ingroup rpmfi
* Return file index of the given original file name or -1 if file is not
* in the rpmfi. The file name may have "." prefixed but is then interprete
d
* as a global path without the prefixing "."
* @param fi file info set iterator
* @return file index or -1
*/
int rpmfiFindOFN(rpmfi fi, const char * fn);
/** \ingroup rpmfi
* Return current file flags from file info set iterator.
* @param fi file info set iterator
* @return current file flags, 0 on invalid * @return current file flags, 0 on invalid
*/ */
rpmfileAttrs rpmfiFFlags(rpmfi fi); rpmfileAttrs rpmfiFFlags(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file verify flags from file info set. * Return current file verify flags from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file verify flags, 0 on invalid * @return current file verify flags, 0 on invalid
*/ */
rpmVerifyAttrs rpmfiVFlags(rpmfi fi); rpmVerifyAttrs rpmfiVFlags(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file mode from file info set. * Return current file mode from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file mode, 0 on invalid * @return current file mode, 0 on invalid
*/ */
rpm_mode_t rpmfiFMode(rpmfi fi); rpm_mode_t rpmfiFMode(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file state from file info set. * Return current file state from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file state, 0 on invalid * @return current file state, 0 on invalid
*/ */
rpmfileState rpmfiFState(rpmfi fi); rpmfileState rpmfiFState(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return digest algorithm of a file info set. * Return digest algorithm of a file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return digest algorithm of file info set, 0 on invalid * @return digest algorithm of file info set iterator, 0 on inv
alid
*/ */
int rpmfiDigestAlgo(rpmfi fi); int rpmfiDigestAlgo(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file (binary) digest of file info set. * Return current file (binary) digest of file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @retval algo digest hash algoritm used (pass NULL to igno * @retval algo digest hash algorithm used (pass NULL to ign
re) ore)
* @retval diglen digest hash length (pass NULL to ignore) * @retval diglen digest hash length (pass NULL to ignore)
* @return current file digest, NULL on invalid * @return current file digest, NULL on invalid
*/ */
const unsigned char * rpmfiFDigest(rpmfi fi, int *algo, size_t *diglen); const unsigned char * rpmfiFDigest(rpmfi fi, int *algo, size_t *diglen);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file (hex) digest of file info set. * Return current file (hex) digest of file info set iterator.
* The file info set stores file digests in binary format to conserve * The file info set iterator stores file digests in binary format to conse
rve
* memory, this converts the binary data back to hex presentation used in * memory, this converts the binary data back to hex presentation used in
* headers. * headers.
* @param fi file info set * @param fi file info set iterator
* @retval algo digest hash algoritm used (pass NULL to igno * @retval algo digest hash algorithm used (pass NULL to ign
re) ore)
* @return current file digest (malloc'ed), NULL on invalid * @return current file digest (malloc'ed), NULL on invalid
*/ */
char * rpmfiFDigestHex(rpmfi fi, int *algo); char * rpmfiFDigestHex(rpmfi fi, int *algo);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file (binary) md5 digest from file info set. * Return current file (binary) md5 digest from file info set iterator.
* @deprecated Use rpmfiFDigest() instead * @deprecated Use rpmfiFDigest() instead
* @param fi file info set * @param fi file info set iterator
* @return current file md5 digest, NULL on invalid * @return current file md5 digest, NULL on invalid
*/ */
const unsigned char * rpmfiMD5(rpmfi fi) RPM_GNUC_DEPRECATED; const unsigned char * rpmfiMD5(rpmfi fi) RPM_GNUC_DEPRECATED;
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file linkto (i.e. symlink(2) target) from file info set. * Return current file linkto (i.e. symlink(2) target) from file info set i
* @param fi file info set terator.
* @param fi file info set iterator
* @return current file linkto, NULL on invalid * @return current file linkto, NULL on invalid
*/ */
const char * rpmfiFLink(rpmfi fi); const char * rpmfiFLink(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file size from file info set. * Return current file size from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file size, 0 on invalid * @return current file size, 0 on invalid
*/ */
rpm_loff_t rpmfiFSize(rpmfi fi); rpm_loff_t rpmfiFSize(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file rdev from file info set. * Return current file rdev from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file rdev, 0 on invalid * @return current file rdev, 0 on invalid
*/ */
rpm_rdev_t rpmfiFRdev(rpmfi fi); rpm_rdev_t rpmfiFRdev(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file inode from file info set. * Return current file inode from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file inode, 0 on invalid * @return current file inode, 0 on invalid
*/ */
rpm_ino_t rpmfiFInode(rpmfi fi); rpm_ino_t rpmfiFInode(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return union of all file color bits from file info set. * Return union of all file color bits from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current color * @return current color
*/ */
rpm_color_t rpmfiColor(rpmfi fi); rpm_color_t rpmfiColor(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file color bits from file info set. * Return current file color bits from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file color * @return current file color
*/ */
rpm_color_t rpmfiFColor(rpmfi fi); rpm_color_t rpmfiFColor(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file class from file info set. * Return current file class from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file class, 0 on invalid * @return current file class, 0 on invalid
*/ */
const char * rpmfiFClass(rpmfi fi); const char * rpmfiFClass(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file depends dictionary from file info set. * Return current file depends dictionary from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @retval *fddictp file depends dictionary array (or NULL) * @retval *fddictp file depends dictionary array (or NULL)
* @return no. of file depends entries, 0 on invalid * @return no. of file depends entries, 0 on invalid
*/ */
uint32_t rpmfiFDepends(rpmfi fi, uint32_t rpmfiFDepends(rpmfi fi,
const uint32_t ** fddictp); const uint32_t ** fddictp);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return (calculated) current file nlink count from file info set. * Return (calculated) current file nlink count from file info set iterator
* @param fi file info set .
* @param fi file info set iterator
* @return current file nlink count, 0 on invalid * @return current file nlink count, 0 on invalid
*/ */
uint32_t rpmfiFNlink(rpmfi fi); uint32_t rpmfiFNlink(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file modify time from file info set. * Return (calculated) current file nlink count from file info set iterator
* @param fi file info set .
* @param fi file info set iterator
* @param files returns array of file ids hardlinked including ix,
NULL for nlink count == 1
* @return current file nlink count, 0 on invalid
*/
uint32_t rpmfiFLinks(rpmfi fi, const int ** files);
/** \ingroup rpmfi
* Return current file modify time from file info set iterator.
* @param fi file info set iterator
* @return current file modify time, 0 on invalid * @return current file modify time, 0 on invalid
*/ */
rpm_time_t rpmfiFMtime(rpmfi fi); rpm_time_t rpmfiFMtime(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file owner from file info set. * Return current file owner from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file owner, NULL on invalid * @return current file owner, NULL on invalid
*/ */
const char * rpmfiFUser(rpmfi fi); const char * rpmfiFUser(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file group from file info set. * Return current file group from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file group, NULL on invalid * @return current file group, NULL on invalid
*/ */
const char * rpmfiFGroup(rpmfi fi); const char * rpmfiFGroup(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return textual representation of current file capabilities * Return textual representation of current file capabilities
* from file info set. See cap_from_text(3) for details. * from file info set iterator. See cap_from_text(3) for details.
* @param fi file info set * @param fi file info set iterator
* @return file capability description, "" for no capabilities * @return file capability description, "" for no capabilities
* and NULL on invalid * and NULL on invalid
*/ */
const char * rpmfiFCaps(rpmfi fi); const char * rpmfiFCaps(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return current file language(s) from file info set. * Return current file language(s) from file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return current file language(s), NULL on invalid * @return current file language(s), NULL on invalid
*/ */
const char * rpmfiFLangs(rpmfi fi); const char * rpmfiFLangs(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Map file stat(2) info.
* @param fi file info iterator
* @param flags flags
* @retval sb mapped stat(2) data
*/
int rpmfiStat(rpmfi fi, int flags, struct stat *sb);
/** \ingroup rpmfi
* Return next file iterator index. * Return next file iterator index.
* @param fi file info set * @param fi file info set iterator
* @return file iterator index, -1 on termination * @return file iterator index, -1 on termination
*/ */
int rpmfiNext(rpmfi fi); int rpmfiNext(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Initialize file iterator index. * Initialize file iterator index.
* @param fi file info set * @param fi file info set iterator
* @param fx file iterator index * @param fx file iterator index
* @return file info set * @return file info set iterator
*/ */
rpmfi rpmfiInit(rpmfi fi, int fx); rpmfi rpmfiInit(rpmfi fi, int fx);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return next directory iterator index. * Return next directory iterator index.
* @param fi file info set * @param fi file info set iterator
* @return directory iterator index, -1 on termination * @return directory iterator index, -1 on termination
*/ */
int rpmfiNextD(rpmfi fi); int rpmfiNextD(rpmfi fi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Initialize directory iterator index. * Initialize directory iterator index.
* @param fi file info set * @param fi file info set iterator
* @param dx directory iterator index * @param dx directory iterator index
* @return file info set, NULL if dx is out of range * @return file info set iterator, NULL if dx is out of range
*/ */
rpmfi rpmfiInitD(rpmfi fi, int dx); rpmfi rpmfiInitD(rpmfi fi, int dx);
/** \ingroup rpmfi /** \ingroup rpmfi
* Destroy a file info set. * Destroy a file info set iterator.
* @param fi file info set * @param fi file info set iterator
* @return NULL always * @return NULL always
*/ */
rpmfi rpmfiFree(rpmfi fi); rpmfi rpmfiFree(rpmfi fi);
enum rpmfiFlags_e { /** \ingroup rpmfi
RPMFI_NOHEADER = 0, * Create and load a file info set iterator.
RPMFI_KEEPHEADER = (1 << 0), * @param pool shared string pool (or NULL for private pool)
RPMFI_NOFILECLASS = (1 << 1), * @param h header
RPMFI_NOFILEDEPS = (1 << 2), * @param tagN unused
RPMFI_NOFILELANGS = (1 << 3), * @param flags Flags to control what information is loaded.
RPMFI_NOFILEUSER = (1 << 4), * @return new file info set iterator
RPMFI_NOFILEGROUP = (1 << 5), */
RPMFI_NOFILEMODES = (1 << 6), rpmfi rpmfiNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, rpmfiFlags fl
RPMFI_NOFILESIZES = (1 << 7), ags);
RPMFI_NOFILECAPS = (1 << 8),
RPMFI_NOFILELINKTOS = (1 << 9),
RPMFI_NOFILEDIGESTS = (1 << 10),
RPMFI_NOFILEMTIMES = (1 << 11),
RPMFI_NOFILERDEVS = (1 << 12),
RPMFI_NOFILEINODES = (1 << 13),
RPMFI_NOFILESTATES = (1 << 14),
RPMFI_NOFILECOLORS = (1 << 15),
RPMFI_NOFILEVERIFYFLAGS = (1 << 16),
RPMFI_NOFILEFLAGS = (1 << 17),
};
typedef rpmFlags rpmfiFlags;
#define RPMFI_FLAGS_ERASE \
(RPMFI_NOFILECLASS | RPMFI_NOFILELANGS | \
RPMFI_NOFILEMTIMES | RPMFI_NOFILERDEVS | RPMFI_NOFILEINODES | \
RPMFI_NOFILEVERIFYFLAGS)
#define RPMFI_FLAGS_INSTALL \
(RPMFI_NOFILECLASS | RPMFI_NOFILEVERIFYFLAGS)
#define RPMFI_FLAGS_VERIFY \
(RPMFI_NOFILECLASS | RPMFI_NOFILEDEPS | RPMFI_NOFILELANGS | \
RPMFI_NOFILECOLORS)
#define RPMFI_FLAGS_QUERY \
(RPMFI_NOFILECLASS | RPMFI_NOFILEDEPS | RPMFI_NOFILELANGS | \
RPMFI_NOFILECOLORS | RPMFI_NOFILEVERIFYFLAGS)
/** \ingroup rpmfi /** \ingroup rpmfi
* Create and load a file info set. * Create and load a file info set iterator.
* @param ts unused * @param ts unused
* @param h header * @param h header
* @param tagN unused * @param tagN unused
* @param flags Flags to control what information is loaded. * @param flags Flags to control what information is loaded.
* @return new file info set * @return new file info set iterator
*/ */
rpmfi rpmfiNew(const rpmts ts, Header h, rpmTagVal tagN, rpmfiFlags flags); rpmfi rpmfiNew(const rpmts ts, Header h, rpmTagVal tagN, rpmfiFlags flags);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return file type from mode_t. * Return file type from mode_t.
* @param mode file mode bits (from header) * @param mode file mode bits (from header)
* @return file type * @return file type
*/ */
rpmFileTypes rpmfiWhatis(rpm_mode_t mode); rpmFileTypes rpmfiWhatis(rpm_mode_t mode);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return file info comparison. * Return file info comparison.
* @param afi 1st file info * @param afi 1st file info
* @param bfi 2nd file info * @param bfi 2nd file info
* @return 0 if identical * @return 0 if identical
*/ */
int rpmfiCompare(const rpmfi afi, const rpmfi bfi); int rpmfiCompare(const rpmfi afi, const rpmfi bfi);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return file disposition. * Return file disposition.
* @deprecated
* @param ofi old file info * @param ofi old file info
* @param nfi new file info * @param nfi new file info
* @param skipMissing OK to skip missing files? * @param skipMissing OK to skip missing files?
* @return file dispostion * @return file disposition
*/ */
RPM_GNUC_DEPRECATED
rpmFileAction rpmfiDecideFate(const rpmfi ofi, rpmfi nfi, int skipMissing); rpmFileAction rpmfiDecideFate(const rpmfi ofi, rpmfi nfi, int skipMissing);
/** \ingroup rpmfi /** \ingroup rpmfi
* Return whether file is conflicting config * Return whether file is conflicting config
* @deprecated
* @param fi file info * @param fi file info
* @return 1 if config file and file on disk conflicts * @return 1 if config file and file on disk conflicts
*/ */
RPM_GNUC_DEPRECATED
int rpmfiConfigConflict(const rpmfi fi); int rpmfiConfigConflict(const rpmfi fi);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* H_RPMDS */ #endif /* H_RPMDS */
 End of changes. 53 change blocks. 
210 lines changed or deleted 163 lines changed or added


 rpmpgp.h   rpmpgp.h 
skipping to change at line 976 skipping to change at line 976
* @return hex formatted string (malloc'ed) * @return hex formatted string (malloc'ed)
*/ */
char * pgpHexStr(const uint8_t *p, size_t plen); char * pgpHexStr(const uint8_t *p, size_t plen);
/** \ingroup rpmpgp /** \ingroup rpmpgp
* Calculate OpenPGP public key fingerprint. * Calculate OpenPGP public key fingerprint.
* @todo V3 non-RSA public keys not implemented. * @todo V3 non-RSA public keys not implemented.
* @param pkt OpenPGP packet (i.e. PGPTAG_PUBLIC_KEY) * @param pkt OpenPGP packet (i.e. PGPTAG_PUBLIC_KEY)
* @param pktlen OpenPGP packet length (no. of bytes) * @param pktlen OpenPGP packet length (no. of bytes)
* @retval keyid public key fingerprint * @retval keyid public key fingerprint
* @return 0 on sucess, else -1 * @return 0 on success, else -1
*/ */
int pgpPubkeyFingerprint(const uint8_t * pkt, size_t pktlen, int pgpPubkeyFingerprint(const uint8_t * pkt, size_t pktlen,
pgpKeyID_t keyid); pgpKeyID_t keyid);
/** \ingroup rpmpgp /** \ingroup rpmpgp
* Extract OpenPGP public key fingerprint from base64 encoded packet. * Extract OpenPGP public key fingerprint from base64 encoded packet.
* @todo V3 non-RSA public keys not implemented. * @todo V3 non-RSA public keys not implemented.
* @param b64pkt base64 encoded openpgp packet * @param b64pkt base64 encoded openpgp packet
* @retval keyid public key fingerprint * @retval keyid public key fingerprint
* @return 8 (no. of bytes) on success, < 0 on error * @return 8 (no. of bytes) on success, < 0 on error
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 rpmprob.h   rpmprob.h 
skipping to change at line 46 skipping to change at line 46
/** \ingroup rpmprob /** \ingroup rpmprob
* Enumerate transaction set problem types. * Enumerate transaction set problem types.
*/ */
typedef enum rpmProblemType_e { typedef enum rpmProblemType_e {
RPMPROB_BADARCH, /*!< package ... is for a different architecture */ RPMPROB_BADARCH, /*!< package ... is for a different architecture */
RPMPROB_BADOS, /*!< package ... is for a different operating system */ RPMPROB_BADOS, /*!< package ... is for a different operating system */
RPMPROB_PKG_INSTALLED, /*!< package ... is already installed */ RPMPROB_PKG_INSTALLED, /*!< package ... is already installed */
RPMPROB_BADRELOCATE,/*!< path ... is not relocatable for package ... */ RPMPROB_BADRELOCATE,/*!< path ... is not relocatable for package ... */
RPMPROB_REQUIRES, /*!< package ... has unsatisfied Requires: ... */ RPMPROB_REQUIRES, /*!< package ... has unsatisfied Requires: ... */
RPMPROB_CONFLICT, /*!< package ... has unsatisfied Conflicts: ... */ RPMPROB_CONFLICT, /*!< package ... has unsatisfied Conflicts: ... */
RPMPROB_NEW_FILE_CONFLICT, /*!< file ... conflicts between attemped ins talls of ... */ RPMPROB_NEW_FILE_CONFLICT, /*!< file ... conflicts between attempted in stalls of ... */
RPMPROB_FILE_CONFLICT,/*!< file ... from install of ... conflicts with file from package ... */ RPMPROB_FILE_CONFLICT,/*!< file ... from install of ... conflicts with file from package ... */
RPMPROB_OLDPACKAGE, /*!< package ... (which is newer than ...) i s already installed */ RPMPROB_OLDPACKAGE, /*!< package ... (which is newer than ...) i s already installed */
RPMPROB_DISKSPACE, /*!< installing package ... needs ... on the ... fil esystem */ RPMPROB_DISKSPACE, /*!< installing package ... needs ... on the ... fil esystem */
RPMPROB_DISKNODES, /*!< installing package ... needs ... on the ... fil esystem */ RPMPROB_DISKNODES, /*!< installing package ... needs ... on the ... fil esystem */
RPMPROB_OBSOLETES, /*!< package ... is obsoleted by ... */ RPMPROB_OBSOLETES, /*!< package ... is obsoleted by ... */
} rpmProblemType; } rpmProblemType;
/** \ingroup rpmprob /** \ingroup rpmprob
* Create a problem item. * Create a problem item.
* @param type type of problem * @param type type of problem
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 rpmstrpool.h   rpmstrpool.h 
skipping to change at line 83 skipping to change at line 83
/** \ingroup rpmstrpool /** \ingroup rpmstrpool
* Look up a string by its pool id. * Look up a string by its pool id.
* @param pool string pool * @param pool string pool
* @param sid pool id of a string * @param sid pool id of a string
* @return pointer to the string or NULL for invalid id * @return pointer to the string or NULL for invalid id
*/ */
const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid); const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid);
/** \ingroup rpmstrpool /** \ingroup rpmstrpool
* Return length of a string by its pool id. The result is equal to * Return length of a string by its pool id. The result is equal to
* calling strlen() on a string retrieved through rpmstrPoolStr() but * calling strlen() on a string retrieved through rpmstrPoolStr(), but
* runs in constant time regardless of the length of the string. * the pool might be able to optimize the calculation.
* @param pool string pool * @param pool string pool
* @param sid pool id of a string * @param sid pool id of a string
* @return length of the string * @return length of the string, 0 for invalid pool or id
*/ */
size_t rpmstrPoolStrlen(rpmstrPool pool, rpmsid sid); size_t rpmstrPoolStrlen(rpmstrPool pool, rpmsid sid);
/** \ingroup rpmstrpool /** \ingroup rpmstrpool
* Compare two strings for equality by their ids. The result is equal to * Compare two strings for equality by their ids. The result is equal to
* calling rstreq() on two strings retrieved through rpmstrPoolStr() but * calling rstreq() on two strings retrieved through rpmstrPoolStr() but
* when the id's are within the same pool, this runs in constant time. * when the id's are within the same pool, this runs in constant time.
* @param poolA string pool of the first string * @param poolA string pool of the first string
* @param sidA pool id of the first string * @param sidA pool id of the first string
* @param poolB string pool of the second string * @param poolB string pool of the second string
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 rpmtag.h   rpmtag.h 
skipping to change at line 120 skipping to change at line 120
RPMTAG_SOURCERPM = 1044, /* s */ RPMTAG_SOURCERPM = 1044, /* s */
RPMTAG_FILEVERIFYFLAGS = 1045, /* i[] */ RPMTAG_FILEVERIFYFLAGS = 1045, /* i[] */
RPMTAG_ARCHIVESIZE = 1046, /* i */ RPMTAG_ARCHIVESIZE = 1046, /* i */
RPMTAG_PROVIDENAME = 1047, /* s[] */ RPMTAG_PROVIDENAME = 1047, /* s[] */
#define RPMTAG_PROVIDES RPMTAG_PROVIDENAME /* s[] */ #define RPMTAG_PROVIDES RPMTAG_PROVIDENAME /* s[] */
#define RPMTAG_P RPMTAG_PROVIDENAME /* s[] */ #define RPMTAG_P RPMTAG_PROVIDENAME /* s[] */
RPMTAG_REQUIREFLAGS = 1048, /* i[] */ RPMTAG_REQUIREFLAGS = 1048, /* i[] */
RPMTAG_REQUIRENAME = 1049, /* s[] */ RPMTAG_REQUIRENAME = 1049, /* s[] */
#define RPMTAG_REQUIRES RPMTAG_REQUIRENAME /* s[] */ #define RPMTAG_REQUIRES RPMTAG_REQUIRENAME /* s[] */
RPMTAG_REQUIREVERSION = 1050, /* s[] */ RPMTAG_REQUIREVERSION = 1050, /* s[] */
RPMTAG_NOSOURCE = 1051, /* i */ RPMTAG_NOSOURCE = 1051, /* i[] */
RPMTAG_NOPATCH = 1052, /* i */ RPMTAG_NOPATCH = 1052, /* i[] */
RPMTAG_CONFLICTFLAGS = 1053, /* i[] */ RPMTAG_CONFLICTFLAGS = 1053, /* i[] */
RPMTAG_CONFLICTNAME = 1054, /* s[] */ RPMTAG_CONFLICTNAME = 1054, /* s[] */
#define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME /* s[] */ #define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME /* s[] */
#define RPMTAG_C RPMTAG_CONFLICTNAME /* s[] */ #define RPMTAG_C RPMTAG_CONFLICTNAME /* s[] */
RPMTAG_CONFLICTVERSION = 1055, /* s[] */ RPMTAG_CONFLICTVERSION = 1055, /* s[] */
RPMTAG_DEFAULTPREFIX = 1056, /* s internal - deprecated */ RPMTAG_DEFAULTPREFIX = 1056, /* s internal - deprecated */
RPMTAG_BUILDROOT = 1057, /* s internal - obsolete */ RPMTAG_BUILDROOT = 1057, /* s internal - obsolete */
RPMTAG_INSTALLPREFIX = 1058, /* s internal - deprecated */ RPMTAG_INSTALLPREFIX = 1058, /* s internal - deprecated */
RPMTAG_EXCLUDEARCH = 1059, /* s[] */ RPMTAG_EXCLUDEARCH = 1059, /* s[] */
RPMTAG_EXCLUDEOS = 1060, /* s[] */ RPMTAG_EXCLUDEOS = 1060, /* s[] */
skipping to change at line 220 skipping to change at line 220
RPMTAG_SOURCEPKGID = 1146, /* x */ RPMTAG_SOURCEPKGID = 1146, /* x */
RPMTAG_FILECONTEXTS = 1147, /* s[] - obsolete */ RPMTAG_FILECONTEXTS = 1147, /* s[] - obsolete */
RPMTAG_FSCONTEXTS = 1148, /* s[] extension */ RPMTAG_FSCONTEXTS = 1148, /* s[] extension */
RPMTAG_RECONTEXTS = 1149, /* s[] extension */ RPMTAG_RECONTEXTS = 1149, /* s[] extension */
RPMTAG_POLICIES = 1150, /* s[] selinux *.te policy file. */ RPMTAG_POLICIES = 1150, /* s[] selinux *.te policy file. */
RPMTAG_PRETRANS = 1151, /* s */ RPMTAG_PRETRANS = 1151, /* s */
RPMTAG_POSTTRANS = 1152, /* s */ RPMTAG_POSTTRANS = 1152, /* s */
RPMTAG_PRETRANSPROG = 1153, /* s[] */ RPMTAG_PRETRANSPROG = 1153, /* s[] */
RPMTAG_POSTTRANSPROG = 1154, /* s[] */ RPMTAG_POSTTRANSPROG = 1154, /* s[] */
RPMTAG_DISTTAG = 1155, /* s */ RPMTAG_DISTTAG = 1155, /* s */
RPMTAG_SUGGESTSNAME = 1156, /* s[] extension (unimplemen RPMTAG_OLDSUGGESTSNAME = 1156, /* s[] - obsolete */
ted) */ #define RPMTAG_OLDSUGGESTS RPMTAG_OLDSUGGESTSNAME /* s[] - obsolete */
#define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] (unimplemente RPMTAG_OLDSUGGESTSVERSION = 1157, /* s[] - obsolete */
d) */ RPMTAG_OLDSUGGESTSFLAGS = 1158, /* i[] - obsolete */
RPMTAG_SUGGESTSVERSION = 1157, /* s[] extension (unimplemented) */ RPMTAG_OLDENHANCESNAME = 1159, /* s[] - obsolete */
RPMTAG_SUGGESTSFLAGS = 1158, /* i[] extension (unimplemented) */ #define RPMTAG_OLDENHANCES RPMTAG_OLDENHANCESNAME /* s[] - obsolete */
RPMTAG_ENHANCESNAME = 1159, /* s[] extension placeholder RPMTAG_OLDENHANCESVERSION = 1160, /* s[] - obsolete */
(unimplemented) */ RPMTAG_OLDENHANCESFLAGS = 1161, /* i[] - obsolete */
#define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] (unimplemente
d) */
RPMTAG_ENHANCESVERSION = 1160, /* s[] extension placeholder (unimpl
emented) */
RPMTAG_ENHANCESFLAGS = 1161, /* i[] extension placeholder (unimpl
emented) */
RPMTAG_PRIORITY = 1162, /* i[] extension placeholder (unimpl emented) */ RPMTAG_PRIORITY = 1162, /* i[] extension placeholder (unimpl emented) */
RPMTAG_CVSID = 1163, /* s (unimplemented) */ RPMTAG_CVSID = 1163, /* s (unimplemented) */
#define RPMTAG_SVNID RPMTAG_CVSID /* s (unimplemented) */ #define RPMTAG_SVNID RPMTAG_CVSID /* s (unimplemented) */
RPMTAG_BLINKPKGID = 1164, /* s[] (unimplemented) */ RPMTAG_BLINKPKGID = 1164, /* s[] (unimplemented) */
RPMTAG_BLINKHDRID = 1165, /* s[] (unimplemented) */ RPMTAG_BLINKHDRID = 1165, /* s[] (unimplemented) */
RPMTAG_BLINKNEVRA = 1166, /* s[] (unimplemented) */ RPMTAG_BLINKNEVRA = 1166, /* s[] (unimplemented) */
RPMTAG_FLINKPKGID = 1167, /* s[] (unimplemented) */ RPMTAG_FLINKPKGID = 1167, /* s[] (unimplemented) */
RPMTAG_FLINKHDRID = 1168, /* s[] (unimplemented) */ RPMTAG_FLINKHDRID = 1168, /* s[] (unimplemented) */
RPMTAG_FLINKNEVRA = 1169, /* s[] (unimplemented) */ RPMTAG_FLINKNEVRA = 1169, /* s[] (unimplemented) */
RPMTAG_PACKAGEORIGIN = 1170, /* s (unimplemented) */ RPMTAG_PACKAGEORIGIN = 1170, /* s (unimplemented) */
skipping to change at line 264 skipping to change at line 264
RPMTAG_FILEXATTRSX = 1187, /* i[] (unimplemented) */ RPMTAG_FILEXATTRSX = 1187, /* i[] (unimplemented) */
RPMTAG_DEPATTRSDICT = 1188, /* s[] (unimplemented) */ RPMTAG_DEPATTRSDICT = 1188, /* s[] (unimplemented) */
RPMTAG_CONFLICTATTRSX = 1189, /* i[] (unimplemented) */ RPMTAG_CONFLICTATTRSX = 1189, /* i[] (unimplemented) */
RPMTAG_OBSOLETEATTRSX = 1190, /* i[] (unimplemented) */ RPMTAG_OBSOLETEATTRSX = 1190, /* i[] (unimplemented) */
RPMTAG_PROVIDEATTRSX = 1191, /* i[] (unimplemented) */ RPMTAG_PROVIDEATTRSX = 1191, /* i[] (unimplemented) */
RPMTAG_REQUIREATTRSX = 1192, /* i[] (unimplemented) */ RPMTAG_REQUIREATTRSX = 1192, /* i[] (unimplemented) */
RPMTAG_BUILDPROVIDES = 1193, /* internal (unimplemented) */ RPMTAG_BUILDPROVIDES = 1193, /* internal (unimplemented) */
RPMTAG_BUILDOBSOLETES = 1194, /* internal (unimplemented) */ RPMTAG_BUILDOBSOLETES = 1194, /* internal (unimplemented) */
RPMTAG_DBINSTANCE = 1195, /* i extension */ RPMTAG_DBINSTANCE = 1195, /* i extension */
RPMTAG_NVRA = 1196, /* s extension */ RPMTAG_NVRA = 1196, /* s extension */
/* tags 1997-4999 reserved */ /* tags 1997-4999 reserved */
RPMTAG_FILENAMES = 5000, /* s[] extension */ RPMTAG_FILENAMES = 5000, /* s[] extension */
RPMTAG_FILEPROVIDE = 5001, /* s[] extension */ RPMTAG_FILEPROVIDE = 5001, /* s[] extension */
RPMTAG_FILEREQUIRE = 5002, /* s[] extension */ RPMTAG_FILEREQUIRE = 5002, /* s[] extension */
RPMTAG_FSNAMES = 5003, /* s[] (unimplemented) */ RPMTAG_FSNAMES = 5003, /* s[] (unimplemented) */
RPMTAG_FSSIZES = 5004, /* l[] (unimplemented) */ RPMTAG_FSSIZES = 5004, /* l[] (unimplemented) */
RPMTAG_TRIGGERCONDS = 5005, /* s[] extension */ RPMTAG_TRIGGERCONDS = 5005, /* s[] extension */
RPMTAG_TRIGGERTYPE = 5006, /* s[] extension */ RPMTAG_TRIGGERTYPE = 5006, /* s[] extension */
RPMTAG_ORIGFILENAMES = 5007, /* s[] extension */ RPMTAG_ORIGFILENAMES = 5007, /* s[] extension */
RPMTAG_LONGFILESIZES = 5008, /* l[] */ RPMTAG_LONGFILESIZES = 5008, /* l[] */
skipping to change at line 293 skipping to change at line 294
RPMTAG_VERBOSE = 5018, /* i extension */ RPMTAG_VERBOSE = 5018, /* i extension */
RPMTAG_EPOCHNUM = 5019, /* i extension */ RPMTAG_EPOCHNUM = 5019, /* i extension */
RPMTAG_PREINFLAGS = 5020, /* i */ RPMTAG_PREINFLAGS = 5020, /* i */
RPMTAG_POSTINFLAGS = 5021, /* i */ RPMTAG_POSTINFLAGS = 5021, /* i */
RPMTAG_PREUNFLAGS = 5022, /* i */ RPMTAG_PREUNFLAGS = 5022, /* i */
RPMTAG_POSTUNFLAGS = 5023, /* i */ RPMTAG_POSTUNFLAGS = 5023, /* i */
RPMTAG_PRETRANSFLAGS = 5024, /* i */ RPMTAG_PRETRANSFLAGS = 5024, /* i */
RPMTAG_POSTTRANSFLAGS = 5025, /* i */ RPMTAG_POSTTRANSFLAGS = 5025, /* i */
RPMTAG_VERIFYSCRIPTFLAGS = 5026, /* i */ RPMTAG_VERIFYSCRIPTFLAGS = 5026, /* i */
RPMTAG_TRIGGERSCRIPTFLAGS = 5027, /* i[] */ RPMTAG_TRIGGERSCRIPTFLAGS = 5027, /* i[] */
RPMTAG_COLLECTIONS = 5029, /* s[] list of collections */ RPMTAG_COLLECTIONS = 5029, /* s[] list of collections (unimplem ented) */
RPMTAG_POLICYNAMES = 5030, /* s[] */ RPMTAG_POLICYNAMES = 5030, /* s[] */
RPMTAG_POLICYTYPES = 5031, /* s[] */ RPMTAG_POLICYTYPES = 5031, /* s[] */
RPMTAG_POLICYTYPESINDEXES = 5032, /* i[] */ RPMTAG_POLICYTYPESINDEXES = 5032, /* i[] */
RPMTAG_POLICYFLAGS = 5033, /* i[] */ RPMTAG_POLICYFLAGS = 5033, /* i[] */
RPMTAG_VCS = 5034, /* s */ RPMTAG_VCS = 5034, /* s */
RPMTAG_ORDERNAME = 5035, /* s[] */ RPMTAG_ORDERNAME = 5035, /* s[] */
RPMTAG_ORDERVERSION = 5036, /* s[] */ RPMTAG_ORDERVERSION = 5036, /* s[] */
RPMTAG_ORDERFLAGS = 5037, /* i[] */ RPMTAG_ORDERFLAGS = 5037, /* i[] */
RPMTAG_MSSFMANIFEST = 5038, /* s[] reservation (unimplem ented) */ RPMTAG_MSSFMANIFEST = 5038, /* s[] reservation (unimplem ented) */
RPMTAG_MSSFDOMAIN = 5039, /* s[] reservation (unimplemented) * / RPMTAG_MSSFDOMAIN = 5039, /* s[] reservation (unimplemented) * /
RPMTAG_INSTFILENAMES = 5040, /* s[] extension */ RPMTAG_INSTFILENAMES = 5040, /* s[] extension */
RPMTAG_REQUIRENEVRS = 5041, /* s[] extension */ RPMTAG_REQUIRENEVRS = 5041, /* s[] extension */
RPMTAG_PROVIDENEVRS = 5042, /* s[] extension */ RPMTAG_PROVIDENEVRS = 5042, /* s[] extension */
RPMTAG_OBSOLETENEVRS = 5043, /* s[] extension */ RPMTAG_OBSOLETENEVRS = 5043, /* s[] extension */
RPMTAG_CONFLICTNEVRS = 5044, /* s[] extension */ RPMTAG_CONFLICTNEVRS = 5044, /* s[] extension */
RPMTAG_FILENLINKS = 5045, /* i[] extension */ RPMTAG_FILENLINKS = 5045, /* i[] extension */
RPMTAG_RECOMMENDNAME = 5046, /* s[] */
#define RPMTAG_RECOMMENDS RPMTAG_RECOMMENDNAME /* s[] */
RPMTAG_RECOMMENDVERSION = 5047, /* s[] */
RPMTAG_RECOMMENDFLAGS = 5048, /* i[] */
RPMTAG_SUGGESTNAME = 5049, /* s[] */
#define RPMTAG_SUGGESTS RPMTAG_SUGGESTNAME /* s[] */
RPMTAG_SUGGESTVERSION = 5050, /* s[] extension */
RPMTAG_SUGGESTFLAGS = 5051, /* i[] extension */
RPMTAG_SUPPLEMENTNAME = 5052, /* s[] */
#define RPMTAG_SUPPLEMENTS RPMTAG_SUPPLEMENTNAME /* s[] */
RPMTAG_SUPPLEMENTVERSION = 5053, /* s[] */
RPMTAG_SUPPLEMENTFLAGS = 5054, /* i[] */
RPMTAG_ENHANCENAME = 5055, /* s[] */
#define RPMTAG_ENHANCES RPMTAG_ENHANCENAME /* s[] */
RPMTAG_ENHANCEVERSION = 5056, /* s[] */
RPMTAG_ENHANCEFLAGS = 5057, /* i[] */
RPMTAG_RECOMMENDNEVRS = 5058, /* s[] extension */
RPMTAG_SUGGESTNEVRS = 5059, /* s[] extension */
RPMTAG_SUPPLEMENTNEVRS = 5060, /* s[] extension */
RPMTAG_ENHANCENEVRS = 5061, /* s[] extension */
RPMTAG_FIRSTFREE_TAG /*!< internal */ RPMTAG_FIRSTFREE_TAG /*!< internal */
} rpmTag; } rpmTag;
#define RPMTAG_EXTERNAL_TAG 1000000 #define RPMTAG_EXTERNAL_TAG 1000000
/** \ingroup rpmtag /** \ingroup rpmtag
* Rpm database index tags. * Rpm database index tags.
*/ */
typedef enum rpmDbiTag_e { typedef enum rpmDbiTag_e {
skipping to change at line 349 skipping to change at line 370
*/ */
typedef enum rpmSigTag_e { typedef enum rpmSigTag_e {
RPMSIGTAG_SIZE = 1000, /*!< internal Header+Payload size (32bit) in bytes. */ RPMSIGTAG_SIZE = 1000, /*!< internal Header+Payload size (32bit) in bytes. */
RPMSIGTAG_LEMD5_1 = 1001, /*!< internal Broken MD5, take 1 @deprecated legacy. */ RPMSIGTAG_LEMD5_1 = 1001, /*!< internal Broken MD5, take 1 @deprecated legacy. */
RPMSIGTAG_PGP = 1002, /*!< internal PGP 2.6.3 signature. */ RPMSIGTAG_PGP = 1002, /*!< internal PGP 2.6.3 signature. */
RPMSIGTAG_LEMD5_2 = 1003, /*!< internal Broken MD5, take 2 @deprecated legacy. */ RPMSIGTAG_LEMD5_2 = 1003, /*!< internal Broken MD5, take 2 @deprecated legacy. */
RPMSIGTAG_MD5 = 1004, /*!< internal MD5 signature. */ RPMSIGTAG_MD5 = 1004, /*!< internal MD5 signature. */
RPMSIGTAG_GPG = 1005, /*!< internal GnuPG signature. */ RPMSIGTAG_GPG = 1005, /*!< internal GnuPG signature. */
RPMSIGTAG_PGP5 = 1006, /*!< internal PGP5 signature @deprecated leg acy. */ RPMSIGTAG_PGP5 = 1006, /*!< internal PGP5 signature @deprecated leg acy. */
RPMSIGTAG_PAYLOADSIZE = 1007,/*!< internal uncompressed payload size (3 2bit) in bytes. */ RPMSIGTAG_PAYLOADSIZE = 1007,/*!< internal uncompressed payload size (3 2bit) in bytes. */
RPMSIGTAG_RESERVEDSPACE = 1008,/*!< internal space reserved for signatu res */
RPMSIGTAG_BADSHA1_1 = RPMTAG_BADSHA1_1, /*!< internal Broken SHA1, take 1. */ RPMSIGTAG_BADSHA1_1 = RPMTAG_BADSHA1_1, /*!< internal Broken SHA1, take 1. */
RPMSIGTAG_BADSHA1_2 = RPMTAG_BADSHA1_2, /*!< internal Broken SHA1, take 2. */ RPMSIGTAG_BADSHA1_2 = RPMTAG_BADSHA1_2, /*!< internal Broken SHA1, take 2. */
RPMSIGTAG_SHA1 = RPMTAG_SHA1HEADER, /*!< internal sha1 header di gest. */ RPMSIGTAG_SHA1 = RPMTAG_SHA1HEADER, /*!< internal sha1 header di gest. */
RPMSIGTAG_DSA = RPMTAG_DSAHEADER, /*!< internal DSA header sig nature. */ RPMSIGTAG_DSA = RPMTAG_DSAHEADER, /*!< internal DSA header sig nature. */
RPMSIGTAG_RSA = RPMTAG_RSAHEADER, /*!< internal RSA header sig nature. */ RPMSIGTAG_RSA = RPMTAG_RSAHEADER, /*!< internal RSA header sig nature. */
RPMSIGTAG_LONGSIZE = RPMTAG_LONGSIGSIZE, /*!< internal Header+Payload size (64bit) in bytes. */ RPMSIGTAG_LONGSIZE = RPMTAG_LONGSIGSIZE, /*!< internal Header+Payload size (64bit) in bytes. */
RPMSIGTAG_LONGARCHIVESIZE = RPMTAG_LONGARCHIVESIZE, /*!< internal uncom pressed payload size (64bit) in bytes. */ RPMSIGTAG_LONGARCHIVESIZE = RPMTAG_LONGARCHIVESIZE, /*!< internal uncom pressed payload size (64bit) in bytes. */
} rpmSigTag; } rpmSigTag;
/** \ingroup header /** \ingroup header
 End of changes. 6 change blocks. 
17 lines changed or deleted 33 lines changed or added


 rpmte.h   rpmte.h 
skipping to change at line 236 skipping to change at line 236
/** \ingroup rpmte /** \ingroup rpmte
* Retrieve dependency tag set from transaction element. * Retrieve dependency tag set from transaction element.
* @param te transaction element * @param te transaction element
* @param tag dependency tag * @param tag dependency tag
* @return dependency tag set * @return dependency tag set
*/ */
rpmds rpmteDS(rpmte te, rpmTagVal tag); rpmds rpmteDS(rpmte te, rpmTagVal tag);
/** \ingroup rpmte /** \ingroup rpmte
* Retrieve file info tag set from transaction element. * Retrieve file info set from transaction element.
* @param te transaction element * @param te transaction element
* @return file info tag set * @return file info set (refcounted)
*/
rpmfi rpmteFI(rpmte te);
/** \ingroup rpmte
* Retrieve list of collections
* @param te transaction element
* @return list of collections
*/ */
ARGV_const_t rpmteCollections(rpmte te); rpmfiles rpmteFiles(rpmte te);
/** \ingroup rpmte /** \ingroup rpmte
* Determine a transaction element is part of a collection * Retrieve file info iterator from transaction element.
* @deprecated use rpmteFiles() instead
* @param te transaction element * @param te transaction element
* @param collname collection name * @return file info tag set
* @return 1 if collname is part of a collection, 0 if not
*/ */
int rpmteHasCollection(rpmte te, const char * collname); rpmfi rpmteFI(rpmte te);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* H_RPMTE */ #endif /* H_RPMTE */
 End of changes. 6 change blocks. 
14 lines changed or deleted 7 lines changed or added


 rpmts.h   rpmts.h 
skipping to change at line 37 skipping to change at line 37
*/ */
enum rpmtransFlags_e { enum rpmtransFlags_e {
RPMTRANS_FLAG_NONE = 0, RPMTRANS_FLAG_NONE = 0,
RPMTRANS_FLAG_TEST = (1 << 0), /*!< from --test */ RPMTRANS_FLAG_TEST = (1 << 0), /*!< from --test */
RPMTRANS_FLAG_BUILD_PROBS = (1 << 1), /*!< don't process payload * / RPMTRANS_FLAG_BUILD_PROBS = (1 << 1), /*!< don't process payload * /
RPMTRANS_FLAG_NOSCRIPTS = (1 << 2), /*!< from --noscripts */ RPMTRANS_FLAG_NOSCRIPTS = (1 << 2), /*!< from --noscripts */
RPMTRANS_FLAG_JUSTDB = (1 << 3), /*!< from --justdb */ RPMTRANS_FLAG_JUSTDB = (1 << 3), /*!< from --justdb */
RPMTRANS_FLAG_NOTRIGGERS = (1 << 4), /*!< from --notriggers */ RPMTRANS_FLAG_NOTRIGGERS = (1 << 4), /*!< from --notriggers */
RPMTRANS_FLAG_NODOCS = (1 << 5), /*!< from --excludedocs */ RPMTRANS_FLAG_NODOCS = (1 << 5), /*!< from --excludedocs */
RPMTRANS_FLAG_ALLFILES = (1 << 6), /*!< from --allfiles */ RPMTRANS_FLAG_ALLFILES = (1 << 6), /*!< from --allfiles */
/* bit 7 unused */ RPMTRANS_FLAG_NOPLUGINS = (1 << 7), /*!< from --noplugins */
RPMTRANS_FLAG_NOCONTEXTS = (1 << 8), /*!< from --nocontexts */ RPMTRANS_FLAG_NOCONTEXTS = (1 << 8), /*!< from --nocontexts */
/* bits 9-15 unused */ /* bits 9-15 unused */
RPMTRANS_FLAG_NOTRIGGERPREIN= (1 << 16), /*!< from --notriggerprein * / RPMTRANS_FLAG_NOTRIGGERPREIN= (1 << 16), /*!< from --notriggerprein * /
RPMTRANS_FLAG_NOPRE = (1 << 17), /*!< from --nopre */ RPMTRANS_FLAG_NOPRE = (1 << 17), /*!< from --nopre */
RPMTRANS_FLAG_NOPOST = (1 << 18), /*!< from --nopost */ RPMTRANS_FLAG_NOPOST = (1 << 18), /*!< from --nopost */
RPMTRANS_FLAG_NOTRIGGERIN = (1 << 19), /*!< from --notriggerin */ RPMTRANS_FLAG_NOTRIGGERIN = (1 << 19), /*!< from --notriggerin */
RPMTRANS_FLAG_NOTRIGGERUN = (1 << 20), /*!< from --notriggerun */ RPMTRANS_FLAG_NOTRIGGERUN = (1 << 20), /*!< from --notriggerun */
RPMTRANS_FLAG_NOPREUN = (1 << 21), /*!< from --nopreun */ RPMTRANS_FLAG_NOPREUN = (1 << 21), /*!< from --nopreun */
RPMTRANS_FLAG_NOPOSTUN = (1 << 22), /*!< from --nopostun */ RPMTRANS_FLAG_NOPOSTUN = (1 << 22), /*!< from --nopostun */
RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23), /*!< from --notriggerpostun */ RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23), /*!< from --notriggerpostun */
/* bits 24-25 unused */ RPMTRANS_FLAG_NOPRETRANS = (1 << 24), /*!< from --nopretrans */
RPMTRANS_FLAG_NOCOLLECTIONS = (1 << 26), /*!< from --nocollec RPMTRANS_FLAG_NOPOSTTRANS = (1 << 25), /*!< from --noposttrans */
tions */ /* bit 26 unused */
RPMTRANS_FLAG_NOMD5 = (1 << 27), /*!< from --nomd5 */ RPMTRANS_FLAG_NOMD5 = (1 << 27), /*!< from --nomd5 */
RPMTRANS_FLAG_NOFILEDIGEST = (1 << 27), /*!< from --nofiledigest (al ias to --nomd5) */ RPMTRANS_FLAG_NOFILEDIGEST = (1 << 27), /*!< from --nofiledigest (al ias to --nomd5) */
/* bits 28-29 unused */ /* bits 28-29 unused */
RPMTRANS_FLAG_NOCONFIGS = (1 << 30), /*!< from --noconfigs */ RPMTRANS_FLAG_NOCONFIGS = (1 << 30), /*!< from --noconfigs */
RPMTRANS_FLAG_DEPLOOPS = (1 << 31) /*!< from --deploops */ RPMTRANS_FLAG_DEPLOOPS = (1 << 31) /*!< from --deploops */
}; };
typedef rpmFlags rpmtransFlags; typedef rpmFlags rpmtransFlags;
#define _noTransScripts \ #define _noTransScripts \
( RPMTRANS_FLAG_NOPRE | \ ( RPMTRANS_FLAG_NOPRE | \
RPMTRANS_FLAG_NOPOST | \ RPMTRANS_FLAG_NOPOST | \
RPMTRANS_FLAG_NOPREUN | \ RPMTRANS_FLAG_NOPREUN | \
RPMTRANS_FLAG_NOPOSTUN \ RPMTRANS_FLAG_NOPOSTUN | \
RPMTRANS_FLAG_NOPRETRANS | \
RPMTRANS_FLAG_NOPOSTTRANS \
) )
#define _noTransTriggers \ #define _noTransTriggers \
( RPMTRANS_FLAG_NOTRIGGERPREIN | \ ( RPMTRANS_FLAG_NOTRIGGERPREIN | \
RPMTRANS_FLAG_NOTRIGGERIN | \ RPMTRANS_FLAG_NOTRIGGERIN | \
RPMTRANS_FLAG_NOTRIGGERUN | \ RPMTRANS_FLAG_NOTRIGGERUN | \
RPMTRANS_FLAG_NOTRIGGERPOSTUN \ RPMTRANS_FLAG_NOTRIGGERPOSTUN \
) )
/* Avoid unnecessary breakage for stuff referring to these unused flags */ /* Avoid unnecessary breakage for stuff referring to these unused flags */
skipping to change at line 156 skipping to change at line 159
RPMTS_OP_DIGEST = 10, RPMTS_OP_DIGEST = 10,
RPMTS_OP_SIGNATURE = 11, RPMTS_OP_SIGNATURE = 11,
RPMTS_OP_DBADD = 12, RPMTS_OP_DBADD = 12,
RPMTS_OP_DBREMOVE = 13, RPMTS_OP_DBREMOVE = 13,
RPMTS_OP_DBGET = 14, RPMTS_OP_DBGET = 14,
RPMTS_OP_DBPUT = 15, RPMTS_OP_DBPUT = 15,
RPMTS_OP_DBDEL = 16, RPMTS_OP_DBDEL = 16,
RPMTS_OP_MAX = 17 RPMTS_OP_MAX = 17
} rpmtsOpX; } rpmtsOpX;
enum rpmtxnFlags_e {
RPMTXN_READ = (1 << 0),
RPMTXN_WRITE = (1 << 1),
};
typedef rpmFlags rpmtxnFlags;
/** \ingroup rpmts /** \ingroup rpmts
* Perform dependency resolution on the transaction set. * Perform dependency resolution on the transaction set.
* *
* Any problems found by rpmtsCheck() can be examined by retrieving the * Any problems found by rpmtsCheck() can be examined by retrieving the
* problem set with rpmtsProblems(), success here only means that * problem set with rpmtsProblems(), success here only means that
* the resolution was successfully attempted for all packages in the set. * the resolution was successfully attempted for all packages in the set.
* *
* @param ts transaction set * @param ts transaction set
* @return 0 on success * @return 0 on success
*/ */
skipping to change at line 278 skipping to change at line 287
* @param ts transaction set * @param ts transaction set
* @param rpmtag database index tag * @param rpmtag database index tag
* @param keyp key data (NULL for sequential access) * @param keyp key data (NULL for sequential access)
* @param keylen key data length (0 will use strlen(keyp)) * @param keylen key data length (0 will use strlen(keyp))
* @return NULL on failure * @return NULL on failure
*/ */
rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag,
const void * keyp, size_t keylen); const void * keyp, size_t keylen);
/** \ingroup rpmts /** \ingroup rpmts
* Import a header into the rpmdb
* @param txn transaction handle
* @param h header
* @param flags (unused)
* @return RPMRC_OK/RPMRC_FAIL
*/
rpmRC rpmtsImportHeader(rpmtxn txn, Header h, rpmFlags flags);
/** \ingroup rpmts
* Import public key packet(s). * Import public key packet(s).
* @todo Implicit --update policy for gpg-pubkey headers. * @todo Implicit --update policy for gpg-pubkey headers.
* @param ts transaction set * @param ts transaction set
* @param pkt pgp pubkey packet(s) * @param pkt pgp pubkey packet(s)
* @param pktlen pgp pubkey length * @param pktlen pgp pubkey length
* @return RPMRC_OK/RPMRC_FAIL * @return RPMRC_OK/RPMRC_FAIL
*/ */
rpmRC rpmtsImportPubkey(rpmts ts, const unsigned char * pkt, size_t pktlen) ; rpmRC rpmtsImportPubkey(rpmts ts, const unsigned char * pkt, size_t pktlen) ;
/** \ingroup rpmts /** \ingroup rpmts
skipping to change at line 471 skipping to change at line 489
rpmtransFlags rpmtsSetFlags(rpmts ts, rpmtransFlags transFlags); rpmtransFlags rpmtsSetFlags(rpmts ts, rpmtransFlags transFlags);
/** \ingroup rpmts /** \ingroup rpmts
* Retrieve color bits of transaction set. * Retrieve color bits of transaction set.
* @param ts transaction set * @param ts transaction set
* @return color bits * @return color bits
*/ */
rpm_color_t rpmtsColor(rpmts ts); rpm_color_t rpmtsColor(rpmts ts);
/** \ingroup rpmts /** \ingroup rpmts
* Retrieve prefered file color * Retrieve preferred file color
* @param ts transaction set * @param ts transaction set
* @return color bits * @return color bits
*/ */
rpm_color_t rpmtsPrefColor(rpmts ts); rpm_color_t rpmtsPrefColor(rpmts ts);
/** \ingroup rpmts /** \ingroup rpmts
* Set color bits of transaction set. * Set color bits of transaction set.
* @param ts transaction set * @param ts transaction set
* @param color new color bits * @param color new color bits
* @return previous color bits * @return previous color bits
*/ */
rpm_color_t rpmtsSetColor(rpmts ts, rpm_color_t color); rpm_color_t rpmtsSetColor(rpmts ts, rpm_color_t color);
/** \ingroup rpmts /** \ingroup rpmts
* Set prefered file color * Set preferred file color
* @param ts transaction set * @param ts transaction set
* @param color new color bits * @param color new color bits
* @return previous color bits * @return previous color bits
*/ */
rpm_color_t rpmtsSetPrefColor(rpmts ts, rpm_color_t color); rpm_color_t rpmtsSetPrefColor(rpmts ts, rpm_color_t color);
/** \ingroup rpmts /** \ingroup rpmts
* Retrieve operation timestamp from a transaction set. * Retrieve operation timestamp from a transaction set.
* @param ts transaction set * @param ts transaction set
* @param opx operation timestamp index * @param opx operation timestamp index
skipping to change at line 547 skipping to change at line 565
* @param key package retrieval key (e.g. file name) * @param key package retrieval key (e.g. file name)
* @param upgrade is package being upgraded? * @param upgrade is package being upgraded?
* @param relocs package file relocations * @param relocs package file relocations
* @return 0 on success, 1 on I/O error, 2 needs capabilities * @return 0 on success, 1 on I/O error, 2 needs capabilities
*/ */
int rpmtsAddInstallElement(rpmts ts, Header h, int rpmtsAddInstallElement(rpmts ts, Header h,
const fnpyKey key, int upgrade, const fnpyKey key, int upgrade,
rpmRelocation * relocs); rpmRelocation * relocs);
/** \ingroup rpmts /** \ingroup rpmts
* Add package to be reinstalled to transaction set.
*
* @param ts transaction set
* @param h header
* @param key package retrieval key (e.g. file name)
* @return 0 on success
*/
int rpmtsAddReinstallElement(rpmts ts, Header h, const fnpyKey key);
/** \ingroup rpmts
* Add package to be erased to transaction set. * Add package to be erased to transaction set.
* @param ts transaction set * @param ts transaction set
* @param h header * @param h header
* @param dboffset ununsed * @param dboffset ununsed
* @return 0 on success, 1 on error (not installed) * @return 0 on success, 1 on error (not installed)
*/ */
int rpmtsAddEraseElement(rpmts ts, Header h, int dboffset); int rpmtsAddEraseElement(rpmts ts, Header h, int dboffset);
/** \ingroup rpmts
* Create a transaction (lock) handle
* @param ts transaction set
* @param flags flags
* @return transaction handle
*/
rpmtxn rpmtxnBegin(rpmts ts, rpmtxnFlags flags);
/** \ingroup rpmts
* Destroy transaction (lock) handle
* @param txn transaction handle
* @return NULL always
*/
rpmtxn rpmtxnEnd(rpmtxn txn);
/** \ingroup rpmte /** \ingroup rpmte
* Destroy transaction element iterator. * Destroy transaction element iterator.
* @param tsi transaction element iterator * @param tsi transaction element iterator
* @return NULL always * @return NULL always
*/ */
rpmtsi rpmtsiFree(rpmtsi tsi); rpmtsi rpmtsiFree(rpmtsi tsi);
/** \ingroup rpmte /** \ingroup rpmte
* Create transaction element iterator. * Create transaction element iterator.
* @param ts transaction set * @param ts transaction set
 End of changes. 9 change blocks. 
7 lines changed or deleted 49 lines changed or added


 rpmtypes.h   rpmtypes.h 
skipping to change at line 67 skipping to change at line 67
/** @} */ /** @} */
/** \ingroup rpmtypes /** \ingroup rpmtypes
* The main types involved in transaction manipulation * The main types involved in transaction manipulation
* @{ * @{
*/ */
typedef struct rpmts_s * rpmts; typedef struct rpmts_s * rpmts;
typedef struct rpmte_s * rpmte; typedef struct rpmte_s * rpmte;
typedef struct rpmds_s * rpmds; typedef struct rpmds_s * rpmds;
typedef struct rpmfi_s * rpmfi; typedef struct rpmfi_s * rpmfi;
typedef struct rpmfiles_s * rpmfiles;
typedef struct rpmdb_s * rpmdb; typedef struct rpmdb_s * rpmdb;
typedef struct rpmdbMatchIterator_s * rpmdbMatchIterator; typedef struct rpmdbMatchIterator_s * rpmdbMatchIterator;
typedef struct rpmtsi_s * rpmtsi; typedef struct rpmtsi_s * rpmtsi;
typedef struct rpmps_s * rpmps; typedef struct rpmps_s * rpmps;
typedef struct rpmtxn_s * rpmtxn;
typedef struct rpmdbIndexIterator_s * rpmdbIndexIterator; typedef struct rpmdbIndexIterator_s * rpmdbIndexIterator;
typedef const void * fnpyKey; typedef const void * fnpyKey;
typedef void * rpmCallbackData; typedef void * rpmCallbackData;
/** @} */ /** @} */
typedef struct rpmPubkey_s * rpmPubkey; typedef struct rpmPubkey_s * rpmPubkey;
typedef struct rpmKeyring_s * rpmKeyring; typedef struct rpmKeyring_s * rpmKeyring;
typedef uint32_t rpmsid; typedef uint32_t rpmsid;
typedef struct rpmstrPool_s * rpmstrPool; typedef struct rpmstrPool_s * rpmstrPool;
typedef struct rpmPlugin_s * rpmPlugin;
typedef struct rpmPlugins_s * rpmPlugins; typedef struct rpmPlugins_s * rpmPlugins;
typedef struct rpmgi_s * rpmgi; typedef struct rpmgi_s * rpmgi;
typedef struct rpmSpec_s * rpmSpec; typedef struct rpmSpec_s * rpmSpec;
typedef struct rpmRelocation_s rpmRelocation; typedef struct rpmRelocation_s rpmRelocation;
/** \ingroup rpmtypes /** \ingroup rpmtypes
* RPM IO file descriptor type * RPM IO file descriptor type
 End of changes. 3 change blocks. 
0 lines changed or deleted 3 lines changed or added


 rpmutil.h   rpmutil.h 
#ifndef _RPMUTIL_H #ifndef _RPMUTIL_H
#define _RPMUTIL_H #define _RPMUTIL_H
#include <unistd.h> #include <unistd.h>
/* /*
* Miscellanous utility macros: * Miscellaneous utility macros:
* - portability wrappers for various gcc extensions like __attribute__() * - portability wrappers for various gcc extensions like __attribute__()
* - ... * - ...
* *
* Copied from glib, names replaced to avoid clashing with glib. * Copied from glib, names replaced to avoid clashing with glib.
* *
*/ */
/* Here we provide RPM_GNUC_EXTENSION as an alias for __extension__, /* Here we provide RPM_GNUC_EXTENSION as an alias for __extension__,
* where this is valid. This allows for warningless compilation of * where this is valid. This allows for warningless compilation of
* "long long" types even in the presence of '-ansi -pedantic'. * "long long" types even in the presence of '-ansi -pedantic'.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/