[PR #93] [CLOSED] Add support for building snaps #389

Closed
opened 2026-02-25 22:33:21 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/FiloSottile/mkcert/pull/93
Author: @ghost
Created: 12/18/2018
Status: Closed

Base: masterHead: “add-snapcraft”


📝 Commits (1)

  • 6e3a90a Add support for building snaps

📊 Changes

1 file changed (+21 additions, -0 deletions)

View changed files

snapcraft.yaml (+21 -0)

📄 Description

Hi Filippo,

Mkcert looks like an interesting tool - I wish I had this back in 2008 when I was doing a lot of stuff around web servers. Oh well.

Anyway, I want to ask you to add support for snaps.

Now, snaps are cross-distro Linux software packages, supported on LTS and non-LTS Ubuntu, as well as many others distributions. Having mkcert as a snap would make it available to millions of users through the Snap Store (snapcraft.io/store), and also allow you to provide automatic updates with any changes to all your users. I guess this would make a lot of sense if there are vulnerabilities in the nss library, and people need updates fast, and you want to make sure everyone is fully aligned.

Snaps make for a really good use case here, as they are self-contained and isolated. In fact, I built mkcert as a strictly confined application, and if you decide to do snap building, you can play and tweak with whatthe snap can do some more.

TL;DR - technical details - for how to build snaps locally. I used Ubuntu 18.04 LTS as the build system.

snap install snapcraft --classic --beta
git clone https://github.com/igorljubuncic/mkcert.git
cd mkcert
git checkout add-snapcraft
snapcraft

The last command creates a .snap file, something like mkcert_1.0_amd64.snap.

This snap can be installed and tested locally with:

snap install mkcert_1.0_amd64.snap --dangerous

The --dangerous flag is necessary because the snap hasn’t yet gone through the snap store review process and is not digitally signed.

The mkcert command can be executed, e.g.: snap run mkcert .

Then, you will need to get the snap actually published in the store:

snapcraft login
snapcraft register

  • Upload a built snap to the store. The store supports multiple risk levels as “channels”. We have edge, beta, candidate and stable, which denote the level of stability. Typically, you start with edge and promote to other channels as you complete testing and validation.

snapcraft push mkcert_1.0_amd64.snap --release edge

  • Test installing on a clean machine to see everything works as you expect.

snap install mkcert --edge

After you have completed your testing and you're happy, you can push a stable release to the stable channel. The next step after that is to update the store page, and promote the application online. We will gladly help there, and we'd be happy to feature your application in our store. Feel free to reach out if you have any questions or concerns.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/FiloSottile/mkcert/pull/93 **Author:** [@ghost](https://github.com/ghost) **Created:** 12/18/2018 **Status:** ❌ Closed **Base:** `master` ← **Head:** `“add-snapcraft”` --- ### 📝 Commits (1) - [`6e3a90a`](https://github.com/FiloSottile/mkcert/commit/6e3a90a12b3868a235d360b523fec5bd27295798) Add support for building snaps ### 📊 Changes **1 file changed** (+21 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `snapcraft.yaml` (+21 -0) </details> ### 📄 Description Hi Filippo, Mkcert looks like an interesting tool - I wish I had this back in 2008 when I was doing a lot of stuff around web servers. Oh well. Anyway, I want to ask you to add support for snaps. Now, snaps are cross-distro Linux software packages, supported on LTS and non-LTS Ubuntu, as well as many others distributions. Having mkcert as a snap would make it available to millions of users through the Snap Store (snapcraft.io/store), and also allow you to provide automatic updates with any changes to all your users. I guess this would make a lot of sense if there are vulnerabilities in the nss library, and people need updates fast, and you want to make sure everyone is fully aligned. Snaps make for a really good use case here, as they are self-contained and isolated. In fact, I built mkcert as a strictly confined application, and if you decide to do snap building, you can play and tweak with whatthe snap can do some more. TL;DR - technical details - for how to build snaps locally. I used Ubuntu 18.04 LTS as the build system. snap install snapcraft --classic --beta git clone https://github.com/igorljubuncic/mkcert.git cd mkcert git checkout add-snapcraft snapcraft The last command creates a <mkcert-version>.snap file, something like mkcert_1.0_amd64.snap. This snap can be installed and tested locally with: snap install mkcert_1.0_amd64.snap --dangerous The --dangerous flag is necessary because the snap hasn’t yet gone through the snap store review process and is not digitally signed. The mkcert command can be executed, e.g.: snap run mkcert <options>. Then, you will need to get the snap actually published in the store: - Register a developer account in the snap store https://snapcraft.io/account. - Register the mkcert name in the store. snapcraft login snapcraft register - Upload a built snap to the store. The store supports multiple risk levels as “channels”. We have edge, beta, candidate and stable, which denote the level of stability. Typically, you start with edge and promote to other channels as you complete testing and validation. snapcraft push mkcert_1.0_amd64.snap --release edge - Test installing on a clean machine to see everything works as you expect. snap install mkcert --edge After you have completed your testing and you're happy, you can push a stable release to the stable channel. The next step after that is to update the store page, and promote the application online. We will gladly help there, and we'd be happy to feature your application in our store. Feel free to reach out if you have any questions or concerns. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-25 22:33:21 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/mkcert#389
No description provided.