Commit Graph

702 Commits

Author SHA1 Message Date
Todd Zullinger
f0106d7c9a disable failing tests on s390x on EL8
These tests fail on s390x, but only with EL8.  They succeed on Fedora
and EL9.  This suggests the issue is not with git.  Skip them to avoid
blocking the Fedora releases which we care most about while still
allowing builds in COPR and elsewhere for all Fedora/EPEL releases.
2022-04-12 22:50:19 -04:00
Todd Zullinger
4787e39b40 update to 2.36.0-rc2 (CVE-2022-24765)
Regarding CVE-2022-24765, the release announcement says:

   On multi-user machines, Git users might find themselves
   unexpectedly in a Git worktree, e.g. when another user created a
   repository in `C:\.git`, in a mounted network drive or in a
   scratch space. Merely having a Git-aware prompt that runs `git
   status` (or `git diff`) and navigating to a directory which is
   supposedly not a Git worktree, or opening such a directory in an
   editor or IDE such as VS Code or Atom, will potentially run
   commands defined by that other user.

The new `safe.directory` setting may be used in either the system or
global configuration to list directories which git should consider safe
even if they are owned by someone other than the current user.

Release notes:
https://github.com/git/git/raw/v2.36.0-rc2/Documentation/RelNotes/2.36.0.txt
2022-04-12 21:04:04 -04:00
Todd Zullinger
d1736385d5 update to 2.36.0-rc1
Release notes:
https://github.com/git/git/raw/v2.36.0-rc1/Documentation/RelNotes/2.36.0.txt
2022-04-08 20:01:33 -04:00
Todd Zullinger
25830241e6 use httpd-core for tests on Fedora >= 37
The httpd package was slimmed down per rhbz#2070517.  Use the new
httpd-core package for the test suite requirements on F37+.

While here, adjust a nearby '# endif' comment to match reality.
2022-04-08 13:42:17 -04:00
Todd Zullinger
0b5afcebda update to 2.36.0-rc0
The %_package_note_file definition added in 1dc07e7 (set path to linker
script in %_package_note_file, 2022-01-24) does not support release
candidates.  Fix it.

Add 'fsmonitor--daemon is not supported on this platform' and 'missing
!REFFILES' to  git.skip-test-patterns to match new test prerequisites
which are not relevant for our builds.

Adjust number of t5541 "push 2000 tags over http" test.  It was shifted
from 35 to 36 by upstream c36c62859a (tests: use "test_hook" for misc
"mkdir -p" and "chmod" cases, 2022-03-17).

Replace `%__make test` with `%__make -C t all` to avoid re-compiling in
%check.  This is an issue I have yet to fully diagnose.  I suspect that
it is related to the nice work Ævar Arnfjörð Bjarmason has done upstream
to improve the efficiency and correctness of the build process.  Work
around it for the moment.

Release notes:
https://github.com/git/git/raw/v2.36.0-rc0/Documentation/RelNotes/2.36.0.txt
2022-04-08 13:40:42 -04:00
Todd Zullinger
9e214cd4d0 update to 2.35.1
Per the upstream release notes¹:

    Git 2.35 shipped with a regression that broke use of "rebase" and
    "stash" in a secondary worktree.  This maintenance release ought to
    fix it.

¹ https://github.com/git/git/raw/v2.35.1/Documentation/RelNotes/2.35.1.txt
2022-01-29 00:20:45 -05:00
Todd Zullinger
1dc07e7d5d set path to linker script in %_package_note_file
The package-notes feature¹ creates a linker script in %{buildsubdir}.
Unfortunately, %{buildsubdir} is not set in %prep, leaving us with an
incorrect path to the linker script.  The build then fails with:

   /usr/bin/ld: cannot open linker script file
   /builddir/build/BUILD/.package_note-git-2.35.0-0.2.rc2.fc36.3.x86_64.ld:
   No such file or directory

Set the path to the linker script via %_package_note_file, per
suggestion by Zbigniew Jędrzejewski-Szmek².

References:
¹ https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects
² https://bugzilla.redhat.com/2044028#c10
2022-01-24 17:40:26 -05:00
Todd Zullinger
4eb061b209 update to 2.35.0
Release notes:
https://github.com/git/git/raw/v2.35.0/Documentation/RelNotes/2.35.0.txt
2022-01-24 15:31:20 -05:00
Todd Zullinger
32a3ec7045 remove contrib/scalar to avoid cruft in git-core-doc
The scalar command is being worked on incrementally upstream.

As it matures, we may consider building and distributing it.  Whether
that will happen before it graduates from contrib or not is anyone's
guess.

For the moment, remove it to avoid cruft in git-core-doc.
2022-01-22 12:49:44 -05:00
Todd Zullinger
601fe503aa fix compilation on EL7
Git now requires C99 support and a zlib with uncompress2 by default.

On EL7, gcc-4.8.5 requires a flag to enable C99 support.

Compilation also fails without -fPIC on EL7, for reasons of which I am
not entirely clear.  (I do not like making a change I cannot justify or
explain properly, but it is better than dropping EL7 support until I
have time to learn the reason(s).)

Update the %build_cflags macro when building on EL7 to enable C99
support and set -fPIC.

Define NO_UNCOMPRESS2 to use compat/zlib-uncompress2.c.
2022-01-22 12:04:42 -05:00
Todd Zullinger
ce97e98127 checkout: avoid BUG() when hitting a broken repository (rhbz#2042920)
The git checkout command crashes when run multiple times, if
`.git/refs/remotes/origin/HEAD` is manually copied into
`.git/refs/heads/$branch-name`.

Strictly, this is repository corruption, but it has been silently
tolerated until upstream 9081a421 (checkout: fix "branch info" memory
leaks, 2021-11-16), which added some sanity checking of the data.

Loosen the check via Junio's upstream commit 519947b69a (checkout: avoid
BUG() when hitting a broken repository, 2022-01-21).
2022-01-22 11:59:10 -05:00
Todd Zullinger
a8bfca0241 update to 2.35.0-rc2
Release notes:
https://github.com/git/git/raw/v2.35.0-rc2/Documentation/RelNotes/2.35.0.txt
2022-01-19 18:02:12 -05:00
Todd Zullinger
9d7a08be77 update to 2.35.0-rc1
Release notes:
https://github.com/git/git/raw/v2.35.0-rc1/Documentation/RelNotes/2.35.0.txt
2022-01-14 20:04:04 -05:00
Todd Zullinger
ef2bab7f59 update to 2.35.0-rc0
Add openssh-clients BuildRequires, for ssh-add.  Upstream 350a2518c8
(ssh signing: support non ssh-* keytypes, 2021-11-19), added `ssh-add`
as a requirement of t7528-signed-commit-ssh's "sign commits using
literal public keys with ssh-agent" test.

Replace the openssh BR added in e8896ce (update to 2.34.0, 2021-11-15)
with openssh-clients.  The latter requires the former.

Apply Taylor Blau's patch to fix a use-after-free bug in fmt-merge-msg¹.

Add `missing !LONG_IS_64BIT,EXPENSIVE` to git.skip-test-patterns.  It is
used in t1051-large-conversion after upstream 596b5e77c9 (clean/smudge:
allow clean filters to process extremely large files, 2021-11-02).

Release notes:
https://github.com/git/git/raw/v2.35.0-rc0/Documentation/RelNotes/2.35.0.txt

¹ https://lore.kernel.org/git/CAHk-=whXPxWL7z3GiPkaDt+yygrRmagrYUnib7Lx=Vvrqx2ufg@mail.gmail.com/
2022-01-10 22:14:13 -05:00
Todd Zullinger
a7d2f7e53e fix gpgsm issues with gnupg-2.3
The output of gpgsm changed slightly in gnupg-2.3, causing the git tests
for x509 signatures to be skipped.  Update the tests to use the
machine-parseable --with-colons output.

It also appears that we need to reload the gpg-agent in order to pick up
the changes the test library makes to the trustlist.txt file.  It might
be better to store that file with the other gpg files in the test suite
rather than generating it.

While we're at it, reload all the gpg components rather than just
gpg-agent.  Adjust the earlier gpgconf kill to use the 'all' keyword as
well.

Next up, gpgsm removed a debug line from it's output which exposes a
problem in git's gpg-interface code.  The git code presumes that the
'[GNUPG:] SIG_CREATED' line will follow a newline.  That is no longer
true.  The debug line was removed from GnuPG in a6d2f3133 (sm: Replace
some debug message by log_error or log_info, 2020-04-21).

Finally, a minor bug in gpgsm causes the error message returned when a
certificate is not found to differ from previous versions¹.  Extend the
grep pattern in the test suite to catch both error messages.

¹ https://lists.gnupg.org/pipermail/gnupg-devel/2021-November/034991.html
2021-11-25 05:52:09 -05:00
Todd Zullinger
7453454dad update to 2.34.1
Release notes:
https://github.com/git/git/raw/v2.34.1/Documentation/RelNotes/2.34.1.txt
2021-11-25 00:42:31 -05:00
Todd Zullinger
e8896ce365 update to 2.34.0
Release notes:
https://github.com/git/git/raw/v2.34.0/Documentation/RelNotes/2.34.0.txt

Add `BuildRequires: openssh` for the `ssh-keygen` command; it is needed
to test the newly-added ssh signing support¹.  Refer to the `gpg.format`
and `gpg.ssh.*` variables in git-config(1) for details.

[Unfortunately, openssh-8.7 has a bug in the requisite `ssh-keygen -Y
find-principals` command, which will limit the usefulness of this
feature on Fedora 35/36 until openssh is either rebased to 8.8 or the
patch² is backported.  The git testsuite has been taught to skip the
tests when this bug is present, in upstream ca7a5bf4bd (t/lib-gpg: avoid
broken versions of ssh-keygen, 2021-11-10), but that won't help users
who try out this new feature.  Hopefully we can get openssh-8.7 in
Fedora 35 & 36 patched or updated before too long.]

We have `Requires: openssh-clients` in git-core already.  The
openssh-clients package requires openssh so we don't _need_ to add an
install-time requirement to ensure the `ssh-keygen` command is
available.

Ignore RUNTIME_PREFIX and SYMLINKS_WINDOWS test prerequisites when
looking for missing test suite BuildRequires³.

The RUNTIME_PREFIX prerequisite was added in b7d11a0f5d (tests: exercise
the RUNTIME_PREFIX feature, 2021-07-24)⁴.  It is used to build binaries
which can be easily relocated, which we don't need in our builds.

The SYMLINKS_WINDOWS prerequisite was added in 3e7d4888e5 (mingw: align
symlinks-related rmdir() behavior with Linux, 2021-08-02)⁵.  It is, as
the name implies, Windows-specific.

¹ https://github.com/git/git/commit/b5726a5d9c (ssh signing: preliminary
  refactoring and clean-up, 2021-09-10) and the commits which follow.
² https://github.com/openssh/openssh-portable/commit/ca0e455b93,
  https://github.com/openssh/openssh-portable/commit/4afe431da9, and
  https://www.mail-archive.com/source-changes@openbsd.org/msg127496.html
  (plus the replies, which point out the typo in the first patch)
³ fa92661 (Add grep patterns for checking skipped tests, 2019-02-02)
⁴ https://github.com/git/git/commit/b7d11a0f5dhttps://github.com/git/git/commit/3e7d4888e5
2021-11-24 23:23:19 -05:00
Todd Zullinger
4414f619e3 add more git-email perl dependencies
There were a few dependencies missing prior to the change in git-2.33
which Ondřej fixed in the previous commit.

Of the few dependencies being added, only Email::Address and
Sys::Hostname weren't already pulled in by other dependencies when
installing git-email.  They each have fallback options, so they aren't
critical to the function of the application.  (We could use Recommends
here, if we wanted -- though neither pull in any additional packages at
this time.)
2021-11-13 21:04:39 -05:00
Ondřej Pohořelský
fe0920e128 add Perl requires to git-email
Resolves: rhbz#2020487

In git version 2.33.0, git-send-email.perl has optimized modules
loading[1]. This resulted in perl.req not detecting requires properly,
because it doesn't detect requires that are not at the start of new line.
This commit adds explicit Requires into the spec file.

[1]f4dc9432fd
2021-11-11 16:26:29 +01:00
Todd Zullinger
5507b1a187 update to 2.33.1
Release notes:
https://github.com/git/git/raw/v2.33.1/Documentation/RelNotes/2.33.1.txt
2021-10-12 23:30:43 -04:00
Ondřej Pohořelský
f291bcfd27 update to 2.33.0
contrib/hooks/multimail is no longer distributed with git

The multimail hook was removed from the git contrib tree.  From the
upstream commit f74d11471f (multimail: stop shipping a copy,
2021-06-10):

The multimail project is developed independently and has its own project
page. Traditionally, we shipped a copy in contrib/.
However, such a copy is prone to become stale, and users are much better
served to be directed to the actual project instead.
2021-10-05 17:54:36 +02:00
Sahana Prasad
0d6049db8b Rebuilt with OpenSSL 3.0.0 2021-09-14 19:02:41 +02:00
Fedora Release Engineering
a35d388291 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 01:39:37 +00:00
Todd Zullinger
6deecbd62e remove %changelog entries prior to 2019
The git history serves as the repository for the old entries.  The
changelog was roughly 20% of the total lines in the spec file.
2021-06-06 12:55:09 -04:00
Todd Zullinger
a1de5bd2d6 fix var to enable git-svn tests with httpd
Upstream commit 3b072c577b (tests: replace test_tristate with "git
env--helper", 2019-06-21) semi-broke the git-svn tests which require
httpd.  This was subsequently fixed in upstream commit 6a20b62d7e
(t/lib-git-svn.sh: check GIT_TEST_SVN_HTTPD when running SVN HTTP tests,
2019-09-06).

The upstream fix also adjusted the variable name to follow the preferred
naming scheme, i.e. GIT_SVN_TEST_ -> GIT_TEST_SVN_.  Fix the variable in
%check to indicate that we want those tests to run.

We were still running the tests because we had all the necessary
dependencies.  But we want to ensure that we don't skip them
opportunistically if those dependencies ever change.

Update comment which suggest a method for (manually) checking such
variables in the test suite.
2021-06-06 12:50:09 -04:00
Todd Zullinger
7099f641de add perl(File::Compare) BuildRequires
The Documentation/cmd-list.perl script requires File::Compare to
generate various cmds-$area.txt file which are included in the main git
help.  This has been broken since File::Compare was split from the main
perl package in 3b63b8c (Subpackage File::Compare, 2020-01-06)¹.

The result is a broken git man/html page.  In git(1), the output is:

    HIGH-LEVEL COMMANDS (PORCELAIN)
	   We separate the porcelain commands into the main commands
	   and some ancillary user utilities.

       Main porcelain commands
	   Unresolved directive in git.txt -
	   include::cmds-mainporcelain.txt[]

       Ancillary Commands
	   Manipulators:

	   Unresolved directive in git.txt -
	   include::cmds-ancillarymanipulators.txt[]

	   Interrogators:

	   Unresolved directive in git.txt -
	   include::cmds-ancillaryinterrogators.txt[]

        ...

This is logged during the build:

    make[1]: Entering directory '/builddir/build/BUILD/git-2.32.0.rc3/Documentation'
    rm -f cmd-list.made && \
    /usr/bin/perl ./cmd-list.perl ../command-list.txt cmds-ancillaryinterrogators.txt cmds-ancillarymanipulators.txt cmds-mainporcelain.txt cmds-plumbinginterrogators.txt cmds-plumbingmanipulators.txt cmds-synchingrepositories.txt cmds-synchelpers.txt cmds-guide.txt cmds-purehelpers.txt cmds-foreignscminterface.txt  && \
    date >cmd-list.made
    Can't locate File/Compare.pm in @INC (you may need to install the File::Compare module) (@INC contains: /usr/local/lib64/perl5/5.32 /usr/local/share/perl5/5.32 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at ./cmd-list.perl line 3.
    BEGIN failed--compilation aborted at ./cmd-list.perl line 3.
    make[1]: Leaving directory '/builddir/build/BUILD/git-2.32.0.rc3/Documentation'

This should probably cause a make error rather than generating
incomplete documentation.  I'll try to report this upstream (ideally
with a patch to resolve it).  It's also worth remembering to search the
build logs for such failures.  "Can't locate .* in @INC" and "BEGIN
failed" are good strings to search.

¹ https://src.fedoraproject.org/rpms/perl/c/3b63b8c
2021-06-06 11:52:22 -04:00
Todd Zullinger
c2eba54e84 update to 2.32.0
Release notes:
https://github.com/git/git/raw/v2.32.0/Documentation/RelNotes/2.32.0.txt
2021-06-06 11:34:56 -04:00
Todd Zullinger
407b015e7a drop jgit BR on Fedora >= 35
With the impending removal of a large chunk of the Java package set,
jgit will become unavailable as a BuildRequires in Fedora soon.  Remove
the build dependency on Fedora >= 35.

As noted in 8faf622 (drop jgit BR on Fedora > 30, 2019-07-29), this
affects 3 tests, 2 for packfile format (t5310-pack-bitmaps) and
1 of ls-remote (t5512-ls-remote).
2021-06-03 19:25:52 -04:00
Todd Zullinger
c052174f85 update to 2.32.0-rc3
Release notes:
https://github.com/git/git/raw/v2.32.0-rc3/Documentation/RelNotes/2.32.0.txt
2021-06-02 11:06:13 -04:00
Todd Zullinger
02138d4e5c update to 2.32.0-rc2
Release notes:
https://github.com/git/git/raw/v2.32.0-rc2/Documentation/RelNotes/2.32.0.txt
2021-05-28 10:27:29 -04:00
Jitka Plesnikova
1d9a879da8 Perl 5.34 re-rebuild of bootstrapped packages 2021-05-24 09:58:31 +02:00
Todd Zullinger
da79638e4a remove unneeded NEEDS_CRYPTO_WITH_SSL
The NEEDS_CRYPTO_WITH_SSL Makefile knob was added in 7878348 (Update to
git-1.7.0 - Link imap-send with libcrypto (#565147) - Disable building
of unused python remote helper libs, 2010-02-15).  It is no longer
needed.

I'm not sure when it stopped being necessary, though I am sure I tried
removing once before in the 11 years since it was added.

Builds on Fedora and EL7/EL8 all properly pick up the -lssl -lcrypto
flags when compiling git-imap-send.

Incidentally, git-imap-send has used libcurl for handling IMAP rather
than low-level OpenSSL-based functions on Fedora since upstream commit
dbba42bb32 (imap-send: use curl by default when possible, 2017-09-14).
This applies to EL8 as well.  On EL7, libcurl is too old (>= 7.34.0 is
required).
2021-05-22 14:35:25 -04:00
Todd Zullinger
851ee286f8 add coreutils BuildRequires
We use a number of tools from coreutils, be explicit about the
dependency.
2021-05-22 11:29:44 -04:00
Todd Zullinger
cfa2947481 re-enable git-p4 with python3
The git-p4 subpackage has been disabled in Fedora 30 via a4b4f7c (Add
support for disabling python2, 2018-03-28).  Git 2.17.0 was the current
release at that time.  The git-p4 script subsequently gained python3
support which was released in Git 2.27.0 (2020-05-31).

Adjust the python2/python3 conditionals and re-enable git-p4 when either
of them are available.  Put python3 first in the various conditionals,
as that is our primary supported python.  We only include python2 to aid
in building for EL7.

While here, remove the "# endif" comments within the config.mak output.
2021-05-22 11:13:49 -04:00
Todd Zullinger
0f6131b58c update to 2.32.0-rc1
Release notes:
https://github.com/git/git/raw/v2.32.0-rc1/Documentation/RelNotes/2.32.0.txt
2021-05-22 10:16:34 -04:00
Todd Zullinger
e67c091cc6 update to 2.32.0-rc0
Release notes:
https://github.com/git/git/raw/v2.32.0-rc0/Documentation/RelNotes/2.32.0.txt
2021-05-21 20:04:15 -04:00
Todd Zullinger
b1bd88b45b clean up various dist conditionals
Remove all conditionals for EL-6; it is EOL as of November 2020.

Replace a number of `EL > 7` with `EL >= 8` to make the intention
clearer.  The next version of RHEL is no longer shrouded in mystery.

Drop conditionals which apply only to long-obsolete Fedora releases.
2021-05-21 20:02:38 -04:00
Jitka Plesnikova
d6f2c616bc Perl 5.34 rebuild 2021-05-21 23:58:49 +02:00
Todd Zullinger
bf80478210 apply upstream patch to fix clone --bare segfault
If core.bare=false is set in the global git config, git clone --bare
results in a segfault.  Fix it.

Resolves: rhbz#1952030
Upstream-patch: https://github.com/git/git/commit/75555676ad
Upstream-report: https://lore.kernel.org/git/D99DD9AD-54E5-4357-BA50-8B9CAE23084E@amazon.com/
2021-04-27 15:19:07 -04:00
Todd Zullinger
7e7f589af7 remove two stray %defattr macros from %%files sections
All %defattr macros were removed in ff200ca (Remove obsolete %defattr,
2018-02-07).  Two were subsequently added in f8a83b9 (Move instaweb to a
subpackage, 2018-09-06) and 9d91bab (split libsecret credential helper
into a subpackage (#1804741), 2020-02-19).

Remove both entries and (hopefully) avoid adding new entries in the
future.
2021-04-06 09:58:48 -04:00
Todd Zullinger
e4b60c52ef update to 2.31.1
Release notes:
https://github.com/git/git/raw/v2.31.1/Documentation/RelNotes/2.31.1.txt
2021-03-27 00:20:43 -04:00
Todd Zullinger
4971df866e fix git bisect with annotaged tags
As git bisect was migrated from shell to C, the bisect_state conversion
lost the ability to handle annotated tags.  This was not intentional.

It is fixed in upstream commit 7730f85594 (bisect: peel annotated tags
to commits, 2021-03-16).

References:
https://lore.kernel.org/git/878s6nz1sg.fsf@igel.home/
https://github.com/git/git/commit/7730f85594.patch
2021-03-19 17:06:33 -04:00
Todd Zullinger
ce53345a7d update to 2.31.0
Release notes:
https://github.com/git/git/raw/v2.31.0/Documentation/RelNotes/2.31.0.txt
2021-03-15 16:04:01 -04:00
Todd Zullinger
cb2e458a19 update to 2.31.0-rc2
This release includes a fix for CVE-2021-21300¹ in addition to the other
changes along the path to the final 2.31.0 release.

Release notes:
https://github.com/git/git/raw/v2.31.0-rc2/Documentation/RelNotes/2.31.0.txt

¹ Per the 2.17.6 release notes on CVE-2021-21300:
    On case-insensitive file systems with support for symbolic links, if
    Git is configured globally to apply delay-capable clean/smudge
    filters (such as Git LFS), Git could be fooled into running remote
    code during a clone.
2021-03-09 14:06:01 -05:00
Todd Zullinger
91eeb42936 update to 2.31.0-rc1
Release notes:
https://github.com/git/git/raw/v2.31.0-rc1/Documentation/RelNotes/2.31.0.txt
2021-03-03 10:22:27 -05:00
Todd Zullinger
adc702ecfc update to 2.31.0-rc0
Release notes:
https://github.com/git/git/raw/v2.31.0-rc0/Documentation/RelNotes/2.31.0.txt
2021-03-03 10:21:08 -05:00
Todd Zullinger
e34350e16e improve gpg verification of upstream source
Use %{gpgverify} macro to verify tarball signature.  The macro is now
available for all supported Fedora and EPEL releases.  (It is presumed
that EL-9 will include %{gpgverify} as it will be branched from F-34.
If that turns out to be false, we will adjust later.)

The Packaging Guidelines require the use of the %{gpgverify} macro:

    https://docs.fedoraproject.org/en-US/packaging-guidelines/#_verifying_signatures

Add a BuildRequires for xz as well, since we use it explicitly in %prep.

Renumber Junio's GPG key from Source9 to Source2 so the %{gpgverify}
calls follow the typical pattern.  It (mildly) lessens cognitive load
for anyone reviewing the spec file.

While here, remove a stale comment about leaving a blank line after
%autosetup to work around a bug on EL6.
2021-03-02 13:17:44 -05:00
Zbigniew Jędrzejewski-Szmek
5662337240 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:13:48 +01:00
Ondřej Pohořelský
8d48672806 include git-daemon in git-all meta-package
Installing the git-all meta-package is intended to bring in all git
subpackages.  Add the missing git-daemon.
2021-02-23 09:55:30 -05:00
Todd Zullinger
9163954e0f re-enable t7812-grep-icase-non-ascii on s390x
We disabled t7812's 'PCRE v2: grep non-ASCII from invalid UTF-8 data'
test in 33ecb78 (skip failing test in t7812-grep-icase-non-ascii on
s390x, 2019-10-24).

It was subsequently fixed upstream in e714b898c6 (t7812: expect failure
for grep -i with invalid UTF-8 data, 2019-11-29) and more recently
improved with a4fea08b6e (grep/pcre2 tests: don't rely on invalid UTF-8
data test, 2021-01-24).

Don't skip the test any longer.
2021-02-23 09:54:38 -05:00
Todd Zullinger
0cb8e1a378 update to 2.30.1
Release notes:
https://github.com/git/git/raw/v2.30.1/Documentation/RelNotes/2.30.1.txt
2021-02-08 22:06:18 -05:00
Ondřej Pohořelský
3913289de2 add rhel 9 conditional to require httpd instead of lighttpd in git-instaweb 2021-02-08 22:02:49 -05:00
Fedora Release Engineering
cb12da19d4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 08:07:04 +00:00
Todd Zullinger
c93103f5ad update to 2.30.0
Release notes:
https://github.com/git/git/raw/v2.30.0/Documentation/RelNotes/2.30.0.txt
2020-12-28 15:02:16 -05:00
Todd Zullinger
8fef3782c3 update to 2.30.0-rc2
Release notes:
https://github.com/git/git/raw/v2.30.0-rc2/Documentation/RelNotes/2.30.0.txt
2020-12-23 19:01:29 -05:00
Todd Zullinger
9e220daf74 update to 2.30.0-rc1
Release notes:
https://github.com/git/git/raw/v2.30.0-rc1/Documentation/RelNotes/2.30.0.txt
2020-12-18 23:40:05 -05:00
Todd Zullinger
528c7a0575 update to 2.30.0-rc0
Release notes:
https://github.com/git/git/raw/v2.30.0-rc0/Documentation/RelNotes/2.30.0.txt
2020-12-14 15:09:47 -05:00
Todd Zullinger
858ea85cce move git-difftool to git-core, it does not require perl
The `git difftool` command was converted to a builtin in git-2.12.0
(from 2017).  We don't need to split it out of git-core.

This was missed in cb7fab7 (Move commands which no longer require perl
into git-core, 2017-11-10) and d56cfc6 (Use symlinks instead of
hardlinks for installed binaries, 2018-03-15).  Better late than never.
2020-12-06 14:47:41 -05:00
Todd Zullinger
c22491b4e8 add epel-rpm-macros BuildRequires on EL-7 (#1872865)
We intend to support building on all supported Fedora and EPEL releases
from the Rawhide branch.  On EL-7, the %build_cflags and %build_ldflags
macros are not present without installing epel-rpm-macros.  Add a build
requirement to ensure these macros are available when building on EL-7.
2020-11-28 19:18:37 -05:00
Todd Zullinger
1faa4b1131 apply upstream patch to resolve git fast-import memory leak (#1900335)
A change in git-2.27.0¹ caused fast-import to leak memory and crash in
some cases.  Apply the upstream fix², which didn't quite make it into
git-2.29.0.

¹ ddddf8d7e2 (fast-import: permit reading multiple marks files, 2020-02-22)
  https://github.com/git/git/commit/ddddf8d7e2

² 3f018ec716 (fast-import: fix over-allocation of marks storage, 2020-10-15)
  https://github.com/git/git/commit/3f018ec716
2020-11-25 20:55:44 -05:00
Todd Zullinger
6b303b4795 apply upstream patch to resolve git log segfault (#1791810)
A change in git-2.24.0¹ resulted in a segfault when combining the
incompatible (and nonsensical) --follow and -L git log options.  (These
options were used by the GitLens plugin for VS Code until recently².)

The upstream fix returns an error when these options are combined rather
than a segfault.

¹ a2bb801f6a (line-log: avoid unnecessary full tree diffs, 2019-08-21)
  https://github.com/git/git/commit/a2bb801f6a

² Fixed in GitLens >= 10.2.3
  https://github.com/eamodio/vscode-gitlens/issues/1139
2020-11-16 18:45:51 -05:00
Todd Zullinger
8fc9bc0302 update to 2.29.2
Quoting the release notes:

   In 2.29, "--committer-date-is-author-date" option of "rebase" and
   "am" subcommands lost the e-mail address by mistake, which has been
   corrected.

Release notes:
https://github.com/git/git/raw/v2.29.2/Documentation/RelNotes/2.29.2.txt
2020-10-29 18:45:12 -04:00
Todd Zullinger
79a4aef788 fix bugs in am/rebase handling of committer ident/date
Quoting from Jeff King's commit message:

    Commit e8cbe2118a (am: stop exporting GIT_COMMITTER_DATE, 2020-08-17)
    rewrote the code for setting the committer date to use fmt_ident(),
    rather than setting an environment variable and letting commit_tree()
    handle it. But it introduced two bugs:

      - we use the author email string instead of the committer email

      - when parsing the committer ident, we used the wrong variable to
	compute the length of the email, resulting in it always being a
	zero-length string

The regression affected both am and rebase.  Apply the upstream fixes.

References:
https://lore.kernel.org/git/20201023070747.GA2198273@coredump.intra.peff.net/
2020-10-24 22:24:00 -04:00
Todd Zullinger
f3a190b8da update to 2.29.1
The update to 2.29.1 is pointless on its own¹, but a subsequent commit
will add some additional post-release fixes for 2.29.  Once we're
pushing an update, we might as well pick up the latest point release to
avoid anyone wondering why we've skipped an update.

Release notes:
https://github.com/git/git/raw/v2.29.1/Documentation/RelNotes/2.29.1.txt

¹ The only change in 2.29.1 is a Makefile fix for users of the
  non-default SKIP_DASHED_BUILT_INS installation option.
2020-10-24 22:18:37 -04:00
Todd Zullinger
08f0612fd8 update to 2.29.0
Release notes:
https://github.com/git/git/raw/v2.29.0/Documentation/RelNotes/2.29.0.txt
2020-10-19 22:43:16 -04:00
Todd Zullinger
126d6526c9 update to 2.29.0-rc2
Release notes:
https://github.com/git/git/raw/v2.29.0-rc2/Documentation/RelNotes/2.29.0.txt
2020-10-15 16:56:50 -04:00
Todd Zullinger
58dc6bb36a adjust python hashbang in contrib/hg-to-git, it supports python3
The hg-to-git.py script in contrib grew python3 support in upstream
commit d17ae00c97 (hg-to-git: make it compatible with both python3 and
python2, 2019-09-18), which was released in git-2.24.0.  Move it from
the python2-only conditionals.

(This leaves contrib/fast-import/import-zips.py as the sole python
script which is _not_ python3-compatible.  It seems to need only minimal
fixes for python2/python3 compatibility -- per some light testing.)
2020-10-11 12:28:51 -04:00
Todd Zullinger
cdea01ae55 drop emacs-git stub for fedora >= 34 (#1882360)
Since git-2.18.0, the emacs files shipped in git have been stub files
which merely point users to better options.  Stop shipping these stubs
with Fedora 34 and later.

Drop the emacs BuildRequires on Fedora >= 34.  Elsewhere, replace it
with emacs-common.  We need macros.emacs for %{_emacs_sitelispdir}
anywhere we ship the stub .el files¹.

The full emacs BR _was_ necessary prior to git-2.18.0, as /usr/bin/emacs
was used to byte compile the .el files.  It traces all the way back to
e46bac5 (Add emacs-git package from Ville (#235431), 2007-06-22).

¹ It might be nice if there were an emacs-rpm-macros for this.  But
  emacs-common is a lot lighter than emacs, so it's still a nice
  improvement.  Per `dnf install` in a current f33 container image:

    $ dnf install emacs
    ...
    Install  193 Packages
    Total download size: 164 M
    Installed size: 544 M

    $ dnf install emacs-common
    ...
    Install  7 Packages
    Total download size: 36 M
    Installed size: 89 M
2020-10-11 12:28:51 -04:00
Todd Zullinger
29f5c9d803 update to 2.29.0-rc1
Release notes:
https://github.com/git/git/raw/v2.29.0-rc1/Documentation/RelNotes/2.29.0.txt
2020-10-09 16:16:03 -04:00
Todd Zullinger
425f3a39fa update to 2.29.0-rc0
Delete references to contrib/svn-fe, it was deleted in upstream commit
fc47391e24 (drop vcs-svn experiment, 2020-08-13).

Release notes:
https://github.com/git/git/raw/v2.29.0-rc0/Documentation/RelNotes/2.29.0.txt
2020-10-05 21:41:37 -04:00
Todd Zullinger
4ba9ba2188 update to 2.28.0
Release notes:
https://github.com/git/git/raw/v2.28.0/Documentation/RelNotes/2.28.0.txt
2020-07-27 17:46:34 -04:00
Fedora Release Engineering
b5802f9607 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 20:03:13 +00:00
Todd Zullinger
495c6f3ba7 update to 2.28.0-rc2
Release notes:
https://github.com/git/git/raw/v2.28.0-rc2/Documentation/RelNotes/2.28.0.txt
2020-07-22 13:41:37 -04:00
Todd Zullinger
b1fa2c8b04 update to 2.28.0-rc1
Release notes:
https://github.com/git/git/raw/1e1a30b64a/Documentation/RelNotes/2.28.0.txt
2020-07-19 19:06:45 -04:00
Todd Zullinger
a773853481 update to 2.28.0-rc0
Release notes:
https://github.com/git/git/raw/v2.28.0-rc0/Documentation/RelNotes/2.28.0.txt

Update git.skip-test-patterns to catch the 2GB clone test.  The output
of the skipped test was changed (for the better) in upstream commit
d63ae31962 (t5608: avoid say() and use "skip_all" instead for
consistency, 2020-05-22).
2020-07-19 19:01:55 -04:00
Jitka Plesnikova
9c1c244fd7 Perl 5.32 re-rebuild of bootstrapped packages 2020-06-26 16:20:55 +02:00
Jitka Plesnikova
8169cdf554 Perl 5.32 rebuild 2020-06-23 10:13:40 +02:00
Todd Zullinger
29f9b2024d update to 2.27.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.27.0.txt
2020-06-01 19:37:50 -04:00
Todd Zullinger
e79e6b9e08 update to 2.27.0-rc2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.27.0.txt
2020-05-26 14:52:46 -04:00
Todd Zullinger
1a2db2d667 update to 2.27.0-rc1
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.27.0.txt
2020-05-21 21:00:07 -04:00
Merlin Mathesius
24de439725 Minor conditional fixes for ELN
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2020-05-21 13:37:09 -05:00
Todd Zullinger
e22c1de491 update to 2.26.2 (CVE-2020-11008)
From the upstream release notes¹:

  With a crafted URL that contains a newline or empty host, or lacks
  a scheme, the credential helper machinery can be fooled into
  providing credential information that is not appropriate for the
  protocol in use and host being contacted.

  Unlike the vulnerability CVE-2020-5260 fixed in v2.17.4, the
  credentials are not for a host of the attacker's choosing; instead,
  they are for some unspecified host (based on how the configured
  credential helper handles an absent "host" parameter).

  The attack has been made impossible by refusing to work with
  under-specified credential patterns.

¹ https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.17.5.txt
2020-04-20 14:59:34 -04:00
Todd Zullinger
580a5d3518 update to 2.26.1 (CVE-2020-5260)
From the upstream release notes¹:

  With a crafted URL that contains a newline in it, the credential
  helper machinery can be fooled to give credential information for
  a wrong host.  The attack has been made impossible by forbidding
  a newline character in any value passed via the credential
  protocol.

¹ https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.17.4.txt
2020-04-14 17:49:29 -04:00
Todd Zullinger
5c331b2580 fix/quiet rpmlint issues from libsecret split
When the libsecret credential helper was split out in 9d91bab (split
libsecret credential helper into a subpackage (#1804741), 2020-02-19), a
few rpmlint errors & warnings crept in.

Update the rpmlintrc file to ignore the no-documentation warning for the
libsecret subpackage (replacing the gnome-keyring entry which is no
longer needed).  Fix an errant tab added to the spec file.

Moving the libsecret credential helper to a subpackage left no binaries
in the main git package, so rpmlint complains.  Fixing this requires a
bit more investigation and care.
2020-04-05 12:03:23 -04:00
Todd Zullinger
c2ee27a40e fix issue with fast-forward rebases when rebase.abbreviateCommands is set
Quoting from the upstream patch:

  Jan Alexander Steffens reported that when `rebase.abbreviateCommands'
  is set, the merge backend fails to fast forward.  This is because the
  backend generates a todo list with only a `noop', and since this
  command has no abbreviated form, it is replaced by a comment mark.
  The sequencer then interprets it as if there is nothing to do, and
  fails.

References:
https://github.com/git/git/commit/68e7090f31
https://lore.kernel.org/git/9b4bc756764d87c9f34c11e6ec2fc6482f531805.camel@gmail.com/
2020-04-04 12:20:11 -04:00
Björn Esser
e8ddd85759
Bump release 2020-04-02 13:29:11 +02:00
Björn Esser
64b70dd0af
Fix string quoting for rpm >= 4.16 2020-04-02 12:53:40 +02:00
Todd Zullinger
b0fbda3bc7 update to 2.26.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.26.0.txt
2020-03-22 23:32:32 -04:00
Todd Zullinger
cedf775a27 update to 2.26.0-rc2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.26.0.txt
2020-03-16 19:57:24 -04:00
Todd Zullinger
33714131a9 remove s390x gcc10 workaround (#1799408)
The workaround added in 9a7edd4 (work around issue on s390x with gcc10
(#1799408), 2020-02-22) is no loner needed.  The issue is fixed in
gcc-10.0.1-0.9.
2020-03-12 17:45:26 -04:00
Todd Zullinger
27b717774c add missing build deps for tests
A recent change to the perl packaging split many modules from the base
perl-interpreter package.  Add the missing test dependencies.

A few non-perl packages are also added, as they are no longer pulled
into the buildroot automatically, but were not properly required.
2020-03-10 23:52:43 -04:00
Todd Zullinger
90d09bcb85 adjust make test options
The make test call was changed to use %make_build in d34bc42 (Use
make_build macro when running tests, 2020-01-14) in order to allow the
options to be more easily overridden.  This enabled the -O option by
default, which causes the test output to be printed only after all the
tests have run.

That makes following the progress in both interactive and copr/koji
builds difficult.  Replace %make_build with %__make to drop the unwanted
-O option but still allow the make command to be overridden.
2020-03-10 23:46:37 -04:00
Todd Zullinger
edfc06e983 update to 2.26.0-rc1
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.26.0.txt
2020-03-10 11:37:16 -04:00
Todd Zullinger
7428a57402 update to 2.26.0-rc0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.26.0.txt
2020-03-05 21:59:18 -05:00
Todd Zullinger
e942c8d036 use Asciidoctor to build documentation when possible
The Asciidoctor project is more actively maintained than asciidoc.  Use
it for building the documentation on Fedora.  Asciidoctor is not
currently available for EL-6 or EL-8, though it is in EPEL for EL-7.
Exclude all EL builds for now, until we can reliably use it on EL-7 and
EL-8 (including CentOS-Stream, ideally).

This is made possible by the excellent work of both the Git and
Asciidoctor communities.  Thanks in particular to brian m. carlson,
Martin Ågren, Jeff King, and Dan Allen.
2020-03-05 21:56:44 -05:00
Todd Zullinger
9a7edd4b7a work around issue on s390x with gcc10 (#1799408)
When git is built with gcc10 on s390x, the diff builtin fails many
tests.  Use -mtune=zEC12 as a workaround until the issue is fixed
(in gcc and/or git).

Many thanks to Jakub Jelinek for doing the hard work to track this down.
2020-02-22 19:04:11 -05:00
Todd Zullinger
e07c54d140 remove unneeded gnome-keyring obsoletes
Fedora 29 has reached its end of life.  We no longer need to obsolete
the gnome-keyring subpackage.
2020-02-19 14:44:50 -05:00
Todd Zullinger
bed4f32f5e consolidate macros for Fedora/EPEL
Fedora 29 has reached its end of life.  Consolidate the macros which
applied to f29 or newer.
2020-02-19 14:43:38 -05:00
Todd Zullinger
9d91bab9c8 split libsecret credential helper into a subpackage (#1804741)
The libsecret package added a weak dependency on gnome-keyring in
4976bb0 (Recommend gnome-keyring, 2019-09-06).  This pulls in a bit more
than we would like with the git package.  Move the libsecret credential
helper to a subpackage.
2020-02-19 13:47:31 -05:00
Todd Zullinger
5c3ad97a83 update to 2.25.1
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.25.1.txt
2020-02-17 02:09:41 -05:00