[vlc-devel] AppImage for distributing VLC builds for Linux

probono probono at puredarwin.org
Sat May 7 10:48:40 CEST 2016


Hi,

The VLC download page provides downloads of the most recent version of
VLC for Windows, OS X and other systems but not for Linux
distributions. Furthermore, there seems to be no easy way to just
download the latest version of VLC for Linux without upgrading half
(or all) of the system. For example, on the Ubuntu download page there
is a notice "Nota Bene (...) Ubuntu includes whichever VLC version was
the latest at the time the Ubuntu release was frozen (...) If you need
a more recent version, please consider upgrading Ubuntu."

AppImage could be used as an additional way to ship upstream-packaged
VLC builds for desktop Linux just like for the other OSes.
http://appimage.org/

In Linus Torvalds' words: "It not only allows for a project to create
a complex Linux application (...) that works on multiple
distributions, you don't even need to really even install it. Download
a file, mark it executable, and run it. It comes with its own little
embedded compressed ISO filesystem that gets mounted and contains all
the required libraries. Sure, it means that the end result is much
bigger than a distro-native binary would be, but if you want a way to
build applications for your users without limiting them to a
particular distribution, or having to build fifteen different images,
it really looks like it works very well."
https://plus.google.com/+LinusTorvalds/posts/WyrATKUnmrS

I have been working on putting together a proof-of-concept AppImage of VLC:
https://bintray.com/probono/AppImages/VLC/_latestVersion#files

This is a work-in-progress; nevertheless it would be great to get some
feedback on it. To test it, download the AppImage, chmod a+x, and run.
The AppImage has been built on CentOS 6 and should run on most
not-too-outdated distributions (glibc 2.12 and later). If it doesn't
work for you immediately it probably means that the recipe needs to be
tweaked further (e.g., bundle more or fewer dependencies; patch
absolute into relative paths, etc.). To strike a balance between size
and compatibility, I did not bundle each and every dependency, just
the ones I do not expect to be part of most modern distributions.
Since no root rights are required, since there is no installation, and
since system libraries are not touched, this is an easy way to try out
new versions (even in parallel); and rollback is trivial (just delete
the AppImage).

Here is the build recipe that produced the AppImage:
https://github.com/probonopd/AppImages/blob/master/recipes/vlc/Recipe

Projects like Krita, MuseScore, Scribus, Subsurface, and others are
already producing AppImages as part of their releases and/or nightly
builds. This is not meant as a replacement for distribution packaging;
it is purely an additional way to ship binaries to Linux users.

Let me know what you think.

probono


More information about the vlc-devel mailing list