-
-
Notifications
You must be signed in to change notification settings - Fork 102
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
Use permanent URL instead of latest #61
Comments
It’s easy to find the ISO URLs, but I would also like to update the Ruby script
In conclusion I propose to keep the channel hard-coded in the script, and update it twice a year. By the way, I’m going to hard-code the URL patterns. Is it acceptable? It could be less adaptive than current solution of HTML look up; note that current URL pattern lasted only for a year (since 145f7ce). I would also like to know ideas from @cdituri as author of #58. |
The checksum is failing at the moment btw. |
@nrdsp thank you for reporting the checksum failure. @FranklinYu apologies for any delay. COVID certainly caused an impact on my side; and I would safely venture everyone else as well. I see you tagged me in your comment a while back. Will carve out some time this weekend to circle back and gather thoughts. Thank you for submitting this issue. |
@FranklinYu makes sense what you propose, least from my perspective. The only gotcha here looks to be the choice of urls. channels.nixos.org and releases.nixos.org are both backed by s3 bucket. If you hit these directly, for example Thus if Open to all thoughts, opinions, and suggestions. curl -s 'https://nix-releases.s3.amazonaws.com/?delimiter=/&prefix=nixos/20.03/' | xmllint --format -<?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>nix-releases</Name> <Prefix>nixos/20.03/</Prefix> <Marker/> <MaxKeys>1000</MaxKeys> <Delimiter>/</Delimiter> <IsTruncated>false</IsTruncated> <Contents> <Key>nixos/20.03/nixos-20.03.1405.a17e021b948</Key> <LastModified>2020-04-19T22:02:22.000Z</LastModified> <ETag>"555a156b126ceb66f777de2b33446736"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1414.e03eeffd616</Key> <LastModified>2020-04-20T11:53:12.000Z</LastModified> <ETag>"ae04e8db7d8d45e058c0ed4f95c5f19d"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1418.5272327b81e</Key> <LastModified>2020-04-20T21:10:55.000Z</LastModified> <ETag>"fe07e5628aa9a82f9cd7e1964804dd5d"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1422.1e90c46c2d9</Key> <LastModified>2020-04-21T16:43:04.000Z</LastModified> <ETag>"fe951ddceb7550654e7e451c18ac48e1"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1438.63284ecf6fb</Key> <LastModified>2020-04-22T20:50:23.000Z</LastModified> <ETag>"d7ad2f22383b37d25c3409f63ccf9c41"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1445.95b9c99f6d0</Key> <LastModified>2020-04-22T22:46:00.000Z</LastModified> <ETag>"f40f71f32fb512d7c4856b999ed24946"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1574.4b6bfecc0bd</Key> <LastModified>2020-04-26T15:26:13.000Z</LastModified> <ETag>"4ba65c0991c3f1554f77df074736addc"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1577.74a80c5a9ab</Key> <LastModified>2020-04-26T17:55:42.000Z</LastModified> <ETag>"d09eb114cc5940cd9e9e8036a3a84c59"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1589.9137f05564e</Key> <LastModified>2020-04-27T09:27:12.000Z</LastModified> <ETag>"b757371f09bc04b722b3481c41eccfae"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1596.2faa76db27c</Key> <LastModified>2020-04-28T03:15:22.000Z</LastModified> <ETag>"c9160dc84cdde12558a74784b7997ac4"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1602.365ca111211</Key> <LastModified>2020-04-29T01:10:25.000Z</LastModified> <ETag>"02dcdfeb9fa1fa7a39ce3a35145b66a3"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1619.ab3adfe1c76</Key> <LastModified>2020-04-29T06:52:38.000Z</LastModified> <ETag>"0ceeea0e17d6d35f34a6beb72dbf7ec4"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1739.4d373182597</Key> <LastModified>2020-05-06T08:12:51.000Z</LastModified> <ETag>"f767e2877b15c41859515d9343fe35e3"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1754.b0e3df2f843</Key> <LastModified>2020-05-07T09:38:41.000Z</LastModified> <ETag>"c1eafefa9199df3a1ea086ac2c98a552"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1782.210d8624ac4</Key> <LastModified>2020-05-08T16:52:43.000Z</LastModified> <ETag>"70aae143bcdd981894781b2e417f9091"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1791.6958957214b</Key> <LastModified>2020-05-09T00:11:26.000Z</LastModified> <ETag>"0a288f0bbeb0a0ebbdefa1181340ddb9"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1795.d6c1b566b77</Key> <LastModified>2020-05-09T11:44:24.000Z</LastModified> <ETag>"5986e323f8e07abda59fe08833041862"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1812.14dd961b8d5</Key> <LastModified>2020-05-10T15:52:06.000Z</LastModified> <ETag>"537492c82b4a9fa563291834ccaa65fb"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1822.5adf2a6c116</Key> <LastModified>2020-05-11T13:25:28.000Z</LastModified> <ETag>"4f1a6feba24e2355114d7336f4f6148e"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1844.a4f8cec54dc</Key> <LastModified>2020-05-14T08:44:29.000Z</LastModified> <ETag>"1942c9d502360dc81ce086185b2a4385"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1853.7829e5791ba</Key> <LastModified>2020-05-14T19:56:37.000Z</LastModified> <ETag>"7e75896fb5367c538b3c2c2e1ad93129"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1866.a7c70f2e10b</Key> <LastModified>2020-05-15T11:47:37.000Z</LastModified> <ETag>"2be039a694aaa391902716b07e67112a"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1879.91cdcf31357</Key> <LastModified>2020-05-16T07:23:34.000Z</LastModified> <ETag>"c50f540e62d122c71ca781bad7f0097b"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1885.885a6658073</Key> <LastModified>2020-05-16T23:53:08.000Z</LastModified> <ETag>"244ef7af6462fd32982e9f3971be6ae9"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1896.025deb80b24</Key> <LastModified>2020-05-17T11:52:09.000Z</LastModified> <ETag>"885e8fa7906afd0e120f4fb9c8983a0a"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1917.82b5f87fcc7</Key> <LastModified>2020-05-19T14:50:00.000Z</LastModified> <ETag>"4d05f4f15f7d5c1265ce8208a8747ea1"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1926.f45ccd9d20b</Key> <LastModified>2020-05-20T17:52:20.000Z</LastModified> <ETag>"3464f770ea997f852224baab1e6dbe57"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1942.6d68b920eb2</Key> <LastModified>2020-05-22T01:58:29.000Z</LastModified> <ETag>"eb034899f79f83556fa8275d97ea520d"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1950.48723f48ab9</Key> <LastModified>2020-05-22T17:14:51.000Z</LastModified> <ETag>"63ed1a07ff9a6565a41bea7e4c6aaa03"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1996.fc60ed1fffb</Key> <LastModified>2020-05-28T17:18:51.000Z</LastModified> <ETag>"be47e8e4c8ac41b03ac1fef6ddc28a5b"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.1998.93b68c7cc5a</Key> <LastModified>2020-05-28T19:18:40.000Z</LastModified> <ETag>"2ea1098591fab0a435784ac16adbd8bf"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.2012.71c059d12a8</Key> <LastModified>2020-05-29T02:50:02.000Z</LastModified> <ETag>"9bedbb3c7588e3a67943c820b9dadb1d"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.2013.e985ffea2d6</Key> <LastModified>2020-05-29T06:29:56.000Z</LastModified> <ETag>"a7d7cdc026b81ebd97bd0b688368e0f3"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.2015.e7752db2fb6</Key> <LastModified>2020-05-29T20:08:11.000Z</LastModified> <ETag>"0bed3325df536f1e11547c0736af66f1"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03.2059.05a32d8e771</Key> <LastModified>2020-06-04T07:28:13.000Z</LastModified> <ETag>"44f199c3f8d996b3ac61ab8859d09439"</ETag> <Size>3201</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta-410.67c24f6f8a7</Key> <LastModified>2020-02-25T11:42:22.000Z</LastModified> <ETag>"11b13ac256d690a4e0a10301ed8a3fe7"</ETag> <Size>2823</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta-436.43ab8e86ca6</Key> <LastModified>2020-03-03T10:05:30.000Z</LastModified> <ETag>"17e886b9ecb2db17e4f99122d167f436"</ETag> <Size>2823</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta-475.71be729a58e</Key> <LastModified>2020-02-20T11:23:38.000Z</LastModified> <ETag>"1f76d69c64aea9bcb804e6008a620780"</ETag> <Size>2823</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1010.5bf91db519c</Key> <LastModified>2020-04-04T01:45:15.000Z</LastModified> <ETag>"8606dd07aff91f96774478bc9fb5ca21"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1023.e89b1063fb5</Key> <LastModified>2020-04-04T07:27:36.000Z</LastModified> <ETag>"7c3c7272fd7e29dcb634d60c71df9876"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1064.4dc8447c55f</Key> <LastModified>2020-04-04T15:34:50.000Z</LastModified> <ETag>"6c5e9ffdcc93970a79942f48bbb670cd"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1083.7c9e1ecdf5a</Key> <LastModified>2020-04-05T17:55:37.000Z</LastModified> <ETag>"e6b3205671baece56c574b77d60413f8"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1085.182f229ba7c</Key> <LastModified>2020-04-05T22:07:53.000Z</LastModified> <ETag>"5b959cc5203dbca213c83ff974bf71cb"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1088.0bb35152be8</Key> <LastModified>2020-04-06T09:14:50.000Z</LastModified> <ETag>"4698022e0f37dc5a86b40a8519c60e97"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1155.29eddfc36d7</Key> <LastModified>2020-04-07T22:27:22.000Z</LastModified> <ETag>"2197f1cc3f7543285728714117b56f48"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1301.708cb6b307b</Key> <LastModified>2020-04-13T22:26:16.000Z</LastModified> <ETag>"470593605b15898cf53e3660047b74c7"</ETag> <Size>3263</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1320.9f0f06ac8be</Key> <LastModified>2020-04-14T22:52:24.000Z</LastModified> <ETag>"5e47e48530d8c220ddeb939b5cf08b31"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1324.21750051b26</Key> <LastModified>2020-04-15T21:24:16.000Z</LastModified> <ETag>"33f0b2e6be16189004af0420dfe06363"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1341.a438aed5a6c</Key> <LastModified>2020-04-16T04:09:31.000Z</LastModified> <ETag>"9199ae3dcee245065c717c75bd311f00"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1355.0f920b05cbc</Key> <LastModified>2020-04-17T09:13:02.000Z</LastModified> <ETag>"5fa8c58bc81421f19982e33ab16bc86c"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta1405.a17e021b948</Key> <LastModified>2020-04-19T06:29:05.000Z</LastModified> <ETag>"fb2d9d9d70e9d4d436cb150168681a37"</ETag> <Size>3264</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta216.d31e383c44e</Key> <LastModified>2020-02-22T17:30:08.000Z</LastModified> <ETag>"848d6737c92bded2609be3223553a4e7"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta219.153baa26740</Key> <LastModified>2020-02-23T13:41:11.000Z</LastModified> <ETag>"dc063b6fb916342ea24acb07b59bc6d1"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta248.04aca9ac24a</Key> <LastModified>2020-02-23T18:05:44.000Z</LastModified> <ETag>"9bac1e59d95049006b2084397de5b45c"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta258.68df00b0ba6</Key> <LastModified>2020-02-24T16:20:07.000Z</LastModified> <ETag>"e3a9c37999864a04978471f9fa6a058b"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta315.8d49ebf4888</Key> <LastModified>2020-02-27T04:08:13.000Z</LastModified> <ETag>"834d2d15ce0d56fbac46631fe12289c8"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta321.be346a1f4bd</Key> <LastModified>2020-02-27T05:37:47.000Z</LastModified> <ETag>"aa142d3dfcc36b34aad5c0cedae7aba0"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta322.f823335caa8</Key> <LastModified>2020-02-27T23:47:18.000Z</LastModified> <ETag>"35b2b63593cedec3aa093725152338b1"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta331.a2bb258c603</Key> <LastModified>2020-02-28T09:38:42.000Z</LastModified> <ETag>"a09d01f3099a702fea738dc7d1c4484f"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta335.89536cd763c</Key> <LastModified>2020-02-28T21:58:37.000Z</LastModified> <ETag>"755a2420a892649c0e2e61f2640f567a"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta358.4f8bc8e10bf</Key> <LastModified>2020-02-29T15:09:08.000Z</LastModified> <ETag>"b16e290c924abd4607b83f34e6cfab9f"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta377.ebc9620c3f6</Key> <LastModified>2020-03-02T00:28:04.000Z</LastModified> <ETag>"80dc77aa0160ab54ca9f4f03456ebcee"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta387.61cc1f0dc07</Key> <LastModified>2020-03-02T15:54:55.000Z</LastModified> <ETag>"f02f6caaa08932ad1122efc1a1f05e03"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta441.08bcfe14ae2</Key> <LastModified>2020-03-05T13:34:12.000Z</LastModified> <ETag>"170a689ec3b01049063430a7c23c0ff1"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta448.1f99fd2fdbe</Key> <LastModified>2020-03-06T07:03:58.000Z</LastModified> <ETag>"741d1544dac2d449ae09d2cc455b2f07"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta451.4707311e202</Key> <LastModified>2020-03-07T05:46:13.000Z</LastModified> <ETag>"9c0fc18aacbfc67fb9abfee3e833042c"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta482.b780aefc621</Key> <LastModified>2020-03-07T19:47:32.000Z</LastModified> <ETag>"9436b918e591e59811c4dc83011dc2eb"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta497.cbe553c988a</Key> <LastModified>2020-03-08T01:54:14.000Z</LastModified> <ETag>"ca351c03872bf874c6f6e3c54bdd6cb9"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta499.fb34ac13e46</Key> <LastModified>2020-03-08T17:53:59.000Z</LastModified> <ETag>"8388572062acdef3362203446c3a455b"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta503.62b2bf3f8e8</Key> <LastModified>2020-03-09T07:43:38.000Z</LastModified> <ETag>"0297557879fcfc1af4788aaad680aa5f"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta529.da92e0566d1</Key> <LastModified>2020-03-10T03:59:01.000Z</LastModified> <ETag>"5eb1cebe3c8d2c755d8dbacf2bf5f680"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta536.dbacfa172f9</Key> <LastModified>2020-03-10T15:19:58.000Z</LastModified> <ETag>"833d9edb7b5b50cbf12e13cac489ef5e"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta570.730453919bd</Key> <LastModified>2020-03-13T21:05:35.000Z</LastModified> <ETag>"fac5b418ca703772d0b66d79d7dfdcfc"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta591.99a3d7a86fc</Key> <LastModified>2020-03-16T12:41:13.000Z</LastModified> <ETag>"951b84893eb7b7d19eb3c5466129c633"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta687.16dd1df0817</Key> <LastModified>2020-03-20T00:56:33.000Z</LastModified> <ETag>"d3d611fab0e509873b50a09671d66cb0"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta695.b2935fbecea</Key> <LastModified>2020-03-21T08:03:46.000Z</LastModified> <ETag>"2e77fcc26c7de0f5c451ad76bbb14890"</ETag> <Size>2804</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta786.c6839e5ae8c</Key> <LastModified>2020-03-26T18:25:43.000Z</LastModified> <ETag>"a29fa1c958b6549b3b54a4472874e5f0"</ETag> <Size>3243</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta806.3a009bd5daf</Key> <LastModified>2020-03-26T22:06:42.000Z</LastModified> <ETag>"0dec12a0e325cf0bd5f032fbbd0e1d69"</ETag> <Size>3243</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta835.85055b3ab7b</Key> <LastModified>2020-03-28T01:23:29.000Z</LastModified> <ETag>"693d3e8d49a8ddd918cd40e4ec45ceff"</ETag> <Size>3243</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>nixos/20.03/nixos-20.03beta874.b0c285807d6</Key> <LastModified>2020-03-28T16:48:37.000Z</LastModified> <ETag>"b458707e30dde3a7e32c805c8743a23b"</ETag> <Size>3243</Size> <StorageClass>STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1405.a17e021b948/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1414.e03eeffd616/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1418.5272327b81e/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1422.1e90c46c2d9/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1438.63284ecf6fb/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1445.95b9c99f6d0/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1574.4b6bfecc0bd/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1577.74a80c5a9ab/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1589.9137f05564e/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1596.2faa76db27c/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1602.365ca111211/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1619.ab3adfe1c76/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1739.4d373182597/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1754.b0e3df2f843/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1782.210d8624ac4/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1791.6958957214b/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1795.d6c1b566b77/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1812.14dd961b8d5/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1822.5adf2a6c116/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1844.a4f8cec54dc/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1853.7829e5791ba/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1866.a7c70f2e10b/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1879.91cdcf31357/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1885.885a6658073/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1896.025deb80b24/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1917.82b5f87fcc7/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1926.f45ccd9d20b/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1942.6d68b920eb2/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1950.48723f48ab9/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1996.fc60ed1fffb/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.1998.93b68c7cc5a/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.2012.71c059d12a8/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.2013.e985ffea2d6/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.2015.e7752db2fb6/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03.2059.05a32d8e771/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta-410.67c24f6f8a7/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta-436.43ab8e86ca6/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta-475.71be729a58e/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1010.5bf91db519c/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1023.e89b1063fb5/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1064.4dc8447c55f/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1083.7c9e1ecdf5a/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1085.182f229ba7c/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1088.0bb35152be8/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1155.29eddfc36d7/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1301.708cb6b307b/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1320.9f0f06ac8be/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1324.21750051b26/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1341.a438aed5a6c/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1355.0f920b05cbc/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta1405.a17e021b948/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta216.d31e383c44e/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta219.153baa26740/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta248.04aca9ac24a/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta258.68df00b0ba6/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta315.8d49ebf4888/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta321.be346a1f4bd/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta322.f823335caa8/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta331.a2bb258c603/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta335.89536cd763c/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta358.4f8bc8e10bf/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta377.ebc9620c3f6/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta387.61cc1f0dc07/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta441.08bcfe14ae2/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta448.1f99fd2fdbe/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta451.4707311e202/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta482.b780aefc621/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta497.cbe553c988a/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta499.fb34ac13e46/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta503.62b2bf3f8e8/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta529.da92e0566d1/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta536.dbacfa172f9/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta570.730453919bd/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta591.99a3d7a86fc/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta687.16dd1df0817/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta695.b2935fbecea/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta786.c6839e5ae8c/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta806.3a009bd5daf/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta835.85055b3ab7b/</Prefix> </CommonPrefixes> <CommonPrefixes> <Prefix>nixos/20.03/nixos-20.03beta874.b0c285807d6/</Prefix> </CommonPrefixes> </ListBucketResult> |
The below is by no means well written. Just threw something together quick to provide some colour to my comment above. Could be viable if cleaned up and made proper. Thoughts? #!/usr/bin/env nix-shell
#!nix-shell -i ruby
#
# Heuristic to update the ISO urls
#
require 'open-uri'
require 'json'
require 'rexml/document'
include REXML
isos = {}
keys = []
CHANNEL = "20.03"
BASE_URL = "https://nix-releases.s3.amazonaws.com"
RELEASES_URL = "#{BASE_URL}/?delimiter=/&prefix=nixos/#{CHANNEL}/"
xml = Document.new(open(RELEASES_URL))
xml.elements.each("ListBucketResult/Contents/Key") { |key|
if key.text !~ /beta/
keys.push(key.text)
end
}
latest = keys.sort!.last
keys = []
LATEST_URL = "https://nix-releases.s3.amazonaws.com/?delimiter=/&prefix=#{latest}/"
xml = Document.new(open(LATEST_URL))
xml.elements.each("ListBucketResult/Contents/Key") { |key|
if key.text =~ /nixos-minimal-.*-linux.iso/
keys.push(key.text)
end
}
i686, x86_64 = keys.partition { |el| el =~ /-i686-/ }
isos['i686'] = {
iso_url: BASE_URL + '/' + i686.select { |i| i =~ /\.iso$/ }.first,
iso_sha256: open(BASE_URL + '/' + i686.select { |i| i =~ /\.sha256$/ }.first).read.strip.split.first
}
isos['x86_64'] = {
iso_url: BASE_URL + '/' + x86_64.select { |i| i =~ /\.iso$/ }.first,
iso_sha256: open(BASE_URL + '/' + x86_64.select { |i| i =~ /\.sha256$/ }.first).read.strip.split.first
}
out = JSON.pretty_generate(isos)
puts out
File.write("iso_urls.json", out) { "i686": { "iso_url": "https://nix-releases.s3.amazonaws.com/nixos/20.03/nixos-20.03.2059.05a32d8e771/nixos-minimal-20.03.2059.05a32d8e771-i686-linux.iso", "iso_sha256": "9c684a943607d9b5804ed0ed413c44ac0e4e9dd0fbcad944fc7215376a42414c" }, "x86_64": { "iso_url": "https://nix-releases.s3.amazonaws.com/nixos/20.03/nixos-20.03.2059.05a32d8e771/nixos-minimal-20.03.2059.05a32d8e771-x86_64-linux.iso", "iso_sha256": "ef9c74e65185a36e61dbab842faeacebfc04fcc0608f19bd2aaae2cbfe620d45" } } |
sounds good to me! |
LGTM. By the way, I tried to find a documentation page for the XML from S3; the URL matches request syntax of REST API ListOpjects, but the response doesn’t match the Response Syntax section of that page at all. The page itself is inconsistent, since the Response Syntax section contradicts with Examples section. Amazon should seriously fix their documentation! I can’t believe that S3 is one of the most popular services they provide. In comparison, Google Cloud Storage provides JSON API. |
per nix-community#61, using a more specific URL will allow people to install a slightly-out-of-date version as long as it is hosted, after which the error will be that the release no longer exists rather than that its checksum has failed. This has a side benefit of happening failing more quickly, before the user has downloaded a full disk image.
per nix-community#61, using a more specific URL will allow people to install a slightly-out-of-date version as long as it is hosted, after which the error will be that the release no longer exists rather than that its checksum has failed. This has a side benefit of happening failing more quickly, before the user has downloaded a full disk image.
per #61, using a more specific URL will allow people to install a slightly-out-of-date version as long as it is hosted, after which the error will be that the release no longer exists rather than that its checksum has failed. This has a side benefit of happening failing more quickly, before the user has downloaded a full disk image.
Currently both 32-bit and 64-bit templates are referring to the “latest” ISO of current release. For example, the 64-bit one refers to
https://channels.nixos.org/nixos-20.03/latest-nixos-minimal-x86_64-linux.iso
This has the problem that there will be a gap between a new release in the channel and an update in this repository. During this gap, the checksum would fail.
I hereby propose to change the link to one with exact version number, such as
https://releases.nixos.org/nixos/20.03/nixos-20.03.1795.d6c1b566b77/nixos-minimal-20.03.1795.d6c1b566b77-x86_64-linux.iso
for 64-bit. This doesn’t remove the gap, but it allows users to keep using the old (albeit outdated) version during the gap. This change isn’t expected to add much maintenance burden, since the checksum would need an update anyway.
I can certainly make a PR for this, but since this affects maintenance update, I think it’s better to discuss in advance.
Note: the version number
20.03.1795.d6c1b566b77
can be extracted into Packer variable.The text was updated successfully, but these errors were encountered: