← Back to issue list

Add a new build plugin 'shell' that runs arbitrary shell commands

View original Github issue

Metadata

Project
snapcraft
Number
#727
Type
pull request
State
closed
Author
wiedenmeier
Labels
—
Created
Updated
Closed

Current evaluation

Closed unmerged as superseded by Snapcraft's native prepare, build, and install part keywords, which covered most of the proposed shell-plugin functionality.

Resolution: closed superseded

Reason: On 2017-01-03, maintainer sergiusens closed the PR after the prepare/build/install keyword implementation provided most of its functionality. No merge or CI run is recorded.

Evaluated by: mr-cal-bot

No scores available.

Issue body

In order to support uncommon build systems and custom written build scripts it is useful to be able to run arbitrary commands to build and install, rather than just the commands hardcoded into the other snapcraft plugins. This plugin accepts a list of commands and runs each of them with bash variables set to represent the source dir, build dir, and dest dir for the snapcraft part._ For example, here is a snapcraft file that compiles the video player mpv, which uses both a custom bootstrap script and the build system waf: http://paste.ubuntu.com/23050131/ If there is anything you would like added to this plugin please let me know, thanks.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Closed unmerged as superseded by Snapcraft's native prepare, build, and install part keywords, which covered most of the proposed shell-plugin functionality.
stealth/space-bunny-alpha — closed superseded Closed unmerged after part-level prepare, build, and install keywords implemented the proposed custom-command functionality, making the shell plugin unnecessary.
qwen/qwen3.6-35b-a3b — — Superseded by the implementation of prepare, build, and install keywords for parts, which now provide the requested functionality. The pull request was closed without merging.
qwen3.6-35b-a3b-mtp-q6 — — Closed without merging. The proposed shell plugin was superseded by adding prepare, build, and install keywords to parts, which deliver equivalent functionality while maintaining snapcrafts declarative architecture.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#664 (confidence 99%)

    A maintainer explicitly identified it as a similar earlier proposal, and the two implementations were compared.

Related issues

Issue Project State Summary Similarity
#1782775 Add shell API snapcraft (launchpad) closed Implemented by snapcore/snapcraft PR #2249, merged as commit 9f5640b17, adding shell support for the base build environment.
75%
#664 New plugin: Script (runs bash scripts) snapcraft closed Unmerged Script plugin was closed after discussion moved to snapcraft#727; native prepare, build, and install commands covered most of its intended functionality.
75%
#1604107 Plugin for bash scripts snapcraft (launchpad) closed Bash-script plugin request was superseded by snapcraft#727; PRs #664 and #727 remained unmerged because part-level prepare, build, and install commands covered the need.
74%