Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4DEFEB3A.2070706@bredband.net>
Date: Wed, 08 Jun 2011 23:35:54 +0200
From: magnum <rawsmooth@...dband.net>
To: john-dev@...ts.openwall.com
Subject: Re: Makefile LN = ln -sf

On 2011-06-08 01:35, Solar Designer wrote:
> Jim, magnum -
>
> In -jumbo-5, there are these changes (which were not in -jumbo-1):
>
> -LN = ln -sf
> +LN = ln -f -s
>
>   solaris-sparc64-cc:
> +	$(RM) arch.h
>   	$(LN) sparc64.h arch.h
>
> and similar for other Solaris targets.
>
> Why?  Didn't the original Makefile work fine on Solaris?
>
> Then, why make both changes at once?  Are they unrelated or are they
> both an attempt to fix the same issue?
>
> Normally, the "-f" option to "ln -s" tells it to remove existing
> destination files before creating the symlink, so the $(RM) shouldn't be
> needed.  Also, normally "ln -sf" is the same as "ln -f -s".

Out of curiosity I revisited this today, here is the correct story: The 
LN change can be reverted (not that it will do any difference). The 
problem is that regardless of the -f option, neither /usr/ucb/ln nor 
/usr/bin/ln (they do act differently in other aspects) will remove/alter 
an existing symlink, period. This is documented behaviour. The -f option 
does mean "force" but not in that aspect. No workaround (within ln) as 
far as I could tell.

GNU has had much more impact than Esperanto :)

magnum

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.