Occasionally the test fails for unknown reasons but works as soon as we
change the derivation in any way. For now it is better to not have a
test that is flaky than having a test that occasionally breaks and
continously wastes time on debugging it.
This was found as part of a random build failure of gitMinimal in
response to the systemd v249 PR being merged [0].
[0] 64556974b6 (commitcomment-56385360)
Previosuly the test scripts used /bin/sh which is a bit of an impurity.
It is mostly well-behaved but it essentially leaks the hosts state into
the build as /bin/sh points to some minimal shell implementation
configured on the host OS.
By patching the shebgangs of all the test scripts in the test folder
(t/*.sh) we can make sure that those run with the correct shell binary.
This was found as part of a random build failure of gitMinimal in
response to the systemd v249 PR being merged [0]. Since we have to
somehow touch the hash of the derivation to make the build failure go
away we might as well fix the hardcoded /bin/sh issue.
[0] 64556974b6 (commitcomment-56385360)
Shared permissions are forbidden in the Nix build sandbox which is why
some of the tests fail. Dropping the POSIXPERM test prerequisite, that
is added unconditionally on Linux, should help us avoiding uninteresting
test failures after Git updates. The drawback is that this disables a
few additional tests (as of Git 2.32.0 approx. 71 out of more than 20k
subtests require POSIXPERM).
in order to be able to disable osxkeychain credential helper if no
wanted / necessary. Keep it `true` by default such that current logic is
not affected.
Signed-off-by: Andreas Schmid <service@aaschmid.de>
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
This makes the git HTML manual reproducible.
It also removes the `git.info` manual, since this one is
basically entirely broken anyway. This likely happened
when we migrated from asciidoc to asciidoctor in #102020.
I don't suggest going back to asciidoc: that would
re-introduce a python2 dependency and another
reproducibility issue with the HTML docs.
Co-Authored-By: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
The install step for the darwin specific $out/etc/gitconfig file
assumed that $out/etc already existed. This assumption is no longer
true after f5e2ff1ed8 in #103421. This
change makes make sure the directory exists before adding to it.
This reverts commit c778945806.
I believe this is exactly what brings the staging branch into
the right shape after the last merge from master (through staging-next);
otherwise part of staging changes would be lost
(due to being already reachable from master but reverted).
In that case it specified $doc output but didn't even create it.
I expect it's better to do it this way instead of creating it
as an empty directory.
(Only the failed builds get rebuilt by this commit.)
disable_test: Use \s instead of ' ' as tabs are used for indentation in
t5324-split-commit-graph.sh. It's also necessary to insert : (no op) in
front of # to prevent Bash syntax errors due to empty loops.
Two newly added tests fail due the usage of shared permissions (outside
of the build sandbox they succeed, actually even with breakpointHook
(cntr attach + cntr exec bash)):
```
t5324-split-commit-graph.sh (Wstat: 256 Tests: 29
Failed: 2)
Failed tests: 28-29
Non-zero exit status: 1
```
I'm also adding myself as maintainer since there currently doesn't seem
to be a fixed one for regular updates.
Announcement:
https://lkml.kernel.org/lkml/xmqqzh9mu4my.fsf@gitster.c.googlers.com/
This will install the HTML and text documentation into a separate output
so that users can install it without having to rebuild Git.
Previously only `doc/git/git-subtree.html` was installed (which is now
in $doc as well).
The current output sizes are as follows:
```
$ du -sh $(nix-build -A git)
47M /nix/store/wyqgalp61kmavx06rams7z8jz177nd8y-git-2.26.2
$ du -sh $(nix-build -A git.doc)
14M /nix/store/6zi22fl5xc3sg23d9shsviinvwk89wvq-git-2.26.2-doc
```
Fixes#86022 (at least partly since the output has to be installed).
@the-kenny did a good job in the past and is set as maintainer in many package,
however since 2017-2018 he stopped contributing. To create less confusion
in pull requests when people try to request his feedback, I removed him as
maintainer from all packages.
The syntax is ${parameter:-word} (i.e. previously this used
"latestTag" instead of the actual value).
(Fixes a regression from #85278.)
Also: Even though getting the latest tag isn't really security critical
(as long as Git itself is secure against untrusted input), I'd prefer to
switch from the Git to the HTTPS protocol (for authentication of the
server and encryption + uses a standard port).