From 44be7b8c31f08ddde7ea6d35c299ba051c2eeec6 Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Thu, 23 May 2019 12:05:24 +0900 Subject: [PATCH] bump litecoin --- README.md | 2 +- contrib/DockerFileBuildHelper/Program.cs | 9 ++++-- contrib/build-all-images.sh | 10 +++---- .../docker-fragments/litecoin.yml | 2 +- .../src/DockerComposeDefinition.cs | 30 +++++++++++++++++-- docker-compose-generator/src/Program.cs | 2 +- 6 files changed, 42 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 7258006..e456ac5 100644 --- a/README.md +++ b/README.md @@ -335,7 +335,7 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H | groestlcoin-clightning.yml | groestlcoin/lightning | v0.7.0 | [✔️](https://raw.githubusercontent.com/Groestlcoin/lightning/v0.7.0/Dockerfile) | ️❌ | [Github](https://github.com/Groestlcoin/lightning) - [DockerHub](https://hub.docker.com/r/groestlcoin/lightning) | | groestlcoin-clightning.yml | groestlcoin/groestlcoin-lightning-charge | version-0.4.7 | [✔️](https://raw.githubusercontent.com/Groestlcoin/groestlcoin-lightning-charge/v0.4.7/Dockerfile) | ️❌ | [Github](https://github.com/Groestlcoin/groestlcoin-lightning-charge) - [DockerHub](https://hub.docker.com/r/groestlcoin/groestlcoin-lightning-charge) | | groestlcoin-clightning.yml | groestlcoin/groestlcoin-spark | version-0.2.4 | [✔️](https://raw.githubusercontent.com/Groestlcoin/groestlcoin-spark/v0.2.4/Dockerfile) | ️❌ | [Github](https://github.com/Groestlcoin/groestlcoin-spark) - [DockerHub](https://hub.docker.com/r/groestlcoin/groestlcoin-spark) | -| litecoin.yml | btcpayserver/litecoin | 0.17.1 | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1/Litecoin/0.17.1/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1/Litecoin/0.17.1/linuxarm32v7.Dockerfile) | [Github](https://github.com/btcpayserver/dockerfile-deps) - [DockerHub](https://hub.docker.com/r/btcpayserver/litecoin) | +| litecoin.yml | btcpayserver/litecoin | 0.17.1-1 | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1-1/Litecoin/0.17.1/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1-1/Litecoin/0.17.1/linuxarm32v7.Dockerfile) | [Github](https://github.com/btcpayserver/dockerfile-deps) - [DockerHub](https://hub.docker.com/r/btcpayserver/litecoin) | | litecoin-clightning.yml | btcpayserver/lightning | v0.7.0-3 | [✔️](https://raw.githubusercontent.com/btcpayserver/lightning/basedon-v0.7.0-3/Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/lightning/basedon-v0.7.0-3/contrib/linuxarm32v7.Dockerfile) | [Github](https://github.com/btcpayserver/lightning) - [DockerHub](https://hub.docker.com/r/btcpayserver/lightning) | | litecoin-lnd.yml | btcpayserver/lnd | v0.6-beta | [✔️](https://raw.githubusercontent.com/btcpayserver/lnd/basedon-v0.6-beta/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/lnd/basedon-v0.6-beta/linuxarm32v7.Dockerfile) | [Github](https://github.com/btcpayserver/lnd) - [DockerHub](https://hub.docker.com/r/btcpayserver/lnd) | | monacoin.yml | wakiyamap/docker-monacoin | 0.16.3 | [✔️](https://raw.githubusercontent.com/wakiyamap/docker-bitcoin/master/monacoin/0.16.3/Dockerfile) | ️❌ | [Github](https://github.com/wakiyamap/docker-bitcoin) - [DockerHub](https://hub.docker.com/r/wakiyamap/docker-monacoin) | diff --git a/contrib/DockerFileBuildHelper/Program.cs b/contrib/DockerFileBuildHelper/Program.cs index 6cf52f4..d3ef0e2 100644 --- a/contrib/DockerFileBuildHelper/Program.cs +++ b/contrib/DockerFileBuildHelper/Program.cs @@ -389,8 +389,8 @@ namespace DockerFileBuildHelper dockerInfo.GitRef = "master"; break; case "litecoin": - dockerInfo.DockerFilePath = $"Litecoin/{image.Tag}/linuxamd64.Dockerfile"; - dockerInfo.DockerFilePathARM32v7 = $"Litecoin/{image.Tag}/linuxarm32v7.Dockerfile"; + dockerInfo.DockerFilePath = $"Litecoin/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; + dockerInfo.DockerFilePathARM32v7 = $"Litecoin/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Litecoin/{image.Tag}"; break; @@ -459,7 +459,10 @@ namespace DockerFileBuildHelper dockerInfo.Image = image; return dockerInfo; } - + string NoRevision(string str) + { + return str.Split('-').First(); + } private YamlMappingNode ParseDocument(string fragment) { var input = new StringReader(File.ReadAllText(fragment)); diff --git a/contrib/build-all-images.sh b/contrib/build-all-images.sh index 279cadc..eec72e0 100755 --- a/contrib/build-all-images.sh +++ b/contrib/build-all-images.sh @@ -295,16 +295,16 @@ cd - && cd .. # Build litecoin -# https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1/Litecoin/0.17.1/linuxamd64.Dockerfile +# https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1-1/Litecoin/0.17.1/linuxamd64.Dockerfile DOCKERFILE="Litecoin/0.17.1/linuxamd64.Dockerfile" -# https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1/Litecoin/0.17.1/linuxarm32v7.Dockerfile +# https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1-1/Litecoin/0.17.1/linuxarm32v7.Dockerfile [[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="Litecoin/0.17.1/linuxarm32v7.Dockerfile" -echo "Building btcpayserver/litecoin:0.17.1" +echo "Building btcpayserver/litecoin:0.17.1-1" git clone https://github.com/btcpayserver/dockerfile-deps litecoin cd litecoin -git checkout Litecoin/0.17.1 +git checkout Litecoin/0.17.1-1 cd "$(dirname $DOCKERFILE)" -docker build -f "$DOCKERFILE" -t "btcpayserver/litecoin:0.17.1" . +docker build -f "$DOCKERFILE" -t "btcpayserver/litecoin:0.17.1-1" . cd - && cd .. diff --git a/docker-compose-generator/docker-fragments/litecoin.yml b/docker-compose-generator/docker-fragments/litecoin.yml index f039fe2..18d2448 100644 --- a/docker-compose-generator/docker-fragments/litecoin.yml +++ b/docker-compose-generator/docker-fragments/litecoin.yml @@ -4,7 +4,7 @@ services: litecoind: restart: unless-stopped container_name: btcpayserver_litecoind - image: btcpayserver/litecoin:0.17.1 + image: btcpayserver/litecoin:0.17.1-1 environment: BITCOIN_NETWORK: ${NBITCOIN_NETWORK:-regtest} BITCOIN_EXTRA_ARGS: | diff --git a/docker-compose-generator/src/DockerComposeDefinition.cs b/docker-compose-generator/src/DockerComposeDefinition.cs index 01ca5ff..4ea7019 100644 --- a/docker-compose-generator/src/DockerComposeDefinition.cs +++ b/docker-compose-generator/src/DockerComposeDefinition.cs @@ -10,13 +10,13 @@ namespace DockerGenerator { public class DockerComposeDefinition { - public List Fragments + public HashSet Fragments { get; set; } private string _Name; - public DockerComposeDefinition(string name, List fragments) + public DockerComposeDefinition(string name, HashSet fragments) { Fragments = fragments; _Name = name; @@ -55,6 +55,27 @@ namespace DockerGenerator Console.WriteLine($"\t{fragment}"); } } + + var deps = new HashSet(); + foreach (var doc in Fragments.Select(f => ParseDocument(f))) + { + GetDeps(deps, doc); + } + + foreach (var fragment in deps.Where(d => Fragments.Add(d))) + { + var fragmentPath = GetFragmentLocation(fragment); + if (!File.Exists(fragmentPath)) + { + Console.WriteLine($"\t{fragment} not found in {fragmentPath}, ignoring..."); + Fragments.Remove(fragment); + } + else + { + Console.WriteLine($"\t{fragment}"); + } + } + var services = new List>(); var volumes = new List>(); var networks = new List>(); @@ -89,6 +110,11 @@ namespace DockerGenerator Console.WriteLine(); } + private void GetDeps(HashSet deps, YamlMappingNode doc) + { + throw new NotImplementedException(); + } + private KeyValuePair[] Merge(List> services) { return services diff --git a/docker-compose-generator/src/Program.cs b/docker-compose-generator/src/Program.cs index 50d5246..4193ee2 100644 --- a/docker-compose-generator/src/Program.cs +++ b/docker-compose-generator/src/Program.cs @@ -73,7 +73,7 @@ namespace DockerGenerator fragments.Add(fragment.Trim()); } fragments = fragments.Where(s => !composition.ExcludeFragments.Contains(s)).ToHashSet(); - var def = new DockerComposeDefinition(name, fragments.ToList()); + var def = new DockerComposeDefinition(name, fragments); def.FragmentLocation = fragmentLocation; def.BuildOutputDirectory = output; def.Build();