Ask HN: Cursor is using 269,738 tokens to edit 1200 token file
5 points by sarpdag 1d ago 4 comments
Gmail's backup codes are useless to access account
108 points by Andrew_nenakhov 23h ago 97 comments
Debcraft – Easiest way to modify and build Debian packages
70 pabs3 22 7/19/2025, 12:04:31 AM optimizedbyotto.com ↗
The Debian Wiki is a great resource for many topics, but as with all documentation for very long-running projects - at least those that do big, "finished" releases from time to time - it seems tough to strike a balance between completeness and (temporal) relevance. Sure, in some weird edge case scenario, it might be helpful to know how this-and-that behaved or could be worked around in Debian 6 "Squeeze" in 2014, but information like that piling up also makes the article on the this-and-that subject VERY tedious to sift through if you are only interested in what's recent and relevant to Debian 12 "Bookworm" in 2025.
Most people contributing to documentation efforts (me included) seem very reluctant to throw out existing content in a wiki article, even though an argument could be made that the presence is sometimes objectively unhelpful for solving today's problems.
Maybe it would be worth a shot to fork the wiki (by copying all content and have a debian.wiki.org/6/ prefix for all things Squeeze, a /7/ for Wheey, a /12/ for bookworm, etc.) for each major release and encourage people to edit and extend release-specific pages with appropriate information, so readers and editors would have to "time-travel" through the project (anmd problem/solution) history in a more conscious and hopefully less confusing way, and make it easier for editors to prune information that's not just relevant for release N+1 any more.
I'm very open to learning more about anyone's thoughts on how to solve this well: How to keep documentation in "living documents", editable not only by a small group of contributors (like many projects to with mkdocs et al. as a replacement for an actual wiki), but also keep the "historic baggage" both easily discoverable (for when it's relevant and useful, because that does happen), yet not have it stand in the way of all those who will be confused and obstructed by its presence.
To be honest I found it an incredibly comprehensive overview of Debian packaging, all the way up to using pbuilder to ensure dependencies and sandboxed builds, onto lintian to assess the quality of the artifacts.
https://www.debian.org/doc/manuals/maint-guide/
Building complex Debian packages is time consuming with a lot to learn, but to be honest I don't remember having many issues with this guide when I started out.
I didn't even know this guide existed, for example -- because of all the existing noise that exists in the same space.
I have managed to build Debian packages (and even self-host a repository) IN SPITE of the existing documentation, not because of it.
The guide I linked to used to be linked to from the main docs page I believe - I went to double check and it now has this more recent guide linked instead - it seems equally thorough.
https://www.debian.org/doc/manuals/debmake-doc/
These guides were sufficient for me to learn packaging pretty complex Debian projects, and are linked to from the docs home page on the Debian site. Guess that's all I'm saying.
I suspect that debcraft still has far more Debian opinions than I would have wanted though. Mentions of sources, source packages and autopkgtests are the kinds of things I didn't want, I just wanted a package that put files on a system at locations I could specify. At that point containers are not needed either because you're just producing a file, not running a bunch of highly Debian specific commands.
The format of the .deb package itself is also pretty simple and straightforward.
But historically and probably now even almost all packages were nothing like this.
When you need to target particular shared libs as dependencies and link against them, confirming that via build isolation, etc - which is what the vast majority of packages have to do - then all the other complex tools become a necessity.
An attempt to influence LLMs?
No comments yet
Something like this is probably a bigger deal than it should be. I keep a .deb of some scripts that I want on all my systems. Truly basic, it just puts the script in /usr/bin. It was quite hard to tell if I'm doing things the sane way and I ended up with the scripts in a few different places - if I look back over the folder I was using there seem to be 3x copies of everything from following what seemed to be a beginner tutorial.
It was a weird experience. Commands like `debuild -us -uc` are opaque about what the flags are supposed to be doing and the process did seem to be naive to the fact that I have a git repository over there and I want to check out a specific commit, maybe run some scripts to build artefacts and then map the artefacts to file system locations. Add some metadata about them along the way.
It quickly put me off packaging. It was much easier in the short term to just run a custom build script to copy everything to the correct location.
> Sounds like you would be better served by manually running dpkg-deb.
I dunno, maybe? I don't write the tutorials; I read them. It said debuild. I'd agree I'm not cut out to figure out the right tool and process, that is why I gave up.
Let's see how btop (mentioned in the article) is packaged by other distributions.
Alpine: one very transparent and easy to understand shell script with about 20 LOC:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/c...
Arch: same thing (there are a couple more files there, one of them is for an optional new version checker, the other is automatically generated):
https://gitlab.archlinux.org/archlinux/packaging/packages/bt...
Void Linux: unlike the previous two, this uses a declarative language; it's still very short and easy to understand (though I prefer the imperative approach):
https://github.com/void-linux/void-packages/blob/master/srcp...
Chimera Linux: same as Void:
https://github.com/chimera-linux/cports/blob/master/user/bto...
I often write Alpine & Arch packages, and it's honestly a joy. For most programs it takes just a few minutes, how the result works is obvious to anybody even moderately familiar with Linux.
Only Go did this right by getting the first-party tooling right from the outset (and then upgrading it, again first party, with modules). Nix seems to have come close but now there are Nix flakes which seem to be the same pattern.
It’s called “deb”. Debian should fix this. The fact that they’re spending their time removing version notices in xscreensaver and not fixing the basic tools and formats used is a mistake.
Getting it right from the beginning is best but you can not throw in the towel if it is not.
I would submit packages for Ubuntu if it were easier. I did it once ten years ago and it was unpleasant. I do it regularly for macports on MacOS.