-
-
Notifications
You must be signed in to change notification settings - Fork 576
Description
I wanted to fix this issue myself, seemed easy enough. Probably in runtime.c
where this line is:
chmod(prefixed_path_to_extract, st.st_mode);
Don't just apply permissions but also timestamps. However, since AppImageKit doesn't seem to be able to be compiled on modern systems, I can't add this myself.
As for why:
Not restoring timestamps breaks code that checks cache validity through timestamps. For example in one of my applications that I ship as an AppImage, I bundle LibVLC and its plugins into the AppImage. Before the creation of the image, I generate the usr/lib/vlc/plugins/plugins.dat
file. This speeds up VLC plugin loading. However, if the timestamps of the plugins changes, which happens when running the AppImage with --appimage-extract-and-run
, LibVLC prints countless error messages about every plugin. One example:
main libvlc error: stale plugins cache: modified /tmp/appimage_extracted_1e2e0dbe8053a3543648ca6c3c5a71fb/usr/lib/vlc/plugins/packetizer/libpacketizer_h264_plugin.so
As a result, the cache isn't used at all. This is not the end of the world, since it's a soft error, but still it would be nice if timestamps were preserved when extracting.