summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/rpmbuild.87
-rw-r--r--rpmbuild.c8
2 files changed, 15 insertions, 0 deletions
diff --git a/doc/rpmbuild.8 b/doc/rpmbuild.8
index b45a92652..5406f4d75 100644
--- a/doc/rpmbuild.8
+++ b/doc/rpmbuild.8
@@ -33,6 +33,7 @@ rpmbuild \- Build RPM Package(s)
[\fB--buildroot \fIDIRECTORY\fB\fR] [\fB--clean\fR] [\fB--nobuild\fR]
[\fB--rmsource\fR] [\fB--rmspec\fR] [\fB--short-circuit\fR]
+ [\fB--noclean\fR] [\fB--nocheck\fR]
[\fB--target \fIPLATFORM\fB\fR]
.SH "DESCRIPTION"
@@ -157,6 +158,12 @@ Remove the build tree after the packages are made.
\fB--nobuild\fR
Do not execute any build stages. Useful for testing out spec files.
.TP
+\fB--noclean\fR
+Do not execute %clean build stage even if present in spec.
+.TP
+\fB--nocheck\fR
+Do not execute %check build stage even if present in spec.
+.TP
\fB--nodeps\fR
Do not verify build dependencies.
.TP
diff --git a/rpmbuild.c b/rpmbuild.c
index bbe94ce62..4fb4289f8 100644
--- a/rpmbuild.c
+++ b/rpmbuild.c
@@ -53,6 +53,7 @@ static int noDeps = 0; /*!< from --nodeps */
static int shortCircuit = 0; /*!< from --short-circuit */
static char buildMode = 0; /*!< Build mode (one of "btBC") */
static char buildChar = 0; /*!< Build stage (one of "abcilps ") */
+static rpmBuildFlags nobuildAmount = 0; /*!< Build stage disablers */
static ARGV_t build_targets = NULL; /*!< Target platform(s) */
static void buildArgCallback( poptContext con,
@@ -182,6 +183,11 @@ static struct poptOption rpmBuildPoptTable[] = {
N_("generate package header(s) compatible with (legacy) rpm v3 packaging"),
NULL},
+ { "noclean", '\0', POPT_BIT_SET, &nobuildAmount, RPMBUILD_CLEAN,
+ N_("do not execute %clean stage of the build"), NULL },
+ { "nocheck", '\0', POPT_BIT_SET, &nobuildAmount, RPMBUILD_CHECK,
+ N_("do not execute %check stage of the build"), NULL },
+
{ "nolang", '\0', POPT_ARGFLAG_DOC_HIDDEN, 0, POPT_NOLANG,
N_("do not accept i18N msgstr's from specfile"), NULL},
{ "rmsource", '\0', 0, 0, POPT_RMSOURCE,
@@ -563,6 +569,7 @@ int main(int argc, char *argv[])
ba->buildAmount |= RPMBUILD_CLEAN;
ba->buildAmount |= RPMBUILD_RMBUILD;
}
+ ba->buildAmount &= ~(nobuildAmount);
while ((pkg = poptGetArg(optCon))) {
char * specFile = NULL;
@@ -610,6 +617,7 @@ int main(int argc, char *argv[])
ba->buildAmount |= RPMBUILD_PACKAGESOURCE;
break;
}
+ ba->buildAmount &= ~(nobuildAmount);
while ((pkg = poptGetArg(optCon))) {
ba->rootdir = rpmcliRootDir;