Need generic reusable command-line to for downloading license-protected files

Bug #1130810 reported by Paul Sokolovsky
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linaro-license-protection
Fix Released
High
Paul Sokolovsky

Bug Description

It has been confirmed that we still have more than client for (semi)unattended (better term: mediated) download of license-protected files. We used to have multiple duplicated, adhoc solutions to handle that. They all are known to break after latest linaro-license-protection refactor of click-thru licensing handling. This is proposal for single, well-defined, reusable and maintained tool to handle the task, which exerts due diligence in handling license acceptance matters.

Proposal:

1. To have a tool called "linaro-download".
2. Basic idea of the tool is work the same as wget, except for at most one file at a time.
3. If passed just a URL, it will download that URL, if it has open license.
4. Otherwise, it will present user with a license text on stdout and will wait for acceptance on interactive terminal. Non-availability of interactive terminal will be treated as declining of license (not proceeding with download).
5. Alternatively, if --accept-license=<hash> option is specified, and license hash match that of a file being downloaded, a license will be presented on stdout with explicit notice that passing --accept-license switch construes acceptance of the license.
6. Finally, if --accept-license is specified without argument, a license-protected file will be downloaded, with the same notice as for p.5. Usage of --accept-license without argument is however discouraged (expected to require approval for each case).
7. For cases of p.5, 6 it's imperative that any product, derivative, or deliverable produced from a downloaded file with restricted license, to be available with the same restricted license (unless license itself calls for usage of another licensing variant for any derivative work).

Other requirements:
1. Should be easy to get (standalone project for small/quick checkout, single file for direct file downloading).
1. Should have minimal dependencies (Python with stdlib, no 3rd party modules).

Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

This is needed for lava soon.

Changed in linaro-license-protection:
assignee: nobody → Paul Sokolovsky (pfalcon)
importance: Undecided → High
status: New → Triaged
milestone: none → 2013.02
Changed in linaro-license-protection:
status: Triaged → In Progress
description: updated
Revision history for this message
Paul Sokolovsky (pfalcon) wrote :
Changed in linaro-license-protection:
status: In Progress → Fix Committed
Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Now described in https://wiki.linaro.org/Platform/Infrastructure/infrastructure-knowledgebase#Accessing_license-protected_files_in_automated_environments

No suggestions for license acceptance handling changes/improvements were received, considering this phase is done. May need refactoring to use new publishing APIs when they're available.

Changed in linaro-license-protection:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.