Liveblogger: Larry Clapp
Using Go in and with Debian
Debian services and tools written in Go. Developing and packaging Go software for use in Debian. Upstream best practices.
This is a broad overview, not tons of detail. Happy to chat about any of it.
Debian is an OS; most popular is Debian GNU/Linux, first announced in 1993
Many derivatives, most popular is Ubuntu
regexp search on all software in Debian. Find examples, usages, definitions, etc.
Based on Russ Cox’s “Regular Expression Matching with a Trigram Index”
All of Debian’s man pages. Launched 2017, using mandoc. Good internationalization thanks to golang.org/x/text.
Fairly advanced cross-referencing. So if a link from a Norwegian manpage points to another page not yet translated to Norwegian, they can link to the Swedish version instead. (Norwegians can also read Swedish.)
Debian is green all the way across. Most other man page archives on the web are red.
Converts 500k manpages in the archive in about 30 minutes.
Easy to eliminate bottlenecks in Go
Rebuild All The Things!
Departure from the usual “Debian way”. Find issues before you upload your changes. ratt identifies and builds reverse-dependencies.
Get source for a given package, e.g. given the path of a binary that comes in the package. Fairly painless way to build Debian packages & inspect source.
These are Go packages to work with Debian packages.
The big hitters, of course: Docker, Influx, k8s, Prometheus, etc. Lots of other stuff, though.
Debian Go packaging team — 64 volunteers. Anyone can contribute; no formal status needed. Don’t need to be a Debian project member, even.
Updates to one lib may break the libs or programs Continuous Integration
How can you help make life easier for Debian folks?
Debian builds for many architectures, some fairly obscure (IBM s/390 anyone?). Debian usually finds portability issues before upstream does