frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

I hate packaging my software for Linux

https://getfresh.dev/docs/blog/packaging-for-linux/
34•_sinelaw_•59m ago

Comments

_sinelaw_•50m ago
Hi, I'm the author of this post (and of Fresh). I've spent a lot of time getting it distributed cleanly to Linux users of all distros, and it's an uphill battle. I'm curious how other solo maintainers are dealing with this problem. Is a self updating static binary a reasonable solution?
jdc-pub•14m ago
I feel like Zed, rustup, and a lot of other applications (with CLIs) moved in that direction. (Hope someone corrects me if that’s wrong, unsure those projects are fully static, but they do self update.)

As a user that surprised me at first, but I’ve grown to really like it!

bluedays•12m ago
Just use Steam. Works on all the Linux distros. lmao Ironically this might not even be as stupid a suggestion as it sounds.
embedding-shape•9m ago
Costs money and is centralized with a for-profit entity, probably best to stay far away when it comes to day-to-day software.

Don't get me wrong, I love Steam, but for video games. You can't stop auto-updating for example, and still be able to launch the "game" (program in this case) if it's out of date, which obviously breaks pretty much every professional computer user's workflow.

okanat•8m ago
At work we maintain embedded-linux computers with a custom distro but the actual graphical interface is a separate artifact developed by another team. Moreover they have to use an SDK that only works on a specific distro (semi-closed source).

Our solution is shipping it with its own glibc and running the executable with the LD inside this separate glibc. Basically the entire userspace. It is almost like a container but the containerization is provided by systemd and there is scoped access to limited system services via mount and network namespaces.

We cannot use static programs. Our systems have limited memory so the GUI load relevant parts of the program as shared library plugins.

This is the only reliable way to distribute closed source / independently packaged Linux software. You ship it with an entire userspace. Docker and Flatpak are just that; an admittance that distributing independent software reliably on Linux is practically impossible.

embedding-shape•7m ago
Probably not, you'll receive flak for that in some circles.

I made a different post, but fits here as well: https://news.ycombinator.com/item?id=49271276

TLDR is basically that you don't have to package it for others, the expectation is that people using the distributions will package it for themselves and others if the software ends up useful enough and they want it in the distribution. Until then, just ship a zipped up binary or whatever and call it a day.

jjgreen•49m ago

    ./configure
    make
    sudo make install
_sinelaw_•46m ago
cargo install (the equivalent command here) is available. Downsides:

- very slow

- need to install prerequisites

- not possible on many machines (to weak, not enough disk for running builds)

Many users don't want to deal with this

pmontra•46m ago
That would work only for some people and even them will forget to check for updates. They would need a crontab or systemd timer, with git pull and the configure, compile, install pipeline. It gets unwieldy soon especially when you have to update or install dependencies.
trelane•24m ago
It would work for most Linux distros, since this leans that it's (probably) open source and therefore the package maintainers could package it with the distro.

If your package is FOSS, having the distros ship it is arguably the easiest approach.

RhysU•17m ago
Seconded on having a distro pick it up if the package becomes sufficiently popular. Until then, the ./configure dance is delightfully universal and it makes the downstream packaging folks' jobs simpler.
konart•
pmontra•49m ago
> The next version will include a new built-in self-updating mechanism that users can trigger on demand. This will be the main release channel for Linux and hopefully the only one

This is what Mozilla is doing with Firefox. I downloaded the binary from their site and it autoupdates. Debian 11 and then 13, all is good.

snarfy•19m ago
I use and only package for Arch. I'm a bad maintainer. If some Debian person wants it they can package it for their distro, but I don't see why it's on me to do it.
rock_artist•17m ago
I agree with the author. I've made nice cross-platform pro metronome (as some use timer which is bad)

https://tick.talaviram.com

Apple, Microsoft, Google - none is easy meaning you need to have Play store, certs, codesign, submit... But there are steps with few results making it easy for those platform to get the software.

I have tried my best getting also Linux but as the author said, there's nothing trivial (as my metronome GitHub issues can show https://github.com/talaviram/TICK/issues)

The name is exactly the tricky part... Linux has so many flavors. Even without installer, you have X server and Wayland and snap, AppImage, .deb each differ. add to that audio plug-in formats (CLAP, LV2, VST3) and the fact that some formats has no specific path for putting files.

For simple apps (not cli tools or ones aimed for package managers I start to think best is just providing an archive file (zip/tarball/etc)

While Linux is growing and is my goto for non-macOS, with so many releases, it still feels most users are more technical than other platforms. Add the LLM age where you can ask it to install it for you. a zip with binaries might be simplest for simple software.

embedding-shape•10m ago
The traditional way on Linux, at least in FOSS, has been to basically ship the binary somehow, also make the source available, then if people want it for Debian or whatever, they'll package it themselves. Typically, the person(s) developing the software itself are different people(s) who package it. So you'll have the application/library developer(s), then if people want it for their distribution, one of them has to decide to package it and make it available.

Of course, people nowadays try to make it easier for the distributions and provide packaging for them. But I don't think this is requirement, you can just ship a binary and most Linux users will be able to run them, and it'll basically "package itself over time" if it's interesting enough for people to want that sort of integration.

There is no right/wrong or correct/incorrect approaches here, just giving ideas :)

rreyes1979•14m ago
Running Fedora Silverblue 44 as one of my desktop machines. Self updatable static binary sounds like a reasonable solution to me. But I can see why this has been a problem :/
OsrsNeedsf2P•13m ago
As someone who packaged a lot of software for Linux, I have to admit that it's bespoke and forces you to make options that come with pros and cons. But at least it _works_.

Windows? We have 1 in 100 users whose antivirus nukes a random config file. Or part of the installer. MacOS? I hope you bought a Macbook, and don't mind updating your app indefinitely.

kyrofa•10m ago
Oof, yeah that's painful. I'm impressed you've gone to these lengths, most maintainers don't do that. They generally rely on the folks who want to use the software packaging it for their distros. Bit of a chicken and egg problem there, though, obviously.

For the Debian situation specifically:

> It would've been nice if there was a quick serverless solution where you could just say a URL to look for newer versions of a single package, and both apt and dnf would remember that and update a package.

Have you considered just hosting your own Debian repo? It's basically what you're looking for here. You don't need more infrastructure, either, you can host them straight in github pages with aptly or reprepro or something, and drop new releases in there from CI.

branc116•9m ago
I think that you just need to provide .tar of your app. Everything else should be problem for people who handle packages of different distros. You don't wanna be involved in that part of distribution. If people want your app, someone will make a package. There are too many package manages for you to run and add your stuff to all of them. Just have .tar on static http server and that's it! Example: http://ftp.klid.dk/ftp/gnu/gcc/
transcriptase•8m ago
Real missed opportunity before this all got out of control to simply bundle everything needed in a single file and give it an extension that tells the OS its executable.

We could call it a .exe

happyweasel•6m ago
You are essentially one executable just an editor so why don't you link statically ? Apart from the c runtime?
s_ting765•3m ago
[delayed]
jorams•3m ago
The reason this seems so weirdly hard is that you're not supposed to be doing it. You provide sources and instructions on how to build them, and then your job is done. Users can follow those instructions. If you want to you can also build a binary with an old version of libc and distribute that to help users who don't want to compile it themselves.

Packaging it for a distro is someone else's job, and they'll take care of concerns like Debian's dependency policy.

10m ago
>It would work for most Linux distros

But not for most people.

JohnFen•10m ago
No automatic updates is a desirable feature for me, not a problem.
Y_Y•19m ago
If you're on a Debian-type distro the checkinstall is definitely what you want instead of `make install`. It wraps make and gives you a package that dpkg knows about.
amelius•17m ago
You forgot the lines necessary for downloading the dependencies, and the dependencies of dependencies, etc.
ForHackernews•10m ago
In 20 years using Linux, I don't think this has ever worked cleanly for me. Inevitably this will fail with some mysterious missing dependencies, it won't be clear what .deb package provides them, it turns out the distro version is too old or too new...

How do you keep PM tools in sync with what happens in WhatsApp/Slack?

1•Harish_0089•34s ago•0 comments

Ohio Senator says Ohio Congressman abused his daughter and granddaughter

https://www.cnn.com/2026/08/06/politics/bernie-moreno-daughter-max-miller
1•Fellw•40s ago•0 comments

How can I perform a Copy­File in unbuffered mode?

https://devblogs.microsoft.com/oldnewthing/20260810-00/?p=112600
1•ibobev•1m ago•0 comments

The little-known winstart.bat batch file

https://devblogs.microsoft.com/oldnewthing/20260811-00/?p=112605
1•ibobev•1m ago•0 comments

Oh Lord, AI Reporters Are Breaking Big News

https://www.wired.com/story/ai-newsrooms-are-breaking-news-now-haha-im-in-danger/
1•pimienta•1m ago•0 comments

In 1962, Egypt's Missile Program Lost Its Key Scientist Without a Trace

https://www.popularmechanics.com/military/a73358518/nazi-rocket-scientist-disappearance/
1•bookofjoe•2m ago•1 comments

Fly in Your Web Browser

https://www.geo-fs.com/
1•hakkikonu•3m ago•0 comments

Show HN: Insect species in 3D, generated from code (no model files)

https://insect-world.pages.dev/en/
1•XR843•4m ago•0 comments

The Digital Asylum

https://www.bitchute.com/video/X0PQCKy2aofa/
1•untiledsource•6m ago•0 comments

Show HN: MintPDF – HTML/Markdown to PDF API with an MCP Server

https://mintpdf.dev
1•Stackedboost•7m ago•0 comments

Show HN: 3D-printed marble-maze-blind-box solved by tilt and sound [video]

https://www.youtube.com/shorts/6cTblV2nCsU
1•belforn•7m ago•1 comments

AI was supposed to destroy jobs. Where's the carnage?

https://www.theguardian.com/technology/2026/aug/12/ai-job-destruction
2•pseudolus•9m ago•0 comments

From Grid Generator to Shape the Pixel

https://hugodaniel.com/posts/from-gridgenerator-to-shape-the-pixel/
1•ibobev•9m ago•0 comments

I built a personal AI agent in Swift on top of what macOS ships

https://github.com/ivan-magda/swift-claw
1•strong-self•9m ago•0 comments

Apple Executive in Charge of Pay and Wallet Services Is Leaving

https://www.bloomberg.com/news/articles/2026-08-11/apple-executive-in-charge-of-apple-pay-and-wal...
2•mgh2•10m ago•0 comments

SIMO Educación 2026: A Practical Exhibitor Guide EdTech Companies Ifema Madrid

https://adamexpostand.substack.com/p/simo-educacion-2026-a-practical-exhibitor
1•AdamExpoStand•11m ago•0 comments

The Bullshit Detector

https://www.bitchute.com/video/bWdZhGIKH97b/
1•untiledsource•13m ago•0 comments

Flock is just the latest example of using surveillance to stalk women

https://19thnews.org/2026/08/flock-surveillance-technology-women-abuse/
1•cdrnsf•14m ago•0 comments

Coin-Sized Device Can Hack a Boeing 737

https://www.wired.com/story/this-coin-sized-device-can-hack-a-boeing-737/
1•pimienta•14m ago•0 comments

It's been a revelation: how heat pumps can cool your home as temperatures soar

https://www.theguardian.com/environment/2026/aug/12/heat-pumps-cool-home-heatwave-hot-weather
1•rustoo•14m ago•0 comments

After WWII, Mutton Fell Out of Favor in the U.S. Can It Make a Comeback?

https://www.npr.org/sections/thesalt/2019/11/26/781652195/after-wwii-mutton-fell-out-of-favor-in-...
1•thunderbong•16m ago•0 comments

Local police departments prepare to deploy autonomous surveillance drones

https://truthout.org/articles/first-came-the-flock-cameras-now-local-cops-want-autonomous-drones/
1•iamnothere•18m ago•0 comments

Free NASA e-Books [pdf]

https://www.nasa.gov/ebooks/
1•NKosmatos•18m ago•0 comments

.new links are shortcuts to actions on the websites

https://whats.new/
1•Error6571•19m ago•0 comments

Tracking extreme heat by the hour makes climate change seem worse

https://arstechnica.com/science/2026/08/tracking-extreme-heat-by-the-hour-makes-climate-change-se...
1•rbanffy•19m ago•0 comments

The fastest double-to-string algorithm you've never heard of

https://vitaut.net/posts/2026/yy-dtoa/
2•signa11•20m ago•0 comments

Why I Play Board Games (and So Should You)

https://brainbaking.com/post/2026/08/why-i-play-board-games/
2•ingve•20m ago•0 comments

Show HN: Eigshow Interactive Web App

https://eigshow-app.web.app/
2•cecinuga•21m ago•0 comments

Most Power Sought for US Data Centers Will Never Materialize

https://www.bloomberg.com/news/articles/2026-08-12/most-electricity-sought-for-ai-data-centers-in...
2•doener•24m ago•0 comments

A Smart Recycling Robot Dismantles Old Devices

https://spectrum.ieee.org/recycling-robot
1•rbanffy•24m ago•0 comments