• rollingflower@lemmy.kde.social
    link
    fedilink
    arrow-up
    46
    arrow-down
    2
    ·
    7 months ago

    Meanwhile Inkscapes official methods to get the GTK4 nightly are

    • appimage (broken by design)
    • snap (only sandboxed on ubuntu and requires snapd)
    • ppa (only on ubuntu at all, but possible through distrobox)

    When there is a beta release there will likely be a flatpak soon though.

          • BananaTrifleViolin@lemmy.world
            link
            fedilink
            English
            arrow-up
            17
            ·
            7 months ago

            This is misleading.

            Flatpak installs sandboxed libraries and then shares them between different apps as you install them. The first app installed may seem big but often the next app will use many of the same libraries rather than redownload/reinstall them.

            Appimage does not share libraries. Each Appimage is a complete image, libraries included and compressed out of necessity. It can be targeted at systems to reduce library bloat but it’s often easier just to shove everything in to ensure it works. Also that compressed file system needs to be decompressed which causes further overhead. Simple apps with few dependencies will be small, but big apps can bloat massively particularly if they’re not targeted (and that’s common as they’re treated as run-anywhere solutions for developers).

            Plus Appimage can include security flawed libraries - the significance of that will depend on the App being exposed to them. I wouldn’t want to run a web browser using a poorly maintained appimage for example, but I’d consider running a random small tool or utility if that was the only option.

            Both models are flawed compared to native apps - not quite to the point of installing an entire distro but close. But Flatpak installs one shared set sandboxed environment, while every AppImage is crudely it’s own distro.

            • pmk@lemmy.sdf.org
              link
              fedilink
              arrow-up
              4
              ·
              7 months ago

              I’m trying to understand the Flatpak model here, so if Flatpak installs sandboxed libraries, does that mean that all programs on Flathub are compiled against the same “base” runtime? Theoretically, if I had 10 flatpaks installed, could they pull in 10 different runtimes? It seems like this could get out of hand. Iirc, Fedora has their own runtime for their own flatpaks, tied to the version. (A runtime for Fedora 39, another for 40, etc?) In that case, is the idea to have one (traditional) set of libraries for the base OS, and another (runtime) set of libraries for user applications? Could it come full circle so that the base OS is relying on the same libraries as provided by the runtime? I am somewhat confused…

              • AProfessional@lemmy.world
                link
                fedilink
                English
                arrow-up
                7
                ·
                edit-2
                7 months ago

                A new freedesktop runtime releases once a year, most apps are on the latest.

                Nobody uses the Fedora runtime. It exists for political reasons not practical.

              • rollingflower@lemmy.kde.social
                link
                fedilink
                arrow-up
                5
                arrow-down
                1
                ·
                7 months ago

                Portable apps are their own distro, yes.

                Why use an appimage when they also have official RPM or DEB repos? There is nothing gained here, but you have an insecure install and update mechanism.

          • rollingflower@lemmy.kde.social
            link
            fedilink
            arrow-up
            22
            arrow-down
            7
            ·
            edit-2
            7 months ago

            Appimages also install another distro onto your system. May be small, but you have no deduplication at all. Flatpak could do a better job at enforcing the use of very few runtimes, but at least it is transparent what is used, unlike with Appimages (where you have no idea if any app has a runtime with a vulnerability etc).

            If they use compression, you replace disk space with CPU power.

            You might want to check flatpak disk usage using this tool

            Mine is

            28,88 GB "naive"
            21,57 GB with deduplication
            16,24 GB with compression
            

            For all my apps, including a ton of stuff I just test. And that on a 1TB drive is just not important.

            Appimages can be placed in ~/.local/bin/ which makes them kinda okay for terminal use. But none of the formats is terminal friendly. Flatpak has a veeeery descriptive syntax, which makes sense but for sure it is a pain to write.

            There are easy workarounds for that though, like this aliasing script

            But yes, CLI stuff is not covered but that is also okay. Flatpak deals with all the huge GUI apps, the distros can take care of the small rest.

            Of course thats not perfect, but snaps have no sandboxing without apparmor (with patches) and appimages have no sandboxing at all, ignoring firejail which is a root binary and has had security vulnerabilities in the past, making it basically a privilege escalator.

            Yes they break that strange XDG idea, and that makes sense. Every app is a container, and if you delete that app directory, all its settings are reset etc. It is a huge advantage for a clean system.

            For sure the directories are long as f*ck but that is an okay drawback for having the ability to control the app data so easily.

              • rollingflower@lemmy.kde.social
                link
                fedilink
                arrow-up
                5
                ·
                7 months ago

                Would you say portable builds (like deadbeef) also install another distro onto your system?

                They statically link binaries which is pretty similar.

                You can also extract the appimage and run the AppRun script, comes with the downside that…

                I guess you cannot update an app anymore when doing that.

                Flatpak uses BTRFS compression afaik, so I dont know if it has a performance hit and it can likely not be turned off.

                Is it strange idea to not want my home cluttered by a bunch of useless top level dotfiles?

                That is .firefox etc. Flatpaks put everything in ~/.var/app/ which doesnt clutter anything.

                Those Appimage helpers sound interesting and I will look at them. The tasks of placing somewhere, creating desktop entries etc. is not hard, but needing to do that manually is a strange and broken concept. I suppose those helper programs have some kind of community support, as Balena Etcher or whatever dont supply .desktop files.

                I agree with the problems you mentioned after that. Relying on glibc is bad, using outdated x86_64 architecture is silly. The last one could be fixed easily. The former one probably not that easily.

                Desktop Linux is messy for sure. But Flatpak is just really good at what it can do.

          • TheGrandNagus@lemmy.world
            link
            fedilink
            English
            arrow-up
            12
            arrow-down
            2
            ·
            edit-2
            7 months ago

            Wow you are really trying to mislead here.

            No, Firefox doesn’t take up multiple gigabytes of space. It shares a runtime with a bunch of other programs. So yeah if you literally install one Flatpak, it’ll prompt you to download a bunch of extra stuff, but after that it won’t. Most people don’t only install one program on their PCs, so it’s not much of an issue.

            Flatpak has deduplication, which appimages doesn’t have. If you install a load of appimages and a bunch of flatpaks, the flatpaks should take up less space, because Flatpak uses deduplication (i.e. only one copy is actually stored) and appimages don’t, it has several copies of the same dependencies.

            Appimages also sometimes don’t even contain everything your system needs to run them, which can cause issues if the host system doesn’t have it. So it can frequently fail at the main touted usecase: portability!

            And don’t get me started on stuff like theming, lack of app updates, worse Wayland support (the main dev even flat out refusing to merge Wayland fixes as he is ideologically opposed to it), and downloading programs via a browser like on a Windows system.

            Not to mention having to browse to a specific folder and running the appimage every time, unless you do tedious work to add them to your app launcher, or you have a program that acts as an appimage launcher, which is again more tedious setup.

              • TheGrandNagus@lemmy.world
                link
                fedilink
                English
                arrow-up
                5
                arrow-down
                1
                ·
                edit-2
                7 months ago

                That isn’t the amount of space it’s using. This has been explained to you. Stop intentionally misleading people.

                And what’s with the writing in caps? Just write like a normal person.

                Appimages have waaaaaaaay worse theming issues lol. No appimage can integrate with system theming, Flatpak does.

                You clearly don’t understand what I meant when I mentioned updates. Or maybe you did and were just trying to mislead again. My point was that flatpaks don’t have a mechanism for updating, unless the developer builds an updater service into the program, like apps do in Windows. The official way to update appimages is to open your browser and go to each individual piece of software’s download page, then download it.

                Yes I’m aware there are appimage managers and launchers. But that’s more setup, more tinkering, and isn’t a part of the appimage standard. You may as well be saying “what do you mean downloading apps on Windows is a pain? There’s Chocolatey and a Ghocolatey GUI for app management!” Like yeah, cool, but it’s a separate hacked-on project. Not part of the actual appimage standard.

                Downloading appimages via a browser is very much the intended usecase.

                There’s a reason why appimages don’t get much support but Flatpak does. Bluntly, because they’re a far worse solution.

          • azvasKvklenko@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            6
            ·
            edit-2
            7 months ago

            To me, those aren’t real Flatpak issues. Yeah the CLI interface is clunky, but why would I care when the XDG desktop file path is being added automatically and Flatpak is for desktop apps, not for CLI. It only matters when debugging broken application, but at the same time it’s not that hard. Overall that also gives us ability to have multiple instances of the same app installed multiple times from different sources.

            Flatpak can easily work on anything that has it in its repo and usually the setup is piece of cake. I had much worse time dealing with some AppImages due to its wild guesses about what the host system is, like libfuse version. Desktop integration is really meh imho and I could never figure out how to use it effectively without some lost desktop files here and there I had to clean manually (haven’t tried in a couple of years now, it could be better now).

            Wayland support is intentionally broken by AppImage creator/maintainer just to be able to point finger at Wayland ecosystem and say: look - unfixable. Lately the same dude wanted to propose collection of out-of-tree Wayland protocols to make it more like X11, which is horrible idea and no actual Xorg/Wayland dev would have any interest in doing, because it defeats the decade long efforts to change how the graphics stack works.

            AppImage maintainers also showed their disappointing attitude when trying to get OBS to use it, assuming everyone will be interested in having that package format published on official projects website, while conforming to all requirements and doing the work of adjusting app to that format. To no surprise, OBS was horribly broken when built that way, and they demanded OBS devs to fix it, not getting how could they possibly not be interested in having app image, while already having well built (I use it myself, it’s great) Flatpak package.

            Flatpak does sandboxing with fine tuning abilities (using something like Flatseal or new KDE’s built-in KCM) + there is actual verification process at least for new apps on Flathub. I don’t say it’s 100% safe, but compare that to AppImages which is just running randomly downloaded binaries from the web with full filesystem access.

          • rollingflower@lemmy.kde.social
            link
            fedilink
            arrow-up
            5
            ·
            7 months ago

            Please be aware that you just commented on some of the points.

            Madaidan is often criticised and debunked, and that “linux is insecure” post is pretty old.

            They say that many flatpakked apps have broad permissions, which is not a flatpak issue, because those are simply legacy apps that are often huge, dont support Flatpak at all and often also dont care.

            I maintain a list of modern apps, that do not need broad permissions like that

            They mention the “badness enumeration” like restricted syscalls, which is really problematic and seems to still be used. This is really bad and I hope it gets fixed, will open an issue about that.

            But dont forget: flatpak apps may have broad permissions, but native apps have all permissions, appimages too. They have unrestricted syscalls, if not changed in the system itself.

            So these might be valid points, but not a defense of Appimages at all.

      • merthyr1831@lemmy.world
        link
        fedilink
        arrow-up
        7
        ·
        7 months ago

        Beyond the given arguments, App images are destined to have subpar Wayland support because the main dev behind app images is a toxic kid who has a weird attachment to the x server, to the point of rejecting PRs where others have done the work of improving Wayland support on his behalf.

    • IrritableOcelot@beehaw.org
      link
      fedilink
      arrow-up
      5
      ·
      7 months ago

      It’s a nightly build, I don’t really see that as an issue. The stable build is available in every format I can imagine.

    • ULS@lemmy.ml
      link
      fedilink
      arrow-up
      5
      arrow-down
      3
      ·
      edit-2
      7 months ago

      Just get the exe and use wine. Or windows VM. I always use .exe for everything. I have no app images or flatpaks. On Ubuntu make a windows VM, in that windows VM install virtualbox and make an Ubuntu VM… And keep doing this until you have no disk space. Make a VM for every app.

      I solved it.

    • lengau@midwest.social
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      7 months ago

      FWIW, snaps are sandboxed on any system that uses AppArmor, which includes most Debian or SuSE based distros. There’s also a partial implementation of the sandboxing for SELinux, but the different model makes doing a complete implementation problematic.

      • rollingflower@lemmy.kde.social
        link
        fedilink
        arrow-up
        4
        ·
        7 months ago

        Is that sandboxing graphically available like with Flatpak? To my knowledge it required Apparmor patches but that these are upstreamed is a good info. The SELinux implementation sounds interesting, but well… I dont see the point?

        • AProfessional@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          1
          ·
          7 months ago

          selinux support doesn’t actually work. The point was to present snap as portable when it is not.

        • lengau@midwest.social
          link
          fedilink
          arrow-up
          2
          ·
          7 months ago

          Yes, that sandboxing works with graphical apps in addition to CLI apps and services, and there are several graphical applications that allow you to select connections for snapped apps, including KDE Discover.

          The SELinux implementation is primarily there to ensure that SELinux’s enforcement doesn’t break snapped apps, but a side effect of the different model compared to AppArmor’s means that filesystem based sandboxing is only partial. And, of course, if the system has SELinux in permissive mode snapd won’t force it into enforcing mod. Specific vary from system to system, but it means that the filesystem isolation isn’t as good under SELinux as it is under AppArmor. Most of the sandboxing is done through cgroups, though, which is not dependent on whether one uses SELinux or AppArmor.

          • rollingflower@lemmy.kde.social
            link
            fedilink
            arrow-up
            10
            ·
            7 months ago

            Hahaha that is actually mentioned in the article below

            According to Robin Stern, PhD, co-founder of the Yale Center for Emotional Intelligence, “Gaslighting is often used in an accusatory way when somebody may just be insistent on something, or somebody may be trying to influence you. That’s not what gaslighting is.”[17]

            • MonkderDritte@feddit.de
              link
              fedilink
              arrow-up
              1
              arrow-down
              7
              ·
              edit-2
              7 months ago

              Ok, my bad. But you see what i meant. You not liking appimage doesn’t mean it’s broken. In fact, i consider packaging some old-but-beloved apps with compile errors lately as appimage, because it just runs without much hassle.

  • BananaTrifleViolin@lemmy.world
    link
    fedilink
    English
    arrow-up
    30
    ·
    edit-2
    7 months ago

    Makes sense - PPAs are very platform specific, plus from a user point of view a bit of a security nightmare (not the Kodi PPA but the idea of adding lots of different PPAs, often poorly named and difficult to keep track of as a user).

    I used to get fed up with PPAs when I used Ubuntu - particularly when you to go through a major distro upgrade and you have to go hunting through all of them to see if they support your new distro version. They’re just not a good distribution system for most users.

    Also the Flatpak will benefit more users across other systems and has the potential to be more secure (particularly given the add ons people download and run in kodi).

    Edit: worth noting they have retired the PPA but haven’t built out all their equivalent Flatpak versions. An example of the unpaid hard work and hours volunteers put in to maintain open source software.

      • giloronfoo@beehaw.org
        link
        fedilink
        arrow-up
        9
        arrow-down
        2
        ·
        7 months ago

        Except they can be hosted by the person/company making the software. This always seemed more trustworthy than AUR to me.

        Of course there are also community PPAs that would need the same scrutiny as AUR packages.

        • lemmyvore@feddit.nl
          link
          fedilink
          English
          arrow-up
          5
          ·
          7 months ago

          You mean… zero scrutiny? 🙂 The big advantage of AUR is that there’s only one of it but that’s about it.

          The PPA model is fundamentally broken. As soon as you replace a core package from a PPA (which happens silently if it’s a dependency) you can kiss upgradeability goodbye. By the time the next Ubuntu release rolls out you’ll be in dependency hell and won’t be able to upgrade cleanly.

        • eardon@lemmy.ca
          link
          fedilink
          arrow-up
          1
          arrow-down
          3
          ·
          edit-2
          7 months ago

          Wait, being hosted by anyone makes it more secure?

          Jeez, I’m glad I’m not new to the internet and backwards rhetoric like yours just falls by the wayside because I’m so used to it.

          I just don’t expect more from you people at this point 🤣

    • BananaTrifleViolin@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      edit-2
      7 months ago

      It’s basically a privately hosted repo with a very small set of programs/libraries. PPA is a Personal Package Archive.

      If you run Ubuntu (or most Debian derivatives) you can add a PPA as an extra repo and the version of software in that repo will usually be newer than the versions maintained by the distro (or even not present in the distro).

      It’s not quite like the AUR - the AUR is a central public repo that people submit their packages to. Each PPA is a privately run and maintained repo with their packages in.

      It is used by some projects to officially distribute their software but it is also something of a potential security nightmare.