summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gbp-rpm.conf4
-rw-r--r--gbp/config.py4
-rwxr-xr-xgbp/scripts/buildpackage_rpm.py5
3 files changed, 10 insertions, 3 deletions
diff --git a/gbp-rpm.conf b/gbp-rpm.conf
index 99eac632..15529f14 100644
--- a/gbp-rpm.conf
+++ b/gbp-rpm.conf
@@ -47,7 +47,9 @@
#export-dir = ../build-area/
# Special directory to look for pre-built orig source archives
#tarball-dir = ../tarballs/
-# Build even if uncommited local changes are present
+# Build despite of unclean repository, i.e. untracked files are present
+#ignore-untracked = True
+# Ignore all local changes (i.e. build despite of modified files)
#ignore-new = True
# Commit-ish to build
#export = HEAD
diff --git a/gbp/config.py b/gbp/config.py
index 62b8dd2c..db92037d 100644
--- a/gbp/config.py
+++ b/gbp/config.py
@@ -601,6 +601,7 @@ class GbpOptionParserRpm(GbpOptionParser):
'builder' : 'rpmbuild',
'cleaner' : '/bin/true',
'export-dir' : '../rpmbuild',
+ 'ignore-untracked' : 'False',
'rpmbuild-builddir' : 'BUILD',
'rpmbuild-rpmdir' : 'RPMS',
'rpmbuild-sourcedir' : 'SOURCES',
@@ -636,6 +637,9 @@ class GbpOptionParserRpm(GbpOptionParser):
"Spec file to use, 'auto' makes gbp to guess, other values "
"make the packaging-dir option to be ignored, default is "
"'%(spec-file)s'",
+ 'ignore-untracked':
+ "build with untracked files in the source tree, default is "
+ "'%(ignore-untracked)s'",
'patch-export':
"Create patches between upstream and export-treeish, default "
"is '%(patch-export)s'",
diff --git a/gbp/scripts/buildpackage_rpm.py b/gbp/scripts/buildpackage_rpm.py
index 786228f7..724922cf 100755
--- a/gbp/scripts/buildpackage_rpm.py
+++ b/gbp/scripts/buildpackage_rpm.py
@@ -245,6 +245,7 @@ def parse_args(argv, prefix):
parser.add_option_group(cmd_group)
parser.add_option_group(export_group)
+ parser.add_boolean_config_file_option(option_name = "ignore-untracked", dest="ignore_untracked")
parser.add_boolean_config_file_option(option_name = "ignore-new", dest="ignore_new")
parser.add_option("--git-verbose", action="store_true", dest="verbose", default=False,
help="verbose command execution")
@@ -350,11 +351,11 @@ def main(argv):
if not options.export_only:
Command(options.cleaner, shell=True)()
if not options.ignore_new:
- (ret, out) = repo.is_clean()
+ (ret, out) = repo.is_clean(options.ignore_untracked)
if not ret:
gbp.log.err("You have uncommitted changes in your source tree:")
gbp.log.err(out)
- raise GbpError, "Use --git-ignore-new to ignore."
+ raise GbpError, "Use --git-ignore-new or --git-ignore-untracked to ignore."
if not options.ignore_new and not options.ignore_branch:
if branch != options.packaging_branch: