You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/snap.md
+15-15Lines changed: 15 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,15 @@
1
-
# Publishing go-ipfs as a snap
1
+
# Publishing Kubo as a snap
2
2
3
-
> Snap is the default package manager for ubuntu since the release of 20.04. This doc captures what we know about building go-ipfs as a snap package and publishing it to the snapstore.
3
+
> Snap is the default package manager for ubuntu since the release of 20.04. This doc captures what we know about building Kubo as a snap package and publishing it to the snapstore.
4
4
5
-
The go-ipfs snap is defined in [snap/snapcraft.yaml](https://github.com/ipfs/go-ipfs/blob/master/snap/snapcraft.yaml). For more detail on our snapcraft.yaml see: https://github.com/ipfs-shipyard/ipfs-snap
5
+
The Kubo snap is defined in [snap/snapcraft.yaml](https://github.com/ipfs/go-ipfs/blob/master/snap/snapcraft.yaml). For more detail on our snapcraft.yaml see: https://github.com/ipfs-shipyard/ipfs-snap
6
6
7
-
-go-ipfs is published as `ipfs` to the snapcraft store, see: https://snapcraft.io/ipfs
7
+
-Kubo is published as `ipfs` to the snapcraft store, see: https://snapcraft.io/ipfs
8
8
- ipfs-desktop is published as `ipfs-desktop`, from CI, here: https://github.com/ipfs-shipyard/ipfs-desktop/blob/master/.github/workflows/snapcraft.yml
9
9
10
-
For go-ipfs we deliberately lean on the Canonical lauchpad.net build environment so as it simplifies creating builds for more architectures, which has been requested by user numerous times.
10
+
For Kubo we deliberately lean on the Canonical lauchpad.net build environment so as it simplifies creating builds for more architectures, which has been requested by user numerous times.
11
11
12
-
Linux user can install go-ipfs with:
12
+
Linux user can install Kubo with:
13
13
14
14
```
15
15
$ snap install ipfs
@@ -21,7 +21,7 @@ Apps installed via Snapcraft are auto-updating by default. Snapcraft uses 'Relea
21
21
$ snap install --edge ipfs
22
22
```
23
23
24
-
<imgwidth="1072"alt="Dashboard for managaing go-ipfs snap release channels for go-ipfs"src="https://user-images.githubusercontent.com/58871/95761096-bcb34580-0ca3-11eb-8ce7-2496b2456335.png">
24
+
<imgwidth="1072"alt="Dashboard for managaing Kubo snap release channels for go-ipfs"src="https://user-images.githubusercontent.com/58871/95761096-bcb34580-0ca3-11eb-8ce7-2496b2456335.png">
25
25
26
26
## Known issues
27
27
@@ -51,7 +51,7 @@ $ brew install snapcraft
51
51
52
52
### Build and test
53
53
54
-
**Build** out a snap package for go-ipfs by running the following from this project
54
+
**Build** out a snap package for Kubo by running the following from this project
55
55
56
56
```console
57
57
$ snapcraft
@@ -81,7 +81,7 @@ go-ipfs version: 0.7.0-dev
81
81
82
82
### Building in Docker
83
83
84
-
[ipfs-shipyard/ipfs-snap](https://github.com/ipfs-shipyard/ipfs-snap) includes a Dockerfile that creates an image that can build go-ipfs from source and package it as a snap. It starts with `snapcore/snapcraft:stable` and adds in `go` and just enough tools to allow snapcraft to build go-ipfs. It is published to dockerhub as `ipfs/ipfs-snap-builder`.
84
+
[ipfs-shipyard/ipfs-snap](https://github.com/ipfs-shipyard/ipfs-snap) includes a Dockerfile that creates an image that can build Kubo from source and package it as a snap. It starts with `snapcore/snapcraft:stable` and adds in `go` and just enough tools to allow snapcraft to build go-ipfs. It is published to dockerhub as `ipfs/ipfs-snap-builder`.
85
85
86
86
```console
87
87
$ docker run -v $(pwd):/my-snap ipfs/ipfs-snap-builder:latest sh -c "apt update && cd /my-snap && snapcraft --debug"
@@ -99,16 +99,16 @@ The following snap release channels are published automatically:
99
99
100
100
### Edge via snapcraft.io
101
101
102
-
The snapcraft store watches the default branch of the go-ipfs repo, and updates the snap for the `edge` channel. This service is configured automatically by snapcraft. It's neat, but it doesn't allow us to watch any branch other than the default.
102
+
The snapcraft store watches the default branch of the Kubo repo, and updates the snap for the `edge` channel. This service is configured automatically by snapcraft. It's neat, but it doesn't allow us to watch any branch other than the default.
103
103
104
104
<imgwidth="1072"alt="Screenshot 2020-10-12 at 15 56 07"src="https://user-images.githubusercontent.com/58871/95761075-b755fb00-0ca3-11eb-99d4-95e5f42cb48a.png">
105
105
106
106
107
107
### Stable via launchpad.net
108
108
109
-
The `stable` channel is published automatically via launchpad.net. There is a mirror of the go-ipfs repo at https://launchpad.net/go-ipfs that is sync'd with the github repo every few hours (at canonical's leisure).
109
+
The `stable` channel is published automatically via launchpad.net. There is a mirror of the Kubo repo at https://launchpad.net/go-ipfs that is sync'd with the github repo every few hours (at canonical's leisure).
110
110
111
-
A snap build configuration called `ipfs-stable` is set up to watch the `release` branch on go-ipfs and publish it to the `stable` snap channel.
111
+
A snap build configuration called `ipfs-stable` is set up to watch the `release` branch on Kubo and publish it to the `stable` snap channel.
112
112
113
113
The key configuration points are:
114
114
@@ -126,7 +126,7 @@ Automatically build when branch changes: true
126
126
Source snap channels for automatic builds:
127
127
# tell snapcraft what version of snapcraft to use when building.
128
128
# NOTE: At time of writing we use the default `core18` platform for the
129
-
#go-ipfs snap. If you specify others here, a build error occurs, which
129
+
#Kubo snap. If you specify others here, a build error occurs, which
130
130
# I think is mainly due to a launchpad ux bug here.
131
131
core: ""
132
132
core18: stable
@@ -164,7 +164,7 @@ Processors:
164
164
165
165
If we wish to publish release candidates to the snap store, we can do that by creating a new snap build config
166
166
167
-
1. Find the `release-vX.X` branch in the lauchpad.net mirror of the go-ipfs repo.
167
+
1. Find the `release-vX.X` branch in the lauchpad.net mirror of the Kubo repo.
168
168
- e.g. https://code.launchpad.net/~ipfs/go-ipfs/+git/go-ipfs/+ref/release-v0.7.0
169
169
2. Click "Create snap package"
170
170
3. Fill out the form using the same values as listed above for the stable channel, but:
@@ -196,6 +196,6 @@ At the time of writing the launchpad maintainers are:
196
196
## References
197
197
198
198
- Walkthrough of publishing a snap package via snapcraft and launchpad: https://www.youtube.com/watch?v=X_U-pcvBFrU
199
-
- For more details on the go-ipfs snapcraft.yaml see: https://github.com/ipfs-shipyard/ipfs-snap
199
+
- For more details on the Kubo snapcraft.yaml see: https://github.com/ipfs-shipyard/ipfs-snap
200
200
- publishing to multiple channels via build.snapcraft.io: https://forum.snapcraft.io/t/maintaining-and-publishing-multiple-to-multiple-channels-via-build-snapcraft-io/12455
201
201
- How node.js manages snaps: https://github.com/ipfs/go-ipfs/issues/7679#issuecomment-695914986
0 commit comments