summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-08-17 18:08:18 +0000
committerGerrit Code Review <review@openstack.org>2015-08-17 18:08:18 +0000
commit628073a31ca2a5c27c71c129bd9583623dc2ad29 (patch)
tree701bcc6014c7fd59c670ec73df155779990b3595
parent7253c18c729ca7285f13e24d017a96438ac11024 (diff)
parent826380603382e4aa2d1eb57649da91dd3ba4e0a5 (diff)
downloadpbr-628073a31ca2a5c27c71c129bd9583623dc2ad29.tar.gz
Merge "Expose a 'rpm_version' extra command"
-rw-r--r--pbr/hooks/commands.py1
-rw-r--r--pbr/packaging.py20
-rw-r--r--pbr/tests/test_commands.py8
3 files changed, 29 insertions, 0 deletions
diff --git a/pbr/hooks/commands.py b/pbr/hooks/commands.py
index 216c9a1..fd757e4 100644
--- a/pbr/hooks/commands.py
+++ b/pbr/hooks/commands.py
@@ -42,6 +42,7 @@ class CommandsConfig(base.BaseConfig):
self.add_command('pbr.packaging.LocalSDist')
self.add_command('pbr.packaging.LocalInstallScripts')
self.add_command('pbr.packaging.LocalDevelop')
+ self.add_command('pbr.packaging.LocalRPMVersion')
if os.name != 'nt':
easy_install.get_script_args = packaging.override_get_script_args
diff --git a/pbr/packaging.py b/pbr/packaging.py
index c8bb61b..ec4388b 100644
--- a/pbr/packaging.py
+++ b/pbr/packaging.py
@@ -28,6 +28,7 @@ import re
import sys
import pkg_resources
+import setuptools
from setuptools.command import develop
from setuptools.command import easy_install
from setuptools.command import egg_info
@@ -202,6 +203,25 @@ class TestrTest(testr_command.Testr):
testr_command.Testr.run(self)
+class LocalRPMVersion(setuptools.Command):
+ __doc__ = """Output the rpm *compatible* version string of this package"""
+ description = __doc__
+
+ user_options = []
+ command_name = "rpm_version"
+
+ def run(self):
+ log.info("[pbr] Extracting rpm version")
+ name = self.distribution.get_name()
+ print(version.VersionInfo(name).semantic_version().rpm_string())
+
+ def initialize_options(self):
+ pass
+
+ def finalize_options(self):
+ pass
+
+
def have_testr():
return testr_command.have_testr
diff --git a/pbr/tests/test_commands.py b/pbr/tests/test_commands.py
index c73a9f3..74f50df 100644
--- a/pbr/tests/test_commands.py
+++ b/pbr/tests/test_commands.py
@@ -56,3 +56,11 @@ class TestCommands(base.BaseTestCase):
self.addDetail('stderr', content.text_content(stderr))
self.assertIn('Running custom build_py command.', stdout)
self.assertEqual(return_code, 0)
+
+ def test_custom_rpm_version_py_command(self):
+ """Test custom rpm_version command."""
+ stdout, stderr, return_code = self.run_setup('rpm_version')
+ self.addDetail('stdout', content.text_content(stdout))
+ self.addDetail('stderr', content.text_content(stderr))
+ self.assertIn('Extracting rpm version', stdout)
+ self.assertEqual(return_code, 0)