diff --git a/2024/So you wanna do FreeBSD?.md b/2024/So you wanna do FreeBSD?.md index c9337f2..229afc8 100644 --- a/2024/So you wanna do FreeBSD?.md +++ b/2024/So you wanna do FreeBSD?.md @@ -1,6 +1,39 @@ I have encountered several project now which are Linux container/docker "native" installation. Like PhotoPrism and HomeAssistant. Yeah software dependencies are hard for developers and maintainers. But ending your software on just one install method is a "quick-fix". Apple macOS tries to "fix this" by putting everything of an application in a folder suffixed as `.app`. No this are no containers but all application dependencies reside in this folder. The price you pay is more disk space when multiple applications use same "Apple .framework" or libraries and other executables. -It seems nowadays the quick-fix is to enforce people using Docker for producation and when that is not available it will be wrapped again in a native Linux virtual machine. So you are almost out of luck running it otherwise. Gitlab is another beast, it runs on ruby and it has "omnibus" host installer. Which just basicly Gitlab-fies your whole OS. +It seems nowadays the quick-fix is to enforce people using Docker for production and when that is not available it will be wrapped again in a native Linux virtual machine. So you are almost out of luck running it otherwise. Gitlab is another beast, it runs on ruby and it has "omnibus" host installer. Which just basicly Gitlab-fies your whole OS. +Why on earth do people think we can get rid of ALL software written in C/C++ converted to the promised better language Rust. As Python is executing `cc` ? + +``` +last pid: 5386; load averages: 1.48, 1.51, 1.61 up 35+20:47:26 17:47:34 +14 processes: 2 running, 12 sleeping +CPU: 24.9% user, 20.4% nice, 6.5% system, 0.0% interrupt, 48.2% idle +Mem: 810M Active, 773M Inact, 506M Laundry, 1627M Wired, 385M Buf, 111M Free +ARC: 282M Total, 98M MFU, 50M MRU, 599K Anon, 6378K Header, 123M Other + 75M Compressed, 415M Uncompressed, 5.57:1 Ratio +Swap: 2689M Total, 500M Used, 2190M Free, 18% Inuse + + PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND + 4564 homeassist 1 135 0 239M 159M CPU1 1 0:41 99.88% cc +78755 homeassist 1 20 0 17M 5072K select 1 0:01 0.20% tmux + 2726 homeassist 1 20 0 14M 2980K CPU2 2 0:00 0.17% top +96466 homeassist 10 20 0 183M 115M kqread 0 0:06 0.03% python3.11 + 674 homeassist 1 68 0 208M 180M wait 0 1:43 0.00% python3.11 +97272 homeassist 1 20 0 99M 77M piperd 1 0:05 0.00% python3.11 +99599 homeassist 1 68 0 57M 40M wait 0 0:01 0.00% python3.11 + 25 homeassist 1 21 0 16M 3616K pause 2 0:00 0.00% csh +89135 homeassist 1 20 0 13M 2612K wait 2 0:00 0.00% sh +81771 homeassist 1 20 0 13M 2664K ttyin 1 0:00 0.00% sh +79030 homeassist 1 63 0 13M 2672K wait 0 0:00 0.00% sh + 1361 homeassist 1 24 0 13M 2752K wait 3 0:00 0.00% sh +98234 homeassist 1 20 0 13M 2656K ttyin 1 0:00 0.00% sh +81501 homeassist 1 20 0 14M 3644K select 1 0:00 0.00% tmux +``` + +The "modern" software landscape is getting messy! + +It is such a mess to run HomeAssistant native on FreeBSD you need to install some binary packages with `pkg` from FreeBSD binary ports. Then Python `pip` install some extra packages in a virtual environment and finally the application Python runs the `cc` (c compiler) itself! Even using `meson` build system as intermediate. We need Python `cryptography` dependency to use the `Rust` compiler as the devs have decided to not proceed with (accelerated) crypto implemented in C. I think if you further want to get into the dependency hell we need Library X written in C++ and wrap it under Python. Then a C++ runtime is also needed... + +https://devhumor.com/media/monkeyuser-npm-package-delivery https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Framework.html \ No newline at end of file