This is just to enforce a symlink. For example, when I install and remove CloudStack for the first time, the symlink will be created and will point to a location which does not exist (as I removed it). Then, when I try to install again, it will simply give a warning. By doing ln -sf, we enforce symlink just in case there is an existing symlink it would set it to correct path. The other change, -h instead of -e (in if conditional) is to check for symlink existence.
Regards. ________________________________________ From: David Nalley [da...@gnsa.us] Sent: Monday, October 08, 2012 11:11 PM To: cloudstack-dev@incubator.apache.org Subject: Re: git commit: CLOUDSTACK-221: Force symlink if any existing symlink > > CLOUDSTACK-221: Force symlink if any existing symlink > > Force symlink, in case there is an existing symlink but the file it > links to does not exist. > > ---------------------------------------------------------------------- > cloud.spec | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e2419250/cloud.spec > ---------------------------------------------------------------------- > diff --git a/cloud.spec b/cloud.spec > index 844d486..36860c9 100644 > --- a/cloud.spec > +++ b/cloud.spec > @@ -403,7 +403,7 @@ fi > > mkdir -p $target/webapps7080 > if [ ! -h $target/webapps7080/awsapi ]; then > - ln -s $root/webapps7080/awsapi $target/webapps7080/awsapi > + ln -sf $root/webapps7080/awsapi $target/webapps7080/awsapi > fi > Why are we doing this in the first place? What is the underlying problem? Is there a bug for that? Symlinking a directory is almost always a hack. --David