Email or username:

Password:

Forgot your password?
Esprit de Vore

I am begging software projects to release programs as tarballs or plain old static binaries. I don't know what a Helm chart is. I am not installing an entire Kubernetes cluster. Docker breaks LXC and firewalls and is constantly breaking for mysterious reasons. I would rather submit myself to hours of `./configure && make && make install` frustration than try to hack through the endless hellscape of containerized deployment systems.

52 comments
Esprit de Vore

if you release a .deb that installs cleanly on stock debian stable I will kiss you sweetly while whispering words of affirmation into your ears

Vyr ☒️☣️

@aphyr this is one reason i tend to like Go projects more than i like the Go language: the deployment artifact is often one (1) statically linked binary. put it wherever.

agxkink

@aphyr does it need to do anything or will any package do? πŸ˜†

Ben Strozykowski

@aphyr Build for Debian, test on all the Debian offshoots ❀️

Martin

@aphyr I'm planning to but it'll have to be on debian testing for now because the stable gtk and adwaita are too old πŸ˜…

Esprit de Vore

@mkhl this is allowable and only slightly less divine :D

Esprit de Vore

I was the sysadmin responsible for containerized cloud orchestration platforms at my job in 2003, back when it was called Apache Tomcat (TM)

Owen (spoopy aspect)

@aphyr You joke but I have repeatedly observed that projects like knative appear _determined_ to reinvent Java EE/DCOM, which in turn reinvented CORBA, which in turn…

Esprit de Vore

@owen oh no I'm 100% on board with this critique haha

Vertigo #$FF

@aphyr @owen BINGO.

People often complain about how terrible working with CORBA is; but, the reality is it's no worse than working with Xlib.

You know what people did with Xlib? They didn't throw X11 out; no, they wrote XCB to replace Xlib.

So why would anyone throw away CORBA? They should have replaced the typical ORB architecture with a new IIOP binding. I guess people just didn't think of it back then.

Owen (spoopy aspect)

@aphyr The main evolution appears to be what concerns get placed on either side of the developer/administrator line, and honestly, there is some useful insight into changes in organizational norms there.

Esprit de Vore

@pfriedma psychic splash damage to every admin over 35 πŸ˜†

Blake

@aphyr 100% this, it drives me mad everything being a container now.

Michael Darweesh β˜‘οΈ

@aphyr networking config for a docker container is no fun, that's for sure.

traecer πŸ‚πŸ

@aphyr if people would just release build instructions like this, any packaging, be it debs, rpms, Docker or LXC containers, would be easy to create from there.

2swu35 // TCPup

@aphyr I’m generally fine with OSS providing their own Helm chart, but for gods sake please also publish the compiled binary somewhere as well…

I never wanna pull a binary out of a container again xD

arclight

@aphyr Is it really open source if end users can't build it from source? Containers, conda, etc are just different ways of saying the devs have lost control of their build process and have let it become brittle, byzantine, and effectively closed.

Rich Felker

@arclight @aphyr Hot take: derivatives of GPL works distributed so that they're unbuildable without some awful undocumented container setup are infringing because build scripts are part of the mandated definition of source.

Rexx Deane πŸ³οΈβ€πŸŒˆ

@aphyr I hate having to manual build, and keep forgetting there's checkinstall (I think?) that makes it build a .deb installer so you can uninstall easier.

Ben S.

@aphyr is this a symptom of people wanting to deliver one binary instantiation of their stuff that works on the widest possible array of Linux instantiations?

As a hobbyist C++ developer, I have NO idea how I could release something that would ever be useful to non-developer Linux server admins, because there's no way I'm going to navigate a massively heterogenous set of distro runtime environments, packaging ecosystems, hardware architectures, etc.

For Windows I just provide one .exe file!

Irenes (many)

@HunterZ @aphyr we do think it's partly that

but also... the unpleasant truth is that there is a ton of professionally written documentation out there on how to distribute software with containers, and a lot of marketing budgets have been spent on making sure it's easy to find

mos_8502 :verified:

@HunterZ @aphyr You don’t. That’s the distro maintainers’ job. You provide a source tarball.

mos_8502 :verified:

@HunterZ @aphyr Containerization has ruined the whole software distribution model.

Ben S.

@mos_8502 @aphyr so if a game server admin who is not a developer wants to run my stuff on Linux, they have to convince a distro package maintainer to produce an ongoing formal release of my hobby stuff? That sounds terrible for both of us.

mos_8502 :verified:

@HunterZ @aphyr You don't need to be a developer to install a package from source. If it's built correctly, you just invoke

./configure && make && sudo make install

and it installs in /usr/local where third-party software goes.

Ben S.

@mos_8502 @aphyr my software depends on third party libraries. Users may not have those at hand. They may not even have development tools installed, since they may not be developers. You're not seeing past the cushy bubble we exist in as developers.

mos_8502 :verified:

@HunterZ @aphyr I mean, none of this is your problem as the software author. Your job is to be the upstream source. Responsibility for making software available starts with you, making it available as a source tarball to distro maintainers (and anyone else who wants it), who then make it available to system admins, who then make it available to users. If the users are their own system admins, and they can't install a package from source, that's a "them" problem.

Ben S.

@mos_8502 @aphyr so if it's a niche hobby project then there's no point bothering to support Linux, because it's not worth anyone's time to push through the friction of the package maintainer cathedral.

mos_8502 :verified:

@HunterZ @aphyr You can get most of the way there just publishing your package as a .deb and a .rpm. And I can't speak on Fedora, but getting packages into Debian isn't very hard. They don't even have to be free software.

mos_8502 :verified:

@HunterZ @aphyr You could also do the "homebrew" thing and have a command line you can copy and paste to download and run a script that handles it all, but that is a touchy subject with some.

Yuki 膀 ❄️ πŸ³οΈβ€βš§οΈ

@mos_8502@studio8502.ca @HunterZ@mastodon.sdf.org @aphyr@woof.group you can also get away with statically compiling or shipping your app with every library needed to run your app, and targetting an old enough version of glibc, it usually does the trick

Chartreuse

@mos_8502 @HunterZ @aphyr You don't even need to get the package into an official repo if you want, you can host your own with just your software or even just a .deb download on github or stuff.

Chartreuse

@HunterZ @mos_8502 @aphyr I'd say the common thing most software I build from source does is have build notes in a Readme that lists the package names for those required libraries for a few common distros.

Amber

@HunterZ@mastodon.sdf.org @aphyr@woof.group (as a C++ developer, and a hobbyist one that worked on distributing a cross platform C++ api wrapper for a popular chat application) We have things like GNU autotools with configure that help minimize the amount of work. Honestly? It didn't come up as much as you'd expect. We were not using autotools, but instead cmake and although we had difficulty with making FindWhatever.cmake we eventually got the hang of it and dropped the recommendation to use vcpkg, instead hoping that users would rely on their system's package manager. Another thing to consider is that thanks to the great work of musl (i know it's a lib c) i've seen a variety of things be statically linked to it, running on glibc systems, musl perfectly fine. Static linking is very well optimized it does not include everything, just the stuff you need for your program to run.

@HunterZ@mastodon.sdf.org @aphyr@woof.group (as a C++ developer, and a hobbyist one that worked on distributing a cross platform C++ api wrapper for a popular chat application) We have things like GNU autotools with configure that help minimize the amount of work. Honestly? It didn't come up as much as you'd expect. We were not using autotools, but instead cmake and although we had difficulty with making FindWhatever.cmake we eventually got the hang of it and dropped the recommendation to use vcpkg,...

draeath

@HunterZ @aphyr do you support windows XP? 7? 10? Just 11? Which vcredist do you need? Do you expect and handle UAC? If you look at C# now we need to ask talk about .NET runtimes. (and a few years ago we had to worry about 16 vs 32 vs 64 (with PAE in there to be annoying to)) - since 32bit has finally essentially died off that's better, but watch out for ARM - are you building a universal binary?

Don't confuse simple with used to it.

Ben S.

@draeath @aphyr my friend in christ have you heard the good news about MSYS2 MinGW?

CPU architecture is always going to be a bear unfortunately, at least until ARM takes over.

RS, Author, Novelist

@aphyr Finally! Someone understand "a solution" is not "the solution" for every problem.

DELETED

@aphyr "mkdir build && cd build && cmake -G Ninja .. && ninja" ftw ;)

Neige 🌨️

@latexdoll @aphyr honestly meson/ninja are pretty friendly/easy to use (compared to cmake) ahah

Franz Graf

@aphyr
Seems to be hype to assume everybody like to setup and maintain kubernetes for scalability and flexibility that you don't need

patryko

@aphyr Haven't released anything not in Helm in years (building distributed systems/platforms). Just invest that couple hundred hours to dive into K8S ecosystem ;)

smuttyslytherin

@aphyr it is rather annoying. Even having pulled through uml/openvz/xen/kvm/jails/custom kernels/qemu/UTM…

it took me a while to get the hang of Docker, I'm still not entirely sure about it.

smuttyslytherin

@aphyr i get the feeling some of these are good examples of "just because you can…”

Spitefully Optimistic

@aphyr this is just people cargo-culting Google (Borg) again.

Containers make sense if you don't know where they will run, you just throw them into your 10000 machine cluster and you get a result back. However, 99% of us aren't Google, and yes, this is mostly frustrating and Helm is a huge pile of steaming manure.

tessarakt

@aphyr I once encountered a company Docker container that randomly did not work with the company OpenVPN connection. Some DNS or routing shit ...

Go Up