← Back to issue list

overlays: replace pychroot with non-magic chroot (CRAFT-558)

View original Github issue

Metadata

Project
craft-parts
Number
#139
Type
pull request
State
merged
Author
cmatsuoka
Labels
Created
Updated
Closed

Current evaluation

Merged changes replacing the hackish pychroot library with a simpler, non-magic chroot implementation. Resolves interpreter and platform restrictions, fixes CI failures, and passed reviewer approval.

Suggested action:

No scores available.

Issue body

Add a simple, non-magic replacement for pychroot. Pychroot has numerous issues such as being too hackish, being restricted to certain interpreter versions and platforms, and not working in the CI environment. This implementation is much simpler and we can actually understand it. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged changes replacing the hackish pychroot library with a simpler, non-magic chroot implementation. Resolves interpreter and platform restrictions, fixes CI failures, and passed reviewer approval.
qwen3.6-35b-a3b-mtp-q6 Merged a simpler, platform-independent chroot implementation to replace pychroot for overlays. This resolves version restrictions, platform limitations, and CI failures. Tests were restarted via a close/reopen cycle.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#134 overlay: add overlay package install (CRAFT-81) craft-parts merged Merged. Adds overlay package installation by executing maintainer scripts in a chrooted environment to correctly update the package database. Approved by two reviewers, with clarifications added on pychroot usage and empty file safety.
75%
#146 overlay: pass error message from chrooted process (CRAFT-580) craft-parts merged Merged updates to chroot error handling that pass error message strings and raise ChrootExecutionError instead of original exceptions, avoiding custom unpickling. Approved by one reviewer, passed CI, and modified four files.
75%