diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2012-11-01 09:45:15 +0200 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2012-11-01 09:59:57 +0200 |
commit | 3ff6fdd688b8491acc14ad99a830607c1a80f3a7 (patch) | |
tree | 27c8f4abe8f6d62ec737eec7338caeb4df16a557 /lib | |
parent | 5ecfdcea4e80e58f133ffddd69130ee8df28b2ac (diff) | |
download | rpm-3ff6fdd688b8491acc14ad99a830607c1a80f3a7.tar.gz rpm-3ff6fdd688b8491acc14ad99a830607c1a80f3a7.tar.bz2 rpm-3ff6fdd688b8491acc14ad99a830607c1a80f3a7.zip |
Hide the strpool-related rpmts/rpmfi/rpmds interfaces out of sight for now
- In the package/transaction related things the strpool is more of
an internal implementation detail than an end-goal in itself, move
string pool related interfaces of rpmts, rpmfi and rpmds to
internal-only APIs for now. The kind interfaces we'll want to eventually
export a) dont exist yet and b) are likely to be something very different.
- The string pool itself remains exported however, its a handy data
structure for all sorts of things and both librpm and librpmbuild
heavily use it already.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/depends.c | 1 | ||||
-rw-r--r-- | lib/rpmds.h | 75 | ||||
-rw-r--r-- | lib/rpmds_internal.h | 84 | ||||
-rw-r--r-- | lib/rpmfi.h | 31 | ||||
-rw-r--r-- | lib/rpmfi_internal.h | 35 | ||||
-rw-r--r-- | lib/rpmte.c | 4 | ||||
-rw-r--r-- | lib/rpmts.h | 7 | ||||
-rw-r--r-- | lib/rpmts_internal.h | 8 | ||||
-rw-r--r-- | lib/transaction.c | 1 |
9 files changed, 133 insertions, 113 deletions
diff --git a/lib/depends.c b/lib/depends.c index 7846c313a..4cda58722 100644 --- a/lib/depends.c +++ b/lib/depends.c @@ -13,6 +13,7 @@ #include "lib/rpmts_internal.h" #include "lib/rpmte_internal.h" +#include "lib/rpmds_internal.h" #include "lib/misc.h" #include "debug.h" diff --git a/lib/rpmds.h b/lib/rpmds.h index 511cac464..811ff862f 100644 --- a/lib/rpmds.h +++ b/lib/rpmds.h @@ -109,16 +109,6 @@ rpmds rpmdsFree(rpmds ds); rpmds rpmdsNew(Header h, rpmTagVal tagN, int flags); /** \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 * Return new formatted dependency string. * @param dspfx formatted dependency string prefix * @param ds dependency set @@ -136,17 +126,6 @@ char * rpmdsNewDNEVR(const char * dspfx, const rpmds ds); rpmds rpmdsThis(Header h, rpmTagVal tagN, rpmsenseFlags 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 tagN type of dependency * @param N name @@ -157,18 +136,6 @@ rpmds rpmdsThisPool(rpmstrPool pool, rpmds rpmdsSingle(rpmTagVal tagN, const char * N, const char * EVR, 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 * Return a new dependency set of size 1 from the current iteration index * @param ds dependency set * @return new dependency set @@ -205,20 +172,6 @@ int rpmdsSetIx(rpmds ds, int ix); const char * rpmdsDNEVR(const rpmds ds); /** \ingroup rpmds - * Return current dependency name pool id. - * @param ds dependency set - * @return current dependency name id, 0 on invalid - */ -rpmsid rpmdsNId(rpmds ds); - -/** \ingroup rpmds - * Return current dependency epoch-version-release pool id. - * @param ds dependency set - * @return current dependency EVR id, 0 on invalid - */ -rpmsid rpmdsEVRId(rpmds ds); - -/** \ingroup rpmds * Return current dependency name. * @param ds dependency set * @return current dependency name, NULL on invalid @@ -377,18 +330,6 @@ int rpmdsMatchesDep (const Header h, int ix, const rpmds req, int nopromote); */ int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote); -/** \ingroup rpmds - * Swiss army knife dependency matching function. - * @param pool string pool (or NULL for private pool) - * @param h header - * @param prix index to provides (or -1 or any) - * @param req dependency set - * @param selfevr only look at package EVR? - * @param nopromote dont promote epoch in comparison? - * @return 1 if dependency overlaps, 0 otherwise - */ -int rpmdsMatches(rpmstrPool pool, Header h, int prix, - rpmds req, int selfevr, int nopromote); /** * Load rpmlib provides into a dependency set. * @retval *dsp (loaded) depedency set @@ -397,22 +338,6 @@ int rpmdsMatches(rpmstrPool pool, Header h, int prix, */ int rpmdsRpmlib(rpmds * dsp, const void * tblp); -/** - * 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); - -/** \ingroup rpmds - * Return dependency set string pool handle - * @param ds dependency set - * @return string pool handle (weak reference) - */ -rpmstrPool rpmdsPool(rpmds ds); - #ifdef __cplusplus } #endif diff --git a/lib/rpmds_internal.h b/lib/rpmds_internal.h index d4f24b39d..edd5a0268 100644 --- a/lib/rpmds_internal.h +++ b/lib/rpmds_internal.h @@ -7,6 +7,90 @@ extern "C" { #endif +/** \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 + */ +RPM_GNUC_INTERNAL +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 + */ +RPM_GNUC_INTERNAL +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 + */ +RPM_GNUC_INTERNAL +rpmds rpmdsSinglePool(rpmstrPool pool, rpmTagVal tagN, + const char * N, const char * EVR, rpmsenseFlags Flags); + +/** + * 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 + */ +RPM_GNUC_INTERNAL +int rpmdsRpmlibPool(rpmstrPool pool, rpmds * dsp, const void * tblp); + +/** \ingroup rpmds + * Swiss army knife dependency matching function. + * @param pool string pool (or NULL for private pool) + * @param h header + * @param prix index to provides (or -1 or any) + * @param req dependency set + * @param selfevr only look at package EVR? + * @param nopromote dont promote epoch in comparison? + * @return 1 if dependency overlaps, 0 otherwise + */ +RPM_GNUC_INTERNAL +int rpmdsMatches(rpmstrPool pool, Header h, int prix, + rpmds req, int selfevr, int nopromote); + +/** \ingroup rpmds + * Return current dependency name pool id. + * @param ds dependency set + * @return current dependency name id, 0 on invalid + */ +RPM_GNUC_INTERNAL +rpmsid rpmdsNId(rpmds ds); + +/** \ingroup rpmds + * Return current dependency epoch-version-release pool id. + * @param ds dependency set + * @return current dependency EVR id, 0 on invalid + */ +RPM_GNUC_INTERNAL +rpmsid rpmdsEVRId(rpmds ds); + +/** \ingroup rpmds + * Return dependency set string pool handle + * @param ds dependency set + * @return string pool handle (weak reference) + */ +RPM_GNUC_INTERNAL +rpmstrPool rpmdsPool(rpmds ds); + RPM_GNUC_INTERNAL rpmsid rpmdsNIdIndex(rpmds ds, int i); diff --git a/lib/rpmfi.h b/lib/rpmfi.h index cb85e8843..c526c90ca 100644 --- a/lib/rpmfi.h +++ b/lib/rpmfi.h @@ -148,20 +148,6 @@ int rpmfiDX(rpmfi fi); int rpmfiSetDX(rpmfi fi, int dx); /** \ingroup rpmfi - * Return current base name pool id from file info set. - * @param fi file info set - * @return current base name id, 0 on invalid - */ -rpmsid rpmfiBNId(rpmfi fi); - -/** \ingroup rpmfi - * Return current directory name pool id from file info set. - * @param fi file info set - * @return current base name id, 0 on invalid - */ -rpmsid rpmfiDNId(rpmfi fi); - -/** \ingroup rpmfi * Return current base name from file info set. * @param fi file info set * @return current base name, NULL on invalid @@ -435,16 +421,6 @@ typedef rpmFlags rpmfiFlags; rpmfi rpmfiNew(const rpmts ts, Header h, rpmTagVal tagN, rpmfiFlags flags); /** \ingroup rpmfi - * Create and load a file info set. - * @param pool shared string pool (or NULL for private pool) - * @param h header - * @param tagN unused - * @param flags Flags to control what information is loaded. - * @return new file info set - */ -rpmfi rpmfiNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, rpmfiFlags flags); - -/** \ingroup rpmfi * Return file type from mode_t. * @param mode file mode bits (from header) * @return file type @@ -475,13 +451,6 @@ rpmFileAction rpmfiDecideFate(const rpmfi ofi, rpmfi nfi, int skipMissing); */ int rpmfiConfigConflict(const rpmfi fi); -/** \ingroup rpmfi - * Return file info set string pool handle - * @param fi file info - * @return string pool handle (weak reference) - */ -rpmstrPool rpmfiPool(rpmfi fi); - #ifdef __cplusplus } #endif diff --git a/lib/rpmfi_internal.h b/lib/rpmfi_internal.h index 24662e6b0..19484ec5a 100644 --- a/lib/rpmfi_internal.h +++ b/lib/rpmfi_internal.h @@ -72,6 +72,41 @@ struct rpmfi_s { extern "C" { #endif +/** \ingroup rpmfi + * Create and load a file info set. + * @param pool shared string pool (or NULL for private pool) + * @param h header + * @param tagN unused + * @param flags Flags to control what information is loaded. + * @return new file info set + */ +RPM_GNUC_INTERNAL +rpmfi rpmfiNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, rpmfiFlags flags); + +/** \ingroup rpmfi + * Return file info set string pool handle + * @param fi file info + * @return string pool handle (weak reference) + */ +RPM_GNUC_INTERNAL +rpmstrPool rpmfiPool(rpmfi fi); + +/** \ingroup rpmfi + * Return current base name pool id from file info set. + * @param fi file info set + * @return current base name id, 0 on invalid + */ +RPM_GNUC_INTERNAL +rpmsid rpmfiBNId(rpmfi fi); + +/** \ingroup rpmfi + * Return current directory name pool id from file info set. + * @param fi file info set + * @return current base name id, 0 on invalid + */ +RPM_GNUC_INTERNAL +rpmsid rpmfiDNId(rpmfi fi); + RPM_GNUC_INTERNAL int rpmfiDIIndex(rpmfi fi, int dx); diff --git a/lib/rpmte.c b/lib/rpmte.c index 35b8e3e8b..6afd69e97 100644 --- a/lib/rpmte.c +++ b/lib/rpmte.c @@ -15,6 +15,10 @@ #include "lib/rpmplugins.h" #include "lib/rpmte_internal.h" +/* strpool-related interfaces */ +#include "lib/rpmfi_internal.h" +#include "lib/rpmds_internal.h" +#include "lib/rpmts_internal.h" #include "debug.h" diff --git a/lib/rpmts.h b/lib/rpmts.h index 2f0dcaff8..0b8d970e7 100644 --- a/lib/rpmts.h +++ b/lib/rpmts.h @@ -527,13 +527,6 @@ int rpmtsSetNotifyCallback(rpmts ts, rpmts rpmtsCreate(void); /** \ingroup rpmts - * Return transaction global string pool handle - * @param ts transaction set - * @return string pool handle (weak ref) - */ -rpmstrPool rpmtsPool(rpmts ts); - -/** \ingroup rpmts * Add package to be installed to transaction set. * * The transaction set is checked for duplicate package names. diff --git a/lib/rpmts_internal.h b/lib/rpmts_internal.h index 39511d0e3..a22c89267 100644 --- a/lib/rpmts_internal.h +++ b/lib/rpmts_internal.h @@ -75,6 +75,14 @@ struct rpmts_s { extern "C" { #endif +/** \ingroup rpmts + * Return transaction global string pool handle + * @param ts transaction set + * @return string pool handle (weak ref) + */ +RPM_GNUC_INTERNAL +rpmstrPool rpmtsPool(rpmts ts); + RPM_GNUC_INTERNAL tsMembers rpmtsMembers(rpmts ts); diff --git a/lib/transaction.c b/lib/transaction.c index c05d3af3b..facc36a7b 100644 --- a/lib/transaction.c +++ b/lib/transaction.c @@ -16,6 +16,7 @@ #include "lib/misc.h" #include "lib/rpmchroot.h" #include "lib/rpmlock.h" +#include "lib/rpmds_internal.h" #include "lib/rpmfi_internal.h" /* only internal apis */ #include "lib/rpmte_internal.h" /* only internal apis */ #include "lib/rpmts_internal.h" |