How do you guys get software that is not in your distribution’s repositories?

  • BF2040@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I understand appimages. I use them exclusively. Can someone explain what flatpak and SNAP are and how they work? I have autism so please be as clear and concise as possible?

    • Darorad@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      The easiest way to think of it is flatpaks are AppImages with a repository and snaps are flatpaks but bad.

      That has benefits and detriments. Appimages contain everything they need to run, flatpak’s mostly do, but can also use runtimes that are shared between flatpaks.

      All flatpaks are sandboxed, which tends to make them more secure. AppImages can be sandboxed, but many aren’t.

      Flatpaks tend to integrate with the host system better, you can (kinda) theme them, their updates are handled via the flatpak repo, and they register apps with the system.

      AppImages are infinitely more portable. Everything’s in one file, so you can pretty much just copy that to any system and you have the app.

  • BigDanishGuy@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 months ago

    Why not just stick to what we’ve always been doing?

    1. wget something.tar.gz
    2. tar something.tar.gz
    3. man tar
    4. tar xzf something.tar.gz
    5. cd something
    6. ls -al
    7. ./config.sh
    8. chmod +x config.sh
    9. ./config.sh
    10. make config
    11. Try to figure out where to get some obscure dependency, with the right version number. Discover that the last depency was hosted on the dev’s website that the dev self-hosted when it went belly up 5 years ago. Finally find the lib on some weird site with a TLD you could have sworn wasn’t even in latin characters.
    12. make config
    13. make
    14. Go for coffee
    15. make install
    16. SU root
    17. make install
    • merthyr1831@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      I much prefer our modern package format solutions:

      1. sudo apt install something
      2. open
      3. wtf this is like 6 months old
      4. find a PPA hosted by someone claiming to have packaged the new version
      5. search how to install PPAs
      6. sudo apt <I forgot>
      7. install app finally
      8. wtf it’s 2 months old and full of bugs
      9. repo tells me to report to original developer
      10. report bugs
      11. mfw original dev breaks my kneecaps for reporting a bug in out of date versions packed with weird dependency constraints they can’t recreate
  • LainTrain@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago
    1. Compile from source
    2. Find alternative
    3. Deploy in VM/Docker

    If I wanted snap, flatpak or appimages, I would use windows. Shared dependencies or death.

  • cley_faye@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Native package manager > Native binaries > AppImage > Flatpak.

    Yes, snap isn’t even on the scale.

    • Kusimulkku@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      Not a fan of AppImages myself. For an universal format it has surprising amount of issues with different distros, in my experience. And the whole Windows style “go to a website, download the AppImage, if you want to update it, go to the web page again and download it again” is one thing I wanted to get away from. At least they don’t come with install wizards, that clicking through menus thing was a pain.

      For one off stuff I run once and never need again, AppImage is alright. But not being built-in with sandboxing, repos, all that stuff, it just seems like a step back.

    • hperrin@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      My software, QuickDAV, is not in the AUR. It’s open source, and I release it only as an AppImage, because I am lazy.

      • folkrav@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        I guess we should have added the word “notable”

        I’m terribly sorry, you left the door wide open ;)

        I’m curious, what makes AppImage a good choice for the lazy developer? Is it easier to create?

        • Samueru@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 months ago

          I’m curious, what makes AppImage a good choice for the lazy developer? Is it easier to create?

          The appimage is basically just git clone -> make -> make install DESTDIR=/path/to/AppDir -> wget appimagecreationtool and finally appimagecreationtool /path/to/AppDir and that’s it you have your appimage.

          appimagecreationtool being several tools that can create the appimage from an AppDir, like linuxdeploy, linuxdeploqt, go-appimage, etc

          And that on itself isn’t complex either, it if basically running ldd on the binary, then copy those libraries into the AppDir and finally run patchelf to patch the paths in the binaries and libraries, suyu uses a deploy script instead of using those tools, which I’ve recently forked and began expanding.

          I don’t know how easy it is to make a flatpak or snap, but I do know the dev of zen browser hates dealing with the flatpak and iirc right now the flatpak is outdated as result.

          EDIT: Also lite-xl has been making a flatpak for like 2 years and it isn’t ready yet.

      • SorryQuick@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        That’s exactly what the vast majority of AUR packages do already? You can also apply modifications to the compilation process if needed.

  • RmDebArc_5@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    I’m currently on a atomic distro, so how I get my software from favorite to least favorite is this:

    1. Flatpak
    2. Appimage
    3. Fedora distrobox
    4. rpm-ostree