From 5e36840881f81f1d91327b82ebc03c1221c88eeb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= <opohorel@redhat.com>
Date: Tue, 12 Dec 2023 11:53:37 +0100
Subject: [PATCH] Update to version 3.4.1

Resolves: RHEL-17102
---
 .gitignore                                    |  2 +
 ...8dc62ed2eb158eaec28af90d2f509e7fd91f.patch | 25 -----------
 gen-manpages.sh                               | 13 +++---
 git-lfs.spec                                  | 44 ++++++++++++-------
 sources                                       |  4 +-
 5 files changed, 37 insertions(+), 51 deletions(-)
 delete mode 100644 11fe8dc62ed2eb158eaec28af90d2f509e7fd91f.patch

diff --git a/.gitignore b/.gitignore
index fe2b5dc..1d0370c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,5 @@
 /manpages.tgz
 /git-lfs-v2.13.3.tar.gz
 /git-lfs-v3.2.0.tar.gz
+/git-lfs-v3.4.0.tar.gz
+/git-lfs-v3.4.1.tar.gz
diff --git a/11fe8dc62ed2eb158eaec28af90d2f509e7fd91f.patch b/11fe8dc62ed2eb158eaec28af90d2f509e7fd91f.patch
deleted file mode 100644
index 6d429eb..0000000
--- a/11fe8dc62ed2eb158eaec28af90d2f509e7fd91f.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a119ca768dfeefef7609b55acbf6400fafb0ee5a Mon Sep 17 00:00:00 2001
-From: "brian m. carlson" <bk2204@github.com>
-Date: Mon, 25 Jul 2022 17:29:34 +0000
-Subject: [PATCH] t: set init.defaultBranch
-
-Previously, we used a template to set the default HEAD ref to "main" so
-that our branch would be correct.  It appears that Git has changed
-things so that that no longer works, so set init.defaultBranch as well
-to make sure we initialize new repositories properly.
----
- t/testhelpers.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/t/testhelpers.sh b/t/testhelpers.sh
-index 7c921f43e8..ea5dc05c4f 100644
---- a/t/testhelpers.sh
-+++ b/t/testhelpers.sh
-@@ -607,6 +607,7 @@ setup() {
-     git config --global http.$LFS_CLIENT_CERT_URL/.sslKey "$LFS_CLIENT_KEY_FILE"
-     git config --global http.$LFS_CLIENT_CERT_URL/.sslCert "$LFS_CLIENT_CERT_FILE"
-     git config --global http.$LFS_CLIENT_CERT_URL/.sslVerify "false"
-+    git config --global init.defaultBranch main
-   fi | sed -e 's/^/# /g'
- 
-   # setup the git credential password storage
diff --git a/gen-manpages.sh b/gen-manpages.sh
index 786df0b..057506e 100644
--- a/gen-manpages.sh
+++ b/gen-manpages.sh
@@ -1,16 +1,15 @@
-# As `ronn` package has not been packaged for RHEL7 yet, man pages need to be generated on Fedora when rebasing to a new version as follows:
+# As `asciidoctor` package has not been packaged to RHEL 8:
 
-# Pass package version(eg. `2.4.1`) as argument
+# Pass package version(eg. `3.4.0`) as argument
 
 VERSION=$1
 
-cd git-lfs-$VERSION/docs
+cd git-lfs-$VERSION
 
-ronn --roff man/*.ronn
+make man GIT_LFS_SHA=unused VERSION=unused PREFIX=unused
+rm -r man/html
 
-cd ..
-
-tar -czvf manpages.tgz docs/man/*.{1,5}
+tar -czvf manpages.tgz man/*
 
 cp manpages.tgz ../
 
diff --git a/git-lfs.spec b/git-lfs.spec
index b64d686..e90c87c 100644
--- a/git-lfs.spec
+++ b/git-lfs.spec
@@ -5,7 +5,7 @@
 
 # https://github.com/git-lfs/git-lfs
 %global goipath         github.com/git-lfs/git-lfs
-Version:                3.2.0
+Version:                3.4.1
 
 # golang doesn't ship i686 binaries, we don't need the build
 # https://bugzilla.redhat.com/show_bug.cgi?id=1752991#c9
@@ -19,17 +19,16 @@ Version:                3.2.0
 %global gobuild CGO_CPPFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-all" go build -compiler gc -buildmode pie '-tags=rpm_crashtraceback libtrust_openssl ' -ldflags "-linkmode=external -compressdwarf=false ${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**}
 
 Name:           git-lfs
-Release:        2%{?dist}
+Release:        1%{?dist}
 Summary:        Git extension for versioning large files
 
 License:        MIT
 URL:            https://git-lfs.github.io/
 Source0:        https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-v%{version}.tar.gz
 Source1:        manpages.tgz
-# See this script. Generating of manpages is performed on other distros due to some missing numerous dependencies on RHEL
+# See this script. Generating of manpages is performed on other distros due to some missing rubygem-asciidoctor on RHEL-8
 Source2:        gen-manpages.sh
 
-Patch:          https://github.com/git-lfs/git-lfs/commit/11fe8dc62ed2eb158eaec28af90d2f509e7fd91f.patch
 
 # Generated provides by vendor2provides.py
 # https://src.fedoraproject.org/rpms/syncthing/blob/603e4e03a92a7d704d199629dd85304018e8279d/f/vendor2provides.py
@@ -37,12 +36,12 @@ Provides:       bundled(golang(github.com/alexbrainman/sspi)) = 909beea
 Provides:       bundled(golang(github.com/avast/retry-go)) = 2.4.2+incompatible
 Provides:       bundled(golang(github.com/davecgh/go-spew)) = 1.1.1
 Provides:       bundled(golang(github.com/dpotapov/go-spnego)) = 298b63a
-Provides:       bundled(golang(github.com/git-lfs/gitobj/v2)) = 2.1.0
+Provides:       bundled(golang(github.com/git-lfs/gitobj/v2)) = 2.1.1
 Provides:       bundled(golang(github.com/git-lfs/go-netrc)) = f0c862d
 Provides:       bundled(golang(github.com/git-lfs/pktline)) = 06e9096
 Provides:       bundled(golang(github.com/git-lfs/wildmatch/v2)) = 2.0.1
 Provides:       bundled(golang(github.com/hashicorp/go-uuid)) = 1.0.2
-Provides:       bundled(golang(github.com/inconshreveable/mousetrap)) = 1.0.0
+Provides:       bundled(golang(github.com/inconshreveable/mousetrap)) = 1.0.1
 Provides:       bundled(golang(github.com/jcmturner/aescts/v2)) = 2.0.0
 Provides:       bundled(golang(github.com/jcmturner/dnsutils/v2)) = 2.0.0
 Provides:       bundled(golang(github.com/jcmturner/gofork)) = 1.0.0
@@ -55,19 +54,20 @@ Provides:       bundled(golang(github.com/olekukonko/ts)) = 78ecb04
 Provides:       bundled(golang(github.com/pkg/errors)) = c605e28
 Provides:       bundled(golang(github.com/pmezard/go-difflib)) = 1.0.0
 Provides:       bundled(golang(github.com/rubyist/tracerx)) = 7879593
-Provides:       bundled(golang(github.com/spf13/cobra)) = 0.0.3
-Provides:       bundled(golang(github.com/spf13/pflag)) = 1.0.3
+Provides:       bundled(golang(github.com/spf13/cobra)) = 1.6.0
+Provides:       bundled(golang(github.com/spf13/pflag)) = 1.0.5
 Provides:       bundled(golang(github.com/ssgelm/cookiejarparser)) = 1.0.1
 Provides:       bundled(golang(github.com/stretchr/testify)) = 1.6.1
 Provides:       bundled(golang(github.com/xeipuuv/gojsonpointer)) = 4e3ac27
 Provides:       bundled(golang(github.com/xeipuuv/gojsonreference)) = bd5ef7b
 Provides:       bundled(golang(github.com/xeipuuv/gojsonschema)) = 6b67b3f
 Provides:       bundled(golang(golang.org/x/crypto)) = 7b82a4e
-Provides:       bundled(golang(golang.org/x/net)) = 69e39ba
-Provides:       bundled(golang(golang.org/x/sync)) = 036812b
-Provides:       bundled(golang(golang.org/x/sys)) = 665e8c7
-Provides:       bundled(golang(golang.org/x/text)) = 0.3.7
-Provides:       bundled(golang(gopkg.in/yaml.v3)) = 9f266ea
+Provides:       bundled(golang(golang.org/x/net)) = 0.7.0
+Provides:       bundled(golang(golang.org/x/sync)) = 0.1.0
+Provides:       bundled(golang(golang.org/x/sys)) = 0.5.0
+Provides:       bundled(golang(golang.org/x/text)) = 0.7.0
+Provides:       bundled(golang(gopkg.in/yaml.v3)) = 3.0.1
+
 
 %if 0%{?with_check}
 # For tests
@@ -129,12 +129,15 @@ popd
 # In Fedora this is done by using %%gopkginstall
 install -Dpm0755 %{gobuilddir}/bin/git-lfs %{buildroot}%{_bindir}/%{name}
 install -d -p %{buildroot}%{_mandir}/man1/
-install -Dpm0644 docs/man/*.1 %{buildroot}%{_mandir}/man1/
+install -Dpm0644 man/man1/*.1 %{buildroot}%{_mandir}/man1/
 install -d -p %{buildroot}%{_mandir}/man5/
-install -Dpm0644 docs/man/*.5 %{buildroot}%{_mandir}/man5/
+install -Dpm0644 man/man5/*.5 %{buildroot}%{_mandir}/man5/
+install -d -p %{buildroot}%{_mandir}/man7/
+install -Dpm0644 man/man7/*.7 %{buildroot}%{_mandir}/man7/
+
 # Remove unwanted files from man folder
 # https://bugzilla.redhat.com/show_bug.cgi?id=1852842
-rm docs/man/*.1 docs/man/*.5
+rm -r man/*
 
 
 %post
@@ -150,7 +153,9 @@ exit 0
 %if %{with check}
 %check
 PATH=%{buildroot}%{_bindir}:%{gobuilddir}/bin:$PATH \
-    make -C t PROVE_EXTRA_ARGS="-j$(getconf _NPROCESSORS_ONLN)"
+# https://github.com/git-lfs/git-lfs/issues/5609
+# tests fails when running with low level of parallelism
+    make -C t PROVE_EXTRA_ARGS="-j40 -v"
 %endif
 
 
@@ -161,9 +166,14 @@ PATH=%{buildroot}%{_bindir}:%{gobuilddir}/bin:$PATH \
 %{_bindir}/%{name}
 %{_mandir}/man1/%{name}*.1*
 %{_mandir}/man5/%{name}*.5*
+%{_mandir}/man7/%{name}*.7*
 
 
 %changelog
+* Mon Dec 18 2023 Ondrej Pohorelsky <opohorel@redhat.com> - 3.4.1-1
+- Update to version 3.4.1
+- Resolves: RHEL-17102
+
 * Mon Jan 30 2023 Ondrej Pohorelsky <opohorel@redhat.com> - 3.2.0-2
 - Rebuild with Golang-1.19.4
 - Resolves: #2163744
diff --git a/sources b/sources
index f330611..2b32640 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (git-lfs-v3.2.0.tar.gz) = c2ba8cecd5b3519a032f446b0c3043352f37f3c67ff3c2304a38beb176f0ae8efd1deaeb8bd54a35d7dd7dcd988da67249c896dffd83fc293b165a3e6bb02d66
-SHA512 (manpages.tgz) = 87a331bd39c88df06d988fcaa840cab9042395ba210eae6897ac409265efafc480bf4b374ec6c0cf2cfc112376206f50ccf6ecc338a672043c1bfa6d97d56d72
+SHA512 (git-lfs-v3.4.1.tar.gz) = 1c19b1ba683062c7c71d80b648afd218fbb87320ed88d1cba06195fa3ea1bb38f44c14b99a541ffbf6e4d52c8ebca05c1accd693d1079de76cacd0f23f5aee3a
+SHA512 (manpages.tgz) = 0c62f42b17624c35a0ed111d3a2af6839c06c1cf0400477c8f018d05a98e5f1a03924fcc7fd6ea1a3300b67504d205a4ae00382855f6c2ce1a089e12c6f16c3e