A devmode snap is a smoke test, not a distribution channel: pkh drives the whole host packaging stack (unshare chroots, overlay mounts, dpkg/quilt/lintian across arbitrary paths), which only classic confinement can express. The snap now bundles every host-side tool pkh execs (git, gnupg, dpkg-dev, quilt, pristine-tar, mmdebstrap, lintian, fakeroot, util-linux, mount, schroot, openssh, tar/xz/bzip2), with apt and dpkg deliberately left to the host: a core24 apt managing a newer host's package database is exactly the skew classic snaps must avoid. Tools running only inside the build chroot stay out; pkh provisions those itself. Release metadata comes from Cargo.toml instead of the git hash, and grade is stable, so a build of any commit packs as the declared version. Classic-mode correctness: noble's mount/umount are staged from the split mount package, fakeroot is exposed via symlink since update-alternatives does not run at staging, and every bundled ELF is patched to the core24 loader with a DT_RPATH resolving the base and $ORIGIN. Without this the host loader would pin the snap to hosts with a matching glibc, and the host ld.so.cache would mix host libraries with base ones.
10 lines
71 B
Plaintext
10 lines
71 B
Plaintext
*.lock
|
|
target
|
|
|
|
# Local snapcraft builds
|
|
.craft
|
|
parts
|
|
prim
|
|
stage
|
|
*.snap
|