Systemd Is Approaching 1.3M Lines
phoronix.com
phoronix.com
$ tokei C: 492003, C Header: 58547
Total line count at 889658, "code" count at 716316, but 202314 of that is plain text which could signify documentation. It's still a lot, but not even nearly close the headline.
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
C 937 106426 22822 362913
XML 308 12090 455 63485
C/C++ Header 636 10009 13197 35346
Python 26 1409 6695 16629
PO File 29 3842 4158 11713Seems to me like the main purpose for such articles is not to inform, but to generate clicks by having a controversial project in its title...
Most of the "announcement" type articles are mailing list quotes without context that don't link to the original source, but link to even more Phoronix articles.
[megadekay@ryzen ~]$ du -h /usr/bin/systemd*
1.5M /usr/bin/systemd-analyze
16K /usr/bin/systemd-ask-password
20K /usr/bin/systemd-cat
20K /usr/bin/systemd-cgls
36K /usr/bin/systemd-cgtop
24K /usr/bin/systemd-delta
20K /usr/bin/systemd-detect-virt
20K /usr/bin/systemd-escape
40K /usr/bin/systemd-firstboot
16K /usr/bin/systemd-hwdb
20K /usr/bin/systemd-id128
20K /usr/bin/systemd-inhibit
24K /usr/bin/systemd-machine-id-setup
48K /usr/bin/systemd-mount
20K /usr/bin/systemd-notify
312K /usr/bin/systemd-nspawn
20K /usr/bin/systemd-path
0 /usr/bin/systemd-resolve
56K /usr/bin/systemd-run
28K /usr/bin/systemd-socket-activate
20K /usr/bin/systemd-stdio-bridge
52K /usr/bin/systemd-sysusers
84K /usr/bin/systemd-tmpfiles
28K /usr/bin/systemd-tty-ask-password-agent
0 /usr/bin/systemd-umount $ du -hs /usr/lib/systemd/systemd
1,5M /usr/lib/systemd/systemd
And there's plenty more in /usr/lib/systemd (basically all the binaries that are not supposed to be in $PATH).What else does it do besides that, that warrants such an enormous complexity? I'm sure i'm missing out on a ton of features with this simple model but I haven't seen anyone else use it otherwise in the wild than a service manager.
It's parsing a DSL for the .service scripts, building dependency graphs, making lists, checking them twice, and so forth.
I wouldn't be surprised if the core service manager comes in at only ~20K lines of code.
Having seen the vast amount of pain Joyent went through with their LX flavour zones trying to get the syscall emulation right, and Windows having gone "sod this" and switched to an embedded linux kernel for WSL2, I do rather wonder if this isn't as good as it's going to get without an engineering effort by FreeBSD that could likely get better ROI focused elsewhere.