From fe7a69e38981351393d900c37c756b7d5c14e14a Mon Sep 17 00:00:00 2001 From: Tanguy Date: Wed, 14 Dec 2022 12:10:00 +0100 Subject: [PATCH] Fix pinning system on devel (#820) --- .pinned | 20 +++--- libp2p.nimble | 10 ++- nimble.lock | 167 ++++++++++++++++++++++------------------------- tools/pinner.nim | 11 +++- 4 files changed, 105 insertions(+), 103 deletions(-) diff --git a/.pinned b/.pinned index 88d897cbc5..d54a1d4b31 100644 --- a/.pinned +++ b/.pinned @@ -1,16 +1,16 @@ -bearssl;https://github.com/status-im/nim-bearssl@#f4c4233de453cb7eac0ce3f3ffad6496295f83ab +bearssl;https://github.com/status-im/nim-bearssl@#a647994910904b0103a05db3a5ec1ecfc4d91a88 chronicles;https://github.com/status-im/nim-chronicles@#32ac8679680ea699f7dbc046e8e0131cac97d41a -chronos;https://github.com/status-im/nim-chronos@#6525f4ce1d1a7eba146e5f1a53f6f105077ae686 +chronos;https://github.com/status-im/nim-chronos@#75d030ff71264513fb9701c75a326cd36fcb4692 dnsclient;https://github.com/ba0f3/dnsclient.nim@#fcd7443634b950eaea574e5eaa00a628ae029823 -faststreams;https://github.com/status-im/nim-faststreams@#6112432b3a81d9db116cd5d64c39648881cfff29 -httputils;https://github.com/status-im/nim-http-utils@#e88e231dfcef4585fe3b2fbd9b664dbd28a88040 -json_serialization;https://github.com/status-im/nim-json-serialization@#e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4 -metrics;https://github.com/status-im/nim-metrics@#0a6477268e850d7bc98347b3875301524871765f +faststreams;https://github.com/status-im/nim-faststreams@#b42daf41d8eb4fbce40add6836bed838f8d85b6f +httputils;https://github.com/status-im/nim-http-utils@#a85bd52ae0a956983ca6b3267c72961d2ec0245f +json_serialization;https://github.com/status-im/nim-json-serialization@#a7d815ed92f200f490c95d3cfd722089cc923ce6 +metrics;https://github.com/status-im/nim-metrics@#21e99a2e9d9f80e68bef65c80ef781613005fccb nimcrypto;https://github.com/cheatfate/nimcrypto@#24e006df85927f64916e60511620583b11403178 -secp256k1;https://github.com/status-im/nim-secp256k1@#c7f1a37d9b0f17292649bfed8bf6cef83cf4221f -serialization;https://github.com/status-im/nim-serialization@#60a5bd8ac0461dfadd3069fd9c01a7734f205995 -stew;https://github.com/status-im/nim-stew@#23da07c9b59c0ba3d4efa7e4e6e2c4121ae5a156 +secp256k1;https://github.com/status-im/nim-secp256k1@#fd173fdff863ce2e211cf64c9a03bc7539fe40b0 +serialization;https://github.com/status-im/nim-serialization@#d77417cba6896c26287a68e6a95762e45a1b87e5 +stew;https://github.com/status-im/nim-stew@#7184d2424dc3945657884646a72715d494917aad testutils;https://github.com/status-im/nim-testutils@#dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34 unittest2;https://github.com/status-im/nim-unittest2@#da8398c45cafd5bd7772da1fc96e3924a18d3823 -websock;https://github.com/status-im/nim-websock@#acbe30e9ca1e51dcbbfe4c552ee6f16c7eede538 +websock;https://github.com/status-im/nim-websock@#691f069b209d372b1240d5ae1f57fb7bbafeaba7 zlib;https://github.com/status-im/nim-zlib@#6a6670afba6b97b29b920340e2641978c05ab4d8 \ No newline at end of file diff --git a/libp2p.nimble b/libp2p.nimble index ac1407905a..85ba6bf918 100644 --- a/libp2p.nimble +++ b/libp2p.nimble @@ -139,9 +139,13 @@ task install_pinned, "Reads the lockfile": # Remove the automatically installed deps # (inefficient you say?) - let allowedDirectories = toInstall.mapIt(it[0] & "-" & it[1].split('@')[1]) - for dependency in listDirs("nimbledeps/pkgs"): - if dependency.extractFilename notin allowedDirectories: + let nimblePkgs = + if system.dirExists("nimbledeps/pkgs"): "nimbledeps/pkgs" + else: "nimbledeps/pkgs2" + for dependency in listDirs(nimblePkgs): + let filename = dependency.extractFilename + if toInstall.anyIt(filename.startsWith(it[0]) and + filename.endsWith(it[1].split('#')[^1])) == false: rmDir(dependency) task unpin, "Restore global package use": diff --git a/nimble.lock b/nimble.lock index a2fc36c53a..2c0d986664 100644 --- a/nimble.lock +++ b/nimble.lock @@ -2,53 +2,68 @@ "version": 1, "packages": { "unittest2": { - "version": "0.0.4", - "vcsRevision": "f180f596c88dfd266f746ed6f8dbebce39c824db", - "url": "https://github.com/status-im/nim-unittest2.git", + "version": "0.0.5", + "vcsRevision": "da8398c45cafd5bd7772da1fc96e3924a18d3823", + "url": "https://github.com/status-im/nim-unittest2", "downloadMethod": "git", "dependencies": [], "checksums": { - "sha1": "fa309c41eaf6ef57895b9e603f2620a2f6e11780" + "sha1": "b3f8493a4948989ef3e645a38b23aad77e851e26" + } + }, + "testutils": { + "version": "0.5.0", + "vcsRevision": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34", + "url": "https://github.com/status-im/nim-testutils", + "downloadMethod": "git", + "dependencies": [ + "unittest2" + ], + "checksums": { + "sha1": "756d0757c4dd06a068f9d38c7f238576ba5ee897" } }, "stew": { "version": "0.1.0", - "vcsRevision": "6ad35b876fb6ebe0dfee0f697af173acc47906ee", - "url": "https://github.com/status-im/nim-stew.git", + "vcsRevision": "7184d2424dc3945657884646a72715d494917aad", + "url": "https://github.com/status-im/nim-stew", "downloadMethod": "git", - "dependencies": [], + "dependencies": [ + "unittest2" + ], "checksums": { - "sha1": "46d58c4feb457f3241e3347778334e325dce5268" + "sha1": "f3125ed2fd126dfd3edbaea14275abd9fa57d703" } }, "bearssl": { - "version": "0.1.5", - "vcsRevision": "ba80e2a0d7ae8aab666cee013e38ff8d33a3e5e7", + "version": "0.2.0", + "vcsRevision": "a647994910904b0103a05db3a5ec1ecfc4d91a88", "url": "https://github.com/status-im/nim-bearssl", "downloadMethod": "git", "dependencies": [ "unittest2" ], "checksums": { - "sha1": "383abd5becc77bf8e365b780a29d20529e1d9c4c" + "sha1": "d634751df2716ea9975912a2d5d0a090bb6bcfa9" } }, "httputils": { "version": "0.3.0", - "vcsRevision": "689da19e9e9cfff4ced85e2b25c6b2b5598ed079", - "url": "https://github.com/status-im/nim-http-utils.git", + "vcsRevision": "a85bd52ae0a956983ca6b3267c72961d2ec0245f", + "url": "https://github.com/status-im/nim-http-utils", "downloadMethod": "git", "dependencies": [ - "stew" + "stew", + "unittest2" ], "checksums": { - "sha1": "4ad3ad68d13c50184180ab4b2eacc0bd7ed2ed44" + "sha1": "92933b21bcd29335f68e377e2b2193fa331e28b3" } }, "chronos": { "version": "3.0.11", - "vcsRevision": "17fed89c99beac5a92d3668d0d3e9b0e4ac13936", - "url": "https://github.com/status-im/nim-chronos.git", + "vcsRevision": "75d030ff71264513fb9701c75a326cd36fcb4692", + "url": "https://github.com/status-im/nim-chronos", "downloadMethod": "git", "dependencies": [ "stew", @@ -57,52 +72,27 @@ "unittest2" ], "checksums": { - "sha1": "f6fffc87571e5f76af2a77c4ebcc0e00909ced4e" - } - }, - "metrics": { - "version": "0.0.1", - "vcsRevision": "71e0f0e354e1f4c59e3dc92153989c8b723c3440", - "url": "https://github.com/status-im/nim-metrics", - "downloadMethod": "git", - "dependencies": [ - "chronos" - ], - "checksums": { - "sha1": "86da251fe532ef2163da30343688ab1c148c0340" - } - }, - "testutils": { - "version": "0.4.2", - "vcsRevision": "aa6e5216f4b4ab5aa971cdcdd70e1ec1203cedf2", - "url": "https://github.com/status-im/nim-testutils", - "downloadMethod": "git", - "dependencies": [ - "unittest2" - ], - "checksums": { - "sha1": "94427e0cce0e0c5841edcd3a6530b4e6b857a3cb" + "sha1": "57a674ba3c1a57a694fa7810d93ceb68f338a861" } }, "faststreams": { "version": "0.3.0", - "vcsRevision": "1b561a9e71b6bdad1c1cdff753418906037e9d09", - "url": "https://github.com/status-im/nim-faststreams.git", + "vcsRevision": "b42daf41d8eb4fbce40add6836bed838f8d85b6f", + "url": "https://github.com/status-im/nim-faststreams", "downloadMethod": "git", "dependencies": [ "stew", - "testutils", "chronos", "unittest2" ], "checksums": { - "sha1": "97edf9797924af48566a0af8267203dc21d80c77" + "sha1": "62f7ac8fb200a8ecb9e6c63f5553a7dad66ae613" } }, "serialization": { "version": "0.1.0", - "vcsRevision": "fcd0eadadde0ee000a63df8ab21dc4e9f015a790", - "url": "https://github.com/status-im/nim-serialization.git", + "vcsRevision": "d77417cba6896c26287a68e6a95762e45a1b87e5", + "url": "https://github.com/status-im/nim-serialization", "downloadMethod": "git", "dependencies": [ "faststreams", @@ -110,70 +100,72 @@ "stew" ], "checksums": { - "sha1": "fef59519892cac70cccd81b612085caaa5e3e6cf" + "sha1": "e17244c6654de22254acb9bcf71d8ddbeca8b2aa" + } + }, + "metrics": { + "version": "0.0.1", + "vcsRevision": "21e99a2e9d9f80e68bef65c80ef781613005fccb", + "url": "https://github.com/status-im/nim-metrics", + "downloadMethod": "git", + "dependencies": [ + "chronos" + ], + "checksums": { + "sha1": "ab1c994bbcd6b04f2500f05d8ea4e463f33dd310" + } + }, + "nimcrypto": { + "version": "0.5.4", + "vcsRevision": "24e006df85927f64916e60511620583b11403178", + "url": "https://github.com/cheatfate/nimcrypto", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "a4db2105de265930f1578bb7957f49fa39b10d9b" } }, "json_serialization": { "version": "0.1.0", - "vcsRevision": "c5f0e2465e8375dfc7aa0f56ccef67cb680bc6b0", - "url": "https://github.com/status-im/nim-json-serialization.git", + "vcsRevision": "a7d815ed92f200f490c95d3cfd722089cc923ce6", + "url": "https://github.com/status-im/nim-json-serialization", "downloadMethod": "git", "dependencies": [ "serialization", "stew" ], "checksums": { - "sha1": "d89d79d0679a3a41b350e3ad4be56c0308cc5ec6" + "sha1": "50fc34a992ef3df68a7bee88af096bb8ed42572f" } }, "chronicles": { - "version": "0.10.2", - "vcsRevision": "1682096306ddba8185dcfac360a8c3f952d721e4", - "url": "https://github.com/status-im/nim-chronicles.git", + "version": "0.10.3", + "vcsRevision": "32ac8679680ea699f7dbc046e8e0131cac97d41a", + "url": "https://github.com/status-im/nim-chronicles", "downloadMethod": "git", "dependencies": [ "testutils", "json_serialization" ], "checksums": { - "sha1": "9a5bebb76b0f7d587a31e621d260119279e91c76" - } - }, - "asynctest": { - "version": "0.3.1", - "vcsRevision": "5347c59b4b057443a014722aa40800cd8bb95c69", - "url": "https://github.com/status-im/asynctest.git", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "53e0b610d13700296755a4ebe789882cae47a3b9" - } - }, - "nimcrypto": { - "version": "0.5.4", - "vcsRevision": "a5742a9a214ac33f91615f3862c7b099aec43b00", - "url": "https://github.com/cheatfate/nimcrypto", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "f76c87707cd4e96355b8bb6ef27e7f8b0aac1e08" + "sha1": "79f09526d4d9b9196dd2f6a75310d71a890c4f88" } }, "zlib": { "version": "0.1.0", - "vcsRevision": "74cdeb54b21bededb5a515d36f608bc1850555a2", + "vcsRevision": "6a6670afba6b97b29b920340e2641978c05ab4d8", "url": "https://github.com/status-im/nim-zlib", "downloadMethod": "git", "dependencies": [ "stew" ], "checksums": { - "sha1": "01d330dc4c1924e56b1559ee73bc760e526f635c" + "sha1": "2621e46369be2a6846713e8c3d681a5bba3e0325" } }, "websock": { "version": "0.1.0", - "vcsRevision": "73edde4417f7b45003113b7a34212c3ccd95b9fd", + "vcsRevision": "691f069b209d372b1240d5ae1f57fb7bbafeaba7", "url": "https://github.com/status-im/nim-websock", "downloadMethod": "git", "dependencies": [ @@ -181,36 +173,35 @@ "httputils", "chronicles", "stew", - "asynctest", "nimcrypto", "bearssl", "zlib" ], "checksums": { - "sha1": "ec2b137543f280298ca48de9ed4461a033ba88d3" + "sha1": "c71edfce064e7c0cadde0e687c6edc0caaf9ec07" } }, "dnsclient": { - "version": "0.1.2", - "vcsRevision": "fbb76f8af8a33ab818184a7d4406d9fee20993be", - "url": "https://github.com/ba0f3/dnsclient.nim.git", + "version": "0.3.2", + "vcsRevision": "fcd7443634b950eaea574e5eaa00a628ae029823", + "url": "https://github.com/ba0f3/dnsclient.nim", "downloadMethod": "git", "dependencies": [], "checksums": { - "sha1": "663239a914c814204b30dda6e0902cc0fbd0b8ee" + "sha1": "146aa4a8d512a3a786c5bf54311b79900166d9d7" } }, "secp256k1": { "version": "0.5.2", - "vcsRevision": "5340cf188168d6afcafc8023770d880f067c0b2f", - "url": "https://github.com/status-im/nim-secp256k1.git", + "vcsRevision": "fd173fdff863ce2e211cf64c9a03bc7539fe40b0", + "url": "https://github.com/status-im/nim-secp256k1", "downloadMethod": "git", "dependencies": [ "stew", "nimcrypto" ], "checksums": { - "sha1": "ae9cbea4487be94a06653ffee075a7f1bd1e231e" + "sha1": "657c79f6f2b1b6da92a9cda81ffc9f95d26443cb" } } } diff --git a/tools/pinner.nim b/tools/pinner.nim index 702870d396..3417454e3e 100644 --- a/tools/pinner.nim +++ b/tools/pinner.nim @@ -13,8 +13,15 @@ createDir("nimbledeps") discard execCmd("nimble install -dy") var allDeps: Table[string, string] -for (_, dependency) in walkDir("nimbledeps/pkgs"): - let fileContent = parseJson(readFile(dependency & "/nimblemeta.json")) +let nimblePkgs = + if dirExists("nimbledeps/pkgs"): "nimbledeps/pkgs" + else: "nimbledeps/pkgs2" +for (_, dependency) in walkDir(nimblePkgs): + let + jsonContent = parseJson(readFile(dependency & "/nimblemeta.json")) + fileContent = + if "metaData" in jsonContent: jsonContent["metaData"] + else: jsonContent let url = fileContent.getOrDefault("url").getStr("") var version = fileContent.getOrDefault("vcsRevision").getStr("") var packageName = dependency.split('/')[^1].split('-')[0]