adapteva / epiphany-sdk

Epiphany SDK build scripts (start here!)
GNU General Public License v3.0
125 stars 35 forks source link

Environment variable inconsistency #41

Closed theappleman closed 9 years ago

theappleman commented 9 years ago

Hello,

I've started looking into the Epiphany SDK however after investigation of the code I was disappointed to discover that the SDK requires installation into /opt/adapteva. As such, installation of the SDK requires root access.

In the documentation, there is one main environment variable, EPIPHANY_BUILD_HOME, which:

As mentioned, there are sections in the scripts that essentially hard-code /opt/adapteva and this layout.

I have already started on removing this restriction whilst keeping backwards compatibility, however I would like to make it completely customisable.

There are a number of environment variables already defined that are either duplicates or not being used. This is what I'd like to change them to (square brackets suggest defaults to keep current behaviour):

I'm still working on getting this into place (modifying the $basedir variable in the scripts), however this will be rather intrusive to the build scripts.

What do you think?

jeremybennett commented 9 years ago

Hi theappleman,,

I thought this was fixed in the latest SDK. If not, Ola Jeppsson has been working on the new script, which installs locally by default. It should all be configurable anyway.

I'll leave Ola to comment further.

HTH,

Jeremy

olajep commented 9 years ago

It was fixed a while back before 2014.11.

Follow the instructions here: https://github.com/adapteva/epiphany-sdk/wiki/Building-the-SDK#the-short-version

The files will be installed into esdk.branch , e.g., esdk.2015.11 in the buildroot.

You can move that directory wherever you want. You just need to adjust $ESDK_HOME appropriately.

// Ola

theappleman commented 9 years ago

I've been pulling from the 2015.1 branch, and there are still a few places that do install to /opt/adapteva that are not configurable e.g. https://github.com/adapteva/epiphany-sdk/blob/2015.1/build-toolchain.sh#L677

However, my issue is that the scripts MUST be checked out in a folder called "sdk": https://github.com/adapteva/epiphany-sdk/blob/2015.1/build-toolchain.sh#L393

and that the buildroot MUST be "sdk/..", and that, due to things like the first example, it must therefore be "/opt/adapteva".

I want to use the ESDK, EPIPHANY_HOME and EPIPHANY_BUILD_HOME variables to actually make these configurable, but:

  1. is my understanding of these variables correct, and that the current SDK isn't using them? e.g. https://github.com/adapteva/epiphany-sdk/blob/2015.1/build-epiphany-sdk.sh#L138
  2. do you know of places that may require those variables to be set differently?

-daniel.

olajep commented 9 years ago

Some of this is fixed in the epiphany-sdk/master branch.

You can use ESDK_DESTDIR to select where to install the files.

You still need the sdk directory to be present in the build directory (ESDK_BUILDROOT is kind of a no-op a.t.m). But I don't see that as a big issue. You could either just symlink or clone it.

// Ola