summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2012-11-01 09:45:15 +0200
committerPanu Matilainen <pmatilai@redhat.com>2012-11-01 09:59:57 +0200
commit3ff6fdd688b8491acc14ad99a830607c1a80f3a7 (patch)
tree27c8f4abe8f6d62ec737eec7338caeb4df16a557
parent5ecfdcea4e80e58f133ffddd69130ee8df28b2ac (diff)
downloadrpm-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.
-rw-r--r--lib/depends.c1
-rw-r--r--lib/rpmds.h75
-rw-r--r--lib/rpmds_internal.h84
-rw-r--r--lib/rpmfi.h31
-rw-r--r--lib/rpmfi_internal.h35
-rw-r--r--lib/rpmte.c4
-rw-r--r--lib/rpmts.h7
-rw-r--r--lib/rpmts_internal.h8
-rw-r--r--lib/transaction.c1
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"