diff options
author | Koen Kooi <koen@openembedded.org> | 2010-05-15 10:16:29 +0200 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-05-15 10:19:44 +0200 |
commit | 84de51631e1e7bb76141332807ed2ba9e8df02ae (patch) | |
tree | 47d58434ddff46ebf088e79cfd79d3639b16b1e7 | |
parent | 896f4980f78567dfc4e73e2700dacf34945d2cf7 (diff) |
git 1.7.0.2: fix hardlinking problems as reported by Eric Brombaugh
Using softlinks has the following effects on package size:
git: 54MB -> 3.0MB
git-dbg: 646MB -> 141MB
-rw-r--r-- | recipes/git/files/git-less-hardlinks.diff | 49 | ||||
-rw-r--r-- | recipes/git/git_1.7.0.2.bb | 13 |
2 files changed, 61 insertions, 1 deletions
diff --git a/recipes/git/files/git-less-hardlinks.diff b/recipes/git/files/git-less-hardlinks.diff new file mode 100644 index 0000000000..183fe8fe31 --- /dev/null +++ b/recipes/git/files/git-less-hardlinks.diff @@ -0,0 +1,49 @@ +From: Koen Kooi <k-kooi@ti.com> +Subject: Git: don't use hardlink, try softlinks and fall back to plain 'cp' + +Using hardlinks confuses packaging an ends up giving us a *copy* of the git binary, +making the resulting package 54MB big. This brings it down a more managable 4.4M. + +This patch isn't complete though: + +12cb2bfcde40ce7084ae44af7db88f29 git-cvsserver +2404a2cd2838be3841eac93de40a644e git +2404a2cd2838be3841eac93de40a644e git-receive-pack +2404a2cd2838be3841eac93de40a644e git-upload-archive +61631194968f67e12abd1f80103a2c68 git-upload-pack +7b8faebe64076d65934a05cd60bbeb29 git-shell + +--- + +--- /tmp/Makefile 2010-05-15 09:39:26.000000000 +0200 ++++ git-1.7.0.2/Makefile 2010-05-15 09:44:21.000000000 +0200 +@@ -1453,7 +1453,6 @@ + + $(BUILT_INS): git$X + $(QUIET_BUILT_IN)$(RM) $@ && \ +- ln git$X $@ 2>/dev/null || \ + ln -s git$X $@ 2>/dev/null || \ + cp git$X $@ + +@@ -1626,7 +1625,6 @@ + + $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY) + $(QUIET_LNCP)$(RM) $@ && \ +- ln $< $@ 2>/dev/null || \ + ln -s $< $@ 2>/dev/null || \ + cp $< $@ + +@@ -1830,13 +1828,11 @@ + cp "$$bindir/git$X" "$$execdir/git$X"; } ; } && \ + { for p in $(BUILT_INS); do \ + $(RM) "$$execdir/$$p" && \ +- ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \ + ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \ + cp "$$execdir/git$X" "$$execdir/$$p" || exit; \ + done; } && \ + { for p in $(REMOTE_CURL_ALIASES); do \ + $(RM) "$$execdir/$$p" && \ +- ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ + ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ + cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \ + done; } && \ diff --git a/recipes/git/git_1.7.0.2.bb b/recipes/git/git_1.7.0.2.bb index e5a2c13b04..7bf9e89986 100644 --- a/recipes/git/git_1.7.0.2.bb +++ b/recipes/git/git_1.7.0.2.bb @@ -3,6 +3,8 @@ require git.inc SRC_URI[src.md5sum] = "76518fa774b36de81d160b85fa4f19c1" SRC_URI[src.sha256sum] = "5601df7fc282fdd66de196b282694eb77dcfc50438f01587de144b3ead1a6b2f" +SRC_URI += "file://git-less-hardlinks.diff;patch=1" + EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no ac_cv_c_c99_format=yes" @@ -12,6 +14,15 @@ RDEPENDS_${PN} = "perl perl-module-file-path cpio findutils sed" # Dropbear ssh needs a wrapper script, so install openssh-ssh to make it work out of the box RRECOMMENDS_${PN} = "openssh-ssh" -PR = "r5" +PR = "r6" + +do_install_append() { + # Fix broken hardlinks + for gitprog in git-receive-pack git-upload-archive ; do + rm ${D}${bindir}/$gitprog + ln -sf ${bindir}/git ${D}${bindir}/$gitprog + done + rm ${D}${libexecdir}/git-core/git && ln -sf ${bindir}/git ${D}${libexecdir}/git-core/git +} FILES_${PN}-dbg += "${libexecdir}/git-core/.debug" |