-
-
Notifications
You must be signed in to change notification settings - Fork 563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
appimage-extract(-and-run) don't preserve file timestamps #1151
Comments
Agree that extracting should obey creation timestamps, sounds reasonable to me. What about modification timestamps? How is this normally done by unarchiving programs? What do others think? |
According to Example:
"Access" and "Change" times were updated to current time. "Modify" time was preserved. Indeed, if I run the AppImage normally without extracting it, and while the application is open I either |
I think we should mirror the behavior of |
Yes. I looked at some other formats as well, and they all do the same thing as tar. |
Great, so we know what we should do. |
I wanted to fix this issue myself, seemed easy enough. Probably in
runtime.c
where this line is: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: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.
The text was updated successfully, but these errors were encountered: