Description
Disambiguating solaris
vs illumos
SunOS/Solaris has a storied and complicated history. In [2010] Illumos forked from OpenSolaris and has continued its life in the open (, and now spent the majority of its life, as Illumos (not Solaris).
The solaris
build tag is "mostly" compatible with Illumos and Illumos-based distributions (e.g. SmartOS, Nexenta, Open Indiana, Delphix, etc), however Illumos has diverged significantly from Solaris. In order to detect and support Illumos-native functionality, I propose:
illumos
be added as a newGOOS
build tag- The
illumos
build tag be distinct fromsolaris
.
We considered extending the life of the solaris
build target to include the illumos
target for the period of one release but decided against this because it would taint community code with:
// +build !solaris
// +build illumos
that would need to be cleaned up at the end of the transition period. Backwards compatibility for the sake of backwards compatibility isn't something we're interested in maintaining.
Semi-related: it would be nice if there was a way of specifying and targeting distributions at build time. cgo on Linux and alpine vs glibc comes to mind as another area that would benefit from a distribution-specific build target.