@ -1,21 +1,33 @@
# Build man pages
%global with_manpages 1
%bcond_without check
%bcond_without check
# https://github.com/git-lfs/git-lfs
# https://github.com/git-lfs/git-lfs
%global goipath github.com/git-lfs/git-lfs
%global goipath github.com/git-lfs/git-lfs
Version : 3.4.1
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
%global golang_arches %(echo %{golang_arches} | sed " s | %{ix86} | | " )
%gometa
%gometa
%global gobuilddir %{_builddir} /%{name} -%{version} /_build
%global gobuilddir %{_builddir} /%{name} -%{version} /_build
# define gobuild macro to not lose hardening, because of macro conflict
# https://bugzilla.redhat.com/show_bug.cgi?id=1919348
%global gobuild CGO_CPPFLAGS=" - D _ F O R T I F Y _ S O U R C E = 2 - f s t a c k - p r o t e c t o r - a l l " go build -compiler gc -buildmode pie '-tags=rpm_crashtraceback libtrust_openssl ' -ldflags " - l i n k m o d e = e x t e r n a l - c o m p r e s s d w a r f = f a l s e $ { L D F L A G S : - } - B 0 x $ ( h e a d - c 2 0 / d e v / u r a n d o m | o d - A n - t x 1 | t r - d ' \\ n ' ) - e x t l d f l a g s ' %__global_ldflags ' " -a -v -x %{?**}
Name : git-lfs
Name : git-lfs
Release : 3%{?dist}
Release : 2 %{?dist}
Summary : Git extension for versioning large files
Summary : Git extension for versioning large files
License : MIT
License : MIT
URL : https://git-lfs.github.io/
URL : https://git-lfs.github.io/
Source0 : https://github.com/%{name} /%{name} /releases/download/v%{version} /%{name} -v%{version} .tar.gz
Source0 : https://github.com/%{name} /%{name} /releases/download/v%{version} /%{name} -v%{version} .tar.gz
Source1 : README.Fedora
Source1 : manpages.tgz
# See this script. Generating of manpages is performed on other distros due to some missing rubygem-asciidoctor on RHEL-8
Source2 : gen-manpages.sh
# Generated provides by vendor2provides.py
# Generated provides by vendor2provides.py
@ -57,11 +69,8 @@ Provides: bundled(golang(golang.org/x/text)) = 0.7.0
Provides : bundled(golang(gopkg.in/yaml.v3)) = 3.0.1
Provides : bundled(golang(gopkg.in/yaml.v3)) = 3.0.1
# Generate man pages
%if 0%{?with_check}
BuildRequires : /usr/bin/asciidoctor
# For tests
%if %{with check}
# Tests
BuildRequires : perl-Digest-SHA
BuildRequires : perl-Digest-SHA
BuildRequires : perl-Test-Harness
BuildRequires : perl-Test-Harness
# Tests require full git suite, but not generally needed.
# Tests require full git suite, but not generally needed.
@ -83,6 +92,11 @@ install -m 0755 -vd %{gobuilddir}/bin
install -m 0755 -vd " $ ( d i r n a m e %{gobuilddir} / s r c / %{goipath} ) "
install -m 0755 -vd " $ ( d i r n a m e %{gobuilddir} / s r c / %{goipath} ) "
ln -fs " $ ( p w d ) " " %{gobuilddir} / s r c / %{goipath} "
ln -fs " $ ( p w d ) " " %{gobuilddir} / s r c / %{goipath} "
%if %{?with_manpages}
# Unpack manpages generated by %%{SOURCE2}
tar -xf %{SOURCE1}
%endif
# Modify tests so that they expect binaries where we build them.
# Modify tests so that they expect binaries where we build them.
sed -i -e 's!\.\./bin/!/%{gobuilddir}/bin/!g' t/Makefile
sed -i -e 's!\.\./bin/!/%{gobuilddir}/bin/!g' t/Makefile
sed -i -e 's!^BINPATH=.\+!BINPATH="%{gobuilddir}/bin"!g' t/testenv.sh
sed -i -e 's!^BINPATH=.\+!BINPATH="%{gobuilddir}/bin"!g' t/testenv.sh
@ -91,15 +105,13 @@ sed -i -e 's!^BINPATH=.\+!BINPATH="%{gobuilddir}/bin"!g' t/testenv.sh
export GOPATH=%{gobuilddir} :%{gopath}
export GOPATH=%{gobuilddir} :%{gopath}
export GO111MODULE=off
export GO111MODULE=off
# Enable FIPS support at build time by enabling CGO and enforcing strict FIPS runtime
export CGO_ENABLED=1
export GOEXPERIMENT=strictfipsruntime
# Build manpages first (some embedding in the executable is done.)
# Build manpages first (some embedding in the executable is done.)
make man GIT_LFS_SHA=unused VERSION=unused PREFIX=unused
pushd docs
pushd docs
%gobuild -o %{gobuilddir} /bin/mangen man/mangen.go
%gobuild -o mangen man/mangen.go
%{gobuilddir} /bin/mangen
./mangen
# Removes unwanted source files
# https://bugzilla.redhat.com/show_bug.cgi?id=1852842
rm mangen man/mangen.go
popd
popd
%gobuild -o %{gobuilddir} /bin/git-lfs %{goipath}
%gobuild -o %{gobuilddir} /bin/git-lfs %{goipath}
@ -112,17 +124,21 @@ done
%gobuild -o " %{gobuilddir} / b i n / g i t - l f s - t e s t - s e r v e r - a p i " t/git-lfs-test-server-api/*.go
%gobuild -o " %{gobuilddir} / b i n / g i t - l f s - t e s t - s e r v e r - a p i " t/git-lfs-test-server-api/*.go
popd
popd
# Remove man pages from docs so they don't get installed twice.
rm -r docs/man
%install
%install
# In Fedora this is done by using %%gopkginstall
# In Fedora this is done by using %%gopkginstall
install -Dpm0755 %{gobuilddir} /bin/git-lfs %{buildroot} %{_bindir} /%{name}
install -Dpm0755 %{gobuilddir} /bin/git-lfs %{buildroot} %{_bindir} /%{name}
for section in 1 5 7; do
install -d -p %{buildroot} %{_mandir} /man1/
install -d -p %{buildroot} %{_mandir} /man${section}/
install -Dpm0644 man/man1/*.1 %{buildroot} %{_mandir} /man1/
install -Dpm0644 man/man${section}/*.${section} %{buildroot} %{_mandir} /man${section}/
install -d -p %{buildroot} %{_mandir} /man5/
done
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 -r man/*
%post
%post
%{_bindir} /%{name} install --system --skip-repo
%{_bindir} /%{name} install --system --skip-repo
@ -136,7 +152,6 @@ exit 0
%if %{with check}
%if %{with check}
%check
%check
%gocheck
PATH=%{buildroot} %{_bindir} :%{gobuilddir} /bin:$PATH \
PATH=%{buildroot} %{_bindir} :%{gobuilddir} /bin:$PATH \
# https://github.com/git-lfs/git-lfs/issues/5609
# https://github.com/git-lfs/git-lfs/issues/5609
# tests fails when running with low level of parallelism
# tests fails when running with low level of parallelism
@ -155,128 +170,46 @@ PATH=%{buildroot}%{_bindir}:%{gobuilddir}/bin:$PATH \
%changelog
%changelog
* Wed Aug 07 2024 Ondřej Pohořelský <opohorel@redhat.com> - 3.4.1-3
* Mon Apr 22 2024 Ondřej Pohořelský <opohorel@redhat.com> - 3.4.1-2
- Make Git-LFS FIPS compliant
- Resolves: RHEL-53086
* Wed May 22 2024 Ondřej Pohořelský <opohorel@redhat.com> - 3.4.1-2
- Rebuild with new Golang
- Rebuild with new Golang
- Resolves: RHEL-32571
- Resolves: RHEL-32543, RHEL-28377, RHEL-28399, RHEL-28423
* Mon Dec 18 2023 Ondřej Pohořelský <opohorel@redhat.com> - 3.4.1-1
* Mon Dec 18 2023 Ondrej Pohorelsky <opohorel@redhat.com> - 3.4.1-1
- Update to 3.4.1
- Update to version 3.4.1
- Resolves: RHEL-17101
- Resolves: RHEL-17102
* Thu Jan 05 2023 Ondřej Pohořelský <opohorel@redhat.com> - 3.2.0-1
* Mon Jan 30 2023 Ondrej Pohorelsky <opohorel@redhat.com> - 3.2.0-2
- Update to 3.2.0
- Rebuild with Golang-1.19.4
- Resolves: #21 39383
- Resolves: #21 63744
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.13.3-4
* Mon Jan 09 2023 Ondrej Pohorelsky <opohorel@redhat.com> - 3.2.0-1
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
- Update to version 3.2.0
Related: rhbz#1991688
- Resolves: #2139382
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 2.13.3-3
* Mon Jan 17 2022 Ondrej Pohorelsky <opohorel@redhat.com> - 2.13.3-2
- Rebuilt for RHEL 9 BETA for openssl 3.0
- Define %%gobuild macro with proper ldflags
Related: rhbz#1971065
- Related: rhbz#2021549
* Wed May 05 2021 Ondřej Pohořelský <opohorel@redhat.com> - 2.13.3-2
* Tue Nov 23 2021 Ondrej Pohorelsky <opohorel@redhat.com> - 2.13.3-1
- Fixed name of source tarball
- Update to version 2.13.3
- Fixed date in the latest changelog entry
- Fixed round brackets in Provides
- Related: #1952517
- Moved manpages.tgz to look-a-side cache
- Resolves: rhbz#2021549, rhbz#1870080, rhbz#1866441
* Thu Apr 22 2021 Ondřej Pohořelský <opohorel@redhat.com> - 2.13.3-1
* Wed Jul 1 2020 Ondrej Pohorelsky <opohorel@redhat.com> - 2.11.0-2
- Update to latest version
- Removed mangen source file
- Resolves: #1952517
- Cleaned docs/man folder
- Resolves: rhbz#1852842
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 2.13.0-2
* Wed Jun 10 2020 Ondrej Pohorelsky <opohorel@redhat.com> - 2.11.0-1
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
- Update to version 2.11.0
- Resolves: rhbz#1783391
* Wed Jan 06 2021 Ondřej Pohořelský <opohorel@redhat.com> - 2.13.0-1
* Thu Jul 19 2018 Sebastian Kisela <skisela@redhat.com> - 2.4.1-3
- Enable bundling
- Add pregenerated manpages, due to missing dependency 'ronn' in rhel7.
- Update to latest version
* Mon Nov 09 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.12.1-1
* Wed Jul 18 2018 Sebastian Kisela <skisela@redhat.com> - 2.4.1-2
- Update to latest version (#1894780)
- Initial build for rh-git218-git-lfs-2.4.1
* Thu Sep 03 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.12.0-1
- Update to latest version (#1874604)
- Remove duplicate docs/man directory (#1852765)
- Add an option to disable modifying the git filter config (#1768060)
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.0-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun May 10 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.11.0-1
- Update to latest version
* Thu Feb 20 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.10.0-1
- Update to latest version
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 07 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.9.2-1
- Update to latest version
* Wed Jan 01 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.9.0-1
- Update to latest version
* Fri Aug 30 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.8.0-4
- Customize vendor information in version
* Fri Aug 30 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.8.0-3
- Update to latest version
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jul 10 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.7.2-2
- Update to latest Go macros
* Wed Apr 24 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.7.2-1
- Update to latest version
* Wed Feb 27 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.7.1-1
- Update to latest version
* Thu Feb 21 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.7.0-1
- Update to latest version
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jan 15 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.6.1-1
- Update to latest version
* Mon Jan 14 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.5.2-4
- Rebuilt for dependencies
* Tue Oct 23 2018 Nicolas Mailhot <nim@fedoraproject.org>
- 2.5.2-3
- redhat-rpm-config-123 triggers bugs in gosetup, remove it from Go spec files as it’ s just an alias
- https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/RWD5YATAYAFWKIDZBB7EB6N5DAO4ZKFM/
* Fri Oct 12 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.5.2-2
- rebuilt
* Wed Oct 10 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.5.2-1
- Update to latest version
* Tue Sep 04 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.5.1-1
- Update to latest version
* Mon Sep 03 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.5.0-1
- Update to 2.5.0
* Wed Aug 29 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.4.2-1
- Update to 2.4.2
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 2.4.1-3
- Rebuild with fixed binutils
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-2
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild