Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#35448 - [git] duplicate files

Attached to Project: Arch Linux
Opened by Lauri Kenttä (LK) - Thursday, 23 May 2013, 20:05 GMT
Last edited by Dan McGee (toofishes) - Monday, 15 July 2013, 21:48 GMT
Task Type General Gripe
Category Packages: Extra
Status Closed
Assigned To Dan McGee (toofishes)
Architecture All
Severity Very Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
There are four binaries in the git package that exist in two copies, in /usr/bin and /usr/lib/git-core, and are not hardlinked: git, git-upload-pack, git-shell, git-cvsserver. They're identical in both directories and (IMO) should be linked to save space. Please don't break existing links in the process. ;)

Additional info:
* git 1.8.2.3-1

Steps to reproduce:
for i in git git-upload-pack git-shell git-cvsserver; do a=/usr/bin/$i; b=/usr/lib/git-core/$i; ls -li $a $b; diff -s $a $b; done

Actual result: eight (8) distinct files (different inode numbers).

Expected result: only four (4) distinct files and four (4) hardlinks (or symlinks).
This task depends upon

Closed by  Dan McGee (toofishes)
Monday, 15 July 2013, 21:48 GMT
Reason for closing:  Won't implement
Additional comments about closing:  See first comment. This is on purpose.
Comment by Evangelos Foutras (foutrelis) - Friday, 24 May 2013, 01:44 GMT
Git is built with NO_CROSS_DIRECTORY_HARDLINKS=1; this is the reason for this behavior.

From the root Makefile: (https://github.com/git/git/blob/master/Makefile)

# Define NO_CROSS_DIRECTORY_HARDLINKS if you plan to distribute the installed
# programs as a tar, where bin/ and libexec/ might be on different file systems.

If NO_CROSS_DIRECTORY_HARDLINKS=1 is removed, Namcap will print the following errors:

git E: Cross-directory hardlink in package (usr/bin/git, usr/lib/git-core/git)
git E: Cross-directory hardlink in package (usr/bin/git-upload-pack, usr/lib/git-core/git-upload-pack)
git E: Cross-directory hardlink in package (usr/bin/git-shell, usr/lib/git-core/git-shell)
git E: Cross-directory hardlink in package (usr/bin/git-cvsserver, usr/lib/git-core/git-cvsserver)
git E: Cross-directory hardlink in package (usr/bin/git-receive-pack, usr/lib/git-core/git)
git E: Cross-directory hardlink in package (usr/bin/git-upload-archive, usr/lib/git-core/git)

Loading...