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

  • BF2040@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    9 days 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
      0
      ·
      9 days 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.

      • BF2040@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        8 days ago

        That was a fantastic explination, but you forgot to explain SNAP. Oh snap, you forgot SNAP. Intrusive though won. So what is SNAP, how does it work, and why is it bad?

        • Darorad@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          8 days ago

          Yeah, sorry couldn’t resist.

          snaps are very similar to flatpaks and, honestly, is technically better in a lot of ways.

          Snap can be used for basically an entire system, while flatpak is limited to graphical apps. (Ubuntu core is built basically entirely off snaps.)

          Snap is controlled by canonical, and the backend for the snap repo is entirely closed source. I’ve heard snaps are also easier for developers to work with, but I haven’t experienced that side of them.

          Snaps automatically update by default where flatpaks don’t.

          Snaps also get treated as loopback devices when they’re installed, which bloats a lot of utilities. (And they keep a few old versions around which makes it even worse). For example, you could run lsblk and if you’re using snaps like 90% of it will be snaps you’ve installed instead of actual devices.

          Flatpaks are also noticeably faster to start up, which for desktop apps matters, but wouldn’t really matter for a server that’s aiming for a lot of uptime.

          The loopback device issue is the main reason I don’t use snaps. I also like flatpak being completely open, but realistically that doesn’t matter for much. There used to be an open snap store, but that shut down because nobody used it.

          • BF2040@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            7 days ago

            I tried to install Ubuntu and it kept uninstalling Command Center every reboot. Not a fan of SNAPs. Or Canonical. But thanks for the explination.

  • HStone32@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    8 days ago

    If I could, I’d compile all my software from source. Unfortunately, it seems a lot of open source developers don’t like writing software in C, which means the burden of sorting through dependancy-hell has been deferred to my shoulders instead.

    • Björn Tantau@swg-empire.de
      link
      fedilink
      arrow-up
      0
      ·
      8 days ago

      In that case install Gentoo. Compiling everything from source is its thing. And on the way it will resolve all the dependencies for you. The dependencies you want.

  • BigDanishGuy@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    11 days 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
      0
      ·
      11 days 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
    • hperrin@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      12 days 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
        ·
        12 days 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?

        • hperrin@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          12 days ago

          Ouch. xD

          It’s super easy to create. And you distribute it on your own, so it’s basically like an installer exe on Windows. In my mind it’s one step above only offering source code.

        • Samueru@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          10 days 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.

      • oldfart@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        12 days ago

        There’s so much random, useful software distributed only as appimages. But not notable enough for packaging fanboys.

      • SorryQuick@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        12 days ago

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

      • cm0002@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        12 days ago

        Clearly we need an Arch version of rule 34 and rule 35

        Rule 34a: If linux software exists, it’s in the AUR. No exceptions.

        Rule 35a: If linux software is not in the AUR, it will be made available in the AUR.

  • cley_faye@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    12 days ago

    Native package manager > Native binaries > AppImage > Flatpak.

    Yes, snap isn’t even on the scale.

    • Kusimulkku@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      12 days 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.