this post was submitted on 03 Nov 2023
440 points (93.5% liked)

linuxmemes

21219 readers
141 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] Synthead@lemmy.world 17 points 1 year ago (2 children)

    Linked dependencies, for one. What if your distro uses uClibc? A different imagemagick version? What about LTS distros? Immutable distros?

    [–] MrSpArkle@lemmy.ca 27 points 1 year ago (1 children)

    What if who cares?

    When I used to build app packages internally I also built packages for our own python and ruby versions for our in-house software. The motto was: “system packages are for system software”. We weren’t writing system software, we were writing business software and shipping it, so why be dependent on what Redhat or Debian provided?

    Universal packages are just an extension of this philosophy, and is why things like docker and app stores are such a success. Burdening the user with getting system dependencies right is worse than the DLL hell of the old windows days.

    [–] Synthead@lemmy.world 8 points 1 year ago (1 children)

    Docker is a success in some ways, but it's not a silver bullet. It's a great way to make a 800 KiB program ship in a complex 300 MiB box.

    If you had an entire operating system built with static links, it would be giant and ugly. You have to stop and think: if it's such a great idea, then why does pretty much every distro supply packages with dynamic links?

    When shipping your own software, yes, you certainly want control over your own runtime. If you rely on an OS-supplied Ruby, for example, then when Ruby 3.3.0 comes out, your gems will need to be rebuilt, and it'll happen by surprise. A runtime and shipping stuff to your own infra is much different than packages responsible for running the operating system.

    [–] theneverfox@pawb.social 2 points 1 year ago

    It's almost a silver bullet. 300mb is pretty modest by today's standards, and nix supports both bare metal and docker containers, and everything in between

    Seems to me we need to bridge that gap - make nix smarter and more compatible with docker, and we get a fully featured desktop/dev environment that can be packaged directly into the minimal reproducible deployment package

    And that sounds like a silver bullet to me

    [–] Chewy7324@discuss.tchncs.de 3 points 1 year ago

    Usually people mean flatpak and other desktop-focused formats when talking about universal package formats.

    Even docker images are usually built with traditionial package managers, except if they're built directly by Nix.

    I agree that there won't be "the" package format, since they all have their tradeoffs. E.g. Nix updates need quite a bit of memory, so it isn't a good choice for resource constrained embedded use-cases.