summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2007-10-30 15:50:35 +0200
committerPanu Matilainen <pmatilai@redhat.com>2007-10-30 15:50:35 +0200
commit41cd82aa7c6a0b9115d776a387b3177664075d44 (patch)
tree1fad5b6ddf4fa11aa2fceba62b69685d75943d46 /lib
parent6abf077d7096e2f48bf1316e37ee6651c78b536e (diff)
downloadlibrpm-tizen-41cd82aa7c6a0b9115d776a387b3177664075d44.tar.gz
librpm-tizen-41cd82aa7c6a0b9115d776a387b3177664075d44.tar.bz2
librpm-tizen-41cd82aa7c6a0b9115d776a387b3177664075d44.zip
Split transaction score stuff to separate private header
Diffstat (limited to 'lib')
-rw-r--r--lib/Makefile.am2
-rw-r--r--lib/psm.c2
-rw-r--r--lib/rpmts.c1
-rw-r--r--lib/rpmts.h80
-rw-r--r--lib/rpmtsscore.h74
5 files changed, 78 insertions, 81 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 1f0ac6bd5..e178c5708 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -24,7 +24,7 @@ librpm_la_SOURCES = \
idtx.c manifest.c manifest.h misc.c package.c \
poptALL.c poptI.c poptQV.c psm.c psm.h query.c \
rpmal.c rpmchecksig.c rpmds.c rpmfi.c rpmgi.c rpmgi_internal.h \
- rpminstall.c \
+ rpminstall.c rpmtsscore.h \
rpmlead.c rpmlead.h rpmlibprov.c rpmps.c rpmrc.c rpmte.c rpmts.c \
rpmvercmp.c signature.c signature.h stringbuf.c transaction.c \
verify.c rpmlock.c rpmlock.h misc.h
diff --git a/lib/psm.c b/lib/psm.c
index 78e61e7e8..6fba8d934 100644
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -23,7 +23,7 @@
#define _RPMTE_INTERNAL
#include "rpmte.h"
-#define _RPMTS_INTERNAL /* XXX ts->notify */
+#include "rpmtsscore.h"
#include "rpmts.h"
#include "rpmlead.h" /* writeLead proto */
diff --git a/lib/rpmts.c b/lib/rpmts.c
index df6c47175..79e87afc9 100644
--- a/lib/rpmts.c
+++ b/lib/rpmts.c
@@ -20,6 +20,7 @@
#define _RPMTS_INTERNAL
#include "rpmts.h"
+#include "rpmtsscore.h"
/* XXX FIXME: merge with existing (broken?) tests in system.h */
/* portability fiddles */
diff --git a/lib/rpmts.h b/lib/rpmts.h
index ee6f660a9..bd8621084 100644
--- a/lib/rpmts.h
+++ b/lib/rpmts.h
@@ -99,85 +99,7 @@ typedef enum rpmtsOpX_e {
#include "rpmhash.h" /* XXX hashTable */
#include "rpmal.h" /* XXX availablePackage/relocateFileList ,*/
-#include "rpmte.h" /* for rpmElementType */
-
-/**********************
- * Transaction Scores *
- **********************
- *
- * In order to allow instance counts to be adjusted properly when an
- * autorollback transaction is ran, we keep a list that is indexed
- * by rpm name of whether the rpm has been installed or erased. This listed
- * is only updated:
- *
- * iif autorollbacks are enabled.
- * iif this is not a rollback or autorollback transaction.
- *
- * When creating an autorollback transaction, its rpmts points to the same
- * rpmtsScore object as the running transaction. So when the autorollback
- * transaction runs it can see where each package was in the running transaction
- * at the point the running transaction failed, and thus on a per package
- * basis make adjustments to the instance counts.
- *
- * XXX: Jeff, I am not convinced that this does not need to be in its own file
- * (i.e. rpmtsScore.{h,c}), but I first wanted to get it working.
- */
-struct rpmtsScoreEntry_s {
- char * N; /*!<Name of package */
- rpmElementType te_types; /*!<te types this entry represents */
- int installed; /*!<Was the new header installed */
- int erased; /*!<Was the old header removed */
-};
-
-typedef struct rpmtsScoreEntry_s * rpmtsScoreEntry;
-
-struct rpmtsScore_s {
- int entries; /*!< Number of scores */
- rpmtsScoreEntry * scores; /*!< Array of score entries */
- int nrefs; /*!< Reference count. */
-};
-
-typedef struct rpmtsScore_s * rpmtsScore;
-
-
-/** \ingroup rpmts
- * initialize rpmtsScore for running transaction and autorollback
- * transaction.
- * @param runningTS Running Transaction.
- * @param rollbackTS Rollback Transaction.
- * @return RPMRC_OK
- */
-rpmRC rpmtsScoreInit(rpmts runningTS, rpmts rollbackTS);
-
-/** \ingroup rpmts
- * Free rpmtsScore provided no more references exist against it.
- * @param score rpmtsScore to free
- * @return NULL always
- */
-rpmtsScore rpmtsScoreFree(rpmtsScore score);
-
-/** \ingroup rpmts
- * Get rpmtsScore from transaction.
- * @param ts RPM Transaction.
- * @return rpmtsScore or NULL.
- */
-rpmtsScore rpmtsGetScore(rpmts ts);
-
-/** \ingroup rpmts
- * Get rpmtsScoreEntry from rpmtsScore.
- * @param score RPM Transaction Score.
- * @return rpmtsScoreEntry or NULL.
- */
-rpmtsScoreEntry rpmtsScoreGetEntry(rpmtsScore score, const char *N);
-
-/** \ingroup rpmts
- * \file lib/rpmts.h
- * Structures and prototypes used for an "rpmts" transaction set.
- */
-
-/**************************
- * END Transaction Scores *
- **************************/
+#include "rpmtsscore.h" /* for rpmtsScore */
extern int _cacheDependsRC;
diff --git a/lib/rpmtsscore.h b/lib/rpmtsscore.h
new file mode 100644
index 000000000..f5b5c1b5c
--- /dev/null
+++ b/lib/rpmtsscore.h
@@ -0,0 +1,74 @@
+#ifndef H_RPMTSSCORE
+#define H_RPMTSSCORE
+
+#include "rpmlib.h"
+#include "rpmte.h"
+
+/**********************
+ * Transaction Scores *
+ **********************
+ *
+ * In order to allow instance counts to be adjusted properly when an
+ * autorollback transaction is ran, we keep a list that is indexed
+ * by rpm name of whether the rpm has been installed or erased. This listed
+ * is only updated:
+ *
+ * iif autorollbacks are enabled.
+ * iif this is not a rollback or autorollback transaction.
+ *
+ * When creating an autorollback transaction, its rpmts points to the same
+ * rpmtsScore object as the running transaction. So when the autorollback
+ * transaction runs it can see where each package was in the running transaction
+ * at the point the running transaction failed, and thus on a per package
+ * basis make adjustments to the instance counts.
+ *
+ */
+
+struct rpmtsScoreEntry_s {
+ char * N; /*!<Name of package */
+ rpmElementType te_types; /*!<te types this entry represents */
+ int installed; /*!<Was the new header installed */
+ int erased; /*!<Was the old header removed */
+};
+
+typedef struct rpmtsScoreEntry_s * rpmtsScoreEntry;
+
+struct rpmtsScore_s {
+ int entries; /*!< Number of scores */
+ rpmtsScoreEntry * scores; /*!< Array of score entries */
+ int nrefs; /*!< Reference count. */
+};
+
+typedef struct rpmtsScore_s * rpmtsScore;
+
+/** \ingroup rpmts
+ * initialize rpmtsScore for running transaction and autorollback
+ * transaction.
+ * @param runningTS Running Transaction.
+ * @param rollbackTS Rollback Transaction.
+ * @return RPMRC_OK
+ */
+rpmRC rpmtsScoreInit(rpmts runningTS, rpmts rollbackTS);
+
+/** \ingroup rpmts
+ * Free rpmtsScore provided no more references exist against it.
+ * @param score rpmtsScore to free
+ * @return NULL always
+ */
+rpmtsScore rpmtsScoreFree(rpmtsScore score);
+
+/** \ingroup rpmts
+ * Get rpmtsScore from transaction.
+ * @param ts RPM Transaction.
+ * @return rpmtsScore or NULL.
+ */
+rpmtsScore rpmtsGetScore(rpmts ts);
+
+/** \ingroup rpmts
+ * Get rpmtsScoreEntry from rpmtsScore.
+ * @param score RPM Transaction Score.
+ * @return rpmtsScoreEntry or NULL.
+ */
+rpmtsScoreEntry rpmtsScoreGetEntry(rpmtsScore score, const char *N);
+
+#endif /* H_RPMTSSCORE */