OpenConext-Attic / OpenConext-serviceregistry

:warning: Obsolete respository, archive only :zzz:
Other
4 stars 4 forks source link

Migrate fails because scripts form Janus not executable #17

Closed surfnet-niels closed 10 years ago

surfnet-niels commented 10 years ago

When installing OpenConext-VM, when running OpenConext-serviceregistry/bin/migrate the Janus specific section of this script fails, as vendor/janus-ssp/janus/bin/migrate.sh is not executable.

surfnet-niels commented 10 years ago

I note that in the upsteam Janus https://github.com/janus-ssp/janus, this issue does not exist. Is this a version compatibility issue?

lucasvanlierop commented 10 years ago

FYI: @jmsnoeij had the same issue, the problem only exists when installing using the VM script. Somehow the executable bits get lost. Could not reproduce it by cloning SR and installing janus via composer (which is what the script does...)

surfnet-niels commented 10 years ago

Mmm, after fixing this manually, I note that the script itself fails as well. I t tries to execute: ./app/console doctrine:migrations:migrate --no-interaction However that should be ../app/console doctrine:migrations:migrate --no-interaction I think

lucasvanlierop commented 10 years ago

It should be executed from the Janus project root if called separately. However we do not use use Janus separately but wrapped in ServiceRegistry so this script should be called to make sure our custom legacy migrations are executed first: https://github.com/OpenConext/OpenConext-serviceregistry/blob/master/bin/migrate

surfnet-niels commented 10 years ago

Regardless how this is called, for a reference to ./app to work -note only 1 dot before the slash- the app directory must be in the samen subdir as the migrate.sh script. Which it is not, as the app directory lives one directory up.

lucasvanlierop commented 10 years ago

Which works if you are in the root dir of janus and call ./bin/migrate

surfnet-niels commented 10 years ago

Ok I can now confirm that indeed the script works, however, it tries to call ./app/console for which, again, the executable bit is not set.

From refrences I think this is needed to make git persist executable bits: git update-index --chmod=+x file (http://stackoverflow.com/questions/7048763/how-to-stop-git-from-making-files-non-executable-on-cygwin)

jmsnoeij commented 10 years ago

After some investigation we discovered that the problem is the internal zip version in PHP that is unzipping the file without permission. Installing unzip onto your VM solves the problem (at least that worked for us).

I'll update the VM installation script as well (to include unzip)