AppImage / AppImage/AppImageKit

appimage-extract(-and-run) don't preserve file timestamps

オープン
#1,151 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
言語のデータがありません
スター
9.4k
フォーク
588
PR マージ指標
PR 指標を取得中

説明

I wanted to fix this issue myself, seemed easy enough. Probably in `runtime.c` where this line is:

```c
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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。