By the way, reading this, an idea just hit me. It persistantly seems evident distro maintains often struggle to maintain huge repositories in both well-tested and up-to-date state. Why don't we separate OS distribution and apps repos into separate independent projects? Perhaps it could be enough for distro authors to concentrate on maintaining the actuall OS (system packages). Probably also a humble number of essential apps. Everything else could be then maintained in form of PPAs by whoever is interested.
Even existence of distro "flavours" focusing on specific DEs always felt a quirk to me. An operation of installing and choosing a specific DE should never have been requiring any attention from the distro author. The fact it does suggesrs there are quirks which have to be addressed, these should better be polished away globally than worked around in every installation script.
you mean like flatpack and snap which also have the benefit of decoupling .so dependency management?
or maybe like nix which you can run as a package manager on other dristros then NixOS?
Because applications rely on libraries in the distribution and need to be in sync for when they change.
Ways around this are Flatpak, where those shared libraries for applications are shared runtimes that are distro agnostic.
The Linux Filesystem Hierarchy Standard also tried to do what you are saying, but in a less ambitious way.
Desktops took more care, but that was still a non-issue.
But lately, especially since bookworm, things are less solid. rsyslogd is not a default install item now, and when you install it, there is no init script.
This is fine for servers which want centralized logging under systemd, because of course it can start syslog with the included unit file.
But if you remove systemd, by default you have no logging daemon, and once installed, no init script by default.
Easy to fix, but a reduced ease of use.
If you want a systemd-free Debian, then Devuan is your go-to.
It’s in the orphan-sysvinit-scripts package.
Also Debian having the possibility of providing systemd alternatives now, doesn't guarantee that this will be so forever. My personal guess is that at one point, systemd will be the only de-facto working init for desktop systems on Debian.
For the other 9X%, the world has moved on
Isn't it possible to improve Devuan's toolchain so that it better supports ARM boards?
And, for that matter - isn't it possible to do the same for Debian itself, so that the delta to Devuan would inherit decent support for ARM boards?
I'm not a toolchain expert, so an answer with links to explanation of relevant concepts/jaron would be appreciated.
---
Regardless - I'm always happy to hear news about widening adoption and influence of Devuan. I believe a non-systemd distribution is the way to go and am glad Devuan offers that for the Debian space (while Debian, unfortunately, forces systemd on you and it's not just an option).
Not quite:
Armvuan = Armbian U Devuan = (Debian + ARM) U (Debian & ¬systemd) = Debian + ARM
Therefore: Armvuan == Armbian
If you look at the top of the file tree, Armbian is checked out as a submodule and forms the basis of the project. Also note that the commit history is short and makes no mention of Devuan: https://github.com/declassed-art/armvuan/commits/main
I would not say Armbian is the basis of the project. Its builder is just a useful tool. I tried to distance from it as far as possible, bearing in mind Devuan's arm-sdk as the next toy to play with. I gave it a try as well, but found Armbian builder is better.
Like, I have plenty of issues with systemd but still on span of 461 systems we manage (mostly Debian with some centos here and there) with variety of use cases (from "legacy" to k8s running on ceph cluster) it saved us tens of thousands lines of code and allowed some tricky use cases to be far more reliable than before.
Because apparently despise vehement claims sysV scripts are "simple" and "straightforward" it turns out there is plenty of edge cases that most developers don't fix in those scripts.
For example the fact doing start -> status immediately after in many Java apps will tell you your application is not running, because developer delegated Java app to write its own pid file and that takes time for JVM to start. So if something like Pacemaker does exactly that (start app, wait for start script to finish, run status, Pacemaker thinks app didn't start and fails the service).