Fridrich Strba 2024-11-04 21:19:18 +00:00 committed by Git OBS Bridge
commit 51eea70172
16 changed files with 3081 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,67 @@
From a6efa36a04bee412b06af2823281ff9b78827ebf Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Fri, 29 Jan 2021 18:35:25 +0000
Subject: [PATCH 2/2] Don't embed versions of third-party libs, use feature
requirements instead
---
.../feature.xml | 24 +++----------------
.../feature.xml | 2 ++
2 files changed, 5 insertions(+), 21 deletions(-)
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml
index 92d171f..ca1f6de 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml
@@ -24,6 +24,9 @@
<requires>
<import plugin="com.jcraft.jsch"/>
+ <import plugin="org.apache.commons.logging"/>
+ <import plugin="org.apache.sshd.osgi"/>
+ <import plugin="org.apache.sshd.sftp"/>
<import plugin="org.eclipse.jgit" version="5.11.0" match="equivalent"/>
</requires>
@@ -55,25 +58,4 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.apache.commons.logging"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.sshd.osgi"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.sshd.sftp"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
</feature>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml
index 48660d5..843896f 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml
@@ -24,6 +24,8 @@
<requires>
<import feature="org.eclipse.jgit" version="5.11.0" match="equivalent"/>
+ <import plugin="org.apache.sshd.osgi"/>
+ <import plugin="org.apache.sshd.sftp"/>
</requires>
<plugin
--
2.28.0

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>jgit</package>
</multibuild>

139
eclipse-jgit.changes Normal file
View File

@ -0,0 +1,139 @@
-------------------------------------------------------------------
Thu May 23 14:19:57 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Require hamcrest to avoid conflict of providers with hamcrest-core
-------------------------------------------------------------------
Wed Feb 21 21:55:25 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Fri Jan 12 15:25:10 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* jgit-apache-sshd-2.7.0.patch -> jgit-apache-sshd.patch
+ rename patch and make it accept apache-ssd < 3.0.0
-------------------------------------------------------------------
Wed Oct 11 08:47:23 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* jgit-apache-sshd-2.7.0.patch
+ extend even more apache-sshd version span
-------------------------------------------------------------------
Tue Oct 10 15:09:41 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* jgit-CVE-2023-4759.patch
+ backport of upstream fix for bsc#1215298 (CVE-2023-4759),
arbitrary file overwrite
-------------------------------------------------------------------
Fri Oct 6 11:04:41 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Removed patch:
* 0001-Ensure-the-correct-classpath-is-set-for-the-jgit-com.patch
+ no need to patch the jgit.sh launcher that we do not use
-------------------------------------------------------------------
Fri Oct 6 11:00:40 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Craft the jgit script from the real Main class of the jar file
instead of using some superfluous jar launcher.
Fixes bsc#1209646
-------------------------------------------------------------------
Wed May 31 19:51:51 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* jgit-jsch.patch
+ extend the version range for the required jsch package
+ allows building with 0.2.x (which is backward compatible
with 0.1.x)
-------------------------------------------------------------------
Fri May 5 08:24:40 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Add _multibuild to define 2nd spec file as additional flavor.
Eliminates the need for source package links in OBS.
-------------------------------------------------------------------
Mon Mar 27 08:18:14 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Require xz-java because the jgit script that we install is
expecting it to be present when composing the classpath
(bsc#1209646)
-------------------------------------------------------------------
Wed Nov 16 11:24:53 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* jgit-apache-sshd-2.7.0.patch
+ Allow building against apache-sshd 2.8.x and 2.9.x
-------------------------------------------------------------------
Tue Mar 29 14:06:34 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Force building with Java 11, since tycho is not knowing about any
Java >= 15
-------------------------------------------------------------------
Fri Jul 30 12:24:56 UTC 2021 - Fridrich Strba <fstrba@suse.com>
- Update to 5.11.0
* No changelog was made available.
* fixes build against apache-sshd 2.7.0
- Modified patches:
* 0001-Ensure-the-correct-classpath-is-set-for-the-jgit-com.patch
* 0002-Don-t-embed-versions-of-third-party-libs-use-feature.patch
* jgit-shade.patch
* jgit-5.8.0-java8.patch -> jgit-5.11.0-java8.patch
+ Rediff to changed context
- Added patch:
* jgit-apache-sshd-2.7.0.patch
+ Adapt to apache-sshd api changes between 2.6.0 and 2.7.0
- Removed patch:
* 0003-Remove-requirement-on-assertj-core.patch
+ Not needed anymore
-------------------------------------------------------------------
Thu Nov 19 13:00:00 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Fix provides
-------------------------------------------------------------------
Thu Jul 16 21:23:15 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* jgit-5.8.0-java8.patch
+ restore java 8 compatibility when building with java 9+
-------------------------------------------------------------------
Fri Jul 3 09:55:53 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Upgrade to 5.8.0
* No changelog was made available.
- Removed patches:
* fix_jgit_sh.patch
* jgit-feature-deps.patch
- Added patches:
* 0001-Ensure-the-correct-classpath-is-set-for-the-jgit-com.patch
* 0002-Don-t-embed-versions-of-third-party-libs-use-feature.patch
* 0003-Remove-requirement-on-assertj-core.patch
* jgit-shade.patch
-------------------------------------------------------------------
Wed Apr 8 19:57:21 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Split the build into two spec files instead of multibuild
* First one produces the maven artifacts, the jgit command-line
tool and ant feature
* Second one produces eclipse features
-------------------------------------------------------------------
Mon Nov 11 12:09:35 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of eclipse-jgit 5.1.3 as a _multibuild package
in order to allow bootstrapping

164
eclipse-jgit.spec Normal file
View File

@ -0,0 +1,164 @@
#
# spec file for package eclipse-jgit
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global gittag 5.11.0.202103091610-r
%define __provides_exclude osgi*
Name: eclipse-jgit
Version: 5.11.0
Release: 0
Summary: Eclipse JGit
License: BSD-3-Clause
Group: Development/Libraries/Java
URL: https://www.eclipse.org/egit/
Source0: https://git.eclipse.org/c/jgit/jgit.git/snapshot/jgit-%{gittag}.tar.xz
# Set the correct classpath for the command line tools
# Switch to feature requirements for third-party bundles, also makes the following changes:
# javaewah -> com.googlecode.javaewah.JavaEWAH
# org.slf4j.api -> slf4j.api
# org.slf4j.impl.log4j12 -> slf4j.simple
Patch1: 0002-Don-t-embed-versions-of-third-party-libs-use-feature.patch
Patch2: jgit-shade.patch
Patch3: jgit-5.11.0-java8.patch
Patch4: jgit-apache-sshd.patch
Patch5: jgit-jsch.patch
Patch6: jgit-CVE-2023-4759.patch
Patch7: jgit-bc-179.patch
# For main build
BuildRequires: ant
BuildRequires: apache-commons-compress
BuildRequires: apache-sshd >= 2.7
BuildRequires: args4j
BuildRequires: bouncycastle
BuildRequires: bouncycastle-pg
BuildRequires: bouncycastle-pkix
BuildRequires: eclipse-platform-bootstrap
BuildRequires: ed25519-java
BuildRequires: fdupes
BuildRequires: git
BuildRequires: google-gson
BuildRequires: hamcrest
BuildRequires: javaewah
BuildRequires: jgit = %{version}
BuildRequires: junit
BuildRequires: jzlib
BuildRequires: maven-local
BuildRequires: slf4j
BuildRequires: tycho
BuildRequires: xml-commons-apis
BuildRequires: xmvn-subst
BuildConflicts: java >= 12
BuildConflicts: java-devel >= 12
BuildConflicts: java-headless >= 12
#!BuildIgnore: eclipse-platform
#!BuildIgnore: tycho-bootstrap
#!BuildRequires: eclipse-emf-core eclipse-ecf-core
Requires: apache-commons-compress
Requires: apache-sshd >= 2.7
Requires: args4j
Requires: bouncycastle
Requires: bouncycastle-pg
Requires: bouncycastle-pkix
Requires: ed25519-java
Requires: google-gson
Requires: hamcrest
Requires: javaewah
Requires: jgit = %{version}
Requires: junit
Requires: jzlib
Requires: slf4j
Requires: xml-commons-apis
BuildArch: noarch
# Upstream Eclipse no longer supports non-64bit arches
ExcludeArch: s390 %{arm} %{ix86}
%description
A pure Java implementation of the Git version control system.
%prep
%setup -q -n jgit-%{gittag}
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
%patch -P 5 -p1
%patch -P 6 -p1
%patch -P 7 -p1
# Disable multithreaded build
rm .mvn/maven.config
# Don't try to get deps from local *maven* repo, use tycho resolved ones
for p in $(find org.eclipse.jgit.packaging -name pom.xml) ; do
grep -q dependencies $p && %pom_xpath_remove "pom:dependencies" $p
done
# Disable "errorprone" compiler
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:compilerArgs" pom.xml
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:annotationProcessorPaths" pom.xml
# Don't need target platform or repository modules with xmvn
%pom_disable_module org.eclipse.jgit.target org.eclipse.jgit.packaging
%pom_disable_module org.eclipse.jgit.repository org.eclipse.jgit.packaging
%pom_xpath_remove "pom:build/pom:pluginManagement/pom:plugins/pom:plugin/pom:configuration/pom:target" org.eclipse.jgit.packaging/pom.xml
# Don't build source features
%pom_disable_module org.eclipse.jgit.source.feature org.eclipse.jgit.packaging
# Don't build benchmark and coverage
%pom_disable_module org.eclipse.jgit.benchmarks
%pom_disable_module org.eclipse.jgit.coverage
# Use newer Felix dep
%pom_change_dep -r org.osgi:org.osgi.core org.osgi:osgi.core
# Remove unnecessary plugins for RPM builds
%pom_remove_plugin :jacoco-maven-plugin
%pom_remove_plugin :maven-javadoc-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :maven-enforcer-plugin org.eclipse.jgit.packaging
%pom_remove_plugin -r :japicmp-maven-plugin
# Don't attach shell script artifact
%pom_remove_plugin org.codehaus.mojo:build-helper-maven-plugin org.eclipse.jgit.pgm
# Remove org.apache.log4j
%pom_remove_dep log4j:log4j . org.eclipse.jgit.pgm
%pom_change_dep org.slf4j:slf4j-log4j12 org.slf4j:slf4j-simple . org.eclipse.jgit.pgm
pushd org.eclipse.jgit.packaging
%{mvn_package} "::pom::" __noinstall
popd
%build
pushd org.eclipse.jgit.packaging
%{mvn_build} -j -f
popd
%install
pushd org.eclipse.jgit.packaging
%mvn_install
popd
xmvn-subst -R %{buildroot} %{_datadir}/eclipse/droplets/jgit
#%fdupes -s %{buildroot}%{_datadir}
%files -f org.eclipse.jgit.packaging/.mfiles
%license LICENSE
%doc README.md
%changelog

282
jgit-5.11.0-java8.patch Normal file
View File

@ -0,0 +1,282 @@
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlock.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlock.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlock.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlock.java 2021-07-30 11:47:47.425624542 +0200
@@ -13,6 +13,7 @@
package org.eclipse.jgit.internal.storage.dfs;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.util.zip.CRC32;
import java.util.zip.DataFormatException;
@@ -40,7 +41,7 @@
ByteBuffer zeroCopyByteBuffer(int n) {
ByteBuffer b = ByteBuffer.wrap(block);
- b.position(n);
+ ((Buffer)b).position(n);
return b;
}
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java 2021-07-30 11:47:47.425624542 +0200
@@ -21,6 +21,7 @@
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.text.MessageFormat;
@@ -379,7 +380,7 @@
// Need to skip the 'PACK' header for the first read
int ptr = packHeadSkipped ? 0 : 12;
- buf.position(0);
+ ((Buffer)buf).position(0);
int bufLen = read(rc, buf);
if (bufLen <= ptr) {
throw packfileIsTruncated();
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftable.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftable.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftable.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftable.java 2021-07-30 11:47:47.425624542 +0200
@@ -13,6 +13,7 @@
import static org.eclipse.jgit.internal.storage.pack.PackExt.REFTABLE;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import org.eclipse.jgit.internal.storage.io.BlockSource;
@@ -102,7 +103,7 @@
byte[] dst = new byte[cnt];
ByteBuffer buf = ByteBuffer.wrap(dst);
- buf.position(ctx.copy(file, pos, dst, 0, cnt));
+ ((Buffer)buf).position(ctx.copy(file, pos, dst, 0, cnt));
return buf;
}
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ByteBufferWindow.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ByteBufferWindow.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ByteBufferWindow.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ByteBufferWindow.java 2021-07-30 11:47:47.425624542 +0200
@@ -13,6 +13,7 @@
package org.eclipse.jgit.internal.storage.file;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.util.zip.DataFormatException;
import java.util.zip.Inflater;
@@ -36,7 +37,7 @@
@Override
protected int copy(int p, byte[] b, int o, int n) {
final ByteBuffer s = buffer.slice();
- s.position(p);
+ ((Buffer)s).position(p);
n = Math.min(s.remaining(), n);
s.get(b, o, n);
return n;
@@ -46,7 +47,7 @@
void write(PackOutputStream out, long pos, int cnt)
throws IOException {
final ByteBuffer s = buffer.slice();
- s.position((int) (pos - start));
+ ((Buffer)s).position((int) (pos - start));
while (0 < cnt) {
byte[] buf = out.getCopyBuffer();
@@ -62,7 +63,7 @@
protected int setInput(int pos, Inflater inf)
throws DataFormatException {
final ByteBuffer s = buffer.slice();
- s.position(pos);
+ ((Buffer)s).position(pos);
final byte[] tmp = new byte[Math.min(s.remaining(), 512)];
s.get(tmp, 0, tmp.length);
inf.setInput(tmp, 0, tmp.length);
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/BlockReader.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/BlockReader.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/BlockReader.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/BlockReader.java 2021-07-30 11:47:47.425624542 +0200
@@ -31,6 +31,7 @@
import static org.eclipse.jgit.lib.Ref.Storage.PACKED;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.zip.DataFormatException;
@@ -272,7 +273,7 @@
buf = b.array();
} else {
buf = new byte[bufLen];
- b.flip();
+ ((Buffer)b).flip();
b.get(buf);
}
endPosition = pos + bufLen;
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableReader.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableReader.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableReader.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableReader.java 2021-07-30 11:47:47.425624542 +0200
@@ -23,6 +23,7 @@
import static org.eclipse.jgit.lib.Constants.OBJECT_ID_LENGTH;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.text.MessageFormat;
import java.util.Arrays;
@@ -341,7 +342,7 @@
}
byte[] tmp = new byte[len];
- buf.flip();
+ ((Buffer)buf).flip();
buf.get(tmp);
if (!isFileHeaderMagic(tmp, 0, len)) {
throw new IOException(JGitText.get().invalidReftableFile);
@@ -408,7 +409,7 @@
buf = tmp.array();
} else {
buf = new byte[sz];
- tmp.flip();
+ ((Buffer)tmp).flip();
tmp.get(buf);
}
if (pos == 0 && buf[FILE_HEADER_LEN] == FILE_BLOCK_TYPE) {
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefAdvertiser.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefAdvertiser.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefAdvertiser.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefAdvertiser.java 2021-07-30 11:47:47.425624542 +0200
@@ -17,6 +17,7 @@
import static org.eclipse.jgit.transport.GitProtocolConstants.REF_ATTR_SYMREF_TARGET;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.CharacterCodingException;
@@ -67,7 +68,7 @@
throws IOException {
id.copyTo(binArr, 0);
binArr[OBJECT_ID_STRING_LENGTH] = ' ';
- binBuf.position(OBJECT_ID_STRING_LENGTH + 1);
+ ((Buffer)binBuf).position(OBJECT_ID_STRING_LENGTH + 1);
append(refName);
if (first) {
first = false;
@@ -90,7 +91,7 @@
chBuf = CharBuffer.wrap(chArr);
}
str.getChars(0, n, chArr, 0);
- chBuf.position(0).limit(n);
+ ((Buffer)chBuf).position(0).limit(n);
utf8.reset();
for (;;) {
CoderResult cr = utf8.encode(chBuf, binBuf, true);
@@ -117,7 +118,7 @@
System.arraycopy(binArr, 0, tmp, 0, cnt);
binArr = tmp;
binBuf = ByteBuffer.wrap(binArr);
- binBuf.position(cnt);
+ ((Buffer)binBuf).position(cnt);
}
@Override
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java 2021-07-30 11:47:47.425624542 +0200
@@ -18,6 +18,7 @@
import static org.eclipse.jgit.lib.ObjectChecker.encoding;
import static org.eclipse.jgit.lib.ObjectChecker.tagger;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.charset.CharacterCodingException;
import java.nio.charset.Charset;
@@ -1137,7 +1138,7 @@
final byte[] buffer, final int start, final int end)
throws CharacterCodingException {
ByteBuffer b = ByteBuffer.wrap(buffer, start, end - start);
- b.mark();
+ ((Buffer)b).mark();
// Try our built-in favorite. The assumption here is that
// decoding will fail if the data is not actually encoded
@@ -1145,7 +1146,7 @@
try {
return decode(b, UTF_8);
} catch (CharacterCodingException e) {
- b.reset();
+ ((Buffer)b).reset();
}
if (!cs.equals(UTF_8)) {
@@ -1154,7 +1155,7 @@
try {
return decode(b, cs);
} catch (CharacterCodingException e) {
- b.reset();
+ ((Buffer)b).reset();
}
}
@@ -1165,7 +1166,7 @@
try {
return decode(b, defcs);
} catch (CharacterCodingException e) {
- b.reset();
+ ((Buffer)b).reset();
}
}
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java 2021-07-30 11:47:47.425624542 +0200
@@ -10,6 +10,7 @@
package org.eclipse.jgit.lfs.server.fs;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
@@ -85,11 +86,11 @@
public void onWritePossible() throws IOException {
while (out.isReady()) {
try {
- buffer.clear();
+ ((Buffer)buffer).clear();
if (in.read(buffer) < 0) {
buffer = null;
} else {
- buffer.flip();
+ ((Buffer)buffer).flip();
}
} catch (Throwable t) {
LOG.log(Level.SEVERE, t.getMessage(), t);
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectUploadListener.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectUploadListener.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectUploadListener.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectUploadListener.java 2021-07-30 11:47:47.425624542 +0200
@@ -11,6 +11,7 @@
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
@@ -131,11 +132,11 @@
public void onDataAvailable() throws IOException {
while (in.isReady()) {
if (inChannel.read(buffer) > 0) {
- buffer.flip();
+ ((Buffer)buffer).flip();
uploaded += Integer.valueOf(channel.write(buffer)).longValue();
buffer.compact();
} else {
- buffer.flip();
+ ((Buffer)buffer).flip();
while (buffer.hasRemaining()) {
uploaded += Integer.valueOf(channel.write(buffer))
.longValue();

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91621edf2e92b79c377d1fb8e747ac52dde20f39441b091a439a13efe36f0577
size 2159996

1694
jgit-CVE-2023-4759.patch Normal file

File diff suppressed because it is too large Load Diff

260
jgit-apache-sshd.patch Normal file
View File

@ -0,0 +1,260 @@
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF 2021-07-30 12:03:35.087914326 +0200
@@ -8,31 +8,31 @@
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.apache.sshd.common;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.config.keys;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.file.virtualfs;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.helpers;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.io;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.kex;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.keyprovider;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.session;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.signature;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.buffer;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.logging;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.security;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.threads;version="[2.6.0,2.7.0)",
- org.apache.sshd.core;version="[2.6.0,2.7.0)",
- org.apache.sshd.server;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.auth;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.auth.gss;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.auth.keyboard;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.auth.password;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.command;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.session;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.shell;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.subsystem;version="[2.6.0,2.7.0)",
- org.apache.sshd.sftp;version="[2.6.0,2.7.0)",
- org.apache.sshd.sftp.server;version="[2.6.0,2.7.0)",
+Import-Package: org.apache.sshd.common;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.config.keys;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.file.virtualfs;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.helpers;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.io;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.kex;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.keyprovider;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.session;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.signature;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.buffer;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.logging;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.security;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.threads;version="[2.7.0,3.0.0)",
+ org.apache.sshd.core;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.auth;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.auth.gss;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.auth.keyboard;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.auth.password;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.command;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.session;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.shell;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.subsystem;version="[2.7.0,3.0.0)",
+ org.apache.sshd.sftp;version="[2.7.0,3.0.0)",
+ org.apache.sshd.sftp.server;version="[2.7.0,3.0.0)",
org.eclipse.jgit.annotations;version="[5.11.0,5.12.0)",
org.eclipse.jgit.api;version="[5.11.0,5.12.0)",
org.eclipse.jgit.api.errors;version="[5.11.0,5.12.0)",
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF 2021-07-30 12:03:35.087914326 +0200
@@ -33,51 +33,51 @@
org.apache.sshd.client.session,
org.apache.sshd.client.keyverifier"
Import-Package: net.i2p.crypto.eddsa;version="[0.3.0,0.4.0)",
- org.apache.sshd.agent;version="[2.6.0,2.7.0)",
- org.apache.sshd.client;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.auth;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.auth.keyboard;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.auth.password;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.auth.pubkey;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.channel;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.config.hosts;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.config.keys;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.future;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.keyverifier;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.session;version="[2.6.0,2.7.0)",
- org.apache.sshd.client.session.forward;version="[2.6.0,2.7.0)",
- org.apache.sshd.common;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.auth;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.channel;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.compression;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.config.keys;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.config.keys.loader;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.digest;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.forward;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.future;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.helpers;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.io;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.kex;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.keyprovider;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.mac;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.random;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.session;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.session.helpers;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.signature;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.buffer;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.closeable;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.io;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.io.resource;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.logging;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.net;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.security;version="[2.6.0,2.7.0)",
- org.apache.sshd.core;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.auth;version="[2.6.0,2.7.0)",
- org.apache.sshd.sftp;version="[2.6.0,2.7.0)",
- org.apache.sshd.sftp.client;version="[2.6.0,2.7.0)",
- org.apache.sshd.sftp.common;version="[2.6.0,2.7.0)",
+ org.apache.sshd.agent;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.auth;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.auth.keyboard;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.auth.password;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.auth.pubkey;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.channel;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.config.hosts;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.config.keys;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.future;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.keyverifier;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.session;version="[2.7.0,3.0.0)",
+ org.apache.sshd.client.session.forward;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.auth;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.channel;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.compression;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.config.keys;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.config.keys.loader;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.digest;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.forward;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.future;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.helpers;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.io;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.kex;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.keyprovider;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.mac;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.random;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.session;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.session.helpers;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.signature;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.buffer;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.closeable;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.io;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.io.resource;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.logging;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.net;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.security;version="[2.7.0,3.0.0)",
+ org.apache.sshd.core;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.auth;version="[2.7.0,3.0.0)",
+ org.apache.sshd.sftp;version="[2.7.0,3.0.0)",
+ org.apache.sshd.sftp.client;version="[2.7.0,3.0.0)",
+ org.apache.sshd.sftp.common;version="[2.7.0,3.0.0)",
org.eclipse.jgit.annotations;version="[5.11.0,5.12.0)",
org.eclipse.jgit.errors;version="[5.11.0,5.12.0)",
org.eclipse.jgit.fnmatch;version="[5.11.0,5.12.0)",
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitClientSession.java jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitClientSession.java
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitClientSession.java 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitClientSession.java 2021-07-30 12:04:40.688349950 +0200
@@ -133,8 +133,8 @@
}
@Override
- protected IoWriteFuture sendIdentification(String ident)
- throws IOException {
+ protected IoWriteFuture sendIdentification(String ident,
+ List<String> extraLines) throws Exception {
StatefulProxyConnector proxy = proxyHandler;
if (proxy != null) {
try {
@@ -142,7 +142,8 @@
// from the peer only once the initial sendKexInit() following
// this call to sendIdentification() has returned!
proxy.runWhenDone(() -> {
- JGitClientSession.super.sendIdentification(ident);
+ JGitClientSession.super.sendIdentification(ident,
+ extraLines);
return null;
});
// Called only from the ClientSessionImpl constructor, where the
@@ -154,12 +155,11 @@
throw new IOException(other.getLocalizedMessage(), other);
}
}
- return super.sendIdentification(ident);
+ return super.sendIdentification(ident, extraLines);
}
@Override
- protected byte[] sendKexInit()
- throws IOException, GeneralSecurityException {
+ protected byte[] sendKexInit() throws Exception {
StatefulProxyConnector proxy = proxyHandler;
if (proxy != null) {
try {
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF 2021-07-30 12:03:35.087914326 +0200
@@ -7,18 +7,18 @@
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.apache.sshd.client.config.hosts;version="[2.6.0,2.7.0)",
- org.apache.sshd.common;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.auth;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.config.keys;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.helpers;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.keyprovider;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.session;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.net;version="[2.6.0,2.7.0)",
- org.apache.sshd.common.util.security;version="[2.6.0,2.7.0)",
- org.apache.sshd.core;version="[2.6.0,2.7.0)",
- org.apache.sshd.server;version="[2.6.0,2.7.0)",
- org.apache.sshd.server.forward;version="[2.6.0,2.7.0)",
+Import-Package: org.apache.sshd.client.config.hosts;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.auth;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.config.keys;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.helpers;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.keyprovider;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.session;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.net;version="[2.7.0,3.0.0)",
+ org.apache.sshd.common.util.security;version="[2.7.0,3.0.0)",
+ org.apache.sshd.core;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server;version="[2.7.0,3.0.0)",
+ org.apache.sshd.server.forward;version="[2.7.0,3.0.0)",
org.eclipse.jgit.api;version="[5.11.0,5.12.0)",
org.eclipse.jgit.api.errors;version="[5.11.0,5.12.0)",
org.eclipse.jgit.internal.transport.sshd.proxy;version="[5.11.0,5.12.0)",
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.test/META-INF/MANIFEST.MF jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.test/META-INF/MANIFEST.MF
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.test/META-INF/MANIFEST.MF 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.test/META-INF/MANIFEST.MF 2021-07-30 11:58:52.578038135 +0200
@@ -15,7 +15,6 @@
org.apache.commons.compress.compressors.bzip2;version="[1.15.0,2.0)",
org.apache.commons.compress.compressors.gzip;version="[1.15.0,2.0)",
org.apache.commons.compress.compressors.xz;version="[1.15.0,2.0)",
- org.assertj.core.api;version="[3.14.0,4.0.0)",
org.eclipse.jgit.annotations;version="[5.11.0,5.12.0)",
org.eclipse.jgit.api;version="[5.11.0,5.12.0)",
org.eclipse.jgit.api.errors;version="[5.11.0,5.12.0)",
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.test/pom.xml jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.test/pom.xml
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.test/pom.xml 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.test/pom.xml 2021-07-30 11:57:51.365631621 +0200
@@ -66,11 +66,6 @@
</dependency>
<dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.23.0</version>
Only in jgit-5.11.0.202103091610-r/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport: RequestValidatorTestCase.java

16
jgit-bc-179.patch Normal file
View File

@ -0,0 +1,16 @@
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.gpg.bc/src/org/eclipse/jgit/gpg/bc/internal/keys/OCBPBEProtectionRemoverFactory.java 2024-11-04 21:53:31.607619683 +0100
+++ jgit-5.11.0.202103091610-r/org.eclipse.jgit.gpg.bc/src/org/eclipse/jgit/gpg/bc/internal/keys/OCBPBEProtectionRemoverFactory.java 2024-11-04 22:13:28.412238521 +0100
@@ -116,6 +116,12 @@
}
}
}
+
+ public byte[] recoverKeyData(int encAlgorithm, int aeadAlgorithm,
+ byte[] s2kKey, byte[] iv, int packetTag, int keyVersion,
+ byte[] keyData, byte[] pubkeyData) throws PGPException {
+ throw new PGPException("Unimplemented method");
+ }
};
}
}
\ No newline at end of file

11
jgit-jsch.patch Normal file
View File

@ -0,0 +1,11 @@
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF 2023-05-31 21:46:41.989226527 +0200
@@ -15,7 +15,7 @@
org.eclipse.jgit.internal.transport.ssh,
org.eclipse.jgit.util,
com.jcraft.jsch"
-Import-Package: com.jcraft.jsch;version="[0.1.37,0.2.0)",
+Import-Package: com.jcraft.jsch;version="[0.1.37,1.0.0)",
org.eclipse.jgit.errors;version="[5.11.0,5.12.0)",
org.eclipse.jgit.internal;version="[5.11.0,5.12.0)",
org.eclipse.jgit.internal.transport.ssh;version="[5.11.0,5.12.0)",

93
jgit-shade.patch Normal file
View File

@ -0,0 +1,93 @@
diff -urEbwB jgit-5.11.0.202103091610-r/org.eclipse.jgit.pgm/pom.xml jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.pgm/pom.xml
--- jgit-5.11.0.202103091610-r/org.eclipse.jgit.pgm/pom.xml 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.pgm/pom.xml 2021-07-30 11:40:33.894748622 +0200
@@ -157,19 +157,40 @@
</plugin>
<plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
+ <phase>package</phase>
<goals>
- <goal>repackage</goal>
+ <goal>shade</goal>
</goals>
<configuration>
<finalName>jgit-cli</finalName>
- <attach>false</attach>
- <mainClass>org.eclipse.jgit.pgm.Main</mainClass>
- <executable>true</executable>
- <embeddedLaunchScript>jgit.sh</embeddedLaunchScript>
+ <createDependencyReducedPom>false</createDependencyReducedPom>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <manifestEntries>
+ <Main-Class>org.eclipse.jgit.pgm.Main</Main-Class>
+ <Implementation-Title>JGit Command Line Interface</Implementation-Title>
+ </manifestEntries>
+ </transformer>
+ </transformers>
+ <filters>
+ <!-- exclude the signing data for individual jars, ueberjar will be signed again -->
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>META-INF/*.SF</exclude>
+ <exclude>META-INF/*.DSA</exclude>
+ <exclude>META-INF/*.RSA</exclude>
+ <exclude>OSGI-OPT/**</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <shadedArtifactAttached>true</shadedArtifactAttached>
+ <shadedClassifierName>shaded</shadedClassifierName> <!-- Any name that makes sense -->
</configuration>
</execution>
</executions>
@@ -184,13 +205,11 @@
<phase>package</phase>
<configuration>
<target>
- <move
- file="${basedir}/target/jgit-cli.jar"
- force="yes"
- tofile="${basedir}/target/jgit" />
- <chmod
- file="${basedir}/target/jgit"
- perm="a+x" />
+ <concat destfile="${basedir}/target/jgit" force="yes" binary="true">
+ <fileset file="${basedir}/jgit.sh" />
+ <fileset file="${basedir}/target/jgit-cli.jar" />
+ </concat>
+ <chmod file="${basedir}/target/jgit" perm="a+x"/>
</target>
</configuration>
<goals>
Only in jgit-5.11.0.202103091610-r.new/org.eclipse.jgit.pgm: pom.xml.orig
diff -urEbwB jgit-5.11.0.202103091610-r/pom.xml jgit-5.11.0.202103091610-r.new/pom.xml
--- jgit-5.11.0.202103091610-r/pom.xml 2021-03-09 22:10:22.000000000 +0100
+++ jgit-5.11.0.202103091610-r.new/pom.xml 2021-07-30 11:41:51.715264903 +0200
@@ -394,16 +394,6 @@
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <version>2.4.1</version>
- </plugin>
- <plugin>
- <groupId>org.eclipse.dash</groupId>
- <artifactId>license-tool-plugin</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </plugin>
</plugins>
</pluginManagement>
Only in jgit-5.11.0.202103091610-r.new: pom.xml.orig
Only in jgit-5.11.0.202103091610-r.new: pom.xml.rej

139
jgit.changes Normal file
View File

@ -0,0 +1,139 @@
-------------------------------------------------------------------
Thu May 23 14:19:57 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Require hamcrest to avoid conflict of providers with hamcrest-core
-------------------------------------------------------------------
Wed Feb 21 21:55:25 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Fri Jan 12 15:25:10 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* jgit-apache-sshd-2.7.0.patch -> jgit-apache-sshd.patch
+ rename patch and make it accept apache-ssd < 3.0.0
-------------------------------------------------------------------
Wed Oct 11 08:47:23 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* jgit-apache-sshd-2.7.0.patch
+ extend even more apache-sshd version span
-------------------------------------------------------------------
Tue Oct 10 15:09:41 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* jgit-CVE-2023-4759.patch
+ backport of upstream fix for bsc#1215298 (CVE-2023-4759),
arbitrary file overwrite
-------------------------------------------------------------------
Fri Oct 6 11:04:41 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Removed patch:
* 0001-Ensure-the-correct-classpath-is-set-for-the-jgit-com.patch
+ no need to patch the jgit.sh launcher that we do not use
-------------------------------------------------------------------
Fri Oct 6 11:00:40 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Craft the jgit script from the real Main class of the jar file
instead of using some superfluous jar launcher.
Fixes bsc#1209646
-------------------------------------------------------------------
Wed May 31 19:51:51 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* jgit-jsch.patch
+ extend the version range for the required jsch package
+ allows building with 0.2.x (which is backward compatible
with 0.1.x)
-------------------------------------------------------------------
Fri May 5 08:24:40 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Add _multibuild to define 2nd spec file as additional flavor.
Eliminates the need for source package links in OBS.
-------------------------------------------------------------------
Mon Mar 27 08:18:14 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Require xz-java because the jgit script that we install is
expecting it to be present when composing the classpath
(bsc#1209646)
-------------------------------------------------------------------
Wed Nov 16 11:24:53 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Modified patch:
* jgit-apache-sshd-2.7.0.patch
+ Allow building against apache-sshd 2.8.x and 2.9.x
-------------------------------------------------------------------
Tue Mar 29 14:06:34 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Force building with Java 11, since tycho is not knowing about any
Java >= 15
-------------------------------------------------------------------
Fri Jul 30 12:24:56 UTC 2021 - Fridrich Strba <fstrba@suse.com>
- Update to 5.11.0
* No changelog was made available.
* fixes build against apache-sshd 2.7.0
- Modified patches:
* 0001-Ensure-the-correct-classpath-is-set-for-the-jgit-com.patch
* 0002-Don-t-embed-versions-of-third-party-libs-use-feature.patch
* jgit-shade.patch
* jgit-5.8.0-java8.patch -> jgit-5.11.0-java8.patch
+ Rediff to changed context
- Added patch:
* jgit-apache-sshd-2.7.0.patch
+ Adapt to apache-sshd api changes between 2.6.0 and 2.7.0
- Removed patch:
* 0003-Remove-requirement-on-assertj-core.patch
+ Not needed anymore
-------------------------------------------------------------------
Thu Nov 19 13:00:00 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Fix provides
-------------------------------------------------------------------
Thu Jul 16 21:23:15 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* jgit-5.8.0-java8.patch
+ restore java 8 compatibility when building with java 9+
-------------------------------------------------------------------
Fri Jul 3 09:55:53 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Upgrade to 5.8.0
* No changelog was made available.
- Removed patches:
* fix_jgit_sh.patch
* jgit-feature-deps.patch
- Added patches:
* 0001-Ensure-the-correct-classpath-is-set-for-the-jgit-com.patch
* 0002-Don-t-embed-versions-of-third-party-libs-use-feature.patch
* 0003-Remove-requirement-on-assertj-core.patch
* jgit-shade.patch
-------------------------------------------------------------------
Wed Apr 8 19:57:21 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Split the build into two spec files instead of multibuild
* First one produces the maven artifacts, the jgit command-line
tool and ant feature
* Second one produces eclipse features
-------------------------------------------------------------------
Mon Nov 11 12:09:35 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of eclipse-jgit 5.1.3 as a _multibuild package
in order to allow bootstrapping

184
jgit.spec Normal file
View File

@ -0,0 +1,184 @@
#
# spec file for package jgit
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global gittag 5.11.0.202103091610-r
Name: jgit
Version: 5.11.0
Release: 0
Summary: Eclipse JGit
License: BSD-3-Clause
Group: Development/Libraries/Java
URL: https://www.eclipse.org/egit/
# Use github mirror for now, see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=522144
Source0: https://git.eclipse.org/c/jgit/jgit.git/snapshot/jgit-%{gittag}.tar.xz
# Set the correct classpath for the command line tools
# Switch to feature requirements for third-party bundles, also makes the following changes:
# javaewah -> com.googlecode.javaewah.JavaEWAH
# org.slf4j.api -> slf4j.api
# org.slf4j.impl.log4j12 -> slf4j.simple
Patch1: 0002-Don-t-embed-versions-of-third-party-libs-use-feature.patch
Patch2: jgit-shade.patch
Patch3: jgit-5.11.0-java8.patch
Patch4: jgit-apache-sshd.patch
Patch5: jgit-jsch.patch
Patch6: jgit-CVE-2023-4759.patch
Patch7: jgit-bc-179.patch
# For main build
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: git
BuildRequires: maven-local
BuildRequires: mvn(args4j:args4j)
BuildRequires: mvn(com.google.code.gson:gson)
BuildRequires: mvn(com.googlecode.javaewah:JavaEWAH)
BuildRequires: mvn(com.jcraft:jsch)
BuildRequires: mvn(com.jcraft:jzlib)
BuildRequires: mvn(javax.servlet:javax.servlet-api)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(net.i2p.crypto:eddsa)
BuildRequires: 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.maven.plugins:maven-shade-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.apache.sshd:sshd-osgi) >= 2.4
BuildRequires: mvn(org.apache.sshd:sshd-sftp) >= 2.4
BuildRequires: mvn(org.bouncycastle:bcpg-jdk15on)
BuildRequires: mvn(org.bouncycastle:bcpkix-jdk15on)
BuildRequires: mvn(org.bouncycastle:bcprov-jdk15on)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.eclipse.jetty:jetty-servlet)
BuildRequires: mvn(org.mockito:mockito-core)
BuildRequires: mvn(org.osgi:osgi.core)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.slf4j:slf4j-simple)
BuildRequires: mvn(org.tukaani:xz)
# All the jars that need to be on the classpath for the script to work
Requires: apache-commons-codec
Requires: apache-commons-compress
Requires: apache-commons-logging
Requires: apache-sshd
Requires: args4j
Requires: ed25519-java
Requires: httpcomponents-client
Requires: httpcomponents-core
Requires: javaewah
Requires: javapackages-tools
Requires: jsch
Requires: jzlib
Requires: slf4j
Requires: xz-java
Obsoletes: %{name}-bootstrap
BuildArch: noarch
%description
Command line Git tool built entirely in Java.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
%{summary}.
%prep
%setup -q -n jgit-%{gittag}
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
%patch -P 5 -p1
%patch -P 6 -p1
%patch -P 7 -p1
# Disable multithreaded build
rm .mvn/maven.config
# Don't try to get deps from local *maven* repo, use tycho resolved ones
for p in $(find org.eclipse.jgit.packaging -name pom.xml) ; do
grep -q dependencies $p && %pom_xpath_remove "pom:dependencies" $p
done
# Disable "errorprone" compiler
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:compilerArgs" pom.xml
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:annotationProcessorPaths" pom.xml
# Don't need target platform or repository modules with xmvn
%pom_disable_module org.eclipse.jgit.target org.eclipse.jgit.packaging
%pom_disable_module org.eclipse.jgit.repository org.eclipse.jgit.packaging
%pom_xpath_remove "pom:build/pom:pluginManagement/pom:plugins/pom:plugin/pom:configuration/pom:target" org.eclipse.jgit.packaging/pom.xml
# Don't build source features
%pom_disable_module org.eclipse.jgit.source.feature org.eclipse.jgit.packaging
# Don't build benchmark and coverage
%pom_disable_module org.eclipse.jgit.benchmarks
%pom_disable_module org.eclipse.jgit.coverage
# Use newer Felix dep
%pom_change_dep -r org.osgi:org.osgi.core org.osgi:osgi.core
# Remove unnecessary plugins for RPM builds
%pom_remove_plugin :jacoco-maven-plugin
%pom_remove_plugin :maven-javadoc-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :maven-enforcer-plugin org.eclipse.jgit.packaging
%pom_remove_plugin -r :japicmp-maven-plugin
# Don't attach shell script artifact
%pom_remove_plugin org.codehaus.mojo:build-helper-maven-plugin org.eclipse.jgit.pgm
# Remove org.apache.log4j
%pom_remove_dep log4j:log4j . org.eclipse.jgit.pgm
%pom_change_dep org.slf4j:slf4j-log4j12 org.slf4j:slf4j-simple . org.eclipse.jgit.pgm
%{mvn_package} ":*.test" __noinstall
%build
%{mvn_build} -f -- \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-Dmaven.compiler.release=8 \
%endif
-Pjavac
%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
# Binary
%jpackage_script org.eclipse.jgit.pgm.Main "" "" javaewah:jzlib:jsch:jgit:slf4j/api:slf4j/simple:args4j:commons-compress:httpcomponents/httpcore:httpcomponents/httpclient:commons-logging:commons-codec:eddsa:apache-sshd/sshd-osgi:apache-sshd/sshd-sftp %{name}
# Ant task configuration
install -dm 755 %{buildroot}%{_sysconfdir}/ant.d
cat > %{buildroot}%{_sysconfdir}/ant.d/jgit <<EOF
javaewah jzlib jsch jgit/org.eclipse.jgit jgit/org.eclipse.jgit.ant slf4j/slf4j-api slf4j/slf4j-simple httpcomponents/httpcore httpcomponents/httpclient commons-logging commons-codec
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

2
pre_checkin.sh Normal file
View File

@ -0,0 +1,2 @@
#!/bin/sh
cp eclipse-jgit.changes jgit.changes