×

Pages

Labels

Search

×

Pages

×
×

Notice

The site is currently undergoing scheduled maintenance, and may not function correctly. Please come back later.

Advertisement

advertisement

TL;DR Snap, Flatpak, And AppImage

The hard part about creating cross-distro application packages for GNU/Linux is dealing with dependences. You don't want to include an entire operating system in each package just to satisfy them, but depending on software provided by the host is complicated because not all distros have the same default software. Even if they do,
it may be an older or newer release that isn't compatible. There are two common ways of dealing with this. The first is to accept it, and label a package as only compatible with certain releases of certain distros. This makes it a true cross-platform package. There just won't be much "crossing", because it limits which distros packages can be used on. AppImages use this approach. They are essentially PET packages for distros other than Puppy Linux (not to say they can't also be used on PuppyLinux). AppImages will only work if the host has any of the dependencies which aren't included in the package. This means you have to target specific operating systems when creating AppImages. The second method is to take an operating system, modify it so it can be installed within another operating system in a convenient manner, and require it be installed in order to use the packages. Space is still being saved since the operating system isn't included in each package. It isn't really a cross-platform package though, because you're avoiding relying on the host at all. Snaps uses this approach. It requires installing a trimmed down Ubuntu on the host operating system. Packages then rely on Ubuntu. Flatpak uses this approach too. Its generic operating system is provided as runtimes (a bunch of software smushed together). Packages rely on the runtimes, and ignore the host.

License:Comprehensible Open License 1.0
Comprehensible Open License 1.0:

Material published under this license can be modified, forked, incorporated into other works, and distributed, provided the material remains under this license. Material published under this license is free of charge! Material published under this license is bound to the license release number it was published under. Material published under this license is provided as is. The author of material published under this license shan't be held liable for any negative occurrences that arise from use of the material the author published under this license.

Advertisment

advertisement
Copyright © James Daniel Marrs Ritchey.

Siteviews