Re: [BUG] `make install' partly ignores `NO_INSTALL_HARDLINKS'
- From
- Alexander Ost <ost@ieee.org>
- Date
- Aug 14, 2020, 08:33 UTC
- Message-ID
- <CAGNCYk2Mc83wsX1FRQZe9kCDFAN1OM6F8_pJ29CWWCoQ0Hf_Qg@mail.gmail.com>
- In-Reply-To
- <xmqqimdm1ae6.fsf@gitster.c.googlers.com>
Thanks, I'll check it out.
Created a git-gui bug report (#41, https://github.com/prati0100/git-gui/issues/41).
On Thu, Aug 13, 2020 at 11:52 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 66 quoted lines
> > Eric Sunshine <sunshine@sunshineco.com> writes: > > > On Wed, Aug 12, 2020 at 4:16 AM Alexander Ost <ost@ieee.org> wrote: > >> Despite installing with `make NO_INSTALL_HARDLINKS=1 install', the > >> installation process tries to create hard links, and the installation > >> fails (a quick workaround is `sed -i git-gui/Makefile -e "s/ln /ln -s > >> /g"'). > >> > >> make NO_INSTALL_HARDLINKS=1 install > >> ln: failed to create hard link > >> ‘/filesystem_without_hardlink_support/libexec/git-core/git-citool’ => > >> ‘/filesystem_without_hardlink_support/libexec/git-core/git-gui’: > >> Operation not permitted > > > > Indeed, it appears that the git-gui Makefile does not respect > > NO_INSTALL_HARDLINKS. The git-gui project is maintained and developed > > outside of the Git project (even though it gets bundled with Git), so > > it has its own issue tracker. It would probably be best to re-submit > > this bug report there: > > > > https://github.com/prati0100/git-gui/issues > > Thanks. Perhaps something along this line (which is totally > untested), as the top-level Makefile already exports > NO_INSTALL_HARDLINKS to submakes? > > > > Makefile | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/Makefile b/Makefile > index f10caedaa7..1cdbf8e504 100644 > --- a/Makefile > +++ b/Makefile > @@ -44,6 +44,11 @@ endif > ifndef INSTALL > INSTALL = install > endif > +ifdef NO_INSTALL_HARDLINKS > + LN = cp > +else > + LN = ln > +endif > > RM_RF ?= rm -rf > RMDIR ?= rmdir > @@ -57,7 +62,7 @@ INSTALL_X1 = > INSTALL_A0 = find # space is required here > INSTALL_A1 = | cpio -pud > INSTALL_L0 = rm -f # space is required here > -INSTALL_L1 = && ln # space is required here > +INSTALL_L1 = && $(LN) # space is required here > INSTALL_L2 = > INSTALL_L3 = > > @@ -87,7 +92,7 @@ ifndef V > INSTALL_L0 = dst= > INSTALL_L1 = && src= > INSTALL_L2 = && dst= > - INSTALL_L3 = && echo ' ' 'LINK ' `basename "$$dst"` '->' `basename "$$src"` && rm -f "$$dst" && ln "$$src" "$$dst" > + INSTALL_L3 = && echo ' ' 'LINK ' `basename "$$dst"` '->' `basename "$$src"` && rm -f "$$dst" && $(LN) "$$src" "$$dst" > > CLEAN_DST = echo ' ' UNINSTALL > REMOVE_D0 = dir=
-- -- Dr. Alexander Ost | email: ost@ieee.org Performance Consulting | fon: +49 (0)241 51859-230 Jahnstr. 11 / D-52066 Aachen | mobil: +49 (0)178 5431550