AppImage / AppImage/AppImageKit

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

未關閉
#1,151 6 則留言 0 個 reaction 已指派 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 摘要。