Opened 6 years ago

Closed 6 years ago

#10120 closed enhancement (fixed)

Refector Gitian Descriptors to build tools seprately (and preserve them)

Reported by: mikeperry Owned by: gk
Priority: Medium Milestone:
Component: Applications/Tor bundles/installation Version:
Severity: Keywords: gitian, tbb-3.0
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description (last modified by mikeperry)

The fixes to #9084 and #9828 (and soon #9829) have us building more and more of the toolchain and supporting tools from Gitian.

We should make a single, separate descriptor for all of these tool outputs (we only need to build them for Linux anyway), and for any future toolchain components we build as part of our efforts to build from multiple Gitian guest OS distributions.

The makefiles should also be updated to treat these outputs specially (don't erase them during 'make clean', and find some way to rebuild them if their version in the 'versions' file changes).

Child Tickets

Change History (5)

comment:1 Changed 6 years ago by mikeperry

Description: modified (diff)

comment:2 Changed 6 years ago by boklm

Related to this, here is a proposal for a refactor of the build process:
https://people.torproject.org/~boklm/automation/tor-automation-proposals.html#build-tool
With a prototype here:
https://github.com/boklm/burps-tor

This prototype allows to preserve tools that have been built previously, and only rebuild them when their version number change, downloading the new version sources and building them automatically when that's the case.

comment:3 Changed 6 years ago by gk

The first step is done in commit 2d9e5eea316c3d35a46f55c1150c4873bbbf2d15. There, the tools needed for the Linux descriptors are built separately and preserved (the PT descriptor is not included). Note, the plan is to have a utils descriptor per supported platform as we have tools on non-Linux platforms as well (e.g. the cross-compiler for OS X and for Windows). Further, in this commit we fine-tune our clean targets (there is now e.g. a clean target per component)

comment:4 Changed 6 years ago by gk

The Windows bits landed in commit c67075a87a05505d083a648a47adfbba46f79eff and 75b64c8cbc39c7bed5a1865d978bceb2cc041302.

comment:5 Changed 6 years ago by gk

Resolution: fixed
Status: newclosed

The Mac part landed in commit e0ef86ec6822abfb17554defaf287e926f3a8206 and the PT/descriptor clean-up part in commit 90d598f9dcd0758fd9c72f4b30286982017dd18d.

Note: See TracTickets for help on using tickets.