On Sat, Aug 13, 2011 at 03:43:36PM -0500, Norbert Thiebaud wrote:
> On Sat, Aug 13, 2011 at 2:26 PM, Lionel Elie Mamane <lio...@mamane.lu> wrote:

>> If ./download is run twice:

>>  - the first time it creates e.g. symlink ure connectivity -> 
>> clone/libs-core/connectivity

> there is no clone/libs-core anymore on master...

The example was taken from a libreoffice-3.4 branch.

>>  - the second time it creates a symlink named connectivity/connectivity
>>   (thus clone/libs-core/connectivity/connectivity) pointing to
>>   clone/libs-core/connectivity, that is pointing to
>>   
>> ROOT_OF_SOURCE_TREE/clone/libs-core/connectivity/clone/libs-core/connectivity
>>  .

>> That second symlink is not what was intended and is a dangling
>> symlink. The attached patch fixes that, telling ln to always create
>> the symlink as named on the command line, and to never implicitly
>> create a symlink named after the target in the directory named on the
>> command line.

> -T is not a portable option of ln, iow your patch would break MacOS
> build.

Good point. FreeBSD, MacOS X and GNU ld all support option "-n", which
is sufficient for this particular need. So new version of patch
attached.

-- 
Lionel
>From 45ef95266e7ccc497b32dc324b9607e7dee8f6c2 Mon Sep 17 00:00:00 2001
From: Lionel Elie Mamane <lio...@mamane.lu>
Date: Sat, 13 Aug 2011 21:13:25 +0200
Subject: [PATCH] download: when run twice, do not create foo/foo symlink

---
 download |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/download b/download
index a322936..6043c24 100755
--- a/download
+++ b/download
@@ -55,7 +55,7 @@ if [ -d .git ] ; then
         for i in $GIT_REPO_NAMES ; do
             bin/git-new-workdir $GIT_LINK_SRC/$i clone/$i
             for i in clone/$i/* ; do
-                ln -sf $i $(basename $i)
+                ln -sfn $i $(basename $i)
             done
         done
     fi
-- 
1.7.2.5

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to