Using latest version of Morph

Normally users should use the version of Morph which is installed in the with their chosen baserock devel system.

However, Morph is under active development and you are welcome to try the latest version from git. Make sure you are running the latest release of the Baserock 'build' reference system, so that all the necessary dependencies are present.

You don't need to install the git version onto the main filesystem, you can just run it from its source tree.

cd /src

If you have an account at gerrit.baserock.org, and have registered your public key with gerrit, clone from there

git clone ssh://<gerrit Username>@gerrit.baserock.org:29418/baserock/baserock/morph  --origin=gerrit

If you don't then use anonymous authentication:

git clone https://gerrit.baserock.org/baserock/baserock/morph --origin=gerrit

If you want to be sure you don't accidentally run the version of Morph provided in the disk image then you can replace /usr/bin/morph:

cd /usr/bin
mv morph morph.dist

cat >morph <<'EOF'
#!/bin/sh
morphpath=/src/morph
PYTHONPATH="$morphpath" "$morphpath/morph" "$@"
EOF

chmod +x morph

Here we've set the morphpath variable to /src/morph because we've cloned morph into /src/morph. You can clone morph to any location of course, but make sure morphpath is set to the directory that you cloned morph into.

Aditional steps for baserock systems older than 15.10

You need to manually download the pylru package and add it to your PYTHONPATH:

cd /src
git clone git://git.baserock.org/delta/python-packages/pylru

Now edit your /usr/bin/morph script so it looks like this:

 #!/bin/sh
 morphpath=/src/morph
 pylrupath=/src/pylru
 PYTHONPATH="$morphpath:$pylrupath" "$morphpath/morph" "$@"

distbuild

If you are doing this as a hacky way to update the version of Morph on a distbuild worker, you'll need to repeat the procedure for the 'distbuild-helper' program that also lives in morph.git.

You'll also need to update /etc/morph-controller.conf to set morph-instance=/src/morph/morph (or whatever path you want to run Morph from)