this post was submitted on 05 Jul 2024
744 points (93.9% liked)

linuxmemes

21442 readers
990 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!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 8 points 4 months ago (3 children)

    I just distribute it as a self-contained executable/archive. ¯\_(ツ)_/¯

    [–] [email protected] 10 points 4 months ago (1 children)

    Valid solution, but I miss unified updates with appimages and such

    [–] [email protected] 4 points 4 months ago (1 children)

    Yeah, that's the fun part. Hooking into some auto-update mechanism would be useful to me.

    But my stuff is mostly in the scratching-my-own-itch stage, so setting up a FlatHub account, Flatpak metadata, sandbox rules, probably an icon and screenshots and whatnot, and automating the build+releases, just to get auto-updates, yeah... no.

    I could code a whole nother project in the time that would take.

    [–] [email protected] 3 points 4 months ago (1 children)

    Well, if you have any form of build script, makefile, or CI, then you can easily shove that into a flatpak-builder manifest and push the build repo anywhere you want. The default OSTree repository format can be served from any old webserver or S3 bucket after all.

    I've done this for personal projects many times, since it's a ridiculously easy way to get scalable distribution and automatic updates in place.

    [–] [email protected] 1 points 4 months ago (1 children)

    Hmm, okay, that doesn't sound too bad.
    Does the sandboxing get into the way much? Can a user tell it to poke a hole into the sandbox, to use some specific folder, for example?

    I think, my real problem is that I don't actually use Flatpak for any software I have installed. 😅
    I'm not opposed to using Flatpak, but I disabled Flathub pretty quickly on my distro's software store thingamabob, when I accidentally installed some proprietary software from it. Fuck that shit, no matter how much sandboxing I get.

    [–] [email protected] 3 points 4 months ago

    In regards to sandboxing, it only gets as far in the way as you ask it to. For applications that you're not planning on putting on FlatHub anyway you can be just as open as you want to be, i.e. just adding / - or host as it's called - as read-write to the app. (OpenMW still does that as we had some issues with the data extraction for original Morrowind install media)

    If you do want to sandbox though, users are able to poke just as many holes as they want - or add their own restrictions atop whatever sandboxing you set up for the application. Flatpak itself has the flatpak override tool for this, or there's graphical UIs like flatseal and the KDE control center module..

    [–] [email protected] 7 points 4 months ago (1 children)

    As long as your application is statically linked, I don't see any issue with that.

    [–] [email protected] 8 points 4 months ago (3 children)

    So, like, dumb question. People here assumed that I mean AppImages, whereas I actually meant just a statically linked binary. Is that really the only reason why AppImage exists? So, that dynamically linked applications can be distributed like statically linked ones?

    [–] [email protected] 9 points 4 months ago (1 children)

    You cannot statically link everything. Take graphics libraries and APIs for example, do you statically link against nvidia's or mesa's opengl?

    [–] [email protected] 2 points 4 months ago (2 children)

    Sure, but presumably AppImage/Flatpak/Docker cannot help with that either...?

    [–] [email protected] 3 points 4 months ago (1 children)

    Flatpak solves the problem with targetable platform versions, you just update the manifest for your app every like 6-12 months to target the new one

    [–] [email protected] 1 points 4 months ago (1 children)

    Ah, interesting. So, it's different from just statically linking against the latest driver lib every 6-12 months, because the Flatpak runtime gives you a bit of a guarantee that there won't be breaking changes in the meantime.

    [–] [email protected] 2 points 4 months ago* (last edited 4 months ago)

    Bingo, and if the latest mesa breaks your app for example, you can target an older one until it's fixed instead of end users having to fuck around downgrading system packages

    [–] [email protected] 3 points 4 months ago

    This is the problem those tools try to solve. They package everything else upon which software might depend that can’t simply be linked into a single binary.

    [–] [email protected] 6 points 4 months ago (1 children)

    The majority of AppImages I've seen have been dynamically linked, yes. But it's also used for packaging assets.

    [–] [email protected] 3 points 4 months ago

    Yeah, alright, packaging assets makes sense. I've always been fine with just a .tar.gz, but having it be a singular file without compression is cool.

    I guess, since AppImage emulates a filesystem, you can also have your application logic load the assets from the same path as if the assets were installed on the OS, so that's also cool.

    [–] [email protected] 2 points 4 months ago

    You cannot statically link everything. Take graphics libraries and APIs for example, do you statically link against nvidia's or mesa's opengl?

    [–] ms_lane 2 points 4 months ago

    AppImage for the win!