Opened 2 years ago

Closed 2 years ago

#23039 closed task (fixed)

Make the rbm build system work with runc 1.0.0

Reported by: boklm Owned by: boklm
Priority: Low Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-rbm, TorBrowserTeam201709R
Cc: tbb-team Actual Points:
Parent ID: #17379 Points:
Reviewer: Sponsor:

Description

The new build system has been tested with runc 0.1.1 (which is the version included in Debian stretch, and jessie-backports). However version 1.0.0 (Debian sid currently has version 1.0.0~rc2) includes some incompatible changes, so we will need to adapt how we use runc to make that work.

In version 1.0.0, the runc start command has been replaced by runc run: https://github.com/opencontainers/runc/commit/c669b8d1568633c68bd915561ceb2e5ecc1bfc6a

We will need to detect which version of runc is installed to use the correct command.

Child Tickets

Change History (9)

comment:1 Changed 2 years ago by boklm

Keywords: tbb-rbm added

comment:2 Changed 2 years ago by boklm

Keywords: TorBrowserTeam201709R added
Status: newneeds_review

comment:3 Changed 2 years ago by gk

Keywords: TorBrowserTeam201709 added; TorBrowserTeam201709R removed
Status: needs_reviewneeds_revision

Pointing to https://github.com/opencontainers/runtime-spec/commit/eb114f057094dd2314682d55f8cb9c189915ac86 shows the reformatting of the capabilities. But why do we suddenly need so many more compared to runc < 1.0.0. The commit you pointed to does not make this kind of change.

The needs_revision is for missing changes to README as runc 0.1.1 is not required anymore with this patch.

comment:4 in reply to:  3 ; Changed 2 years ago by boklm

Keywords: TorBrowserTeam201709R added; TorBrowserTeam201709 removed
Status: needs_revisionneeds_review

Replying to gk:

Pointing to https://github.com/opencontainers/runtime-spec/commit/eb114f057094dd2314682d55f8cb9c189915ac86 shows the reformatting of the capabilities. But why do we suddenly need so many more compared to runc < 1.0.0. The commit you pointed to does not make this kind of change.

Actually we use the same list of capabilities as before, but we now need to list separately the bounding, effective, inheritable, permitted and ambient capabilities, instead of having just one list before. I updated the commit message to say that.

The needs_revision is for missing changes to README as runc 0.1.1 is not required anymore with this patch.

I removed the part about the runc version from the README in branch bug_23039_v2:
https://gitweb.torproject.org/user/boklm/tor-browser-build.git/commit/?h=bug_23039_v2&id=209818fc10ba14e8ebfb126cc364c26300795af9

comment:5 in reply to:  4 Changed 2 years ago by gk

Resolution: fixed
Status: needs_reviewclosed

Replying to boklm:

Replying to gk:

Pointing to https://github.com/opencontainers/runtime-spec/commit/eb114f057094dd2314682d55f8cb9c189915ac86 shows the reformatting of the capabilities. But why do we suddenly need so many more compared to runc < 1.0.0. The commit you pointed to does not make this kind of change.

Actually we use the same list of capabilities as before, but we now need to list separately the bounding, effective, inheritable, permitted and ambient capabilities, instead of having just one list before. I updated the commit message to say that.

Indeed, sorry. My bad, but thanks for making this more explicit.

The needs_revision is for missing changes to README as runc 0.1.1 is not required anymore with this patch.

I removed the part about the runc version from the README in branch bug_23039_v2:
https://gitweb.torproject.org/user/boklm/tor-browser-build.git/commit/?h=bug_23039_v2&id=209818fc10ba14e8ebfb126cc364c26300795af9

Applied to master (commit 209818fc10ba14e8ebfb126cc364c26300795af9).

comment:6 Changed 2 years ago by boklm

Resolution: fixed
Status: closedreopened

The patch wrongly assumes version 0.1.1 does not exit with an error when given an unknown command, which is the case on my build machine running jessie, but not on the tpo build machine running stretch. So something else needs to be used to detect the runc version used.

comment:7 Changed 2 years ago by gk

Keywords: TorBrowserTeam201709 added; TorBrowserTeam201709R removed

comment:8 Changed 2 years ago by boklm

Keywords: TorBrowserTeam201709R added; TorBrowserTeam201709 removed
Status: reopenedneeds_review

comment:9 Changed 2 years ago by gk

Resolution: fixed
Status: needs_reviewclosed

Looks good and solved my issue. Applied to master (commit 1f054c59ddc349cf5719447bc51eaccde554312a).

Note: See TracTickets for help on using tickets.