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 摘要。