Patchwork [11/14] assume existence of "ln -sf"

login
register
mail settings
Submitter Paolo Bonzini
Date Nov. 14, 2010, 11:48 a.m.
Message ID <1289735342-8660-12-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/71109/
State New
Headers show

Comments

Paolo Bonzini - Nov. 14, 2010, 11:48 a.m.
The code in this patch was introduced for a Solaris port, but
ln -sf exists in Solaris 2.6 at least.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure |   19 +++++--------------
 1 files changed, 5 insertions(+), 14 deletions(-)
Blue Swirl - Nov. 14, 2010, 2:39 p.m.
On Sun, Nov 14, 2010 at 11:48 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The code in this patch was introduced for a Solaris port, but
> ln -sf exists in Solaris 2.6 at least.

The problem is not that 'ln -sf' would not exist, but rather that the
force of the '-f' flag is too weak to actually remove anything.
Paolo Bonzini - Nov. 14, 2010, 2:57 p.m.
On 11/14/2010 03:39 PM, Blue Swirl wrote:
>> >  The code in this patch was introduced for a Solaris port, but
>> >  ln -sf exists in Solaris 2.6 at least.
>
> The problem is not that 'ln -sf' would not exist, but rather that the
> force of the '-f' flag is too weak to actually remove anything.

Oh well...

Paolo

Patch

diff --git a/configure b/configure
index 2d2d306..5a3b127 100755
--- a/configure
+++ b/configure
@@ -2676,8 +2676,7 @@  fi
 
 for d in libdis libdis-user; do
     mkdir -p $d
-    rm -f $d/Makefile
-    ln -s $source_path/Makefile.dis $d/Makefile
+    ln -sf $source_path/Makefile.dis $d/Makefile
     echo > $d/config.mak
 done
 if test "$static" = "no" -a "$user_pie" = "yes" ; then
@@ -2741,12 +2740,7 @@  mkdir -p $target_dir/ide
 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
   mkdir -p $target_dir/nwfpe
 fi
-
-#
-# don't use ln -sf as not all "ln -sf" over write the file/link
-#
-rm -f $target_dir/Makefile
-ln -s $source_path/Makefile.target $target_dir/Makefile
+ln -sf $source_path/Makefile.target $target_dir/Makefile
 
 
 echo "# Automatically generated by configure - do not modify" > $config_target_mak
@@ -3115,10 +3109,8 @@  if test "$source_path_used" = "yes" ; then
     for dir in $DIRS ; do
             mkdir -p $dir
     done
-    # remove the link and recreate it, as not all "ln -sf" overwrite the link
     for f in $FILES ; do
-        rm -f $f
-        ln -s $source_path/$f $f
+        test -f $f || ln -sf $source_path/$f $f
     done
 fi
 
@@ -3140,15 +3132,14 @@  for hwlib in 32 64; do
   d=libhw$hwlib
   mkdir -p $d
   mkdir -p $d/ide
-  rm -f $d/Makefile
-  ln -s $source_path/Makefile.hw $d/Makefile
+  ln -sf $source_path/Makefile.hw $d/Makefile
   echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
 done
 
 d=libuser
 mkdir -p $d
 rm -f $d/Makefile
-ln -s $source_path/Makefile.user $d/Makefile
+ln -sf $source_path/Makefile.user $d/Makefile
 if test "$static" = "no" -a "$user_pie" = "yes" ; then
   echo "QEMU_CFLAGS+=-fpie" > $d/config.mak
 fi