Download failed while upgrading from 150731 to 150825

More
6 years 3 months ago #124138 by DirkMelchers
OK, after adding a lot of debug "echos" and "var_dumps" to "models/UpdateForm.php" I found the solution:

The UpdateForm.php checks for "../scripts/admin/comfortupdate" - but the folder is "comfortupdater" - at least in the last version I got yesterday. So simply creating the new directory fixed this problem.

The update did work after that and now my LS is on the right version again!
The following user(s) said Thank You: LouisGac
The topic has been locked.
  • LouisGac
  • LouisGac's Avatar
  • Visitor
  • Visitor
6 years 3 months ago #124139 by LouisGac
ok, thank you for you hard work then !
I'll have a look.
The topic has been locked.
  • LouisGac
  • LouisGac's Avatar
  • Visitor
  • Visitor
6 years 3 months ago - 6 years 3 months ago #124143 by LouisGac
the folder scripts/admin/comfortupdate without 'r' exists since 150812.

But still, if the directory didn't existed, the function should have returned its name (it's using the PHP function 'is_writable' wich return false if the file/directory is not writable OR if it doesn't exist. ), and you should have seen in the error message the scripts/admin/comfortupdate.

I'm going to try to reproduce that bug with a version older than 150812.
Thanks again for your help.
Last edit: 6 years 3 months ago by LouisGac.
The topic has been locked.
More
6 years 3 months ago #124146 by fradeff
exactly the same problem on 2 ubuntu servers Linux 3.10.9 with comfortupdate
ok with "hard" update with a rsync (FTP-like)
The topic has been locked.
More
6 years 3 months ago #124148 by DirkMelchers
If I remember correctly, the @readOnly array just contained a boolean false entry - no directory name. I had to add some echos with $check in them to see the problem. So maybe the push to the array is not working correctly.

Thanks for your help and your work on LS!
The topic has been locked.
  • LouisGac
  • LouisGac's Avatar
  • Visitor
  • Visitor
6 years 3 months ago - 6 years 3 months ago #124151 by LouisGac
Ok, I just tested the comfortUpdate for all versions from 150730 to 150824, from a fresh clean installation each time, with a fresh new database each time, and they all complete the comfortUpdate to 150825. Also, I provided write access to all the files/directories to the apache user. The update process can update any file of the LimeSurvey installation, so, in general, it's a good idea to give write access to all the files and directories to the process during the installation rather than changing the rights file by file. Once the update complete, you can restrict permissions again.

Problems happened when you performed the update of the ComfortUpdate, with no write access to the files/directories :

scripts/admin
styles/gringegreen/adminstyle.css
application/views/admin/super/header.php


Because then the updater will not be able to create the new directory scripts/admin/comfortupdate and to overwrite the other files. Right now, the updater only test the permissions of the files application/controller/admin/update.php ; application/models/updateForm.php ; application/view/admin/update/* ; script/admin/comfortUpdate/* ; application/config/updater_version.php. This list is hardcoded in the update model. So in the future, like for the ComfortUpdate, the list of files to check before performing an update will come from the server, not from local files.

Thanks again for your help.
Last edit: 6 years 3 months ago by LouisGac.
The topic has been locked.

Start now!

Just create your account and start using Limesurvey today.

Register now