Hey everyone. I was writing a concrete5 cPAddon a little while ago and found this forum to be very helpful. Now I think I need some more assistance I'm writing an upgrade from concrete5 220.127.116.11 to 5.4.1. I've followed the instructions and I have a mysql and diff files in place, and it looks like diff is working. However, when the upgrade runs, the files are patched, and then I get this error: "Could not put updates in place!" It never continues on to run the mysql upgrade. The error from the error log is this: cpaddons_upgrade/*', '/home/accountname/public_html/5405j') failed: File exists at /usr/local/cpanel/Cpanel/FileUtils/Copy.pm line 122 Cpanel::FileUtils::Copy::safecopy('5405j.cpaddons_upgrade/*', '/home/accountname/public_html/5405j') called at /usr/local/cpanel/Cpanel/cPAddons.pm line 2043 Cpanel::cPAddons::stdupgrade(Cpanel::cPAddons=HASH(0x2a91f20), HASH(0x2aed630), HASH(0x16b43c0)) called at /usr/local/cpanel/cpaddons/Concrete/CMS/concrete5.pm line 58 Concrete::CMS::concrete5::upgrade(Cpanel::cPAddons=HASH(0x2a91f20), HASH(0x2aed630), HASH(0x16b43c0)) called at /usr/local/cpanel/Cpanel/cPAddons.pm line 1602 Cpanel::cPAddons::_handlemod(0, 'Concrete::CMS::concrete5', '16c3d3c8222fe84d54df458e6d4ef2bc', HASH(0x16b43c0)) called at /usr/local/cpanel/Cpanel/cPAddons.pm line 351 I believe I know the reason for this error: in concrete5, most of the libraries are located in a concrete5/ directory (which is inside the 5405j directory above). In our hosted setup, we swapped out this directory with a symbolic link to /usr/local/share/concrete5/18.104.22.168/concrete, so that we could use cPAddons to manage the installation and upgrade process, but still have most libraries exist in one shared location on the server. Now, I'm trying to run an upgrade where the symbolic link needs to change to /usr/local/share/concrete5/5.4.1/concrete, and I'm not sure how to do this. diff fails if I include the contents of the "concrete/" directory in it. I'm assuming I need to do something like remove the symbolic link on update, and place a new symbolic link to a new place on upgrade, and I've been trying to do this, but I can't seem to get it to work. I can't even seem to print out the variables like "installdir" that I'm supposed to have access to from within the upgrade function! Any help would be much appreciated.