It’s much worse than that. A lot of the time these days the instructions are to run Docker build, and that gives you a container image that is Linux-only and makes opinionated choices about the Linux distro to use. Docker on Windows and Mac will run Linux VMs, so there’s no native build for either of these platforms, let alone NetBSD or whatever. I’ve seen a few projects recently that have no documentation at all for building without their Docker or Ansible scripting, both of which make huge assumptions about the host platform.
Which is often an improvement. The assumptions are explicit and documented this way. It used to be the norm to get a list of dependencies to required by the project and that’s it. All assumptions about the host platform were just implicit or not even considered.
Can you give an example? I don’t mean to ask you to call a project out, I’ve just always seen Docker options listed as a convenient alternative to, rather than a replacement for, traditional builds.
But what’s in it for me? I actually didn’t even know I could do that and now I ask - why would I want to get my packages from there and not via apt? What are the benefits except one more tool and repo?
Not every application, hardware appliance, or even general-purpose server is ideally suited to having a Linux kernel and userland underneath it.
Docker masquerades as a cross-platform packaging and distribution tool, but what it really provides is a cross-distro abstraction for a subset of modern-ish Linux environments. Windows and Mac hosts only get support by way of a VM managed by Docker or containerd.
Even more frustrating to me is the fact that Docker actually strengthens the dominance of 2-3 distros (Alpine, Ubuntu, and CoreOS) because they’re the standard base for most other images.
So: pkgsrc and other “ports” systems are important to keep software running in places other than that very limited set of environments. (I likewise think that Firefox and other non-Chromium browsers are critically important so that “portable applications” don’t just mean, “runs in Electron or a browser tab.”)
The problem is that this is not a use case a great many people have. If you use a linux distro, you already have a package manager. If you use a BSD, it has one too. MacOS has brew (and macports, even nix). Everyone already has all the software they need so it is very hard to make a case for pkgsrc.
A couple of years aog I got interested and played around with pkgsrc on debian to learn a thing or two. It’s cool that it exists, but it is not really all that new or useful so that people would get excited.
I believe the reason why there is not much mindshare is that it is perceived as yet another package manager with no immediately obvious value.
pkgsrc is the native package manager on one of the BSDs (used to be 2) and SmartOS. On macOS, it is up there with brew and macports. On Linux, it is useful for distros that do not have their own package managers (Oasis comes to mind). Could be useful even on mainstream distros like Debian when you are stuck on the stable release and you need newer versions. That said, not all packages are up-to-date in pkgsrc but I’m glad it exists and people continue to work on it.
How many users does SmartOS have? It is the niche of the niche of the niche. How many people really care about NetBSD? Very few, it seems.
pkgsrc is not up there with brew and macports. Everybody and their mom use brew, a few people - including me - use macports and a very few people use nix. I have never met anyone using pkgsrc on a Mac and I have been working in “every dev has a mac company for the last decade”.
I am not saying pkgsrc is bad, I am saying almost nobody cares b/c there is not much to gain for someone not running NetBSD (or SmartOS) where it is the native package manager.
The only argument I’ve heard for using NetBSD is from a guy that I knew that said: “I use NetBSD because I can read all of the source code”. He always wore dark green clothes and a dark green hat.
If more people had this as a goal, perhaps NetBSD usage would be more widespread, and perhaps there would also be more contributions to pkgsrc?
It’s much worse than that. A lot of the time these days the instructions are to run Docker build, and that gives you a container image that is Linux-only and makes opinionated choices about the Linux distro to use. Docker on Windows and Mac will run Linux VMs, so there’s no native build for either of these platforms, let alone NetBSD or whatever. I’ve seen a few projects recently that have no documentation at all for building without their Docker or Ansible scripting, both of which make huge assumptions about the host platform.
Which is often an improvement. The assumptions are explicit and documented this way. It used to be the norm to get a list of dependencies to required by the project and that’s it. All assumptions about the host platform were just implicit or not even considered.
Yeah, this. If there’s a Dockerfile it usually takes me minutes to repro on other systems. If there isn’t it can be hours or days.
Can you give an example? I don’t mean to ask you to call a project out, I’ve just always seen Docker options listed as a convenient alternative to, rather than a replacement for, traditional builds.
coming next: emulating the typical docker linux distribution on the typical pdp-11
But what’s in it for me? I actually didn’t even know I could do that and now I ask - why would I want to get my packages from there and not via apt? What are the benefits except one more tool and repo?
pkgsrc has quarterly releases.
Not every application, hardware appliance, or even general-purpose server is ideally suited to having a Linux kernel and userland underneath it.
Docker masquerades as a cross-platform packaging and distribution tool, but what it really provides is a cross-distro abstraction for a subset of modern-ish Linux environments. Windows and Mac hosts only get support by way of a VM managed by Docker or containerd.
Even more frustrating to me is the fact that Docker actually strengthens the dominance of 2-3 distros (Alpine, Ubuntu, and CoreOS) because they’re the standard base for most other images.
So: pkgsrc and other “ports” systems are important to keep software running in places other than that very limited set of environments. (I likewise think that Firefox and other non-Chromium browsers are critically important so that “portable applications” don’t just mean, “runs in Electron or a browser tab.”)
Well one of the things is it can be bootstrapable to majority of OSes.
https://pkgsrc.smartos.org/
The problem is that this is not a use case a great many people have. If you use a linux distro, you already have a package manager. If you use a BSD, it has one too. MacOS has brew (and macports, even nix). Everyone already has all the software they need so it is very hard to make a case for pkgsrc.
A couple of years aog I got interested and played around with pkgsrc on debian to learn a thing or two. It’s cool that it exists, but it is not really all that new or useful so that people would get excited.
I believe the reason why there is not much mindshare is that it is perceived as yet another package manager with no immediately obvious value.
pkgsrc is the native package manager on one of the BSDs (used to be 2) and SmartOS. On macOS, it is up there with brew and macports. On Linux, it is useful for distros that do not have their own package managers (Oasis comes to mind). Could be useful even on mainstream distros like Debian when you are stuck on the stable release and you need newer versions. That said, not all packages are up-to-date in pkgsrc but I’m glad it exists and people continue to work on it.
How many users does SmartOS have? It is the niche of the niche of the niche. How many people really care about NetBSD? Very few, it seems.
pkgsrc is not up there with brew and macports. Everybody and their mom use brew, a few people - including me - use macports and a very few people use nix. I have never met anyone using pkgsrc on a Mac and I have been working in “every dev has a mac company for the last decade”.
I am not saying pkgsrc is bad, I am saying almost nobody cares b/c there is not much to gain for someone not running NetBSD (or SmartOS) where it is the native package manager.
Smartos people also provides Binary for MacOS using pkgsrc https://pkgsrc.smartos.org/install-on-macos/
I understand all that. You are not reading what I am saying.
The only argument I’ve heard for using NetBSD is from a guy that I knew that said: “I use NetBSD because I can read all of the source code”. He always wore dark green clothes and a dark green hat.
If more people had this as a goal, perhaps NetBSD usage would be more widespread, and perhaps there would also be more contributions to
pkgsrc
?