diff --git a/0001-Handle-git-being-entirely-absent.patch b/0001-Handle-git-being-entirely-absent.patch new file mode 100644 index 0000000..475d84f --- /dev/null +++ b/0001-Handle-git-being-entirely-absent.patch @@ -0,0 +1,46 @@ +From 5c0bb9186fe2d65901744b00af24c8c50b3e1d29 Mon Sep 17 00:00:00 2001 +From: Robert Collins +Date: Mon, 10 Aug 2015 16:22:26 +1200 +Subject: [PATCH] Handle git being entirely absent + +When we try to find the git directory, if git is not present, treat +that the same as an error from git itself. Sadly tests for this are +nearly impossible to meaningfully write, since we always have git +installed. I can do a mock based test if folk want one. + +Change-Id: If6160d1fb3def8133bdd0b66105e60ef93f80f82 +Closes-Bug: #1481468 +--- + pbr/git.py | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/pbr/git.py b/pbr/git.py +index b4ae300..60acd3c 100644 +--- a/pbr/git.py ++++ b/pbr/git.py +@@ -18,6 +18,7 @@ from __future__ import unicode_literals + + import distutils.errors + from distutils import log ++import errno + import io + import os + import re +@@ -64,7 +65,13 @@ def _run_git_command(cmd, git_dir, **kwargs): + + + def _get_git_directory(): +- return _run_shell_command(['git', 'rev-parse', '--git-dir']) ++ try: ++ return _run_shell_command(['git', 'rev-parse', '--git-dir']) ++ except OSError as e: ++ if e.errno == errno.ENOENT: ++ # git not installed. ++ return '' ++ raise + + + def _git_is_installed(): +-- +2.4.6 + diff --git a/python-pbr.changes b/python-pbr.changes index 8389b11..11bfbd1 100644 --- a/python-pbr.changes +++ b/python-pbr.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Aug 12 09:32:35 UTC 2015 - dmueller@suse.com + +- add 0001-Handle-git-being-entirely-absent.patch + ------------------------------------------------------------------- Tue Aug 11 07:34:34 UTC 2015 - seife+obs@b1-systems.com diff --git a/python-pbr.spec b/python-pbr.spec index 370344a..259213c 100644 --- a/python-pbr.spec +++ b/python-pbr.spec @@ -32,6 +32,7 @@ Source1: python-pbr-rpmlintrc # NOTE(toabctl): this is currently in review: https://review.openstack.org/#/c/193462/ # needed to be abe to use pbr with newer Sphinx versions Patch0: 0001-Remove-sphinx_config.init_values-manual-call.patch +Patch1: 0001-Handle-git-being-entirely-absent.patch BuildRequires: fdupes BuildRequires: git BuildRequires: python-devel @@ -71,6 +72,7 @@ information. %prep %setup -q -n pbr-%{version} %patch0 -p1 +%patch1 -p1 # Get rid of ugly build-time deps that require network: sed -i "s/, 'sphinx\.ext\.intersphinx'//" doc/source/conf.py