Skip to content

Disable pacman filesystem sandbox in nested Arch builds - #65

Merged
senamakel merged 3 commits into
mainfrom
tinybox-pacman-landlock
Oct 12, 2026
Merged

senamakel merged 3 commits into
mainfrom
tinybox-pacman-landlock

Conversation

@senamakel

@senamakel senamakel commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

The v0.1.23 release exposed an Arch ARM failure: pacman cannot apply its Landlock filesystem ruleset inside the nested container. This extracts the distro package install step and disables only --disable-sandbox-filesystem for pacman, leaving its syscall sandbox enabled.

A mocked-pacman regression reproduces the missing option and checks the exact argument list; it also rejects disabling the whole pacman sandbox. Validation: package-layout tests 5/5, bash -n on the modified scripts, and git diff --check.

senamakel and others added 3 commits October 12, 2026 09:44
Move the per-distro package installation out of the distro test harness
into a dedicated script so the same logic can be reused elsewhere. A new
test asserts the Arch path passes only the filesystem sandbox exception
to pacman rather than disabling the sandbox entirely.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The Arch package install now passes --disable-sandbox-filesystem to pacman
because the distro builder runs in a nested container where Landlock cannot be
applied. The syscall sandbox stays enabled; only filesystem sandboxing for
package downloads is turned off.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Oct 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

This review includes 3 billable files and costs up to $0.75.

Or wait 22 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5f9496df-4e5f-49eb-a3bd-4c2faed59cfe

📥 Commits

Reviewing files that changed from the base of the PR and between d2e2b9b and 7ea50f1.


📒 Files selected for processing (3)
  • scripts/install-distro-packages.sh
  • scripts/test-distro.sh
  • scripts/test-package-layout.py

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@senamakel
senamakel merged commit 5d6f002 into main Oct 12, 2026
13 of 14 checks passed
@senamakel senamakel mentioned this pull request Oct 12, 2026
@tinysweeper

tinysweeper Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

Tiny Sweeper reviewed this change across 5 lane(s) and found 0 active actionable finding(s). Detailed lane evidence and any incomplete work are listed below.

State: Incomplete
Priority: none
Reviewed head: 7ea50f10bd32
Updated: 2026-10-12T22:51:51Z

Review snapshot

Change surface Files Review signal Count
Production 1 Active findings 0
Tests 2 Noted findings 0
Documentation 0 Resolved findings 0
Configuration 0 Pending checks/questions 1

Completeness: Incomplete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

Features

None identified with supported citations.

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

Findings

No active actionable findings.

Could not review: scripts/test-distro.sh

Before merge

  • Complete the critique review for scripts/test-distro.sh.

How this fits together

flowchart LR
  n0["stderr"]:::impacted
  n1["directory"]:::impacted
  n2["decode"]:::impacted
  n3["...tted_release_host_key_and_attests_library"]:::impacted
  n4["...t_library_bytes_from_a_symlinked_checkout"]:::impacted
  n5["...hands_admitted_archive_to_workspace_owner"]:::impacted
  n3 -->|uses| n0
  n3 -->|uses| n1
  n3 -->|calls| n2
  n3 -->|tests| n2
  n4 -->|uses| n0
  n4 -->|uses| n1
  n4 -->|calls| n2
  n4 -->|tests| n2
  n5 -->|uses| n0
  n5 -->|uses| n1
  classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
  classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
  classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
  classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Loading
Agent review details

critique

  • Conclusion: Success
  • Scope reviewed: incomplete; unanswered: scripts/test-distro.sh
  • Lane summary: Reviewed 2 files; 0 findings. 1 file could not be reviewed: scripts/test-distro.sh.

security

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: Reviewed 3 files; 0 findings.

tests

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The diff extracts the in-container package installation into scripts/install-distro-packages.sh, adds pacman's `--disable-sandbox-filesystem`, and adds a test that runs the script with a fake `pacman` on PATH and asserts the exact argv — so removing or broadening that flag (to `--disable-sandbox`) does fail the suite. The extra script/behaviour looks sound; the only gap is that the script's new unsupported-manager branch has no test at all.

commits

  • Conclusion: Neutral
  • Scope reviewed: all assigned evidence
  • Lane summary: Nothing sensitive found in what this pull request commits.

description

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The change extracts the distro package install into scripts/install-distro-packages.sh (with only pacman's filesystem sandbox disabled), rewires scripts/test-distro.sh to call it, and adds a mocked-pacman test that asserts the exact argument list and rejects disabling the whole sandbox. The title and body describe exactly what the diff does, and the diff introduces no defect I can point at.
Evidence and run details
  • Models: ladder/vectors-oai3, deepseek-v4.1-flash
  • Spend: $0.005990
  • Tokens: 328020 input · 73599 output · 91904 cached · 163 embedding
Head State Pass summary
7ea50f10bd32 incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-10-12T22:51:51Z)

tinysweeper 0.1.2

@tinysweeper tinysweeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tinysweeper found nothing blocking, but could not review everything, so this is not an approval: scripts/test-distro.sh.

             $0.0060 · 328,020 in / 73,599 out · 91,904 cached (28%) · ladder/vectors-oai3, deepseek-v4.1-flash · 163 embedded
critique:    $0.0020 · 128,175 in / 26,819 out · 32,768 cached (26%) · deepseek-v4.1-flash
security:    $0.0010 · 125,010 in / 12,335 out · 43,776 cached (35%) · deepseek-v4.1-flash
tests:       $0.0016 · 48,808 in  / 14,702 out · 14,336 cached (29%) · deepseek-v4.1-flash
description: $0.0011 · 23,605 in  / 15,613 out · 1,024 cached (4%)   · deepseek-v4.1-flash

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant