Links in docfiles are now automatically checked for correct paths
by linkchecker. The test is available only for Fedora 25+ system,
because the utility is not available for RHEL.
We have not supported git-archimport in many years and have removed the
files from the documentation. Removing it from the command list ensures
that git will not generate a link to the command in the documentation.
This avoids leaving a broken link in the html docs.
Move documentation files from all subpackages into the %{_pkgdocdir}
directory, so links inside doc and man files are correct
Resolves: #1357438
- excluded *py[co] files from doc/* subdirectories, as these files
are not expected to be executed (thanks tmz)
The grep tests succeed and fail intermittently on s390x. Until that
arch is more established and works (or fails) consistently, skip these
tests rather than let s390x hold back ever other arch.
Upstream changed the default SHA1 implementation in 2.13.0 to one which
detects collisions¹. It may be slightly slower than BLK_SHA1 in some
cases, but the added safety it provides in the face of the SHAttered²
attack should be worth the cost.
We overrode the default SHA1 implementation in b796934 (Update to
git-1.6.5.rc2 - Enable Linus' block-sha1 implementation.) The main
reason was to avoid linking against openssl's libcrypto for most
binaries, which saved a measurable amount of space. Using the new
DC_SHA1 default provides the same benefit.
¹ https://github.com/git/git/commit/e6b07da278
² https://shattered.io/
Since the libsecret replaces the libgnome-keyring,
the libgnome-keyring is not necessary to keep it in the git package.
In addition, gnome-keyring is deprecated and according to people
from GNOME, they do not expect that anyone would want to use the old
library when libsecret is installed. So drop credentials for
libgnome-keyring.
However, I keep that credential in spec for older systems where it
has been originally, but it is split into the separate rpm, so at
least it will not be required by the git package. It can be removed
later.
Usually in Fedora this change will not change paths in current
packages, because both macros has same value now (/var). However,
the first one is "more recommended", because some build environments
redefine path in this macro for own purposes, in contrast with
%{_var} which is usually kept as it is.
- missing libcurl requirement for git-core
- git-email & git-cvs should require 'perl(Git)' according
to guidelines
- perl-generators are required during build only for Fedora 21+
From the upstream commit message which added the helper¹:
This is based on the existing gnome-keyring helper, but instead of
libgnome-keyring (which was specific to GNOME and is deprecated), it
uses libsecret which can support other implementations of XDG Secret
Service API.
¹ 87d1353 (contrib: add credential helper for libsecret, 2016-10-09)
We can avoid pulling in libgnome-keyring for git-core installs.
Presumably, those who want a minimal git install won't miss a
credentials helper which is only useful with a graphical desktop.
It is also worth noting that libgnome-keyring is deprecated in favor of
libsecret. A credential helper based on libsecret is included in git
2.11.0 but is not shipped in our packages (yet).
Nothing in git-core requires rsync. Upstream, only git-archimport.perl
still requires rsync, which we have not provided since 3f0dc97 (Drop
git-arch on fedora >= 16, 2011-07-26).
Building on EL was unintentionally broken by 58fa169 (Set LDFLAGS for
hardened builds (#1289728), 2016-04-11).
Thanks to Dimitry Andric for reporting this issue.
This form handles changing package names better. If a module is moved
into or out of core perl, for example, the requirement can still be
found if it uses perl(MOD::NAME).
This was brought up in 1337137.
I updated my vim spec file plugin which improves %changelog generation
and didn't notice that my 'spec_chglog_format' config (which included a
trailing '-') caused a duplicate '-'.
Many years ago, the GPG signature file was included in the source list¹.
A compromise at kernel.org caused the tarballs to move to googlecode.com
for a number of releases and the signatures were not provided in an
easily downloaded format². When the source location was moved back to
kernel.org, the signature file had already been removed from the spec
file and was not re-added³.
There is an effort underway to make GPG signature verification a
requirement when upstream provides signatures⁴. Regardless of whether
this becomes a requirement in the packaging guidelines, verification of
upstream signatures makes good sense. It also makes the process easier
for git package maintainers, who are (or should be ;) doing this
manually for each upstream git release.
While adding the signatures to the source list, all non-upstream source
files were moved to Source10 and above. This should make it easier to
add new upstream source files in the future, avoiding the need for
tedious (and error-prone) renumbering of existing sources.
Remove the unused entry for Patch14 also.
¹ ea3f253 Include gpg signature for tarball in SRPM (2011-08-26)
² c57f383 Update to 1.7.9.1 (2012-02-15)
³ b741f45 Change source URLs, as googlecode doesn't have up-to-date
tarballs (2014-06-10)
⁴ https://fedorahosted.org/fpc/ticket/610https://fedoraproject.org/wiki/PackagingDrafts:GPGSignatureshttps://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/2TBK4LLNRH73QJQSXWFPCQYHGTSJ3C7P/
Using https URL's for source files provides a little more security for
those downloading the code. Packagers, of course, should be verifying
the GPG signature files before pushing new releases to Fedora's source
cache¹.
While we're changing the source URL's, we might as well use the smaller
tar.xz files which upstream provides. (This requires minor adjustments
to the unpacking of prebuilt html and man tarballs; tar on el5 does not
know how to automatically filter via xz.)
¹ Replace .xz with .sign for the signatures, which are made against the
uncompressed tarballs.
Workaround missing git subtree documentation in prebuilt docs, dropping
a redundant listing of Documentation/docbook-xsl.css,
Only add git-cvsserver binary once if the core dir matches the
bin dir as it does on el5.
Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
Using pkg-config for the bash-completion path isn't an option on older
EL systems. To allow rebuilding of current git on those systems, the
bash-completion pkg-config bits are conditionalized similar to other
areas where Fedora and older EL differ.
An updated file package fixes the issues that caused the git-svn script
to not be properly parsed for perl requirements. This was fixed as part
of #1051598.
Rather than maintaining the same list if 3 different places, use a
single exclude_re variable for the files we want to exclude from the
main package file list.
Upstream took great care to make use of YAML::Any optional¹. It's fine
to pull it in on Fedora and EL >= 6, but it's not available for EL-5 so
we'll just filter it from the requirements.
¹ git-svn: use YAML format for mergeinfo cache when possible
https://github.com/git/git/commit/68f532f4b
When building packages, we install to DESTDIR but we don't want this to
end up hard-coded in the scripts.
This needs discussed upstream to find a proper solution.
For now, this just gets the file from contrib installed. If there are
enough tcsh users that want it to be more automated, that can come
later. For now, the directions in the file must be followed to enable
tcsh completion.
Since git-1.7.12, asciidoc >= 8.4.1 is a requirement to build the
documentation. Update the build requires to reflect this. Note that
this means that EL-5 can no longer build documentation as asciidoc-8.1.0
is the latest in EPEL. (It might be worth adding support for using the
prebuilt documentation files to enable EL-5 builds to continue working.)
- include git-credential-gnome-keyring helper in git pkg
- 0001-cvsimport-strip-all-inappropriate-tag-strings.patch was merged
Signed-off-by: Adam Tkac <atkac@redhat.com>
With git-1.7.12, __git_ps1 has moved to a separate script. This is to
accommodate newer bash-completion which allows for dynamic loading of
completion files.
Having git-prompt.sh in profile.d ensures that the functions needed for
git in the prompt are present regardless of whether bash-completion is
installed or loaded.
Upstream split some of the bits from git-svn.perl into separate files
for ease of maintenance. We don't want to package these in the main
perl-Git package, as it causes core git to grow an unwanted dependency
on subversion.
While we don't push these packages to EPEL regularly, making sure they
continue to build for when we do update is convenient. It also allows
people running EL systems to easily stay up to date.
Use git-core.googlecode.com for source URL, as that's where Junio is
posting official tarballs now. The gpg signatures are now available on
that site in the comments for each tarball. For example, the signature
for 1.7.9.1 and download link can be found at:
http://code.google.com/p/git-core/downloads/detail?name=git-1.7.9.1.tar.gz&can=2&q=
This update fixes an incompatibility caused by the git push --quiet fix¹
included in 1.7.6.1. Unfortunately, the "fix" was reverted. A proper
fix for git push --quiet is being worked on for a future release.
Also worthy of note is that the source tarball for 1.7.6.2 is not
available due to the recent intrusion at kernel.org. Instead, the
tarball was generated using 'make dist' from the git tree. The v1.7.6.2
tag was verified using Junio's GPG key and compared against the 1.7.6.1
tarball to verify the diff.
¹ http://thread.gmane.org/gmane.comp.version-control.git/180652
Over time the spec file had become littered with conditional statements
to enable, disable, patch, and/or tweak things for various releases.
Consolidate all these at the top of the spec file to make it easier to
add future conditions.
- Fix conditionals for EL-6
- Comply with Emacs add-on packaging guidelines (#573423), Jonathan
Underwood
- Place elisp source files in separate emacs-git-el package
- Place git support files in own directory under site-lisp
- Use Emacs packaging macros
- Use %{gitcoredir}/git-daemon as xinetd server option, for SELinux
(#529682)
- Make %{_var}/lib/git the default gitweb projectroot (#556299)
- Include gitweb/INSTALL file as documentation, the gitweb README refers to
it
- Ship a short example gitweb config file (%{_sysconfdir}/gitweb.conf)
- Remove long fixed xinetd IPv6 workaround on Fedora (#557528)
- Install missing gitweb.js (#558740)
- Only BR perl(Error) on Fedora and RHEL >= 5
- Use config.mak to set build options
- Improve compatibility with EPEL
- Replace $RPM_BUILD_ROOT with %{buildroot}
- Fix Obsoletes for those rebuilding on EL-4
- Drop asciidoc --unsafe option, it should not be needed anymore
- Don't use install -t/-T, they're not compatible with older coreutils
- Don't use -perm /a+x with find, it's incompatible with older findutils
Enable Linus' block-sha1 implementation. This allows git to not link most
binaries with libcrypto (from openssl). Combined with the upstream
changes to not link to libcurl except when needed, this slims down the
git binaries a bit.
- Require emacs >= 22.2 for emacs support (bug 495312)
- Add a .desktop file for git-gui (bug 498801)
- Set ASCIIDOC8 and ASCIIDOC_NO_ROFF to correct documentation issues, the
sed hack to fix bug 485161 should no longer be needed
- Escape newline in git-daemon xinetd description (bug 502393)
- Add xinetd to git-daemon Requires (bug 504105)
- Organize BuildRequires/Requires, drop redundant expat Requires
- Only build noarch subpackages on Fedora >= 10
- Only build emacs and arch subpackages on Fedora
- Handle curl/libcurl naming for EPEL and Fedora
- Include contrib/ dir in %doc (bug 492490)
- Don't set DOCBOOK_XSL_172, fix the '\&.ft' with sed (bug 485161)
- Ignore Branches output from cvsps-2.2b1 (bug 490602)
- Remove shebang from bash-completion script
- Include README in gitweb subpackage
- Set htmldir so "git help -w <command>" works
- Patch git-web--browse to not use "/sbin/start" to browse
- Include git-daemon documentation in the git-daemon package
- Remove libcurl from Requires, rpm will pick this up automatically
- Consolidate build/install options in %make_git (Roland McGrath)
- Include DirectoryIndex in gitweb httpd-config (bug 471692)
- Define DOCBOOK_XSL_172 to fix minor manpage issues
- Rename %{_var}/lib/git-daemon to %{_var}/lib/git
- Preserve timestamps on installed files
- Quiet some rpmlint complaints
- Use macros more consistently
- Include the sample hooks from contrib/hooks as docs (bug 321151).
- Install the bash completion script from contrib (bug 433255).
- Include the html docs in the 'core' package again (bug 434271).