From 51610991b8dcc0341bb645071334195e95779c18 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Mon, 13 May 2019 21:13:24 -0400 Subject: [PATCH] Improve JGIT test prereq (jgit on Fedora >= 30 is broken) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Running jgit on Fedora >= 30 results in an immediate failure¹: $ jgit --version /usr/bin/build-classpath: Could not find xz-java Java extension for this JVM /usr/bin/build-classpath: error: Some specified jars were not found Error: Could not find or load main class org.springframework.boot.loader.JarLauncher Skip the jgit tests if 'jgit --version' fails. This way we'll begin running them again once the issue is resolved -- without having to make any further changes to the git package. Also exclude jgit on i386 arch, as upstream eclipse has dropped support. We could adjust the conditional to only exclude on Fedora >= 30 and i386, but the added complexity is not worth the effort. ¹ jgit bug report: https://bugzilla.redhat.com/1709624 --- ...-try-harder-to-ensure-a-working-jgit.patch | 40 +++++++++++++++++++ git.skip-test-patterns | 1 + git.spec | 9 ++++- 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 0001-test-lib-try-harder-to-ensure-a-working-jgit.patch diff --git a/0001-test-lib-try-harder-to-ensure-a-working-jgit.patch b/0001-test-lib-try-harder-to-ensure-a-working-jgit.patch new file mode 100644 index 0000000..fe92096 --- /dev/null +++ b/0001-test-lib-try-harder-to-ensure-a-working-jgit.patch @@ -0,0 +1,40 @@ +From aeb950b03f0ef22bdfee09b505349521e68b7e54 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Tue, 14 May 2019 01:47:25 +0000 +Subject: [PATCH] test-lib: try harder to ensure a working jgit + +The JGIT prereq uses 'type jgit' to determine whether jgit is present. +While this should be sufficient, if the jgit found is broken we'll waste +time running tests which fail due to no fault of our own. + +Use 'jgit --version' instead, to catch some badly broken jgit +installations. + +Signed-off-by: Todd Zullinger +--- +I ran into such a broken jgit on Fedora >= 30¹. This is clearly a +problem in the Fedora jgit package which will hopefully be resolved +soon. But it may be good to avoid wasting time debugging tests which +fail due to such a broken tool which is outside of our control. + +¹ https://bugzilla.redhat.com/1709624 + + t/test-lib.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/test-lib.sh b/t/test-lib.sh +index 908ddb9c46..599fd70e14 100644 +--- a/t/test-lib.sh ++++ b/t/test-lib.sh +@@ -1522,7 +1522,7 @@ test_lazy_prereq NOT_ROOT ' + ' + + test_lazy_prereq JGIT ' +- type jgit ++ jgit --version + ' + + # SANITY is about "can you correctly predict what the filesystem would +-- +2.20.1 + diff --git a/git.skip-test-patterns b/git.skip-test-patterns index 429977f..5aaebef 100644 --- a/git.skip-test-patterns +++ b/git.skip-test-patterns @@ -5,6 +5,7 @@ missing CASE_INSENSITIVE_FS missing CLONE_2GB missing DONTHAVEIT missing EXPENSIVE +missing JGIT missing !?LAZY_(TRUE|FALSE) missing MINGW missing NATIVE_CRLF diff --git a/git.spec b/git.spec index 5a53553..19d8ec2 100644 --- a/git.spec +++ b/git.spec @@ -120,6 +120,10 @@ Source99: print-failed-test-output # https://bugzilla.redhat.com/490602 Patch0: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch +# https://bugzilla.redhat.com/1709624 +# https://public-inbox.org/git/20190514020520.GI3654@pobox.com/ +Patch1: 0001-test-lib-try-harder-to-ensure-a-working-jgit.patch + %if %{with docs} # pod2man is needed to build Git.3pm BuildRequires: %{_bindir}/pod2man @@ -195,9 +199,9 @@ BuildRequires: gnupg2-smime BuildRequires: highlight %endif # fedora, el-6, or el7-ppc64 BuildRequires: httpd -%if 0%{?fedora} && %{_arch} != s390x +%if 0%{?fedora} && ! ( %{_arch} == i386 || %{_arch} == s390x ) BuildRequires: jgit -%endif # fedora (except s390x) +%endif # fedora (except i386 and s390x) BuildRequires: mod_dav_svn BuildRequires: perl(App::Prove) BuildRequires: perl(CGI) @@ -958,6 +962,7 @@ rmdir --ignore-fail-on-non-empty "$testdir" * Mon May 13 2019 Todd Zullinger - 2.22.0-0.0.rc0 - Update to 2.22.0-rc0 - Ensure a consistent format for test output +- Improve JGIT test prereq (jgit on Fedora >= 30 is broken) * Sun Feb 24 2019 Todd Zullinger - 2.21.0-1 - Update to 2.21.0