core20: fails to create snap with merged-usr
Metadata
Current evaluation
Fixed by merged snapcraft#2628 (commit 3f5799a72), making filesets preserve symlink directory paths during staging.
Resolution: closed resolved
Reason: The merged PR snapcraft#2628 fixed the staging behavior by honoring symlink directory paths, with regression tests added. The issue was closed as resolved by commit 3f5799a72.
Evaluated by: mr-cal-bot
No scores available.
Issue body
$ git clone https://github.com/xnox/core20.git
$ cd core20
$ sudo snapcraft
...
fail
See attached trace.
Note that tarball that is staged has merged-usr. Meaning toplevel /lib is a symlink to /usr/lib, and should be preserved.... and they don't seem to be:
$ ls -latr ./parts/boostrap/install/ | grep lib
lrwxrwxrwx 1 root root 7 Jun 19 05:34 lib -> usr/lib
lrwxrwxrwx 1 root root 10 Jun 19 05:34 libx32 -> usr/libx32
lrwxrwxrwx 1 root root 9 Jun 19 05:34 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 9 Jun 19 05:34 lib32 -> usr/lib32
$ ls -latr ./stage/ | grep lib
drwxr-xr-x 2 root root 4096 Jun 19 11:56 lib32
drwxr-xr-x 45 root root 4096 Jun 19 11:57 lib
drwxr-xr-x 2 root root 4096 Jun 19 11:57 lib64
$ snapcraft version
snapcraft, version 3.6
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged snapcraft#2628 (commit 3f5799a72), making filesets preserve symlink directory paths during staging. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR snapcraft#2628 (commit 3f5799a72), making file sets preserve symlink directory paths during staging. | |
| stealth/space-bunny-alpha | — | closed stale | Closed without a documented fix or explanation after about 2,600 days of inactivity; Snapcraft 3.6 staging replaced merged-usr /lib symlinks with directories. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without a documented resolution. The report detailed snapcraft incorrectly converting merged-usr symlinks to directories during staging. No comments or follow-up actions were recorded. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Reported snapcraft converting merged-usr symlinks to directories during staging. Likely abandoned or superseded by updated core20 handling. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#2628
(confidence 100%)
Merged PR explicitly references LP bug #1833408 and includes the symlink-path staging fix and regression tests.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1934403 missing stage-packages does not account for /usr merge in core20 | snapcraft (launchpad) | closed | Fixed by snapcore/snapcraft PR #3634 by resolving merged-/usr paths before the dpkg query; released in Snapcraft 6.1. | |
| #1983009 Snapcraft 7.1.0 fails to find stage package when cross-compiling | snapcraft (launchpad) | closed | Fixed by canonical/snapcraft#3416 (commit 8f418e3d9), restoring core20 behavior so stage packages come from build-on repositories during cross-compilation. |