Commit Graph

628 Commits

Author SHA1 Message Date
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
Fedora Release Engineering
151fc8f21e - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 21:56:13 +00:00
Tom Stellard
d34bc424d9 Use make_build macro when running tests
This will make it possible for buildroots to inject arguments to
make by redefining the %__make macro.

For example, the test target uses gcc to compile fuzz-commit-graph.c, so
one thing this change will allow us to do is to pass CC=clang to make if
we want to try to build with clang.
2020-01-15 17:19:13 +00:00
Todd Zullinger
79d00e3416 update to 2.25.0
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.25.0.txt
2020-01-13 20:07:53 -05:00
Todd Zullinger
715a141ade remove useless use of cat for printing config.mak
This `cat config.mak` was added in 37cec08 (Print config.mak to aid
confirmation/verification of settings, 2019-02-02).  Replace it by
piping the earlier cat through tee so we get a copy of the config on
stdout as well as written to config.mak.
2020-01-10 17:46:09 -05:00
Todd Zullinger
1c6dee8c16 update to 2.25.0-rc2
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.25.0.txt
2020-01-08 20:08:17 -05:00
Todd Zullinger
9b287b4f63 only add highlight test BR for ppc64le/x86_64 on EL7+
The highlight package is not available for aarch64 or s390x in EL7+.
Simplify the conditional (a little) by only listing the 2 known
architectures where highlight is available for EL7+.  It's not worth
adding much complexity for a dependency that is only used in 3 tests
for the gitweb subpackage.
2020-01-02 23:52:31 -05:00
Todd Zullinger
8f50e00fab update to 2.25.0-rc1
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.25.0.txt
2020-01-02 20:57:42 -05:00
Todd Zullinger
4eed98f371 update to 2.25.0-rc0
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.25.0.txt
2020-01-02 20:57:36 -05:00
Todd Zullinger
743dd47b9a fix git-daemon systemd scriptlets (#1785088)
When upgrading or reinstalling git-daemon, the rpm %postun scriptlet
runs the %systemd_postun_with_restart macro with git@.service as the
argument.  The macro calls 'systemctl try-restart git@.service' which
produces an error:

    $ dnf -y update git-daemon
    [...]
      Running scriptlet: git-daemon-2.24.1-1.fc31.x86_64                        2/2
    Failed to try-restart git@.service: Unit name git@.service is missing the instance name.
    See system logs and 'systemctl status git@.service' for details.

Until systemd-242, the error was hidden because the systemd scriptlets
directed all output to /dev/null.  That was changed in systemd commit
b0ca726585 (rpm: avoid hiding errors from systemd commands, 2019-03-20),
exposing this bug in the git-daemon scriptlets.

The misconfiguration also leaves a stale symlink in /etc/systemd if
git.socket is enabled.  Removing the git-daemon package and installing
again later results in git.socket being enabled.

Neither of these are the expected nor intended outcomes.  Replace
git@.service with git.socket in the systemd scriptlets.

The issue was introduced in 906d847 (Rename git.service into
git@.service and bump release, 2014-10-24).  It went unnoticed until now
largely because the systemd scriptlets hid their output.
2019-12-22 12:19:40 -05:00
Todd Zullinger
da087ee719 update to 2.24.1
Per the upstream release announcement¹, this release fixes "various
security flaws, which allowed an attacker to overwrite arbitrary paths,
remotely execute code, and/or overwrite files in the .git/ directory
etc.  See the release notes attached for the list for their descriptions
and CVE identifiers."

Refer to the 2.14.6 release notes² for details on these vulnerabilities.

¹ https://lore.kernel.org/git/xmqqr21cqcn9.fsf@gitster-ct.c.googlers.com/
² https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.14.6.txt
2019-12-10 13:23:30 -05:00
Todd Zullinger
39a7618fa8 restore jgit BR for use in tests
This effectively reverts 8faf622 (drop jgit BR on Fedora > 30,
2019-07-29).  The jgit package is available once again; use it to allow
some compatibility tests to be run.

Resolves: https://bugzilla.redhat.com/1766626
2019-12-03 22:14:32 -05:00
Todd Zullinger
763ae19326 update to 2.24.0
Include the new "Git Code of Conduct" document in git-core-doc.

Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.24.0.txt
2019-11-04 01:34:25 -05:00
Todd Zullinger
deddf05031 update to 2.24.0-rc2
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.24.0.txt
2019-10-30 23:22:01 -04:00
Todd Zullinger
185a1896d7 disable linkcheck test on all EL releases
The linkchecker package is not available for any EL release, including
EL-8.
2019-10-27 15:29:23 -04:00
Todd Zullinger
16e19ee356 gitk: add Requires: git-gui (#1765113)
While this could arguably be a Recommends: rather than Requires:, we
chose the latter for a few reasons.  The user experience when running
gitk and selecting "Start git gui" from the menu is quite poor.  No
indication is shown to the user graphically.  The only hint as to why
git gui did not start is output to stdout (and is not terribly helpful
for users who may be using gitk and git-gui because they are unfamiliar
with the command-line).

There are no additional dependencies pulled in by git-gui which are not
already dependencies of gitk.  And the git-gui package is relatively
small.

Lastly, the default behavior of Recommends: is the same as Requires: at
this time.

If/when any of these things change, we may revisit whether moving to
Recommends: makes more sense.

Thanks to Vasiliy Glazov and Pavel Cahyna for reporting the issue and
helping to determine the proper resolution.
2019-10-24 15:14:03 -04:00
Todd Zullinger
33ecb7860b skip failing test in t7812-grep-icase-non-ascii on s390x
The "PCRE v2: grep non-ASCII from invalid UTF-8 data" test fails on
big-endian arches.  This is known upstream and will hopefully be
resolved soon.

Reference:
https://public-inbox.org/git/20191020002648.GZ10893@pobox.com/
2019-10-24 15:14:03 -04:00
Todd Zullinger
8b2d34ca4f update to 2.24.0-rc1
Adjust skipped test number in t5541-http-push-smart.sh (skipped on
aarch64, %{arm}, and %{power64}).  A new test was added in upstream
6f1194246a ("remote-curl: pass on atomic capability to remote side",
2019-10-16), resulting in the "push 2000 tags over http" test number
changing.

Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.24.0.txt
2019-10-24 15:11:56 -04:00
Todd Zullinger
61b7079c2f fix t0500-progress-display on big-endian arches
Thanks to SZEDER Gábor <szeder.dev@gmail.com> for a quick patch.
2019-10-19 19:57:53 -04:00
Todd Zullinger
8040cda919 update to 2.24.0-rc0
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.24.0.txt
2019-10-18 23:14:21 -04:00
Todd Zullinger
20f4fd7268 Update to 2.23.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.23.0.txt
2019-08-16 17:05:49 -04:00
Todd Zullinger
300a3d79f2 Update to 2.23.0-rc2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.23.0.txt
2019-08-11 20:08:04 -04:00
Todd Zullinger
eb2423a5cb Update to 2.23.0-rc1
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.23.0.txt
2019-08-02 20:02:30 -04:00
Todd Zullinger
f4c8506a97 Update to 2.23.0-rc0
Adjust the test to skip in t5541-http-push-smart as another test was
added before the failing test.

Apply a patch from Jeff King which fixes a failure in the newly-added
t0016-oidmap on big endian systems like s390x¹.

Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.23.0.txt

¹ https://public-inbox.org/git/20190731012336.GA13880@sigill.intra.peff.net/
2019-07-31 19:04:09 -04:00
Todd Zullinger
8faf6223ea drop jgit BR on Fedora > 30
With the move of java packages to modules, jgit looks likely to become
unavailable as a BuildRequires in Fedora soon. Avoid it on Fedora > 30
for now.

This affects 3 tests, 2 for packfile format (t5310-pack-bitmaps) and
1 of ls-remote (t5512-ls-remote).
2019-07-29 11:58:31 -04:00
Todd Zullinger
b52ad890ac avoid trailing comments in spec file
Spec file comments are only officially supported at the start of a line.
Trailing comments only worked unintentionally and rpm >= 4.15 warns
about such comments.

Reference:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/CKQCK5MDN6PFGAD4YOMXTO3SDAUKTCUT/
2019-07-25 21:07:38 -04:00
Todd Zullinger
e733d5d898 completion: do not cache if --git-completion-helper fails
"git <cmd> --git-completion-helper" could fail if the command checks for
a repo before parse_options(). If the result is cached, later on when
the user moves to a worktree with repo, tab completion will still fail.

Avoid this by detecting errors and not cache the completion output.
2019-07-25 21:07:38 -04:00
Fedora Release Engineering
edc147ffe0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 03:26:35 +00:00
Todd Zullinger
b5ef6c9e8b Update to 2.22.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.22.0.txt
2019-06-07 17:48:29 -04:00
Todd Zullinger
666aaebbc9 Add changelog entry for 2.22.0-0.6.rc3
I failed to add this entry in 21cae1e ("Update to 2.22.0-rc3",
2019-06-03).
2019-06-04 11:30:03 -04:00
Jitka Plesnikova
910a5f7151 Perl 5.30 re-rebuild updated packages 2019-06-04 14:49:05 +02:00
Todd Zullinger
21cae1e2e4 Update to 2.22.0-rc3
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.22.0.txt
2019-06-03 19:20:50 -04:00
Jitka Plesnikova
9528c261f5 Perl 5.30 re-rebuild of bootstrapped packages 2019-06-02 22:59:52 +02:00
Jitka Plesnikova
2fb7861861 Perl 5.30 rebuild 2019-06-01 20:21:17 +02:00
Todd Zullinger
763b9e71e9 Update to 2.22.0-rc2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.22.0.txt
2019-05-30 21:01:49 -04:00
Todd Zullinger
9524a99a05 Apply upstream fixes for diff-parseopt issues on s390x
References:
https://public-inbox.org/git/20190523150416.GL3654@pobox.com/#t
https://public-inbox.org/git/20190524092442.701-1-pclouds@gmail.com/T/
2019-05-25 12:42:51 -04:00
Todd Zullinger
554467c649 Update changelog for 2.22.0-rc1 2019-05-25 12:42:38 -04:00
Todd Zullinger
ba20d6b2a2 Update to 2.22.0-rc1
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.22.0.txt
2019-05-19 16:40:01 -04:00
Todd Zullinger
40e1625e1a Add perl(JSON::PP) BuildRequires for trace2 tests
The JSON::PP perl module is used by t0212-trace2-event.  It is available
on all supported Fedora and EPEL releases.
2019-05-14 02:01:22 -04:00
Todd Zullinger
51610991b8 Improve JGIT test prereq (jgit on Fedora >= 30 is broken)
Running jgit on Fedora >= 30 results in an immediate failure¹:

  $ jgit --version
  /usr/bin/build-classpath: Could not find xz-java Java extension for this JVM
  /usr/bin/build-classpath: error: Some specified jars were not found
  Error: Could not find or load main class org.springframework.boot.loader.JarLauncher

Skip the jgit tests if 'jgit --version' fails.  This way we'll begin
running them again once the issue is resolved -- without having to make
any further changes to the git package.

Also exclude jgit on i386 arch, as upstream eclipse has dropped support.
We could adjust the conditional to only exclude on Fedora >= 30 and
i386, but the added complexity is not worth the effort.

¹ jgit bug report: https://bugzilla.redhat.com/1709624
2019-05-14 02:01:22 -04:00
Todd Zullinger
8d801b24a1 Ensure a consistent format for test output
When run with or without a controlling terminal, keep the test output
the same.
2019-05-13 15:19:34 -04:00
Todd Zullinger
03148fb477 Update to 2.22.0-rc0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.22.0.txt
2019-05-13 15:17:46 -04:00
Todd Zullinger
e17874a9b1 Link git-citool to git-gui
The git-gui Makefile does not follow the INSTALL_SYMLINKS setting.
Until it does, manually symlink git-citool to git-gui.

Test that the files are identical before linking, to avoid issues if
they begin to differ in the future.
2019-02-24 13:31:22 -05:00
Todd Zullinger
530061ce99 Move gitweb manpages to gitweb package
The gitweb manpages should be installed with the gitweb package.  This
discrepancy was noted by Robert P. J. Day on the git list¹.

¹ https://public-inbox.org/git/alpine.LFD.2.21.1902230756280.24879@localhost.localdomain/
2019-02-24 13:31:08 -05:00
Todd Zullinger
050797604f Update to 2.21.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.21.0.txt
2019-02-24 13:30:39 -05:00
Todd Zullinger
42b4954b73 Update to 2.21.0.rc2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.21.0.txt
2019-02-19 18:51:40 -05:00
Todd Zullinger
233359ed66 Set SOURCE_DATE_EPOCH and TZ to improve build reproducibility
The documentation tools respect these variables when generating dates in
the man and html docs.  This is a small step toward making the package
builds reproducible.

An alternate method to set SOURCE_DATE_EPOCH would be to set the rpm
%source_date_epoch_from_changelog macro.  Using the version file from
the tarball is a little nicer as the date is printed in the man pages.
We'd still need to set TZ anyway, as the html documentation sets the
'last updated' footer entry based on the timestamp of the corresponding
txt file.

[Note: It is possible to avoid the 'last updated' footer entirely by
setting the asciidoc footer-style attribute to none.  This would need to
be done via sed or a patch, as there's not currently a way to set this
in config.mak -- but perhaps there should be.]

Reference: https://reproducible-builds.org/specs/source-date-epoch/
2019-02-16 14:22:24 -05:00
Todd Zullinger
f506af1ff5 Update to 2.21.0.rc1
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.21.0.txt
2019-02-14 03:32:30 -05:00
Todd Zullinger
aefb419775 Remove %changelog entries prior to 2017
The git history serves as the repository for the old entries.  The
changelog was roughly 40% of the total lines in the spec file.
2019-02-13 22:43:32 -05:00
Todd Zullinger
74154edcfe Update to 2.21.0.rc0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.21.0.txt
2019-02-13 22:41:10 -05:00
Todd Zullinger
a643ff944c Drop unneeded TEST_SHELL_PATH make variable
TEST_SHELL_PATH was added in 62f562d ("Use 'prove' as test harness,
enable shell tracing", 2018-01-18).  Shortly afterward, upstream commit
a5bf824f3b ("t: prevent '-x' tracing from interfering with test helpers'
stderr", 2018-02-25)¹ removed the need to use bash to get the benefits of
running the test suite with '-x' tracing.

¹ https://github.com/git/git/commit/a5bf824f3b
2019-02-11 22:59:50 -05:00
Todd Zullinger
95fc1fa70e Use build_cflags/build_ldflags instead of optflags/__global_ldflags
The build_cflags and build_ldflags macros replace the deprecated
optflags and __global_ldflags macros, per buildflags.md in
redhat-rpm-config¹.

Note: EPEL provides these macros for compatibility.

¹ https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/master/f/buildflags.md
2019-02-11 22:59:50 -05:00
Todd Zullinger
10da171608 Fix formatting of contrib/{contacts,subtree} docs
The Makefiles for contrib/{contacts,subtree} don't include various
asciidoc, docbook, and xmlto options which are added to docs built from
the Documentation dir.  Without these options the man page generated
for git-contacts has formatting issues.

Move the contrib/{contacts,subtree} docs to the Documentation dir to be
built along with the other doc files.
2019-02-11 22:59:49 -05:00
Todd Zullinger
fcdcff43cd Drop gnupg BuildRequires on fedora >= 30
Now that Fedora 30 defaults to gnupg2 as /bin/gpg we don't need to
install gnupg for the test suite.  We already require gnupg2 to verify
the source files.
2019-02-11 22:59:49 -05:00
Todd Zullinger
37cec08b20 Print config.mak to aid confirmation/verification of settings
Having the output of the config.mak file in the build output is very
convenient, particularly when building in koji or copr where it is not
possible to directly access the buildroot.
2019-02-11 22:59:49 -05:00
Todd Zullinger
c9d5e18948 Work around gpg-agent issues in the test suite
GnuPG2 requires gpg-agent and tries to start it on demand.  The agent
uses a socket for communication and the path to this socket must be
shorter than sun_path [108 characters, per unix(7)].

Adjust the location of the temporary directories used by the test suite
by passing the --root option via GIT_TEST_OPTS.

One potential downside to this is that we use mktemp to create the
directory and this will differ between builds.  If/when we want to make
our builds entirely reproducible we will need to revisit this.  With
luck, gnupg will be better behaved by that time¹.

An alternate solution I tested was to rename the two problematic tests
(t5573 and t7612).  This is a brittle solution as new tests may be added
which cause the same path length issue for gpg-agent.

Also drop the redundant killing of gpg-agent.  This doesn't break
anything but it can only slow the test suite (however slightly).

¹ A ticket was filed to improve gpg-agent's handling of long paths in
  GNUPGHOME (but it's nearly 2 years old): https://dev.gnupg.org/T2964.
2019-02-11 22:59:49 -05:00
Todd Zullinger
a74fadafe7 Add gnupg2-smime and perl JSON BuildRequires for tests
In addition to the gnupg2-smime BR, patch an issue which prevents the
gpgsm tests from running.  Only include gpgsm on Fedora and RHEL > 8.
On RHEL < 8 the gnupg2-smime package is too old to run the tests.
2019-02-11 22:59:49 -05:00
Todd Zullinger
bb15dc829e Replace gitweb home-link with inline sed
One less patch to manage.
2019-02-11 22:47:10 -05:00
Todd Zullinger
fece8d786b Add additional BuildRequires for i18n locales used in tests
The test suite uses is_IS.UTF-8 and is_IS.ISO8859-1 (via the
GETTEXT_LOCALE and GETTEXT_ISO_LOCALE prereq's.  Ensure these locales
are available.  Installing glibc-langpack-is is insufficient as it does
not provide is_IS.ISO8859-1, glibc-all-langpacks is also needed.

Now that we're installing additional langpacks, update the macro name
which was added in a6a24cf ("Add glibc-langpack-en BuildRequires for
en_US.UTF-8 locale", 2018-11-05).
2019-02-11 22:46:46 -05:00
Todd Zullinger
5aaf62d16f Remove extraneous pcre BuildRequires
The pcre BR was added in 6dc6285 ("Improve test suite coverage",
2017-11-10), which seems to have been an oversight.  The test suite
improvements were worked on over a long period of time.  It is quite
likely that the pcre BR was needed before 6dc6285 was finalized.
Regardless, we began building against pcre2 in 595b682 ("Use pcre2
library", 2017-07-22).

Note that pcre remains in the minimal buildroot due to dependencies in
glib2 and grep.
2019-02-11 22:46:22 -05:00
Fedora Release Engineering
6a5fa7acb3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 22:26:02 +00:00
Todd Zullinger
e38a5c222e Update to 2.20.1
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.20.1.txt
2018-12-15 00:53:32 -05:00
Todd Zullinger
4fe38417f1 Update to 2.20.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.20.0.txt
2018-12-09 10:18:20 -05:00
Todd Zullinger
c983514258 Update to 2.20.0.rc2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.20.0.txt
2018-12-01 13:45:33 -05:00
Todd Zullinger
0b6f68c532 Update to 2.20.0.rc1
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.20.0.txt
2018-11-26 22:51:54 -05:00
Todd Zullinger
e46c99bb3b Update to 2.19.2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.19.2.txt
2018-11-21 23:44:18 -05:00
Todd Zullinger
a6a24cf421 Add glibc-langpack-en BuildRequires for en_US.UTF-8 locale
Fedora 30 will remove glibc-all-langpacks from the default buildroot¹.
Ensure en_US.UTF-8 locale is present for the test suite.  Avoid C.UTF-8
until it is more widely used and tested.

¹ https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot
2018-11-21 23:40:32 -05:00
Todd Zullinger
314daae243 Avoid 'unexpanded macro' warning in mock srpm builds
When preparing the srpm in mock or other minimal environments, the use
of %{_emacs_version} causes a spurious warning:

  Possible unexpanded macro in: Requires: emacs-filesystem >= %{_emacs_version}

Prevent the warning with a check that the macro is defined before use.

(There is another use of %{_emacs_version}, but it only applies to EL-6
where the warning is not present.  Just ignore it.)
2018-11-21 23:40:32 -05:00
Todd Zullinger
ac594c4ca5 Add comments to %endif statements
Make it easier to tell what %if conditions are being ended.  This is
particularly useful with nested conditions since we lack any indentation
to visually denote the conditional blocks.
2018-11-21 23:40:32 -05:00
Todd Zullinger
ba93b90998 Use %{without ...} macro consistently
The %{without ...} macro is easier to read than '! %{with ...}', use it
consistently.

(Note that using %without_* and %_without_* macros is still not
advised.)
2018-11-21 23:40:32 -05:00
Todd Zullinger
4e0f331329 Simplify gpg verification of Source0
The verification was simplified slightly in 903d8f3 ("Remove EL-5 and
old Fedora conditionals", 2017-07-22).

Further simplifications:

    - do away with unneeded variables
    - drop '--batch' and '>/dev/null' from gpg2 --dearmor
    - check tarball signature via stdin

The "noisy output from GnuPG 2.0" alluded to on EL <= 7 is no longer
present.  This has been tested in mock for el6, el7, and fedora
releases.
2018-11-21 23:40:32 -05:00
Todd Zullinger
a91c5fdb8a Skip test BuildRequires when --without tests is used
The chroot is a bit quicker to create and slightly smaller when building
'--without tests' if the BuildRequires needed to run the tests are
skipped.

Add pod2man dependency when documentation is enabled (the default).
Since git-2.17.0, pod2man is needed to build Git.3pm.  The pod2man
command is in perl-podlators on Fedora and EL >= 7, but in perl on EL-6.
Use %{_bindir}/pod2man to ensure the dependency is found regardless of
what package provides it.

The dependency is only missed when building without the test deps, as
the many perl requirements pulled in for the test suite bring in
pod2man.
2018-11-21 23:40:27 -05:00
Pavel Cahyna
79dbcc83dc Update condition for the t5540-http-push-webdav test for future RHEL 2018-10-22 11:43:21 +02:00
Todd Zullinger
32a31b7090 Update to 2.19.1 (CVE-2018-17456)
From the upstream release announcement:

  These releases fix a security flaw (CVE-2018-17456), which allowed an
  attacker to execute arbitrary code by crafting a malicious .gitmodules
  file in a project cloned with --recurse-submodules.

  When running "git clone --recurse-submodules", Git parses the supplied
  .gitmodules file for a URL field and blindly passes it as an argument
  to a "git clone" subprocess.  If the URL field is set to a string that
  begins with a dash, this "git clone" subprocess interprets the URL as
  an option.  This can lead to executing an arbitrary script shipped in
  the superproject as the user who ran "git clone".

  In addition to fixing the security issue for the user running "clone",
  the 2.17.2, 2.18.1 and 2.19.1 releases have an "fsck" check which can
  be used to detect such malicious repository content when fetching or
  accepting a push. See "transfer.fsckObjects" in git-config(1).

  Credit for finding and fixing this vulnerability goes to joernchen
  and Jeff King, respectively.

References:
https://public-inbox.org/git/xmqqy3bcuy3l.fsf@gitster-ct.c.googlers.com/
2018-10-05 15:18:02 -04:00
Todd Zullinger
1cb6673d8f Update t5551 w/curl-7.61.1 patch
Add a link to the upstream commit and use that patch.  The patch content
is the same -- only the metadata differs.
2018-10-01 23:26:58 -04:00