Planet AppImage

October 10, 2021

probono's tweets

September 04, 2021

probono's tweets

July 05, 2021

probono's tweets

May 23, 2021

TheAssassin's blog

Freenode is dead -- Long live Libera.Chat!

Freenode is dead. That’s the unfortunate truth. On May 19, an event regularly described as “hostile takeover”, in which the control over the biggest IRC network for free, open-source software has been forcefully taken away from the volunteer group called Freenode Staff who have run it ever since it was founded about 20 years ago, has taken place.

Therefore, all the communities I am involved in and/or manage on Freenode are moving or have already moved to the new network which most of the former Freenode staff have founded: Libera.Chat. This includes:

I do not have time to provide a nice summary on the topic as I have previously, e.g., for the youtube-dl incident. In the past days, I have analyzed the available resources (i.e., blog posts, pasted chat logs, and other publicly available information from both sides), and I support the former Freenode Staff in this matter. Large parts of their claims can be verified, something I cannot say about claims from the “new management”. The way this “new management” has literally grabbed power and then started to defame the old staff clearly shows that they don’t have the best intentions, not for the users, not for Freenode as a project, not for IRC.

I have curated some links to interesting resources such as summaries, news, blog posts, resignation letters etc., so read on if you want to take a look yourself.

May 23, 2021 00:00

November 01, 2020

AppImage Crafters

appimage-builder v0.7.5 files based recipes

appimage-builder v0.7.5 brings an really interesting feature: full file based recipes. Unlike traditional recipes that uses apt-get and a list of Debian packages to fulfill the dependencies of a given application the new approach uses a list of files. Yes, you read it well, all the files that should be included in the final bundle will be listed in your AppImageBuilder.yml file.

The file list is built using the outputs of strace and the linker in debug mode. Therefore all the files that were accessed by the application at runtime are add into the list.

Are you nuts? The recipe files will be huge!

Indeed they will, that’s why we will keep recommending the package based recipes. But let’s dig a bit on this idea.

This kind of recipes are focussed on those GNU/Linux distributions that doesn’t have apt-get or other package manager supported by appimage-builder. To use it just run appimage-builder --generate on a system without apt-get. It will prompt the same questions and run the application. Once it exits instead of finding which packages provide the files and libraries accessed at runtime it will proceed to list them in the AppDir > files > include section.

Once the recipe is generated you can run appimage-builder again to create the bundle. Notice that not only libraries are included but also other data files. You may want to take a look at them before considering your job done. Some of them may be icons from the system icon theme or fonts. Those can be safely excluded.

While this approach has its drawbacks it’s an important step on bringing appimage-builder to every GNU/Linux distribution. If you want to see a full recipe generated using this check out the following link

Thanks for readings, see you in the comments section.

November 01, 2020 20:00

August 19, 2020

AppImage Crafters

Path mapping in AppImages

Fixed file paths in binaries have been a nightmare for AppImage creators since the format was created. The most effective solution to this issue is to modify the source code and add a way of setting those paths at runtime. But, this is not always possible.

The developer may not have access, permissions, knowledge or time to modify the source code. This is a big stop if you plan to pack an applications as an AppImage. Obscure binary patches are used to workaround this leading to complex packaging recipes.

System calls hooking to the rescue

With the help of ld-linux.so and its preload feature we can hook every system call that takes a file path as an argument and edit it to point to the bundled files. This allows running binaries containing fixed file paths without modifying them.

For its use in AppImage bundle we added this feature into the AppRun project. This is will be deployed as default entry point for AppImages created with appimage-builder 0.6.

Limitations

Preloading libraries is only possible for dynamic linked binaries, we will need something different for static linked ones. Luckily the major part of the modern software is dynamically linked.

August 19, 2020 20:00

August 07, 2020

AppImage Crafters

Introducing appimage-manager

appimage-manager is a tool for managing your AppImage collection. It works quite similar to a traditional package manager but without the fuss of managing dependencies.

Installation

To install appimage-manager go to the releases page at Github, download the AppImage file into /usr/local/bin and give it execution permissions. This is basically what the command below does:

sudo wget https://github.com/AppImageCrafters/appimage-manager/releases/download/v0.1.2/app-0.1.0-x86_64.AppImage -O /usr/local/bin/app; 
sudo chmod +x /usr/local/bin/app

Usage

Looking for AppImages

AppImage binaries are usually published in the author releases page. So if you know what application do you need then go to the releases author releases page and download the binary right from there.

If the author uses Github releases you can use:

app install https://github.com/lbryio/lbry-desktop

Discovering AppImage

AppImage Index is an index of projects that publish AppImages. You can also use https://www.srevinsaju.me/get-appimage/ for a better user interface.

AppImageHub is a software store were you can find many original and third party packaged applications. It’s recommended to always download binaries from the original author to avoid malware.

AppImageHub is also integrated into the app, so in order to look for an application you can use: app search <appname>

AppImage files will be downloaded to $HOME/Applications and will be also added to your system menu on installation.

Updating AppImages

appimage-manager support delta updates using the zsync algorithm. This algorithm requires .zsync file to be published by the author. In the cases were this file is not provided a regular download will be performed. Updates work also for manually downloaded applications.

Preview

See it working in this video:

August 07, 2020 05:00

August 05, 2020

AppImage Crafters

Presenting AppImage Planet

The AppImage world is bast and mysterious, therefore a map is required to ease navigation. That map is the RSS aggregator AppImage Planet.

There you will be able to find all the people and projects that gravitates around the AppImage core project. Let’s take a look to the more significant project.

NXOS

NXOS is a GNU/Linux distribution focused on AppImages. They use Ubuntu for the system foundations and AppImages for user applications. This makes a great mix because developers can focus on making their awesome desktop environment and not having to worry on providing builds for every single app.

Read more about NXOS here: https://nxos.org/

The Assassin blog

Don’t be scared, no one will assassinate you for visiting this web. It belongs to the author of linux-deploy a great tool for creating AppImages. He is also an active collaborator of the AppImage project, so you can find many more AppImage related stuff there.

For more details visit: https://assassinate-you.net/

Probono Blog

Probono is the original author of the AppImage project. He writes about AppImage, of course, and about many tech related stuff including linux usability, digital privacy, typography, and computer history.

Check his blog here: https://medium.com/@probonopd/ He is also quite active on twitter

AppImage Crafters

That’s us!

We are responsible for the development of some awesome AppImage related projects such as:

  • appimage-builder
  • appimage-manager
  • AppRun

Also, we are active contributors of the AppImage core.

Conclusion

That was all, finally we recommend you to visit AppImage Planet and subscribe.

Stay tuned for more :)

August 05, 2020 05:00

October 25, 2019

TheAssassin's blog

Another big milestone: AppImageLauncher 2.0.0 released

On Friday, October 18, AppImageLauncher 2.0.0 was released. This version is the first one to feature libappimage 1.0.0.

AppImageLauncher 2.0.0 provides new, innovative features and subtle improvements over the previous 1.x series of releases. Read on to see what’s changed!

October 25, 2019 23:00

April 03, 2019

TheAssassin's blog

libappimage 1.0.0 released

libappimage, AppImage’s core library, has just seen its first stable release after the rewrite. Version 1.0.0 was released on April 1, 2019. Read on to see what’s new!

April 03, 2019 07:00

September 14, 2018

TheAssassin's blog

(New) AppImage documentation

The AppImage project has never had a proper documentation. Sure, there were (and still are!) some wikis (most notably the AppImageKit wiki), but wikis, especially the ones on GitHub, lack any sort of structure. Recently, I could finally start to work on this, resulting in the (fairly) brand new docs.appimage.org.

September 14, 2018 10:21