max / alloy
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
1 file changed,
+8 insertions,
-8 deletions
| @@ -300,13 +300,13 @@ | |||
| 300 | 300 | # joined the way `Face::cache_name` joins them, plus the `.zip` an archive-pinned | |
| 301 | 301 | # base caches and the `-LICENSE.txt` a `license_url` caches. | |
| 302 | 302 | # | |
| 303 | - | # THE ARCHIVE BRANCH NAMES ONLY THE ZIP, and that is a gap rather than the rule. | |
| 304 | - | # `license_text()` in quasi-type caches `<id>-<ver>-LICENSE.txt` for any base | |
| 305 | - | # declaring a `license_url`, archive-pinned or not, and reads the licence out of | |
| 306 | - | # the zip only when there is no such url. So an archive-pinned base that also | |
| 307 | - | # declares a `license_url` wants a file this derivation does not name, and a seed | |
| 308 | - | # built to it would be one file short. Neither base is in that shape today, which | |
| 309 | - | # is why nothing has failed; fix the derivation on the day one is. | |
| 303 | + | # THE ARCHIVE BRANCH NAMES THE ZIP AND THE LICENCE BOTH. `license_text()` in | |
| 304 | + | # quasi-type caches `<id>-<ver>-LICENSE.txt` for any base declaring a | |
| 305 | + | # `license_url`, archive-pinned or not, and reads the licence out of the zip only | |
| 306 | + | # when there is no such url. The licence entry therefore follows the url rather | |
| 307 | + | # than the shape of the pin, and the archive branch prints it too. Neither base | |
| 308 | + | # is archive-pinned today, so the derived list is the same either way; what this | |
| 309 | + | # buys is that the seed is not one file short on the day one is. | |
| 310 | 310 | # Derived rather than listed here because a list would be a second copy of the | |
| 311 | 311 | # pin, and it would go stale the first time QUASI_TYPE_REV moved to a base with | |
| 312 | 312 | # a new version in its file names. | |
| @@ -365,7 +365,7 @@ | |||
| 365 | 365 | b = 0; \ | |
| 366 | 366 | for (s = 1; s <= ns; s++) if (sid[s] == w[i]) for (k = 1; k <= nb; k++) if (bid[k] == sbase[s]) b = k; \ | |
| 367 | 367 | if (b == 0) { print "unknown-slot:" w[i]; continue } \ | |
| 368 | - | if (archive[b]) { print bid[b] "-" bver[b] ".zip"; continue } \ | |
| 368 | + | if (archive[b]) { print bid[b] "-" bver[b] ".zip"; if (license[b]) print bid[b] "-" bver[b] "-LICENSE.txt"; continue } \ | |
| 369 | 369 | m = split(faces[b], f, " "); \ | |
| 370 | 370 | for (j = 1; j <= m; j++) print bid[b] "-" bver[b] "-" f[j]; \ | |
| 371 | 371 | if (license[b]) print bid[b] "-" bver[b] "-LICENSE.txt"; \ |