summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/pbr/files/pbr-1.4.0_no-git.patch43
-rw-r--r--dev-python/pbr/pbr-1.4.0.ebuild5
2 files changed, 46 insertions, 2 deletions
diff --git a/dev-python/pbr/files/pbr-1.4.0_no-git.patch b/dev-python/pbr/files/pbr-1.4.0_no-git.patch
new file mode 100644
index 000000000000..78a451e3a610
--- /dev/null
+++ b/dev-python/pbr/files/pbr-1.4.0_no-git.patch
@@ -0,0 +1,43 @@
+From 5c0bb9186fe2d65901744b00af24c8c50b3e1d29 Mon Sep 17 00:00:00 2001
+From: Robert Collins <rbtcollins@hp.com>
+Date: Mon, 10 Aug 2015 16:22:26 +1200
+Subject: 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
+
+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():
+--
+cgit v0.10.2
+
diff --git a/dev-python/pbr/pbr-1.4.0.ebuild b/dev-python/pbr/pbr-1.4.0.ebuild
index 0016a6f8418c..525b14804f64 100644
--- a/dev-python/pbr/pbr-1.4.0.ebuild
+++ b/dev-python/pbr/pbr-1.4.0.ebuild
@@ -14,8 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-#KEYWORDS="~amd64 ~hppa ~amd64-linux ~x86-linux"
-KEYWORDS=""
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
DEPEND="
@@ -59,6 +58,8 @@ python_prepare_all() {
distutils-r1_python_prepare_all
}
+PATCHES=( "${FILESDIR}/${PN}-${PV}_no-git.patch" )
+
python_test() {
# Note; Tests, that have been removed, pass once package is emerged.
esetup.py testr