• 5 Posts
  • 1.6K Comments
Joined 3 年前
cake
Cake day: 2023年6月12日

help-circle











  • I looked at .deb as well and boy are there weird things there.

    There are many similarities between RPM and pkgbuild for Arch, so I could easily copy almost entire pkgbuilds from AUR and merely adapt a few variables but whatever the inventors of .deb concocted is crazy.

    That build method dates back super-far, and probably mirrors unix packaging of the day. This is not a good thing, in that it did miss out on some validation features that RPM and NIX have, and that’s a problem that hasn’t been fixed (in unix or debian) even now (25+ years after we noticed it in the enterprise OS company I worked at, and which invalidated debian even then as a product we wanted to support alongside unix).


  • What I’m trying to say, is that when people said “just use nix”, they probably really mean to use nix as a platform to build other packages withouth doing extra work.

    What you should be saying is something that recognizes that not all systems adhere to FHS. It needs to account for the non-compliant ones, and that includes Lennart’s delightful deviations when he obviously just knew better than the Industry.




  • The user adds the repository to the list of repositories their package manager is using,

    Fun fact: when we were doing devops as config management, we distributed repository configs AS packages … which we updated as required.

    and the packages in that repository appear as normal packages for them to select. When the author publishes a new version of their package it’ll appear as an update in all users package managers.

    So easy.

    These days, with CI, ya berge your patch and the fix is built and sent to testing immediately, ready to be assessed for promotion, which then signs and pushes the artifact into the pipeline for synchronization and application everywhere.

    Aside from the actual smarts to build a good package, the tooling makes every other part of is zero-friction.





  • Just give the source away. Don’t package it at all (or at most, do so for your own distro). If your software is good enough, others will do the packaging for you.

    As someone who’s developed and shipped software you may know, who’s worked in rel/eng, OS security, escalations (we research the fix for the sploit and build the artifact for the update pipeline; everyone calls it something else) before being just an admin to manage hordes of machines; with the knowledge gained in every post I’ve ever held, let me say:

    THIS. ABSOLUTELY THIS.

    If you are a great coder but suck at packaging or hate it, then don’t. You’d produce something sub-par anyway.

    Let the knowledgeable enthusiastic obsessively-detailed people do it for you and you’ll be happier and so will they.