Commit Graph

567 Commits

Author SHA1 Message Date
Todd Zullinger
dc9c346ade Filter rpmlint complaint about %{_emacs_version}
We BR emacs which requires emacs-common and provides %{_emacs_version}.
2018-09-11 03:06:06 -04:00
Todd Zullinger
93e9ed05e4 Update to 2.19.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.19.0.txt
2018-09-10 22:26:10 -04:00
Todd Zullinger
6bd166894f Add --without tests option to skip tests
While rpmbuild and mock have --nocheck to disable the %check section,
'fedpkg mockbuild' lacks this convenient option.

Add %bcond_without tests to allow 'fedpkg mockbuild --without tests' to
not run the test suite.  Disabling the test suite cuts the build time by
approximately 60%, which is very useful while working on changes to the
packaging.
2018-09-10 22:26:10 -04:00
Todd Zullinger
2ed8c8c53d Fix smart-http test due to changes in cookie sort order in curl-7.61.1
With curl-7.61.1 cookies are sorted by creation-time¹.  Sort the output
used in the 'cookies stored in http.cookiefile when http.savecookies
set' test before comparing it to the expected cookies.

¹ https://github.com/curl/curl/commit/e2ef8d6fa ("cookies: support
  creation-time attribute for cookies", 2018-08-28)
2018-09-10 22:26:10 -04:00
Sebastian Kisela
6bf3ed4a31 Fix builds without docs and without cvs and/or p4
When building with options "--without docs --without p4 --without cvs"
the build fails with the following errors:

    error: Installed (but unpackaged) file(s) found:
       /usr/share/doc/git/git-cvsexportcommit.txt
       /usr/share/doc/git/git-cvsimport.txt
       /usr/share/doc/git/git-cvsserver.txt
       /usr/share/doc/git/git-p4.txt
	Installed (but unpackaged) file(s) found:
       /usr/share/doc/git/git-cvsexportcommit.txt
       /usr/share/doc/git/git-cvsimport.txt
       /usr/share/doc/git/git-cvsserver.txt
       /usr/share/doc/git/git-p4.txt

The .txt files were not caught by the %files entry in the main git
package when cvs/p4 were disabled -- from 9cd8ee7 ("Disable CVS support
on EL > 7", 2018-03-14.  Those only applied when documentation was not
disabled.

Remove git-cvs* and git-p4* files from Documentation as well as the
%{buildroot}.  Simplify the find path by dropping %{_bindir} and
%{gitexecdir}.  Tighten the git-p4 glob to avoid unintended matches.
Drop the conditional inclusion of cvs/p4 docs in the main git package in
favor of removing the files entirely.
2018-09-10 22:26:10 -04:00
Sebastian Kisela
f8a83b9ea0 Move instaweb to a subpackage
Gives possibility to add dependencies for git-instaweb http daemon,
without having to install all dependencies at each git install.

Currently, lighttpd is required by the git-instaweb package.
The git-instaweb script supports other httpd daemons (httpd, mongoose,
plackup [in perl(Plack)], and webrick [in rub-libs]).  lighttpd is the
default, works without any configuration, and is only ~1M installed.
2018-09-10 22:26:10 -04:00
Todd Zullinger
3bd04f23dc Drop git-gnome-keyring obsolete for fedora > 30
Add a conditional to allow merging from master to f29.  The obsoletes
should be removed when f29 is EOL.  It was added in 2d1c8b1 ("Remove
obsolete gnome-keyring credential helper", 2018-01-09).  The comment was
improved in 4a06e99 ("clarify comment for obsolete git-gnome-keyring",
2018-09-04).
2018-09-10 22:26:10 -04:00
Todd Zullinger
1fe470a26e Remove python2 contrib scripts if python2 is not available
Avoid shipping scripts which require python2 when building without
python2.  The following scripts/directories are removed:

    contrib/fast-import/import-zips.py
    contrib/hg-to-git
    contrib/svn-fe
2018-09-10 22:26:10 -04:00
Todd Zullinger
601f4c9e87 Obsolete git-cvs if it's disabled
Similar to git-p4 in 5032bef ("bump release", 2018-09-04), add
Obsoletes: for git-cvs when it is disabled.
2018-09-10 22:25:49 -04:00
Todd Zullinger
cf5fc1863f Drop unnecessary Conflicts: when git-p4 is disabled
The Obsoletes: tag is sufficient to ensure git-p4 is removed when
updating to a newer git which lacks a git-p4 subpackage.
2018-09-08 01:30:00 -04:00
Todd Zullinger
2b58811801 Update to 2.19.0.rc2
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.19.0.txt
2018-09-05 00:52:20 -04:00
Todd Zullinger
9c32e2fbfb Ignore rpmlint warning when git-p4 is obsoleted
When python2 is not available the git-p4 package is obsoleted.  Ignore
the subsequent rpmlint "obsolete-not-provided" warning.
2018-09-05 00:51:57 -04:00
Nils Philippsen
5032bef960 bump release 2018-09-04 14:18:29 +02:00
Nils Philippsen
4a06e99217 clarify comment for obsolete git-gnome-keyring 2018-09-04 14:17:41 +02:00
Todd Zullinger
dfcc5ccfe1 Update to 2.19.0.rc1 2018-08-28 16:41:06 -04:00
Todd Zullinger
218c314f1f Update to 2.19.0.rc0 2018-08-23 17:42:20 -04:00
Todd Zullinger
394b8eec1e Restore fixed contrib/credential/netrc tests 2018-08-23 17:42:11 -04:00
Todd Zullinger
8f1e2b63b0 Remove git-remote-testsvn, make git-svn noarch
A future release of git will likely remove contrib/svn-fe and
git-remote-testsvn¹.  The git-remote-testsvn binary is the only noarch
file in the git-svn package.  Seeing that it's utility is very
questionable, remove it so git-svn can return to a noarch package.

¹ https://public-inbox.org/git/20180817190310.GA5360@sigill.intra.peff.net/
2018-08-23 17:37:25 -04:00
Fedora Release Engineering
98b3cc5061 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 02:24:10 +00:00
Petr Písař
3e2a92724a Perl 5.28 rebuild 2018-07-03 12:15:31 +02:00
Jitka Plesnikova
fb90b05714 Perl 5.28 re-rebuild of bootstrapped packages 2018-07-01 09:00:33 +02:00
Jitka Plesnikova
3a186b000a Perl 5.28 rebuild 2018-06-29 21:51:33 +02:00
Pavel Cahyna
bd7ea152d6 fix build --without cvs
9125e65 ("Use new INSTALL_SYMLINKS setting", 2018-05-30) broke builds
using --without cvs. /usr/libexec/git-core/git-cvsserver became a
symlink instead of hardlink. Adapt the find command used to exclude
'git-cvs*' files to detect symlinks as well.
2018-06-27 01:23:50 -04:00
Todd Zullinger
a66569768e Update to 2.18.0
Release notes:
https://www.kernel.org/pub/software/scm/git/docs/RelNotes/2.18.0.txt
2018-06-21 15:38:42 -04:00
Miro Hrončok
83950a818e Rebuilt for Python 3.7 2018-06-19 10:43:40 +02:00
Todd Zullinger
5cf8e316f1 Apply upstream zlib buffer handling patch (#1582555)
With the patch accepted upstream, apply it to all architectures.
2018-06-13 18:36:50 -04:00
Todd Zullinger
5834e5a5ce Update to 2.18.0-rc2 2018-06-13 18:27:26 -04:00
Todd Zullinger
8169f9d942 lint: fix macro-in-%changelog warnings
These unescaped macros slipped in with 3f3a0b6 ("Use %make_build and
%make_install", 2018-05-30).
2018-06-07 23:40:21 -04:00
Todd Zullinger
c86e52df37 Build git-subtree docs in %build
We want to build all documentation in the %build phase rather than
falling through to the %install phase and building it as a dependency of
install-doc.
2018-06-07 23:34:44 -04:00
Todd Zullinger
2ea451f1f4 Include git-contacts, SubmittingPatches suggests it to users
The git-contacts script was added to SubmittingPatches recently.  Make
it easier for users who read about it in the documentation to make use
of the command.
2018-06-07 23:33:48 -04:00
Todd Zullinger
95447ce86a Drop flaky & out-of-place netrc credential helper tests
The default target in contrib/credential/netrc/Makefile is, and has
always been, test.  Running 'make -C contrib/credential/netrc/' in
%build is not needed.

Additionally, the tests recently were changed and require perl-Git to be
installed before running.  The tests also exit cleanly regardless of any
failures encountered, which makes them unreliable.  A fix for these
issues will be submitted upstream, but rather than apply it here, simply
drop the unneeded 'make' call.

Ideally, the tests will be run in %check once fixed.  This does present
a small wrinkle due to the deletion of contrib/credential in %install.
Cross that bridge when we get there. :)
2018-06-05 13:30:56 -04:00
Todd Zullinger
ce668b9d1e Update to 2.18.0-rc1 2018-06-05 13:30:56 -04:00
Todd Zullinger
572ec3935e add -p: fix counting empty context lines in edited patches
References:
https://github.com/gitster/git/commit/f2cb01d35
https://public-inbox.org/git/20180601174644.13055-1-phillip.wood@talktalk.net/
2018-06-05 13:30:56 -04:00
Todd Zullinger
9125e65273 Use new INSTALL_SYMLINKS setting
Replace NO_CROSS_DIRECTORY_HARDLINKS and NO_INSTALL_HARDLINKS with
INSTALL_SYMLINKS.  The result is slightly improved; all symlinks will
point directly to the target rather than via multiple levels of
symlinks.

The rationale was covered in slightly more detail in d56cfc6 ("Use
symlinks instead of hardlinks for installed binaries", 2018-03-15).

Adjust the dangling-relative-symlink filter in the rpmlint config for
the new target of the git-difftool symlink.
2018-06-05 13:30:56 -04:00
Todd Zullinger
d3cc8ccead Update to 2.18.0-rc0
The USE_LIBPCRE setting now defaults to pcre2; use it.  It's still
valid to set USE_LIBPCRE2, but using the default should be cleaner in
the long-run.

The (long-unmaintained) emacs support has been dropped upstream in favor
of better alternatives.  From the upstream commit¹:

    The git-blame.el mode has been superseded by Emacs's own
    vc-annotate (invoked by C-x v g). Users of the git.el mode are now
    much better off using either Magit or the Git backend for Emacs's own
    VC mode.

    These modes were added over 10 years ago when Emacs's own Git support
    was much less mature, and there weren't other mature modes in the wild
    or shipped with Emacs itself.

    These days these modes have few if any users, and users of git aren't
    well served by us shipping these (some OS's install them alongside git
    by default, which is confusing and leads users astray).

¹ 6d5ed4836d ("git{,-blame}.el: remove old bitrotting Emacs code", 2018-04-11)
  https://git.kernel.org/pub/scm/git/git.git/commit/?id=6d5ed4836d
2018-06-05 13:30:56 -04:00
Todd Zullinger
3f3a0b6309 Use %make_build and %make_install
Also drop DESTDIR and INSTALL from config.mak; they are both handled via
%make_install.

Remove the rpmlint filter for %buildroot usage which was only needed due
to DESTDIR's use in config.mak.
2018-06-05 13:30:49 -04:00
Todd Zullinger
fd929804e7 Disable jgit tests on s390x, they're unreliable
Specifically, t5512-ls-remote.sh has a test which starts a jgit daemon.
This has failed to exit on a number of occasions, only on s390x.  We
could disable just that test with "GIT_SKIP_TESTS=t5512.28", but the
test number can and does change as more ls-remote tests are added.

Dropping the jgit BuildRequires is cleaner and only causes 3 tests to be
skipped, the offending t5512 test and two others in t5310-pack-bitmaps.

Access to s390x might help better debug this, but it does not occur
consistently and may be limited to koji.  The issue could be a problem
in jgit as well.  While looking at a hung build, Kevin Fenzi found a few
errors in t5512-ls-remote.out:

    /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
2018-06-05 13:30:21 -04:00
Todd Zullinger
f179dc950e Use %apply_patch for aarch64 zlib patch, return to %autosetup
Unfortunately, it appears we need to carry this patch longer than
expected.  Return to using %autosetup so other patches are easier to
manage.  Use %apply_patch to manually apply the zlib patch only on
aarch64, as that is the only arch where it is required at this time.
2018-06-05 12:27:41 -04:00
Todd Zullinger
10eda9d47e Update rpmlint config path
The default path was changed from .rpmlint to <module_name>.rpmlintrc in
rpkg (https://pagure.io/rpkg/pull-request/293).
2018-05-29 16:27:44 -04:00
Todd Zullinger
20fad240e8 packfile: Correct zlib buffer handling on aarch64 (#1582555)
A recent zlib build with optimization for ARM exposed an issue in git's
packfile handling.

Thanks to Pavel Cahyna for the initial report and debugging and Jeremy
Linton for further diagnosis and the subsequent patch.

The patch is currently being discussed upstream¹.  Until it is accepted,
apply it only on aarch64 to avoid any unexpected issues with other
arches.

¹ https://public-inbox.org/git/20180525231713.23047-1-lintonrjeremy@gmail.com/T/#u
2018-05-29 14:28:31 -04:00
Todd Zullinger
9a5cabc9ef Update to 2.17.1 (CVE-2018-11233, CVE-2018-11235)
Fixes two security issues, described in the 2.13.7 release notes¹:

 * Submodule "names" come from the untrusted .gitmodules file, but we
   blindly append them to $GIT_DIR/modules to create our on-disk repo
   paths. This means you can do bad things by putting "../" into the
   name. We now enforce some rules for submodule names which will cause
   Git to ignore these malicious names (CVE-2018-11235).

   Credit for finding this vulnerability and the proof of concept from
   which the test script was adapted goes to Etienne Stalmans.

 * It was possible to trick the code that sanity-checks paths on NTFS
   into reading random piece of memory (CVE-2018-11233).

¹ https://mirrors.edge.kernel.org/pub/software/scm/git/docs/RelNotes/2.13.7.txt
2018-05-29 13:08:24 -04:00
Todd Zullinger
676f6fab11 Improve debug output when 'make test' fails
If 'make test' fails before running any tests, the debug output from
print-failed-test-output is confusing:

    + ./print-failed-test-output
    cat: t/test-results/*.exit: No such file or directory
    ./print-failed-test-output: line 6: [: : integer expression expected

    --------------------------------------------------------------------------------
    t/test-results/*.out
    --------------------------------------------------------------------------------
    cat: t/test-results/*.out: No such file or directory

Use the bash failglob option to imrpve the output:

    + ./print-failed-test-output
    ./print-failed-test-output: line 12: no match: t/test-results/*.exit
2018-05-25 10:20:48 -04:00
Todd Zullinger
de617607d0 Move TEST_SHELL_PATH setting to config.mak
There's no need to manually export this.  Set it via the method
documented in the Makefile, like other settings.
2018-05-24 21:44:08 -04:00
Todd Zullinger
b717510550 Fix segfault in rev-parse with invalid input (#1581678) 2018-05-24 21:41:43 -04:00
Todd Zullinger
ebd4261f9f Fix formatting of changelog release string
While it's acceptable with or without the hyphen, all other entries use
a hyphen.  Keep it consistent.
2018-04-22 17:00:14 -04:00
Todd Zullinger
6eb92cebdc Re-enable t5000-tar-tree.sh test on f28
The unknown, but temporary, breakage in fedora-28-x86_64 buildroots
appears to be resolved.

The test was disabled in a998227 ("Disable t5000-tar-tree.sh on x86 in
f28", 2018-01-18).
2018-04-16 14:27:50 -04:00
Todd Zullinger
da74a8e523 Move linkcheck macro to existing fedora/rhel > 7 block
The spec file is a bit easier to read with as few conditional blocks as
required.  Use %bcond_(with|without) to allow easier toggling of the
link checking.
2018-04-16 12:14:49 -04:00
Pavel Cahyna
34c2440884 Update conditions for future RHEL 2018-04-16 11:13:55 -04:00
Pavel Cahyna
1a82d92cd4 Conform to the Packaging Guidelines for Perl
Add BuildRequires: perl-interpreter (or perl on systems that do not
provide perl-interpreter) since perl is invoked during the build
process.

(https://fedoraproject.org/wiki/Packaging:Perl#Build_Dependencies,
https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules)

Probably no functional change, since perl is being brought in via other
deps.
2018-04-14 19:33:46 -04:00
Todd Zullinger
eeb7261573 Require perl-generators on EL > 7
Add a %{use_perl_generators} macro to control this requirement.
2018-04-12 20:45:18 -04:00