• baseless_discourse
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    edit-2
    9 months ago

    Correct me if I am wrong.

    Different app depends on different version of the underlying softwares. In the old days distro packages apps, however it would cause dependency hell.

    Hence with the development in containers, universal packaging format prevails, where each app is packaged with all of its dependencies. so that the system dont need to maintain the dependency of every single app people want to use.

    • uis@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      Different app depends on different version of the underlying softwares.

      On different ranges of versions. Usually something like “1.2 or newer”. With few exceptions that break ABI every year(looking at you, Boost) or 11 times a month(it is rust, who would have guessed). If everything was as hard as you described, then there is no way for me to play UT2004 back from, you guessed it, 2004. But I did, and all I needed just to install few 32-bit version of libraries and run it with OSS(very old audio api) emulation.

      however it would cause dependency hell.

      No, task of package manager is to solve dependency hell

      universal packaging format

      We had 2 universal packaging formats, now we have 5 universal packaging formats and two container types.

      where each app is packaged with all of its dependencies.

      Which in case of UT2004 means packaged with all exploits back from 2004.