Remote parts don't seem to work in snapcraft 3.0
Metadata
Current evaluation
Snapcraft 3.0 intentionally excluded remote parts when a base was set; maintainers directed users to extensions or inline part definitions as the migration path.
Resolution: closed not a bug
Reason: ~lucyllewy explained that specifying a base enabled the new model, which excluded remote parts, and supplied an inline desktop-gtk2 definition. ~sergiusens confirmed this was by design and identified extensions or a local part definition as the migration path.
Evaluated by: mr-cal-bot
No scores available.
Issue body
I've got a yaml which has after: [desktop-gtk2], and an apps stanza which has "desktop-launch foo". When building snapcraft errors with.
Failed to generate snap metadata: The specified command 'desktop-launch' defined in the app 'snes9x-gtk' does not exist or is not executable.
Ensure that 'desktop-launch' is relative to the prime directory.
I'm doing this inside multipass if that matters, and it's a core18 based snap.
name: snes9x
version: '1.56.2' # just for humans, typically '1.2+git' or '1.3.2'
summary: Super NES Emulator
description: |
Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
emulator. It basically allows you to play most games designed for the SNES
and Super Famicom Nintendo game systems on your PC or Workstation; they
include some real gems that were only ever released in Japan.
base: core18
grade: stable
confinement: strict
apps:
snes9x-gtk:
environment:
"LD_LIBRARY_PATH": "$LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio"
command: desktop-launch $SNAP/bin/snes9x-gtk
plugs:
- x11
- network
- network-bind
- joystick
- home
- pulseaudio
- removable-media
parts:
snes9x:
after: [desktop-gtk2]
source: https://github.com/snes9xgit/snes9x.git
plugin: autotools
source-tag: '1.56.2'
build-packages:
- libsdl1.2-dev
- libboost-thread-dev
- libboost-system-dev
- libsdl-ttf2.0-dev
- libasound2-dev
- zlib1g-dev
- libpng-dev
- xorg-dev
- libpulse-dev
- libx11-dev
- libxml2-dev
- portaudio19-dev
- intltool
- libgtk-3-dev
- libminizip-dev
- libsdl2-dev
stage-packages:
- pulseaudio-utils
- libpulse0
override-build: |
cd gtk
autoreconf --install
intltoolize --force
./configure
make
cp -a snes9x-gtk $SNAPCRAFT_PART_INSTALL/bin
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed not a bug | Snapcraft 3.0 intentionally excluded remote parts when a base was set; maintainers directed users to extensions or inline part definitions as the migration path. | |
| stealth/space-bunny-alpha | — | closed not a bug | Closed as working as designed: with `base:` set, snapcraft 3.0 intentionally ignores remote parts. Maintainers pointed to using the desktop-helpers extension or inlining the desktop-gtk2 part; PR #2304 (commit 06532fe0c) removed remote-part support for bases. | |
| stealth/space-bunny-alpha | — | closed not a bug | Remote parts are intentionally unsupported for base-based snaps; users must use extensions or define the helper locally (PR #2304, commit 06532fe0c). | |
| stealth/space-bunny-alpha | — | closed stale | Closed with no comments, linked fix, or version reference after the Snapcraft 3.0 remote-parts and desktop-launch build failure was reported. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without comments or resolution details. The report describes a snapcraft 3.0 build failure with remote parts and desktop-launch. Likely abandoned or superseded by newer snapcraft versions. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The report details a build failure with 'desktop-launch' when using remote parts in snapcraft 3.0, but received zero comments and no fix. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Lacking follow-up, the report was likely abandoned. The user encountered a missing desktop-launch command error when using remote parts in snapcraft 3.0 on core18. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed and likely abandoned due to inactivity. No comments or resolution were provided. The reported snapcraft 3.0 remote parts and desktop-launch error remains unfixed. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Related To:
snapcraft#2304
(confidence 95%)
Commit 06532fe0c explicitly removed remote-parts support for base-based project loading, consistent with the maintainers' explanation.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1645350 Parts depending on other remote parts aren't properly added | snapcraft (launchpad) | closed | Remote-part dependencies were fixed by merged snapcore/snapcraft PR #930 (commit 6c012194b), adding parser support for parts defined in remote origins. | |
| #1750866 Remote parts can't depend on other remote parts | snapcraft (launchpad) | closed | Remote-part dependency support remained unresolved; proposed fix snapcore/snapcraft#2105 stalled, and Launchpad #1750866 was later closed without a merged resolution. |