Since cloud-client requires aws-api package, and is installed
before aws-api, the patch sets up user/group first.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
The problem that is described in both of those bugs is the deletion of files
installed by cloud-scripts.
What is happening is that instead of fixing the paths to scripts in places
where they are called, we tried to create a symlink in a %post section in
the RPM so that there was a symlink to the new directory for the scripts.
That does work (in new installs) but the problem that arises is that when
RPM is setting up the transation it doesn't know about the symlink (it's
in a %post, the symlinked directory is unowned from RPMs perspective, or
rather it is only owned by the cloud-agent-scripts package, which will
be removed.
So what happens is that cloud-agent-scripts puts things in /foo - we
come along to upgrade to 4.0 and that means we use cloud-scripts -
which puts things in /bar - so we install things into /bar (/foo still
exists at this point) then in a %post (and for the record, RPM doesn't
know what happens in a %pre, %post, %preun, or %postun - they are outside
the transation) we delete /foo and then create a symlink from /foo to /bar.
Then we get to the transaction part where we are ready to remove
cloud-agent-scripts - so it's time to delete /foo - except /foo is now a
symlink to /bar and thus we wipe out the contents of /foo and /bar in one
fell swoop.
To quote Bill Notting from Red Hat who pointed this out:
15:43 < notting> rpm decides what to do with all the files (update, remove,
or write new file) before the transaction. if the directory layout changes
*during* the transaction, weird shit happens.
commit 318d2aedbd0db42d53395a91ca2945db212732d7
Author: frank <frank.zhang@citrix.com>
Date: Thu Jun 28 16:10:20 2012 -0700
CS-15376
Need to change rpm spec to deploy awsapi in its own webapps folder
Link over folder, instead of files.
Patch fixes install failure, in case user does not remove old
installation.
Signed-off-by: Rohit Yadav <rohit.yadav@citrix.com>
The install prefix for scripts and vms/systemvm.iso/zip has changed
from /usr/lib(32/64)/cloud/agent/ to /usr/lib(32/64)/cloud/common/
Patch fixes by symlinking paths for backward compatibility
Signed-off-by: Rohit Yadav <rohit.yadav@citrix.com>
adding jakarta-commons-daemon as a dependency for cloud-agent. On fresh install was getting "Cannot find daemon loader
org/apache/commons/daemon/support/DaemonLoader"
Signed-off-by: Edison Su <sudison@gmail.com>
The management server also depends on a couple of these scripts, so renaming
to cloud-scripts makes more sence then installing cloud-agent-scripts.
In the future we might want to split this up in two packages.