summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2015-02-27 13:52:06 +0200
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>2018-01-22 14:29:59 +0200
commit972db70347d5fa37f9af74babf8021a41cb7d219 (patch)
treef20661fdbb60f66c74601c56870d7fe574269da1
parentcb5754bb9c5a49a21944c0e891c222c0f2744e5c (diff)
import-srpm: implement --skip-packaging-tag option
Corresponding the --skip-debian-tag options of import-dsc. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
-rw-r--r--docs/manpages/gbp-import-srpm.xml10
-rwxr-xr-xgbp/scripts/import_srpm.py27
-rw-r--r--tests/component/rpm/test_import_srpm.py22
3 files changed, 45 insertions, 14 deletions
diff --git a/docs/manpages/gbp-import-srpm.xml b/docs/manpages/gbp-import-srpm.xml
index fcc3eb38..4520e039 100644
--- a/docs/manpages/gbp-import-srpm.xml
+++ b/docs/manpages/gbp-import-srpm.xml
@@ -25,6 +25,7 @@
<arg><option>--author-is-committer</option></arg>
<arg><option>--packaging-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
<arg><option>--packaging-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+ <arg><option>--skip-packaging-tag</option></arg>
<arg><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg>
<arg><option>--filter=</option><replaceable>PATTERN</replaceable></arg>
<arg><option>--keyid=</option><replaceable>GPG-KEYID</replaceable></arg>
@@ -127,6 +128,15 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>--skip-packaging-tag</option>
+ </term>
+ <listitem>
+ <para>
+ Do not create &packaging; tag after importing the packaging files.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable>
</term>
<listitem>
diff --git a/gbp/scripts/import_srpm.py b/gbp/scripts/import_srpm.py
index 4230267b..ffef4985 100755
--- a/gbp/scripts/import_srpm.py
+++ b/gbp/scripts/import_srpm.py
@@ -174,6 +174,9 @@ def build_parser(name):
dest="packaging_tag")
tag_group.add_config_file_option(option_name="upstream-tag",
dest="upstream_tag")
+ tag_group.add_option("--skip-packaging-tag", dest="skip_packaging_tag",
+ action="store_true",
+ help="Don't add a tag after importing packaging files")
import_group.add_config_file_option(option_name="filter",
dest="filters", action="append")
@@ -390,11 +393,12 @@ def main(argv):
author=author,
committer=committer,
create_missing_branch=options.create_missing_branches)
- repo.create_tag(name=upstream_tag,
- msg=msg,
- commit=upstream_commit,
- sign=options.sign_tags,
- keyid=options.keyid)
+ if not (options.native and options.skip_packaging_tag):
+ repo.create_tag(name=upstream_tag,
+ msg=msg,
+ commit=upstream_commit,
+ sign=options.sign_tags,
+ keyid=options.keyid)
if not options.native:
if options.pristine_tar:
@@ -423,7 +427,6 @@ def main(argv):
"option.")
raise GbpError
- tag = repo.version_to_tag(options.packaging_tag, tag_str_fields)
msg = "%s release %s" % (options.vendor, full_version)
if options.orphan_packaging or not sources:
@@ -457,11 +460,13 @@ def main(argv):
force_to_branch_head(repo, options.packaging_branch)
# Create packaging tag
- repo.create_tag(name=tag,
- msg=msg,
- commit=commit,
- sign=options.sign_tags,
- keyid=options.keyid)
+ if not options.skip_packaging_tag:
+ tag = repo.version_to_tag(options.packaging_tag, tag_str_fields)
+ repo.create_tag(name=tag,
+ msg=msg,
+ commit=commit,
+ sign=options.sign_tags,
+ keyid=options.keyid)
force_to_branch_head(repo, options.packaging_branch)
diff --git a/tests/component/rpm/test_import_srpm.py b/tests/component/rpm/test_import_srpm.py
index 02f19aac..15db0cf0 100644
--- a/tests/component/rpm/test_import_srpm.py
+++ b/tests/component/rpm/test_import_srpm.py
@@ -214,12 +214,20 @@ class TestImportPacked(ComponentTestBase):
1)
self._check_log(-1, ".*Missing value 'foo' in.*")
- # Try with good keywords
+ # Try with good keywords, with --skip-packaging-tag
eq_(mock_import(['--no-pristine-tar', '--vendor=foo',
+ '--skip-packaging-tag',
'--packaging-tag=%(vendor)s/%(version)s',
'--upstream-tag=upst/%(version)s', srpm]), 0)
- eq_(repo.describe('HEAD'), 'foo/1.0-1')
eq_(repo.describe('upstream'), 'upst/1.0')
+ eq_(len(repo.get_tags()), 1)
+
+ # Re-import, creating packaging tag
+ eq_(mock_import(['--no-pristine-tar', '--vendor=foo',
+ '--packaging-tag=%(vendor)s/%(version)s',
+ '--upstream-tag=upst/%(version)s', srpm]), 0)
+ eq_(repo.describe('HEAD'), 'foo/1.0-1')
+ eq_(len(repo.get_tags()), 2)
def test_tagging_native(self):
"""Test tagging of native packages with import-srpm"""
@@ -230,11 +238,19 @@ class TestImportPacked(ComponentTestBase):
srpm, '--native']), 1)
self._check_log(-1, ".*Missing value 'foo' in {.*")
- # Try with good keywords, upstream tag format should not matter
+ # Try with good keywords, with --skip-packaging-tag.
+ # Upstream tag format should not matter
eq_(mock_import(['--no-pristine-tar', '--vendor=foo', '--native',
+ '--skip-packaging-tag',
'--packaging-tag=%(vendor)s/%(version)s',
'--upstream-tag=%(foo)s', srpm]), 0)
repo = GitRepository('gbp-test-native')
+ eq_(len(repo.get_tags()), 0)
+
+ # Run again, now creating packaging tag
+ eq_(mock_import(['--no-pristine-tar', '--vendor=foo', '--native',
+ '--packaging-tag=%(vendor)s/%(version)s',
+ '--upstream-tag=%(foo)s', srpm]), 0)
eq_(repo.describe('HEAD'), 'foo/1.0-1')
def test_misc_options(self):