Subject: bug#15729: "make distclean", "./bootstrap", symlinks, and absolute pathnames

From: Jim Meyering <[email-masked]>
Date: Mon, 28 Oct 2013 15:38:28 -0700

On Sat, Oct 26, 2013 at 9:24 PM, behoffski <[email-masked]> wrote:
> G'day,
>
> I use "make distclean" regularly, before updating the sources from the Git
> master and rebuilding.  I've been maintaining the sources in the top-level
> directory "/home/grep-2.14/grep".
>
> With the release of 2.15.1, I decided to rename the top-level directory
> in-place to "/home/grep-2.15.1/grep".  This broke a number of things,
> because
> there are quite a number of symlinks created during the bootstrap operation,
> and almost all of these symlinks use an absolute path, rather than a
> relative
> one.  (A sample of the links, created after re-running ./bootstrap, is
> included below.)
>
> I suspect that the bug is in my expectations:  Tree renaming (and/or similar
> operations, such as cloning) is not supported by the sources once
> "./bootstrap" has been executed.
>
> I believe that a policy of changing all symlinks to use relative pathnames
> would be developer-friendly.

I agree.  It would be nice to fix this.
I took a quick look and saw that the offending symlinks are created
via gnulib-tool.
I am not terribly motivated to fix it right now.  Anyone else care to
take a crack at it?