diff --git a/git-lfs-v3.4.0.tar.gz b/git-lfs-v3.4.0.tar.gz deleted file mode 100644 index ef216cbcd41d16db00489b736675b35d6162ea95..0000000000000000000000000000000000000000 Binary files a/git-lfs-v3.4.0.tar.gz and /dev/null differ diff --git a/git-lfs-v3.6.1.tar.gz b/git-lfs-v3.6.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0f47bec4985f22e3c9bc89e9ea9eee8fcf01afb4 Binary files /dev/null and b/git-lfs-v3.6.1.tar.gz differ diff --git a/git-lfs.spec b/git-lfs.spec index b8a3dec81cf299e9002223fb6a2abaf91378cb69..ade1a3a32b0a8e1b781d92b8a38daf937b83ebb4 100644 --- a/git-lfs.spec +++ b/git-lfs.spec @@ -1,89 +1,440 @@ -%define anolis_release 1 -%bcond_without check -%undefine _missing_build_ids_terminate_build -%define debug_package %{nil} +ExclusiveArch: x86_64 aarch64 +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +%bcond check 1 + +# https://github.com/git-lfs/git-lfs +%global goipath github.com/git-lfs/git-lfs/v3 +Version: 3.6.1 + +%gometa + +%global gobuilddir %{_builddir}/%{name}-%{version}/_build + +%global common_description %{expand: +Git extension for versioning large files.} + +%global golicenses LICENSE.md +%global godocs docs CHANGELOG.md CODE-OF-CONDUCT.md\ + CONTRIBUTING.md README.md Name: git-lfs -Version: 3.4.0 -Release: %{anolis_release}%{?dist} +Release: %autorelease Summary: Git extension for versioning large files -License: MIT +# See LICENSE.md for details. +License: MIT AND BSD-3-Clause URL: https://git-lfs.github.io/ Source0: https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-v%{version}.tar.gz -Source1: vendor.tar.xz - -BuildRequires: gnupg2 -BuildRequires: curl -BuildRequires: fdupes -BuildRequires: git-core >= 1.8.2 -BuildRequires: go-rpm-macros -BuildRequires: which -BuildRequires: golang >= 1.18 +Source1: README.Fedora + +# Generated provides by vendor2provides.py +# https://src.fedoraproject.org/rpms/syncthing/blob/603e4e03a92a7d704d199629dd85304018e8279d/f/vendor2provides.py +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.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.1.0 +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 +Provides: bundled(golang(github.com/jcmturner/goidentity/v6)) = 6.0.1 +Provides: bundled(golang(github.com/jcmturner/gokrb5/v8)) = 8.4.2 +Provides: bundled(golang(github.com/jcmturner/rpc/v2)) = 2.0.3 +Provides: bundled(golang(github.com/jmhodges/clock)) = 1.2.0 +Provides: bundled(golang(github.com/leonelquinteros/gotext)) = 1.5.0 +Provides: bundled(golang(github.com/mattn/go-isatty)) = 0.0.4 +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)) = 1.7.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)) = 0.21.0 +Provides: bundled(golang(golang.org/x/net)) = 0.23.0 +Provides: bundled(golang(golang.org/x/sync)) = 0.1.0 +Provides: bundled(golang(golang.org/x/sys)) = 0.18.0 +Provides: bundled(golang(golang.org/x/text)) = 0.14.0 +Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.1 + + # Generate man pages BuildRequires: /usr/bin/asciidoctor -Requires: git-core >= 1.8.5 +%if %{with check} +# Tests +BuildRequires: perl-Digest-SHA +BuildRequires: perl-Test-Harness +# Tests require full git suite, but not generally needed. +BuildRequires: git >= 2.32.0 +%endif + +Requires: git-core >= 2.32.0 %description Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server. -%package doc -Summary: Documentation files for %{name} -Requires: %{name} = %{EVR} -BuildArch: noarch - -%description doc -The %{name}-doc package contains documentation files for %{name}. %prep -%autosetup -n %{name}-%{version} -p1 -a 1 +%autosetup -p1 -n %{name}-%{version} + +install -m 0755 -vd %{gobuilddir}/bin +install -m 0755 -vd "$(dirname %{gobuilddir}/src/%{goipath})" +ln -fs "$(pwd)" "%{gobuilddir}/src/%{goipath}" + +# 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!^BINPATH=.\+!BINPATH="%{gobuilddir}/bin"!g' t/testenv.sh %build -go build -mod=vendor --buildmode=pie . +export GOPATH=%{gobuilddir}:%{gopath} +export GO111MODULE=off -make man +# Enable FIPS support at build time by enabling CGO +export CGO_ENABLED=1 -%install -install -D -m 755 git-lfs %{buildroot}%{_bindir}/git-lfs +# Build manpages first (some embedding in the executable is done.) +make man GIT_LFS_SHA=unused VERSION=unused PREFIX=unused +pushd docs +%gobuild -o %{gobuilddir}/bin/mangen man/mangen.go +%{gobuilddir}/bin/mangen +popd + +%gobuild -o %{gobuilddir}/bin/git-lfs %{goipath} +# Generate completion files. +for shell in bash fish zsh; do + %{gobuilddir}/bin/git-lfs completion ${shell} > %{name}.${shell} +done + +# Build test executables +pushd %{gobuilddir}/src/%{goipath} +for cmd in t/cmd/*.go; do + %gobuild -o "%{gobuilddir}/bin/$(basename $cmd .go)" "$cmd" +done +%gobuild -o "%{gobuilddir}/bin/git-lfs-test-server-api" t/git-lfs-test-server-api/*.go +popd + +# Remove man pages from docs so they don't get installed twice. +rm -r docs/man + + +%install +install -Dpm0755 %{gobuilddir}/bin/git-lfs %{buildroot}%{_bindir}/%{name} for section in 1 5 7; do install -d -p %{buildroot}%{_mandir}/man${section}/ install -Dpm0644 man/man${section}/*.${section} %{buildroot}%{_mandir}/man${section}/ done +install -Dpm 0644 %{name}.bash %{buildroot}%{bash_completions_dir}/%{name} +install -Dpm 0644 %{name}.fish %{buildroot}%{fish_completions_dir}/%{name}.fish +install -Dpm 0644 %{name}.zsh %{buildroot}%{zsh_completions_dir}/_%{name} %post +if [ "x$(git config --type=bool --get 'fedora.git-lfs.no-modify-config')" != "xtrue" ]; then %{_bindir}/%{name} install --system --skip-repo +fi %preun -if [ $1 -eq 0 ] ; then - %{_bindir}/%{name} uninstall --system --skip-repo +if [ $1 -eq 0 ] && \ + [ "x$(git config --type=bool --get 'fedora.git-lfs.no-modify-config')" != "xtrue" ]; then + %{_bindir}/%{name} uninstall --system --skip-repo fi +exit 0 + %if %{with check} %check -export GIT_LFS_TEST_DIR=$(mktemp -d) -export SKIPAPITESTCOMPILE=1 -go test -x -mod=vendor +%gocheck +PATH=%{buildroot}%{_bindir}:%{gobuilddir}/bin:$PATH \ + make -C t PROVE_EXTRA_ARGS="-j$(getconf _NPROCESSORS_ONLN)" %endif %files +%doc README.md CHANGELOG.md docs %license LICENSE.md %{_bindir}/%{name} %{_mandir}/man1/%{name}*.1* %{_mandir}/man5/%{name}*.5* %{_mandir}/man7/%{name}*.7* +%{bash_completions_dir}/%{name} +%{fish_completions_dir}/%{name}.fish +%{zsh_completions_dir}/_%{name} -%files doc -%doc README.md CHANGELOG.md docs %changelog -* Mon Nov 6 2023 Wenlong Zhang - 3.4.0-1 -- update to 3.4.0 +* Mon Feb 13 2026 wency_cn - 3.6.1-1 +- Update to 3.6.1 +- Integrate upstream packaging improvements +- Add FIPS compliance support with CGO enabled +- Enable shell completion files (bash, fish, zsh) +- Improve test infrastructure with proper test executables +- Update build requirements and dependencies +- Add proper man page generation with mangen tool +- Enhance file installation paths and documentation +- Improve post-install and pre-uninstall scripts +- Add better integration with git configuration management + +## START: Generated by rpmautospec +* Wed Jan 15 2025 Ondřej Pohořelský - 3.6.1-1 +- Update to 3.6.1 + +* Thu Dec 12 2024 Ondřej Pohořelský - 3.6.0-1 +- Update to 3.6.0 + +* Tue Oct 29 2024 Troy Dawson - 3.5.1-6 +- Bump release for October 2024 mass rebuild: + +* Fri Oct 11 2024 Ondřej Pohořelský - 3.5.1-5 +- Rebuild with new Golang + +* Tue Aug 06 2024 Ondřej Pohořelský - 3.5.1-4 +- Make Git-LFS FIPS compliant + +* Mon Jun 24 2024 Troy Dawson - 3.5.1-3 +- Bump release for June 2024 mass rebuild + +* Tue May 28 2024 Lukáš Zachar - 3.5.1-2 +- Add tmt based gating + +* Mon May 27 2024 Ondřej Pohořelský - 3.5.1-1 +- Enable bundling, update 3.5.1 + +* Sun Jul 30 2023 Elliott Sales de Andrade - 3.4.0-1 +- Update to latest version (#2226881) + +* Wed Jul 19 2023 Fedora Release Engineering - 3.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Apr 10 2023 Elliott Sales de Andrade - 3.3.0-2 +- Switch to SPDX license + +* Mon Feb 27 2023 Elliott Sales de Andrade - 3.3.0-1 +- Update to latest version (#2149792) + +* Thu Jan 19 2023 Fedora Release Engineering - 3.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Oct 02 2022 Elliott Sales de Andrade - 3.2.0-1 +- Update to latest version (#2076796) + +* Thu Jul 21 2022 Fedora Release Engineering - 3.1.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 19 2022 Maxwell G - 3.1.2-5 +- Rebuild for + CVE-2022-{1705,32148,30631,30633,28131,30635,30632,30630,1962} in golang + +* Sat Jun 18 2022 Robert-André Mauchin - 3.1.2-4 +- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, + CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 + +* Fri Jun 17 2022 Robert-André Mauchin - 3.1.2-3 +- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, + CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 + +* Sun Apr 17 2022 Fabio Alessandro Locati - 3.1.2-2 +- Rebuilt for CVE-2022-27191 + +* Sun Mar 20 2022 Elliott Sales de Andrade - 3.1.2-1 +- Update to latest version (#2054522) + +* Thu Jan 20 2022 Fedora Release Engineering - 3.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Oct 31 2021 Elliott Sales de Andrade - 3.0.2-1 +- Update to latest version (#2018470) + +* Tue Oct 05 2021 Elliott Sales de Andrade - 3.0.1-1 +- Update to 3.0.1 + +* Tue Oct 05 2021 Elliott Sales de Andrade - 2.13.3-4 +- Verify checksums and GPG signature of source tarball + +* Thu Jul 22 2021 Fedora Release Engineering - 2.13.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Apr 02 2021 Elliott Sales de Andrade - 2.13.3-1 +- Update to latest version (#1943775) + +* Tue Jan 26 2021 Fedora Release Engineering - 2.13.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Jan 16 2021 Elliott Sales de Andrade - 2.13.2-1 +- Update to latest version (#1915996) + +* Mon Nov 09 2020 Elliott Sales de Andrade - 2.12.1-1 +- Update to latest version (#1894780) + +* Thu Sep 03 2020 Elliott Sales de Andrade - 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 - 2.11.0-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 2.11.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun May 10 2020 Elliott Sales de Andrade - 2.11.0-1 +- Update to latest version + +* Thu Feb 20 2020 Elliott Sales de Andrade - 2.10.0-1 +- Update to latest version + +* Tue Jan 28 2020 Fedora Release Engineering - 2.9.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 07 2020 Elliott Sales de Andrade - 2.9.2-1 +- Update to latest version + +* Wed Jan 01 2020 Elliott Sales de Andrade - 2.9.0-1 +- Update to latest version + +* Fri Aug 30 2019 Elliott Sales de Andrade - 2.8.0-4 +- Customize vendor information in version + +* Fri Aug 30 2019 Elliott Sales de Andrade - 2.8.0-3 +- Update to latest version + +* Thu Jul 25 2019 Fedora Release Engineering - 2.7.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 10 2019 Elliott Sales de Andrade - 2.7.2-2 +- Update to latest Go macros + +* Wed Apr 24 2019 Elliott Sales de Andrade - 2.7.2-1 +- Update to latest version + +* Wed Feb 27 2019 Elliott Sales de Andrade - 2.7.1-1 +- Update to latest version + +* Thu Feb 21 2019 Elliott Sales de Andrade - 2.7.0-1 +- Update to latest version + +* Thu Jan 31 2019 Fedora Release Engineering - 2.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jan 15 2019 Elliott Sales de Andrade - 2.6.1-1 +- Update to latest version + +* Mon Jan 14 2019 Elliott Sales de Andrade - 2.5.2-4 +- Rebuilt for dependencies + +* Tue Oct 23 2018 Nicolas Mailhot +- 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 - 2.5.2-2 +- rebuilt + +* Wed Oct 10 2018 Elliott Sales de Andrade - 2.5.2-1 +- Update to latest version + +* Tue Sep 04 2018 Elliott Sales de Andrade - 2.5.1-1 +- Update to latest version + +* Mon Sep 03 2018 Elliott Sales de Andrade - 2.5.0-1 +- Update to 2.5.0 + +* Wed Aug 29 2018 Elliott Sales de Andrade - 2.4.2-1 +- Update to 2.4.2 + +* Tue Jul 31 2018 Florian Weimer - 2.4.1-3 +- Rebuild with fixed binutils + +* Fri Jul 13 2018 Fedora Release Engineering - 2.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed May 23 2018 Elliott Sales de Andrade - 2.4.1-1 +- Update to latest release + +* Mon May 21 2018 Carl George - 2.4.0-3 +- Fix %%preun to correctly remove the lfs filter on uninstall (rhbz#1580357) + +* Mon Mar 12 2018 Carl George - 2.4.0-2 +- Add %%go_arches fallback to work around Koji issues + +* Sun Mar 04 2018 Elliott Sales de Andrade - 2.4.0-1 +- Update to latest release. + +* Thu Feb 08 2018 Elliott Sales de Andrade - 2.3.4-6 +- Add patches to build with Go 1.10. + +* Wed Feb 07 2018 Fedora Release Engineering - 2.3.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Dec 04 2017 Carl George - 2.3.4-4 +- Use vendored libraries on RHEL +- Skip test on RHEL +- Don't build man pages on RHEL due to missing ronn +- Don't build html versions of man pages + +* Fri Dec 01 2017 Elliott Sales de Andrade - 2.3.4-3 +- Require git-core instead of git. + +* Fri Nov 03 2017 Elliott Sales de Andrade - 2.3.4-2 +- Patch tests to work on slow systems like arm and aarch builders. +- Fix "git lfs help" command. + +* Fri Nov 03 2017 Elliott Sales de Andrade - 2.3.4-1 +- Update to latest release. +- Run all tests during build. + +* Fri Sep 01 2017 Elliott Sales de Andrade - 2.2.1-3 +- Remove redundant doc tag on manpages. +- Use path macros in %%post/%%postun. + +* Thu Aug 31 2017 Elliott Sales de Andrade - 2.2.1-2 +- Disable unnecessary subpackages. + +* Sun Jul 30 2017 Elliott Sales de Andrade - 2.2.1-1 +- Update to latest version. + +* Wed Apr 19 2017 Elliott Sales de Andrade - 2.0.2-2 +- Patch up to build with Go 1.7 + +* Wed Apr 19 2017 Elliott Sales de Andrade - 2.0.2-1 +- Update to latest release +- Add some requested macros + +* Tue Mar 14 2017 Elliott Sales de Andrade - 2.0.1-1 +- Update to latest release +- Don't disable git-lfs globally during upgrade + +* Mon Mar 06 2017 Elliott Sales de Andrade - 2.0.0-1 +- Update to latest release + +* Sun Feb 12 2017 Elliott Sales de Andrade - 1.5.5-1 +- Update to latest release +- Add -devel and -unit-test-devel subpackages +- Add post/preun scriptlets for global enablement + +* Sun May 15 2016 Igor Gnatenko - 1.2.0-1 +- Initial package -* Tue Mar 21 2023 happy_orange - 3.3.0-1 -- package init from upstream +## END: Generated by rpmautospec