summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2010-12-20 11:38:21 +0200
committerPanu Matilainen <pmatilai@redhat.com>2010-12-21 11:50:23 +0200
commit5a21926bc71ab42297979aedc2aedacd05891a46 (patch)
tree153c49aeaad372114d6da3d2ec2b90d861842124
parent01a2e5f206c04cc0a5e12046e4a4f78182e332f9 (diff)
downloadrpm-5a21926bc71ab42297979aedc2aedacd05891a46.tar.gz
rpm-5a21926bc71ab42297979aedc2aedacd05891a46.tar.bz2
rpm-5a21926bc71ab42297979aedc2aedacd05891a46.zip
Rip the stillborn, broken apply/commit transaction goo
- This was beginnings of something ten years ago, and that something was long since abandoned. These never did anything useful that --justdb/--noscripts wouldn't do. (cherry picked from commit 89c2fd9f512df1e673a073229914b5371e619ea4)
-rw-r--r--lib/fsm.c16
-rw-r--r--lib/fsm.h2
-rw-r--r--lib/poptI.c5
-rw-r--r--lib/psm.c28
-rw-r--r--lib/rpmts.h10
5 files changed, 10 insertions, 51 deletions
diff --git a/lib/fsm.c b/lib/fsm.c
index 52add475a..18ec6baa2 100644
--- a/lib/fsm.c
+++ b/lib/fsm.c
@@ -579,12 +579,6 @@ static int fsmMkdirs(FSM_t fsm);
static int fsmCreate(FSM_t fsm)
{
int rc;
- { rpmts ts = fsmGetTs(fsm);
-#define _tsmask (RPMTRANS_FLAG_PKGCOMMIT | RPMTRANS_FLAG_COMMIT)
- fsm->commit = ((ts && (rpmtsFlags(ts) & _tsmask) &&
- fsm->goal != FSM_PKGCOMMIT) ? 0 : 1);
-#undef _tsmask
- }
fsm->path = _free(fsm->path);
fsm->opath = _free(fsm->opath);
fsm->dnlx = _free(fsm->dnlx);
@@ -1661,7 +1655,6 @@ static int fsmStage(FSM_t fsm, fileStage stage)
}
break;
case FSM_PKGERASE:
- case FSM_PKGCOMMIT:
while (1) {
/* Clean fsm, free'ing memory. */
rc = fsmInit(fsm);
@@ -1915,12 +1908,10 @@ if (!(fsm->mapFlags & CPIO_ALL_HARDLINKS)) break;
*fsm->failedFile = xstrdup(fsm->path);
break;
case FSM_FINI:
- if (!fsm->postpone && fsm->commit) {
+ if (!fsm->postpone) {
if (fsm->goal == FSM_PKGINSTALL)
rc = ((S_ISREG(st->st_mode) && st->st_nlink > 1)
? fsmCommitLinks(fsm) : fsmNext(fsm, FSM_COMMIT));
- if (fsm->goal == FSM_PKGCOMMIT)
- rc = fsmNext(fsm, FSM_COMMIT);
if (fsm->goal == FSM_PKGERASE)
rc = fsmNext(fsm, FSM_COMMIT);
}
@@ -2069,9 +2060,7 @@ if (!(fsm->mapFlags & CPIO_ALL_HARDLINKS)) break;
while ((fsm->li = fsm->links) != NULL) {
fsm->links = fsm->li->next;
fsm->li->next = NULL;
- if (fsm->goal == FSM_PKGINSTALL &&
- fsm->commit && fsm->li->linksLeft)
- {
+ if (fsm->goal == FSM_PKGINSTALL && fsm->li->linksLeft) {
for (nlink_t i = 0 ; i < fsm->li->linksLeft; i++) {
if (fsm->li->filex[i] < 0)
continue;
@@ -2266,7 +2255,6 @@ static const char * fileStageString(fileStage a) {
case FSM_PKGINSTALL:return "INSTALL";
case FSM_PKGERASE: return "ERASE";
case FSM_PKGBUILD: return "BUILD";
- case FSM_PKGCOMMIT: return "COMMIT";
case FSM_PKGUNDO: return "UNDO";
case FSM_CREATE: return "create";
diff --git a/lib/fsm.h b/lib/fsm.h
index 05e04c9d4..22aa935a4 100644
--- a/lib/fsm.h
+++ b/lib/fsm.h
@@ -34,7 +34,6 @@ typedef enum fileStage_e {
FSM_PKGINSTALL = _fd(7),
FSM_PKGERASE = _fd(8),
FSM_PKGBUILD = _fd(9),
- FSM_PKGCOMMIT = _fd(10),
FSM_PKGUNDO = _fd(11),
FSM_CREATE = _fd(17),
@@ -149,7 +148,6 @@ struct fsm_s {
int exists; /*!< Does current file exist on disk? */
int mkdirsdone; /*!< Have "orphan" dirs been created? */
int rc; /*!< External file stage return code. */
- int commit; /*!< Commit synchronously? */
cpioMapFlags mapFlags; /*!< Bit(s) to control mapping. */
const char * dirName; /*!< File directory name. */
const char * baseName; /*!< File base name. */
diff --git a/lib/poptI.c b/lib/poptI.c
index e6613fbec..034a4d422 100644
--- a/lib/poptI.c
+++ b/lib/poptI.c
@@ -122,11 +122,6 @@ struct poptOption rpmInstallPoptTable[] = {
N_("remove all packages which match <package> (normally an error is generated if <package> specified multiple packages)"),
NULL},
- { "apply", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN, &rpmIArgs.transFlags,
- (_noTransScripts|_noTransTriggers|
- RPMTRANS_FLAG_APPLYONLY|RPMTRANS_FLAG_PKGCOMMIT),
- N_("do not execute package scriptlet(s)"), NULL },
-
{ "badreloc", '\0', POPT_BIT_SET,
&rpmIArgs.probFilter, RPMPROB_FILTER_FORCERELOCATE,
N_("relocate files in non-relocatable package"), NULL},
diff --git a/lib/psm.c b/lib/psm.c
index 0627949d3..1c761bf2f 100644
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -36,12 +36,9 @@ typedef enum pkgStage_e {
PSM_UNDO = 5,
PSM_FINI = 6,
- PSM_PKGCOMMIT = 10,
-
PSM_CREATE = 17,
PSM_NOTIFY = 22,
PSM_DESTROY = 23,
- PSM_COMMIT = 25,
PSM_SCRIPT = 53,
PSM_TRIGGERS = 54,
@@ -840,9 +837,6 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
xx = Fclose(payload);
errno = saveerrno; /* XXX FIXME: Fclose with libio destroys errno */
- if (!rc)
- rc = rpmpsmNext(psm, PSM_COMMIT);
-
/* XXX make sure progress is closed out */
psm->what = RPMCALLBACK_INST_PROGRESS;
psm->amount = (fi->archiveSize ? fi->archiveSize : 100);
@@ -870,7 +864,6 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
int fc = rpmfiFC(fi);
if (rpmtsFlags(ts) & RPMTRANS_FLAG_JUSTDB) break;
- if (rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY) break;
/* XXX Synthesize callbacks for packages with no files. */
if (rpmfiFC(fi) <= 0) {
@@ -916,8 +909,7 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
* If this package has already been installed, remove it from
* the database before adding the new one.
*/
- if (rpmteDBInstance(psm->te) &&
- !(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY)) {
+ if (rpmteDBInstance(psm->te)) {
rc = rpmpsmNext(psm, PSM_RPMDB_REMOVE);
if (rc) break;
}
@@ -943,8 +935,7 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
if (rc) break;
}
- if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY))
- rc = markReplacedFiles(psm);
+ rc = markReplacedFiles(psm);
}
if (psm->goal == PKG_ERASE) {
@@ -964,8 +955,7 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
if (rc) break;
}
- if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY))
- rc = rpmpsmNext(psm, PSM_RPMDB_REMOVE);
+ rc = rpmpsmNext(psm, PSM_RPMDB_REMOVE);
}
break;
case PSM_UNDO:
@@ -992,9 +982,6 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
fi->apath = _free(fi->apath);
break;
- case PSM_PKGCOMMIT:
- break;
-
case PSM_CREATE:
break;
case PSM_NOTIFY:
@@ -1004,15 +991,6 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
} break;
case PSM_DESTROY:
break;
- case PSM_COMMIT:
- if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_PKGCOMMIT)) break;
- if (rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY) break;
-
- rc = fsmSetup(rpmfiFSM(fi), FSM_PKGCOMMIT, ts, psm->te, fi,
- NULL, NULL, &psm->failedFile);
- xx = fsmTeardown(rpmfiFSM(fi));
- break;
-
case PSM_SCRIPT: /* Run current package scriptlets. */
rc = runInstScript(psm);
break;
diff --git a/lib/rpmts.h b/lib/rpmts.h
index ab0477e12..9df63ef31 100644
--- a/lib/rpmts.h
+++ b/lib/rpmts.h
@@ -39,10 +39,10 @@ enum rpmtransFlags_e {
RPMTRANS_FLAG_DIRSTASH = (1 << 9), /*!< obsolete, unused */
RPMTRANS_FLAG_REPACKAGE = (1 << 10), /*!< obsolete, unused */
- RPMTRANS_FLAG_PKGCOMMIT = (1 << 11),
- RPMTRANS_FLAG_PKGUNDO = (1 << 12),
- RPMTRANS_FLAG_COMMIT = (1 << 13),
- RPMTRANS_FLAG_UNDO = (1 << 14),
+ RPMTRANS_FLAG_PKGCOMMIT = (1 << 11), /*!< obsolete, unused */
+ RPMTRANS_FLAG_PKGUNDO = (1 << 12), /*!< obsolete, unused */
+ RPMTRANS_FLAG_COMMIT = (1 << 13), /*!< obsolete, unused */
+ RPMTRANS_FLAG_UNDO = (1 << 14), /*!< obsolete, unused */
RPMTRANS_FLAG_REVERSE = (1 << 15), /*!< obsolete, unused */
RPMTRANS_FLAG_NOTRIGGERPREIN= (1 << 16), /*!< from --notriggerprein */
@@ -54,7 +54,7 @@ enum rpmtransFlags_e {
RPMTRANS_FLAG_NOPOSTUN = (1 << 22), /*!< from --nopostun */
RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23), /*!< from --notriggerpostun */
RPMTRANS_FLAG_NOPAYLOAD = (1 << 24),
- RPMTRANS_FLAG_APPLYONLY = (1 << 25),
+ RPMTRANS_FLAG_APPLYONLY = (1 << 25), /*!< obsolete, unused */
RPMTRANS_FLAG_NOCOLLECTIONS = (1 << 26), /*!< from --nocollections */
RPMTRANS_FLAG_NOMD5 = (1 << 27), /*!< from --nomd5 */