commit
e8115505d3
@ -0,0 +1,26 @@
|
||||
From 5f1d7c576160b1682a5787018c1aa82b8cb0e747 Mon Sep 17 00:00:00 2001
|
||||
From: Mat Booth <mat.booth@redhat.com>
|
||||
Date: Fri, 7 Dec 2018 10:04:44 +0000
|
||||
Subject: [PATCH 1/2] Ensure the correct classpath is set for the jgit command
|
||||
line tool
|
||||
|
||||
---
|
||||
org.eclipse.jgit.pgm/jgit.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/org.eclipse.jgit.pgm/jgit.sh b/org.eclipse.jgit.pgm/jgit.sh
|
||||
index e263782..4086e37 100644
|
||||
--- a/org.eclipse.jgit.pgm/jgit.sh
|
||||
+++ b/org.eclipse.jgit.pgm/jgit.sh
|
||||
@@ -60,7 +60,7 @@ esac
|
||||
this_script=`which "$0" 2>/dev/null`
|
||||
[ $? -gt 0 -a -f "$0" ] && this_script="$0"
|
||||
cp=$this_script
|
||||
-
|
||||
+export JGIT_CLASSPATH="$(build-classpath jgit slf4j/api slf4j/simple args4j jzlib jsch commons-compress xz-java javaewah httpcomponents/httpcore httpcomponents/httpclient commons-logging commons-codec eddsa apache-sshd/sshd-osgi apache-sshd/sshd-sftp)"
|
||||
platform="`uname`"
|
||||
if [ -n "$JGIT_CLASSPATH" ]
|
||||
then
|
||||
--
|
||||
2.20.1
|
||||
|
||||
45
0002-Ensure-all-packages-are-exported.patch
Normal file
45
0002-Ensure-all-packages-are-exported.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From 77a7644525c260098740a6670bf389b3957b746a Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Sohn <a@a.com>
|
||||
Date: Sun, 16 Jun 2019 02:30:10 +0200
|
||||
Subject: [PATCH 2/2] Ensure all packages are exported
|
||||
|
||||
This wasn't the case for the bundles
|
||||
- org.eclipse.jgit.ant
|
||||
- org.eclipse.jgit.archive
|
||||
|
||||
Change-Id: Ibefcc82174fe23a9c1afb765099957414ac3556b
|
||||
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>---
|
||||
org.eclipse.jgit.ant/META-INF/MANIFEST.MF | 4 ++--
|
||||
org.eclipse.jgit.archive/META-INF/MANIFEST.MF | 3 ++-
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
---
|
||||
org.eclipse.jgit.ant/META-INF/MANIFEST.MF | 4 ++--
|
||||
org.eclipse.jgit.archive/META-INF/MANIFEST.MF | 3 ++-
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF
|
||||
index bb61635..7b24bf6 100644
|
||||
--- a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF
|
||||
+++ b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF
|
||||
@@ -9,5 +9,5 @@ Import-Package: org.apache.tools.ant,
|
||||
org.eclipse.jgit.storage.file;version="[5.4.0,5.5.0)"
|
||||
Bundle-Localization: plugin
|
||||
Bundle-Vendor: %Provider-Name
|
||||
-Export-Package: org.eclipse.jgit.ant.tasks;version="5.4.0";
|
||||
- uses:="org.apache.tools.ant.types,org.apache.tools.ant"
|
||||
+Export-Package: org.eclipse.jgit.ant,
|
||||
+ org.eclipse.jgit.ant.tasks;version="5.4.0";uses:="org.apache.tools.ant.types,org.apache.tools.ant"
|
||||
diff --git a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF
|
||||
index 1fa5e8c..0eabf1f 100644
|
||||
--- a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF
|
||||
+++ b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF
|
||||
@@ -25,4 +25,5 @@ Export-Package: org.eclipse.jgit.archive;version="5.4.0";
|
||||
uses:="org.eclipse.jgit.lib,
|
||||
org.eclipse.jgit.api,
|
||||
org.apache.commons.compress.archivers,
|
||||
- org.osgi.framework"
|
||||
+ org.osgi.framework",
|
||||
+ org.eclipse.jgit.archive.internal;x-internal:=true
|
||||
--
|
||||
2.20.1
|
||||
|
||||
86
0003-Remove-dependency-on-javax.xml.bind-package.patch
Normal file
86
0003-Remove-dependency-on-javax.xml.bind-package.patch
Normal file
@ -0,0 +1,86 @@
|
||||
From 0d1cc8f8d3adb99f75fce180d857077ada3a19ee Mon Sep 17 00:00:00 2001
|
||||
From: David Ostrovsky <a@a.com>
|
||||
Date: Mon, 17 Jun 2019 23:28:52 +0200
|
||||
Subject: [PATCH 3/3] Remove dependency on javax.xml.bind package
|
||||
|
||||
Replace javax.xml.bind.DatatypeConverter, that is not available any
|
||||
more in Java 11 and later with Hex utility from non optional Bouncy
|
||||
Castle library.
|
||||
|
||||
Bug: 540790
|
||||
Change-Id: I9903c00ecc1a434e9795b8ba9267f02628fdc0e9
|
||||
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
|
||||
---
|
||||
BUILD | 7 -------
|
||||
org.eclipse.jgit/BUILD | 4 ----
|
||||
.../src/org/eclipse/jgit/transport/WalkEncryption.java | 7 +++----
|
||||
3 files changed, 3 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/BUILD b/BUILD
|
||||
index 5fea669..be6dd76 100644
|
||||
--- a/BUILD
|
||||
+++ b/BUILD
|
||||
@@ -1,12 +1,5 @@
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
-config_setting(
|
||||
- name = "jdk9",
|
||||
- values = {
|
||||
- "java_toolchain": "@bazel_tools//tools/jdk:toolchain_jdk9",
|
||||
- },
|
||||
-)
|
||||
-
|
||||
genrule(
|
||||
name = "all",
|
||||
testonly = 1,
|
||||
diff --git a/org.eclipse.jgit/BUILD b/org.eclipse.jgit/BUILD
|
||||
index b67bfac..814ecec 100644
|
||||
--- a/org.eclipse.jgit/BUILD
|
||||
+++ b/org.eclipse.jgit/BUILD
|
||||
@@ -14,10 +14,6 @@ RESOURCES = glob(["resources/**"])
|
||||
java_library(
|
||||
name = "jgit",
|
||||
srcs = SRCS,
|
||||
- javacopts = select({
|
||||
- "//:jdk9": ["--add-modules=java.xml.bind"],
|
||||
- "//conditions:default": [],
|
||||
- }),
|
||||
resource_strip_prefix = "org.eclipse.jgit/resources",
|
||||
resources = RESOURCES,
|
||||
deps = [
|
||||
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
|
||||
index b4248ee..7a973af 100644
|
||||
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
|
||||
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
|
||||
@@ -66,8 +66,8 @@
|
||||
import javax.crypto.spec.PBEKeySpec;
|
||||
import javax.crypto.spec.PBEParameterSpec;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
-import javax.xml.bind.DatatypeConverter;
|
||||
|
||||
+import org.bouncycastle.util.encoders.Hex;
|
||||
import org.eclipse.jgit.internal.JGitText;
|
||||
import org.eclipse.jgit.util.Base64;
|
||||
|
||||
@@ -301,7 +301,7 @@ InputStream decrypt(InputStream in) throws IOException {
|
||||
String DEFAULT_KEY_ALGO = JetS3tV2.ALGORITHM;
|
||||
String DEFAULT_KEY_SIZE = Integer.toString(JetS3tV2.KEY_SIZE);
|
||||
String DEFAULT_KEY_ITER = Integer.toString(JetS3tV2.ITERATIONS);
|
||||
- String DEFAULT_KEY_SALT = DatatypeConverter.printHexBinary(JetS3tV2.SALT);
|
||||
+ String DEFAULT_KEY_SALT = Hex.toHexString(JetS3tV2.SALT);
|
||||
|
||||
String EMPTY = ""; //$NON-NLS-1$
|
||||
|
||||
@@ -377,8 +377,7 @@ static GeneralSecurityException securityError(String message) {
|
||||
|
||||
final byte[] salt;
|
||||
try {
|
||||
- salt = DatatypeConverter
|
||||
- .parseHexBinary(keySalt.replaceAll(REGEX_WS, EMPTY));
|
||||
+ salt = Hex.decode(keySalt.replaceAll(REGEX_WS, EMPTY));
|
||||
} catch (Exception e) {
|
||||
throw securityError(X_KEY_SALT + EMPTY + keySalt);
|
||||
}
|
||||
--
|
||||
2.20.1
|
||||
|
||||
BIN
jgit-5.4.0.201906121030-r.tar.xz
Normal file
BIN
jgit-5.4.0.201906121030-r.tar.xz
Normal file
Binary file not shown.
98
jgit.spec
Normal file
98
jgit.spec
Normal file
@ -0,0 +1,98 @@
|
||||
%global gittag 5.4.0.201906121030-r
|
||||
%bcond_with tests
|
||||
Name: jgit
|
||||
Version: 5.4.0
|
||||
Release: 1
|
||||
Summary: A pure java implementation of git
|
||||
License: BSD
|
||||
URL: https://www.eclipse.org/jgit/
|
||||
Source0: https://git.eclipse.org/c/jgit/jgit.git/snapshot/jgit-%{gittag}.tar.xz
|
||||
Patch0: 0001-Ensure-the-correct-classpath-is-set-for-the-jgit-com.patch
|
||||
Patch1: 0002-Ensure-all-packages-are-exported.patch
|
||||
Patch2: 0003-Remove-dependency-on-javax.xml.bind-package.patch
|
||||
BuildArch: noarch
|
||||
BuildRequires: maven-local mvn(args4j:args4j) mvn(com.google.code.gson:gson)
|
||||
BuildRequires: mvn(com.googlecode.javaewah:JavaEWAH) mvn(com.jcraft:jsch)
|
||||
BuildRequires: mvn(com.jcraft:jzlib) mvn(javax.servlet:javax.servlet-api) mvn(junit:junit)
|
||||
BuildRequires: mvn(net.i2p.crypto:eddsa) mvn(org.apache.ant:ant)
|
||||
BuildRequires: mvn(org.apache.commons:commons-compress)
|
||||
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
|
||||
BuildRequires: mvn(org.apache.httpcomponents:httpcore)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
|
||||
BuildRequires: mvn(org.apache.sshd:sshd-osgi) >= 2.2.0 mvn(org.apache.sshd:sshd-sftp) >= 2.2.0
|
||||
BuildRequires: mvn(org.bouncycastle:bcpg-jdk15on) >= 1.61
|
||||
BuildRequires: mvn(org.bouncycastle:bcpkix-jdk15on) >= 1.61
|
||||
BuildRequires: mvn(org.bouncycastle:bcprov-jdk15on) >= 1.61
|
||||
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
|
||||
BuildRequires: mvn(org.eclipse.jetty:jetty-servlet) mvn(org.osgi:osgi.core)
|
||||
BuildRequires: mvn(org.slf4j:slf4j-api) mvn(org.slf4j:slf4j-simple) mvn(org.tukaani:xz)
|
||||
%if %{with tests}
|
||||
BuildRequires: git mvn(org.hamcrest:hamcrest-library) mvn(org.mockito:mockito-core)
|
||||
%endif
|
||||
Requires: bouncycastle >= 1.61 apache-sshd >= 1:2.2.0
|
||||
%description
|
||||
A pure Java implementation of the Git version control system and command
|
||||
line interface.
|
||||
|
||||
%package javadoc
|
||||
Summary: API documentation for %{name}
|
||||
%description javadoc
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%setup -n jgit-%{gittag} -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
rm .mvn/maven.config
|
||||
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:executions/pom:execution[pom:id='compile-with-errorprone']" pom.xml
|
||||
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:executions/pom:execution[pom:id='default-compile']/pom:configuration" pom.xml
|
||||
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:dependencies" pom.xml
|
||||
%pom_change_dep -r org.osgi:org.osgi.core org.osgi:osgi.core:provided
|
||||
%pom_disable_module org.eclipse.jgit.coverage
|
||||
%pom_remove_plugin :jacoco-maven-plugin
|
||||
%pom_remove_plugin :maven-javadoc-plugin
|
||||
%pom_remove_plugin -r :maven-source-plugin
|
||||
%pom_remove_plugin :maven-enforcer-plugin
|
||||
%pom_remove_plugin -r :japicmp-maven-plugin
|
||||
sed -i -e 's/@{argLine}//' $(find -name pom.xml)
|
||||
%pom_remove_plugin org.codehaus.mojo:build-helper-maven-plugin org.eclipse.jgit.pgm
|
||||
%pom_remove_plugin :spring-boot-maven-plugin org.eclipse.jgit.pgm
|
||||
%pom_xpath_remove "pom:plugins/pom:plugin/pom:executions/pom:execution[pom:id='create_jgit']" org.eclipse.jgit.pgm
|
||||
sed -i -e 's/org\.springframework\.boot\.loader\.JarLauncher/org.eclipse.jgit.pgm.Main/' \
|
||||
org.eclipse.jgit.pgm/jgit.sh
|
||||
%pom_remove_dep log4j:log4j . org.eclipse.jgit.pgm
|
||||
%pom_change_dep org.slf4j:slf4j-log4j12 org.slf4j:slf4j-simple . org.eclipse.jgit.pgm
|
||||
%if %{without tests}
|
||||
sed -i -e '/\.test<\/module>/d' pom.xml
|
||||
%endif
|
||||
%mvn_package ":*.test" __noinstall
|
||||
|
||||
%build
|
||||
%if %{without tests}
|
||||
%mvn_build -f -- -Pjavac
|
||||
%else
|
||||
%mvn_build -- -Pjavac -Dmaven.test.failure.ignore=true
|
||||
%endif
|
||||
|
||||
%install
|
||||
%mvn_install
|
||||
install -dm 755 %{buildroot}%{_bindir}
|
||||
install -m 755 org.eclipse.jgit.pgm/jgit.sh %{buildroot}%{_bindir}/jgit
|
||||
install -dm 755 %{buildroot}%{_sysconfdir}/ant.d
|
||||
cat > %{buildroot}%{_sysconfdir}/ant.d/jgit <<EOF
|
||||
jgit/org.eclipse.jgit jgit/org.eclipse.jgit.ant slf4j/slf4j-api slf4j/slf4j-simple jzlib jsch commons-compress xz-java javaewah httpcomponents/httpcore httpcomponents/httpclient commons-logging commons-codec eddsa apache-sshd/sshd-osgi apache-sshd/sshd-sftp
|
||||
EOF
|
||||
|
||||
%files -f .mfiles
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/jgit
|
||||
%config(noreplace) %{_sysconfdir}/ant.d/jgit
|
||||
|
||||
%files javadoc -f .mfiles-javadoc
|
||||
%license LICENSE
|
||||
|
||||
%changelog
|
||||
* Fri Aug 7 2020 Jeffery.Gao <gaojianxing@huawei.com> - 5.4.0-1
|
||||
- Package init
|
||||
Loading…
x
Reference in New Issue
Block a user