← Back to issue list

Replace "copy" plugin by "dump" with std conventions

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1597600
Type
issue
State
closed
Author
~niemeyer
Labels
—
Created
Updated
Closed

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).
73%
#1794781 Remove the copy plugin snapcraft (launchpad) closed Deprecated copy plugin removal landed via snapcore/snapcraft#2308, commit 360453fa6.
73%
#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.
71%
#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.
71%