Allow verifying that a snap recipe build corresponds to a store revision
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Low
|
Colin Watson | ||
launchpad-buildd |
Fix Released
|
Low
|
Colin Watson |
Bug Description
Please add the SHA-512 hash code to the build status page of a Snap package built on Launchpad. That simple change would allow users to verify that the Snap package installed on their system was in fact built on Launchpad and that the build log accurately represents its build.
For background, there's currently no way to verify that a Snap package whose build status is shown on Launchpad is the one that's actually installed on your system. That's important because there's a big difference in security between a package in the Snap Store created from closed source on a developer's workstation, on the one hand, and a package built on Launchpad from open source with a detailed build log and manifest file, on the other.
For example, my current installation of the OpenJDK Snap package contains a manifest file with the following build information:
$ cat /snap/openjdk/
image-info:
build-request-id: lp-71597199
build-
build_url: https:/
Yet if I go to the build URL, there is nothing on that page that lets me verify that I am actually using the package created by Launchpad. For a brief time, the build status page contains a link to the package itself, which would allow for such verification, but that download link is deleted after a few days.
Note that Launchpad already generates the SHA-512 and SHA3-384 hash values of the package, as both codes are included on the page linked from "Manage this package in the store" on the build status. That linked page, though, is available only to the developer of the Snap, not to its users.
With this change, users could verify the source of the package with a simple:
$ sudo sha512sum /var/lib/
3d6ccee1...c8939378 /var/lib/
For more information on attempts to verify Snap packages built on Launchpad, see the following blog post:
How to verify the source of a Snap package
https:/
Related branches
- Andrey Fedoseev (community): Approve
-
Diff: 145 lines (+41/-4)3 files modifieddebian/changelog (+1/-0)
lpbuildd/target/build_snap.py (+7/-4)
lpbuildd/target/tests/test_build_snap.py (+33/-0)
- Andrey Fedoseev (community): Approve
-
Diff: 422 lines (+182/-150)2 files modifiedlib/lp/snappy/browser/tests/test_snapbuild.py (+96/-87)
lib/lp/snappy/templates/snapbuild-index.pt (+86/-63)
Changed in launchpad-buildd: | |
status: | Triaged → In Progress |
assignee: | nobody → Colin Watson (cjwatson) |
Changed in launchpad-buildd: | |
status: | In Progress → Fix Released |
Thank you for the detailed feature request.
Unfortunately, this is both not that straightforward as it seems, and also we need to involve the Snap Store team to get some feedback.