-
Notifications
You must be signed in to change notification settings - Fork 0
Upstreaming
The Snappy Playpen is a fun and research project, but we want the world to benefit from our work. What we want to achieve with each of the projects in the repo is that we get the snap to production quality and offer it to the projects in question to be included in their source tree. This will make the upstreams' lives a lot easier. Getting their app out to millions of users is just a matter of running snapcraft upload
.
Status | App | Who | Requirements | Link | Notes |
---|---|---|---|---|---|
π¨ | 2048 | dholbach | blocked on desktop content snap | Needs to be slimmed down | |
β | atom | ||||
β | click-parser | ||||
β | cloudfoundry-cli | ||||
β | consul | ||||
β | cuberite | jamestait | |||
β | dcos-cli | ||||
β | deis-workflow-cli | ||||
β | docker-compose | ||||
β | dosbox | ||||
β | ffmpeg | ||||
π¨ | galculator | blocked on desktop content snap | Needs to be slimmed down | ||
β | gitter-im | ||||
β | heroku | ||||
β | hexchat | ||||
β | idea | ||||
β | imagemagick-edge | ||||
β | imagemagick-stable | ||||
β | jtiledownloader | dplanella | |||
β | keepassx | ||||
β | kodi-stable | dgmvecuador | |||
β | kpcli | ||||
π¨ | leafpad | dholbach | blocked on desktop content snap | Needs to be slimmed down | |
β | minetest | ||||
β | mirageos | ||||
π§ | moon-buggy | sergiusens | moon-buggy PR | ||
β | mpv | ||||
β | openjdk-demo | ||||
β | openttd | ||||
β | plank | mhall119 | |||
β | ps-mem | popey | |||
π | qcomicbook | pstolowski | qcomicbook tree | ||
π | qdriverstation | alex-spataru | qdriverstation tree | ||
π | qownnotes | pbek | qownnotes tree | ||
β | residualvm | ||||
π¨ | ristretto | dholbach |
tumbler service can't index photos easily yet (dbus service issue) |
||
β | scummvm | caldav | |||
β | shotwell | mhall119 | |||
β | smplayer | ||||
β | tinyproxy | ||||
β | tyrant-unleashed-optimizer | ||||
π | ubuntu-clock-app | dholbach | can't use new launcher yet | Clock tree | |
β | ubuntukylin-icon-theme | ||||
β | vault | ||||
β | vlc | caldav | |||
π | wallpaperdownloader | egara | wallpaperdownloader | ||
β | youtube-dl | caldav |
Use these statuses in the table:
Code | Emoji | Explanation |
---|---|---|
:grey_question: |
β | unknown |
:rotating_light: |
π¨ | needs work (new interface needed, or anything else is broken) |
:email: |
π§ | proposed (snapcraft.yaml proposed for the upstream tree) |
:rainbow: |
π | accepted (snapcraft.yaml accepted in upstream tree) |
Whichever status you pick, make sure you add a link to document what's required. If there's multiple bugs in question, make sure you list all of them. We want to use this list to make sure we get common issues fixed together with the snapcraft
, snapd
and snap-confine
developers. Have a look at our list of known issues to see if your issue has maybe been filed already.
We as a team should make sure that if we submit our work upstream that it is production quality, that stuff just works and we can be proud of what we achieved.
This includes things such as
- all features work,
- the upstream
.desktop
file is used, - the icon is present.
If you search for the project name online, you are often going to find it quickly. Some projects live in code hosting sites such as github.com or Launchpad or SourceForge or on the gnu project site.
Others choose to have their own web sites or are part of bigger projects, such as GNOME, KDE, XFCE, LXDE or others.
The best way is usually to propose this as a pull request, merge proposal or whichever other way the project in question uses to accept patches. If it's not immediately clear from looking at their developer docs, ask some of the project's members first.
Maintain the contact with the upstream. It's great if you can be responsive in the conversation, even if the upstream is not. Be friendly, help fix issues, get help if necessary. If an upstream doesn't react for a longer period of time, you could try asking in their IRC channel (or whichever other real-time chat they use) or on their mailing list (or forum). Again: be friendly, if the upstream is not interested, that's their choice. They all have been maintaining their software for years and might have more pressing things on their agenda.
When you write the inclusion request, you should make sure to refer to http://snapcraft.io/ and talk about the advantages snaps have. Here are a few suggestions:
- Snaps can be installed by millions of users: Ubuntu 16.04 LTS (by default), other distros have
snapd
in their repositories already. - Necessary libraries and dependencies can be bundled to give maximum amount of control over the stack.
- The
.snap
can be built by just runningsnapcraft
, publishing it to the store is just a matter ofsnapcraft upload <.snap file>
. - The store offers multiple release channels (
stable
, which is the default andbeta
andedge
too). - Services like Launchpad offer building of snaps from your git tree (current state of Launchpad in this regard).
One thing you might also want to mention is the publishing procedure and app name registration procedure. Particularly the latter is important for upstreams to have control over publishing their app.