Handle EULA text versioning and branding

Registered by Georgy Redkozubov

Current EULA.txt doesn’t have the EULA text included, it is used as a trigger to display EULA. Displaying appropriate license and selecting a theme is based on the filename/directory pattern.
EULA.txt should contain the license text as we want each build to be able to ship it’s individual EULA text to allow shipping different license text versions as they change. e.g. new builds can have a different EULA than the old builds, but old builds still need the old EULA.
Use BUILD-INFO.txt in the builds to define version, branding, etc. The branding implementation shouldn’t be directly part of the build artifacts, just a “abstract branding name/version”. The mapping to real HTML would be done on the hosting server and configured there (e.g. a directory with all branding HTML for EULA and HEADER.html)

Following theme names should be used in 'Theme' field for currently supported vendors:
1) For ST-Ericsson (Snowball builds): stericsson
2) For Samsung (Origen builds): samsung

Blueprint information

Status:
Complete
Approver:
Данило Шеган
Priority:
High
Drafter:
Georgy Redkozubov
Direction:
Approved
Assignee:
James Tunnicliffe
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2012.07
Started by
Georgy Redkozubov
Completed by
Данило Шеган

Related branches

Sprints

Whiteboard

[danilo 2012-06-08] Prioritize as 'essential' for the planning call.
[danilo 2012-06-29] Move to the next cycle because code, even if completed, hasn't been deployed.
[danilo 2012-07-17] Deployment moved to https://blueprints.launchpad.net/linaro-license-protection/+spec/django-rewrite.

Meta:
Headline: Click through license protection supports EULA versioning and branding.
Acceptance: Branding for download directory as well as EULA display can be selected and configured by the build artifacts without further configuration tweaks and special casing on the download host itself.
Roadmap id: CARD-150

In order to handle a single file being covered by multiple licenses we will do the following. Consider this BUILD-INFO.txt:

  Files-Pattern: hwpack.tar.gz
  Build-Name: landing-snowball
  Theme: ste
  License-Type: protected
  License-Text: ...

  Files-Pattern: hwpack.tar.gz
  Build-Name: landing-origen
  Theme: samsung
  License-Type: protected
  License-Text: ...

We will match a file called hwpack.tar.gz to both licenses, so the user will have to accept both. This requires no change to the BUILD-INFO.txt format. As before, cookies will be used to store which licenses the user has accepted and if in the above example the user has already accepted the Samsung license, they will only have to accept the Sony Ericsson license.

(?)

Work Items

Work items:
Update license.php/.htaccess to use license text from EULA.txt: DONE
Update license.php to use version/branding information from BUILD-INFO.txt: DONE
[gesha] Define theme names for currently supported vendors, document them in the description: DONE
[gesha] Update license.php to take in account defined theme names: DONE
[gesha] Remove duplicated header text: DONE
[dooferlad] Single file covered by multiple licenses: DONE
Deploy to snapshots.linaro.org and releases.linaro.org: POSTPONED

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.