summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2008-11-24 16:45:22 +0200
committerPanu Matilainen <pmatilai@redhat.com>2008-11-24 16:45:22 +0200
commitc8d0ea1c7203070fb4553a243418be9608912f25 (patch)
tree3d5d44d9548bf2413c9bad517f0aff163325f162 /lib
parentdc8f991671b7e0171b6052bc11021e48b16bedf3 (diff)
downloadlibrpm-tizen-c8d0ea1c7203070fb4553a243418be9608912f25.tar.gz
librpm-tizen-c8d0ea1c7203070fb4553a243418be9608912f25.tar.bz2
librpm-tizen-c8d0ea1c7203070fb4553a243418be9608912f25.zip
Move transscripts stuff from rpmfi to rpmte
- transaction scripts have zero to do with files...
Diffstat (limited to 'lib')
-rw-r--r--lib/rpmfi.c8
-rw-r--r--lib/rpmfi_internal.h4
-rw-r--r--lib/rpmte.c8
-rw-r--r--lib/rpmte_internal.h4
-rw-r--r--lib/transaction.c10
5 files changed, 17 insertions, 17 deletions
diff --git a/lib/rpmfi.c b/lib/rpmfi.c
index e77b078fa..527d595d0 100644
--- a/lib/rpmfi.c
+++ b/lib/rpmfi.c
@@ -1341,14 +1341,6 @@ rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, rpmfiFlags flags)
if (isBuild) fi->fiflags |= RPMFI_ISBUILD;
if (isSource) fi->fiflags |= RPMFI_ISSOURCE;
- /* See if we have pre/posttrans scripts. */
- fi->transscripts |= (headerIsEntry(h, RPMTAG_PRETRANS) &&
- headerIsEntry(h, RPMTAG_PRETRANSPROG)) ?
- RPMFI_HAVE_PRETRANS : 0;
- fi->transscripts |= (headerIsEntry(h, RPMTAG_POSTTRANS) &&
- headerIsEntry(h, RPMTAG_POSTTRANSPROG)) ?
- RPMFI_HAVE_POSTTRANS : 0;
-
_hgfi(h, RPMTAG_BASENAMES, &td, defFlags, fi->bnl);
fi->fc = rpmtdCount(&td);
if (fi->fc == 0) {
diff --git a/lib/rpmfi_internal.h b/lib/rpmfi_internal.h
index 38d916cf4..f993f8ec2 100644
--- a/lib/rpmfi_internal.h
+++ b/lib/rpmfi_internal.h
@@ -94,10 +94,6 @@ struct rpmfi_s {
pgpHashAlgo digestalgo; /*!< File checksum algorithm */
unsigned char * digests; /*!< File checksums in binary. */
-#define RPMFI_HAVE_PRETRANS (1 << 0)
-#define RPMFI_HAVE_POSTTRANS (1 << 1)
- int transscripts; /*!< pre/posttrans script existence */
-
char * fn; /*!< File name buffer. */
size_t striplen;
diff --git a/lib/rpmte.c b/lib/rpmte.c
index 6440fcc4a..a1091a24a 100644
--- a/lib/rpmte.c
+++ b/lib/rpmte.c
@@ -145,6 +145,14 @@ static void addTE(rpmts ts, rpmte p, Header h,
p->fi = rpmfiNew(ts, h, RPMTAG_BASENAMES, fiflags);
(void) rpmtsSetRelocateElement(ts, savep);
+ /* See if we have pre/posttrans scripts. */
+ p->transscripts |= (headerIsEntry(h, RPMTAG_PRETRANS) &&
+ headerIsEntry(h, RPMTAG_PRETRANSPROG)) ?
+ RPMTE_HAVE_PRETRANS : 0;
+ p->transscripts |= (headerIsEntry(h, RPMTAG_POSTTRANS) &&
+ headerIsEntry(h, RPMTAG_POSTTRANSPROG)) ?
+ RPMTE_HAVE_POSTTRANS : 0;
+
rpmteColorDS(p, RPMTAG_PROVIDENAME);
rpmteColorDS(p, RPMTAG_REQUIRENAME);
return;
diff --git a/lib/rpmte_internal.h b/lib/rpmte_internal.h
index 7b3593800..3d8903e7e 100644
--- a/lib/rpmte_internal.h
+++ b/lib/rpmte_internal.h
@@ -62,6 +62,10 @@ struct rpmte_s {
int nrelocs; /*!< (TR_ADDED) No. of relocations. */
FD_t fd; /*!< (TR_ADDED) Payload file descriptor. */
+#define RPMTE_HAVE_PRETRANS (1 << 0)
+#define RPMTE_HAVE_POSTTRANS (1 << 1)
+ int transscripts; /*!< pre/posttrans script existence */
+
rpmalKey pkgKey;
};
diff --git a/lib/transaction.c b/lib/transaction.c
index 5451913c0..5f94ca8fe 100644
--- a/lib/transaction.c
+++ b/lib/transaction.c
@@ -847,16 +847,13 @@ static int runTransScripts(rpmts ts, rpmTag stag)
rpmTag progtag = RPMTAG_NOT_FOUND;
int havescript = 0;
- if ((fi = rpmtsiFi(pi)) == NULL)
- continue; /* XXX can't happen */
-
switch (stag) {
case RPMTAG_PRETRANS:
- havescript = fi->transscripts & RPMFI_HAVE_PRETRANS;
+ havescript = p->transscripts & RPMTE_HAVE_PRETRANS;
progtag = RPMTAG_PRETRANSPROG;
break;
case RPMTAG_POSTTRANS:
- havescript = fi->transscripts & RPMFI_HAVE_POSTTRANS;
+ havescript = p->transscripts & RPMTE_HAVE_POSTTRANS;
progtag = RPMTAG_POSTTRANSPROG;
break;
default:
@@ -869,6 +866,9 @@ static int runTransScripts(rpmts ts, rpmTag stag)
if (!havescript)
continue;
+ if ((fi = rpmtsiFi(pi)) == NULL)
+ continue; /* XXX can't happen */
+
if (rpmteOpen(p, ts)) {
p->fi = rpmfiFree(p->fi);
fi = rpmfiNew(ts, p->h, RPMTAG_BASENAMES, RPMFI_KEEPHEADER);