NixOS/nix

fetchTree: use last-modified HTTP header where possible

オープン

#9,067 opened on 2023/09/29

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)C++ (1,293 件のフォーク)batch import
featurefetchinggood first issue

Repository metrics

Stars
 (9,803 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Is your feature request related to a problem? Please describe.

Currently fetchTree with type=tarball+http(s) gets lastModified from the mtime of the tarball contents. Some formats such as zip do not include this metadata, so lastModified ends up being incorrectly set to the current time.

type=file+http(s) does not set lastModified at all.

Describe the solution you'd like

Most webservers, when serving static files, will send a last-modified header set to the mtime of the served file. We could set lastModified to this value, or use it as fallback when mtime of contents is absent.

Describe alternatives you've considered

Do not set lastModified when mtime metadata is not present in archives. This should probably be done anyway when neither mtime nor last-modified is present.

Additional context

Priorities

Add :+1: to issues you find important.

コントリビューターガイド