diff options
Diffstat (limited to 'posts/packaging-nebula-for-debian/main.md')
| -rw-r--r-- | posts/packaging-nebula-for-debian/main.md | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/posts/packaging-nebula-for-debian/main.md b/posts/packaging-nebula-for-debian/main.md index daf8ad6..5c9f10b 100644 --- a/posts/packaging-nebula-for-debian/main.md +++ b/posts/packaging-nebula-for-debian/main.md @@ -1,16 +1,10 @@ Packaging Nebula for Debian -=========================== -I am close to concluding a multi-week endevor to package [Nebula](https://github.com/slackhq/nebula), a VPN-style network mesh networking overlay. If all goes well, it will be uploaded to `debian/experimental` within the next few days. This would also mean the package would be pulled into Ubuntu during the next merge window. +> **Created:** 2021-07-18 **Last Updated:** 2021-07-19 -### Timeline +# Timeline -Unfortunately, Debian does not adhere to a constant release cycle. This means the timeline is uncertain. It will likely be uploaded to `experimental` within a few days. [See the new queue.](https://ftp-master.debian.org/new.html) It will stay in experimental for the next three months or so until the next release occurs. (It is incompatible with the version of protobuf in unstable. This prevents it from moving into unstable until the next version release.) -``` -{upload queue} -> [experimental] -> [unstable (sid)] -> [testing] -> [next release] -``` - -Preemptively, I'm going to write up a set of install instructions specific to debian derivatives and briefly a few of the decisions made during the packaging process. +I see that nebula is getting packaged for debian so I will write up install instructions specific to debian derivatives. Installation ------------ @@ -169,9 +163,9 @@ To make the relationship between the user configuration and the `systemd` unit c - The `config.yml` example configuration was installed under `/usr/share/doc/nebula/examples/` so users could copy it into `/etc/nebula` if they wished to use it as a starting point. ### Patching for Go 1.13 - -Debian packages all go dependencies to maintain tight control over the versions used while building go binaries. It also packages `go` itself. Currently, `go 1.16` is not in the debian repos [^7]. The following patch was applied since `net.ErrClosed` is not available in older versions of go. - + +Debian packages all go dependencies to maintain tight control over the versions used while building go binaries. It also packages `go` itself. Currently, `go 1.16` is not in the debian repos. The following patch was applied since `net.ErrClosed` is not available in older versions of go. + ```go --- nebula.orig/sshd/server.go +++ nebula/sshd/server.go @@ -195,15 +189,8 @@ import ( return ``` -### Dependencies - -- I packaged `golang-github-nbrownus-go-metrics-prometheus` since changes were made to [go-metrics-prometheus](https://github.com/deathowl/go-metrics-prometheus) that were not backwards-compatible -- I also packaged `golang-github-flynn-noise` since it was not in the debian repositories - ### Packaging footnotes [^6] All files used to create the package are located in [Salsa (Debian's VCS)](https://salsa.debian.org/go-team/packages/nebula). All external configuration and build rules are located in the `debian` directory. - -[^7] Actually, it is packaged individually but not under the `golang-go` moniker. I initially compiled it by preloading the `PATH` with `go 1.16` to force `dh-golang` to use those build tools. Thus caused `dh-golang` to misbehave and not harden or strip the binaries. Since the changes required to adapt Nebula to `go 1.13` were minimal, I opted to create a patch. ### Installing from experimental |
