case PSM_RPMDB_ADD: {
Header h;
if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST) break;
+
h = rpmteHeader(psm->te);
+
+ if (!headerIsEntry(h, RPMTAG_INSTALLTID)) {
+ rpm_tid_t tid = rpmtsGetTid(ts);
+ if (tid != 0 && tid != (rpm_tid_t)-1)
+ headerPutUint32(h, RPMTAG_INSTALLTID, &tid, 1);
+ }
+
(void) rpmswEnter(rpmtsOp(ts, RPMTS_OP_DBADD), 0);
if (!(rpmtsVSFlags(ts) & RPMVSF_NOHDRCHK))
- rc = rpmdbAdd(rpmtsGetRdb(ts), rpmtsGetTid(ts), h,
- ts, headerCheck);
+ rc = rpmdbAdd(rpmtsGetRdb(ts), 0, h, ts, headerCheck);
else
- rc = rpmdbAdd(rpmtsGetRdb(ts), rpmtsGetTid(ts), h,
- NULL, NULL);
+ rc = rpmdbAdd(rpmtsGetRdb(ts), 0, h, NULL, NULL);
(void) rpmswExit(rpmtsOp(ts, RPMTS_OP_DBADD), 0);
if (rc == RPMRC_OK)
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
-#ifdef NOTYET /* XXX headerDel() broken on dribbles. */
- xx = headerDel(h, RPMTAG_REMOVETID);
-#endif
- if (iid != 0 && iid != -1) {
- rpm_tid_t tid = iid;
- if (!headerIsEntry(h, RPMTAG_INSTALLTID))
- headerPutUint32(h, RPMTAG_INSTALLTID, &tid, 1);
- }
-
(void) blockSignals(&signalMask);
dbi = rpmdbOpenIndex(db, RPMDBI_PACKAGES, 0);
/** \ingroup rpmdb
* Add package header to rpm database and indices.
* @param db rpm database
- * @param iid install transaction id (iid = 0 or -1 to skip)
+ * @param iid (unused)
* @param h header
* @param ts (unused) transaction set (or NULL)
* @param (*hdrchk) (unused) headerCheck() vector (or NULL)
/** \ingroup rpmdb
* Remove package header from rpm database and indices.
* @param db rpm database
- * @param rid (unused) remove transaction id (rid = 0 or -1 to skip)
+ * @param rid (unused)
* @param hdrNum package instance number in database
* @param ts (unused) transaction set (or NULL)
* @param (*hdrchk) (unused) headerCheck() vector (or NULL)
{ rpm_tid_t tid = rpmtsGetTid(ts);
headerPutUint32(h, RPMTAG_INSTALLTIME, &tid, 1);
+ headerPutUint32(h, RPMTAG_INSTALLTID, &tid, 1);
headerPutUint32(h, RPMTAG_BUILDTIME, &tid, 1);
}
rc = 0;
/* Add header to database. */
if (rpmtsOpenDB(ts, (O_RDWR|O_CREAT)))
goto exit;
- if (rpmdbAdd(rpmtsGetRdb(ts), rpmtsGetTid(ts), h, NULL, NULL) != 0)
+ if (rpmdbAdd(rpmtsGetRdb(ts), 0, h, NULL, NULL) != 0)
goto exit;
rc = RPMRC_OK;