Replace "copy" plugin by "dump" with std conventions
Metadata
Current evaluation
Merged snapcraft#712 in commit b86965088, adding the standard dump plugin to extract an entire part source into the install directory.
Resolution: closed resolved
Reason: Launchpad records snapcraft#712 as the resolution. The merged PR introduced dump, and commit b86965088 added it with integration coverage.
Evaluated by: mr-cal-bot
No scores available.
Issue body
We've discussed this before a few times, but it probably got lost in the volume of good work going on.
The "copy" plugin is a bit of an alien at the moment, with its "files" parameter which takes a map of origin and destination and remains out of the standard organization and file selection which is available to every other plugin: organize map, stage list, snap list, file sets, etc.
It sounds like addressing this might be done elegantly by obsoleting the "copy" plugin and introducing a new "dump" plugin which simply unpacks the _whole_ tarball into the plugin installdir, and allows the standard features to be applied to it (organize, etc).
I've been using locally such a dump plugin which consists solely of:
def build(self):
super().build()
self.run(['cp', '-a', '.', self.installdir])
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged snapcraft#712 in commit b86965088, adding the standard dump plugin to extract an entire part source into the install directory. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged snapcraft#712 in commit b86965088, adding the standard dump plugin to extract an entire part source into the install directory. | |
| stealth/space-bunny-alpha | — | closed resolved | Added the convention-based dump plugin in canonical/craft-parts#32, merged as 4b002854 (implementation 01674687), installing the complete part source. | |
| stealth/space-bunny-alpha | — | closed stale | The copy-to-dump replacement was closed as abandoned without implementation; no resolving PR or commit was recorded. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. The proposal to replace the copy plugin with a dump plugin for standard file organization was closed without implementation. | |
| qwen/qwen3.6-35b-a3b | — | — | The proposal to replace the copy plugin with a dump plugin for standard convention alignment was closed without implementation or discussion. Likely abandoned or superseded by later project changes. | |
| qwen/qwen3.6-35b-a3b | — | — | Proposal to replace the copy plugin with a dump plugin for standard integration was closed without implementation. Likely abandoned or superseded by later updates, with no comments or resolution details recorded. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Proposed replacing the copy plugin with a dump plugin to align with standard conventions. Closed with no comments or implementation, indicating the proposal was abandoned or superseded. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#712
(confidence 99%)
Merged PR adding the dump plugin requested in the issue.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #32 plugins: add the dump plugin | craft-parts | merged | Merged #32, adding a dump plugin that copies part-source content into the install directory via commit 01674687 (merge 4b002854). | |
| #1794781 Remove the copy plugin | snapcraft (launchpad) | closed | Deprecated copy plugin removal landed via snapcore/snapcraft#2308, commit 360453fa6. | |
| #3048 V2 dump plugin | snapcraft | merged | V2 dump plugin implementation was merged in canonical/snapcraft#3048, adding 142 lines and removing 12 across seven files after maintainer approval. | |
| #1658774 Symlinks to libc are followed by the dump and copy plugins | snapcraft (launchpad) | closed | Merged snapcraft#1174 as commit 2b8bac953, changing copy and dump plugins to ignore staged-package symlinks to libc instead of following or removing them. |