Internalize most direct rpmdb manipulation functions
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 3 Dec 2010 11:38:59 +0000 (13:38 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 3 Dec 2010 11:49:14 +0000 (13:49 +0200)
- Since rpm 4.1 times, callers are supposed to use the rpmtsFooDB()
  variants instead of the lower-level rpmdb functions, and mixing
  them is not safe. Enforce the use of ts-level versions by making
  rpmdbLink(), rpmdbOpen(), rpmdbInit(), rpmdbClose(),
  rpmdbSync(), rpmdbVerify() and rpmdbRebuild() internal-only.
- Doing this now to eliminate a few needs for breaking API again
  in 4.10 (one can wish, right?)

lib/rpmdb.h
lib/rpmdb_internal.h

index a8479f5..3c7aac2 100644 (file)
@@ -39,53 +39,6 @@ typedef enum rpmdbOpX_e {
 rpmop rpmdbOp(rpmdb db, rpmdbOpX opx);
 
 /** \ingroup rpmdb
- * Reference a database instance.
- * @param db           rpm database
- * @return             new rpm database reference
- */
-rpmdb rpmdbLink(rpmdb db);
-
-/** \ingroup rpmdb
- * Open rpm database.
- * @param prefix       path to top of install tree
- * @retval dbp         address of rpm database
- * @param mode         open(2) flags:  O_RDWR or O_RDONLY (O_CREAT also)
- * @param perms                database permissions
- * @return             0 on success
- */
-int rpmdbOpen (const char * prefix, rpmdb * dbp,
-               int mode, int perms);
-
-/** \ingroup rpmdb
- * Initialize database.
- * @param prefix       path to top of install tree
- * @param perms                database permissions
- * @return             0 on success
- */
-int rpmdbInit(const char * prefix, int perms);
-
-/** \ingroup rpmdb
- * Verify database components.
- * @param prefix       path to top of install tree
- * @return             0 on success
- */
-int rpmdbVerify(const char * prefix);
-
-/** \ingroup rpmdb
- * Close all database indices and free rpmdb.
- * @param db           rpm database
- * @return             0 on success
- */
-int rpmdbClose (rpmdb db);
-
-/** \ingroup rpmdb
- * Sync all database indices.
- * @param db           rpm database
- * @return             0 on success
- */
-int rpmdbSync (rpmdb db);
-
-/** \ingroup rpmdb
  * Open all database indices.
  * @param db           rpm database
  * @return             0 on success
@@ -207,19 +160,6 @@ int rpmdbCheckTerminate(int terminate);
 rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi);
 
 /** \ingroup rpmdb
- * Rebuild database indices from package headers.
- * @param prefix       path to top of install tree
- * @param ts           transaction set (or NULL)
- * @param (*hdrchk)    headerCheck() vector (or NULL)
- * @return             0 on success
- */
-int rpmdbRebuild(const char * prefix, rpmts ts,
-               rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
-
-
-
-
-/** \ingroup rpmdb
  * Get an iterator for an index
  * @param db           rpm database
  * @param rpmtag       the index to iterate over
index 9447d05..3f5c598 100644 (file)
@@ -14,6 +14,68 @@ extern "C" {
 #endif
 
 /** \ingroup rpmdb
+ * Reference a database instance.
+ * @param db           rpm database
+ * @return             new rpm database reference
+ */
+rpmdb rpmdbLink(rpmdb db);
+
+/** \ingroup rpmdb
+ * Open rpm database.
+ * @param prefix       path to top of install tree
+ * @retval dbp         address of rpm database
+ * @param mode         open(2) flags:  O_RDWR or O_RDONLY (O_CREAT also)
+ * @param perms                database permissions
+ * @return             0 on success
+ */
+RPM_GNUC_INTERNAL
+int rpmdbOpen (const char * prefix, rpmdb * dbp, int mode, int perms);
+
+/** \ingroup rpmdb
+ * Initialize database.
+ * @param prefix       path to top of install tree
+ * @param perms                database permissions
+ * @return             0 on success
+ */
+RPM_GNUC_INTERNAL
+int rpmdbInit(const char * prefix, int perms);
+
+/** \ingroup rpmdb
+ * Close all database indices and free rpmdb.
+ * @param db           rpm database
+ * @return             0 on success
+ */
+RPM_GNUC_INTERNAL
+int rpmdbClose (rpmdb db);
+
+/** \ingroup rpmdb
+ * Sync all database indices.
+ * @param db           rpm database
+ * @return             0 on success
+ */
+RPM_GNUC_INTERNAL
+int rpmdbSync (rpmdb db);
+
+/** \ingroup rpmdb
+ * Rebuild database indices from package headers.
+ * @param prefix       path to top of install tree
+ * @param ts           transaction set (or NULL)
+ * @param (*hdrchk)    headerCheck() vector (or NULL)
+ * @return             0 on success
+ */
+RPM_GNUC_INTERNAL
+int rpmdbRebuild(const char * prefix, rpmts ts,
+               rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
+
+/** \ingroup rpmdb
+ * Verify database components.
+ * @param prefix       path to top of install tree
+ * @return             0 on success
+ */
+RPM_GNUC_INTERNAL
+int rpmdbVerify(const char * prefix);
+
+/** \ingroup rpmdb
  * Add package header to rpm database and indices.
  * @param db           rpm database
  * @param h            header