Last active
September 7, 2021 12:10
-
-
Save antimon2/f07e0a2d182ba061d3960ff550ca6b71 to your computer and use it in GitHub Desktop.
JSON3.ParseAndVerifyVersionsJson.jl
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:28.500Z", | |
"end_time": "2021-09-07T20:00:29.810000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "versioninfo()", | |
"execution_count": 1, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": "Julia Version 1.6.2\nCommit 1b93d53fc4 (2021-07-14 15:36 UTC)\nPlatform Info:\n OS: Linux (x86_64-pc-linux-gnu)\n CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz\n WORD_SIZE: 64\n LIBM: libopenlibm\n LLVM: libLLVM-11.0.1 (ORCJIT, skylake)\n", | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:30.662Z", | |
"end_time": "2021-09-07T20:00:30.543000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "# ]activate .", | |
"execution_count": 2, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:31.036Z", | |
"end_time": "2021-09-07T20:00:30.945000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "# ]add JSON3\nusing JSON3", | |
"execution_count": 3, | |
"outputs": [] | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "read from https://julialang-s3.julialang.org/bin/versions.json" | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:32.182Z", | |
"end_time": "2021-09-07T20:00:32.177000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "using Downloads: Downloads", | |
"execution_count": 4, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:34.240Z", | |
"end_time": "2021-09-07T20:00:37.125000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "versions_json_src = read(Downloads.download(\"https://julialang-s3.julialang.org/bin/versions.json\"), String);", | |
"execution_count": 5, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.580Z", | |
"end_time": "2021-09-07T20:00:48.726000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "versions_json_simple = JSON3.read(versions_json_src)", | |
"execution_count": 6, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 6, | |
"data": { | |
"text/plain": "JSON3.Object{Base.CodeUnits{UInt8, String}, Vector{UInt64}} with 100 entries:\n Symbol(\"0.6.0\") => {…\n Symbol(\"1.0.3\") => {…\n Symbol(\"1.5.4\") => {…\n Symbol(\"1.5.0-beta1\") => {…\n Symbol(\"1.2.0\") => {…\n Symbol(\"0.7.0-rc1\") => {…\n Symbol(\"1.3.1\") => {…\n Symbol(\"0.7.0\") => {…\n Symbol(\"0.3.5\") => {…\n Symbol(\"1.4.1\") => {…\n Symbol(\"1.6.2\") => {…\n Symbol(\"0.4.5\") => {…\n Symbol(\"0.2.1\") => {…\n Symbol(\"0.6.0-rc3\") => {…\n Symbol(\"0.5.0-rc2\") => {…\n Symbol(\"0.5.2\") => {…\n Symbol(\"1.2.0-rc2\") => {…\n Symbol(\"0.7.0-rc2\") => {…\n Symbol(\"0.3.6\") => {…\n Symbol(\"1.0.5\") => {…\n Symbol(\"0.4.6\") => {…\n Symbol(\"1.3.0-rc2\") => {…\n Symbol(\"1.6.0\") => {…\n Symbol(\"0.5.0\") => {…\n Symbol(\"1.1.0-rc1\") => {…\n ⋮ => ⋮" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.582Z", | |
"end_time": "2021-09-07T20:00:51.986000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "versions_json_dict = JSON3.read(versions_json_src, Dict{VersionNumber, Any})\n# versions_json_dict = JSON3.read(versions_json_src, Dict{VersionNumber, JSON3.Object})", | |
"execution_count": 7, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 7, | |
"data": { | |
"text/plain": "Dict{VersionNumber, Any} with 100 entries:\n v\"0.6.0\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.0.3\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.5.4\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.5.0-beta1\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.2.0\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.7.0-rc1\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.3.1\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.7.0\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.4.1\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.3.5\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.6.2\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.4.5\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.2.1\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.6.0-rc3\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.5.0-rc2\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.5.2\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.2.0-rc2\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.7.0-rc2\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.3.6\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.0.5\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.4.6\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.3.0-rc2\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.6.0\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"0.5.0\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n v\"1.1.0-rc1\" => Dict{String, Any}(\"files\"=>Any[Dict{String, Any}(\"triplet\"=…\n ⋮ => ⋮" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.584Z", | |
"end_time": "2021-09-07T20:00:52.704000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "version_170b4_json = versions_json_simple[Symbol(\"1.7.0-beta4\")]", | |
"execution_count": 8, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 8, | |
"data": { | |
"text/plain": "JSON3.Object{Base.CodeUnits{UInt8, String}, SubArray{UInt64, 1, Vector{UInt64}, Tuple{UnitRange{Int64}}, true}} with 2 entries:\n :files => JSON3.Object[{…\n :stable => false" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.585Z", | |
"end_time": "2021-09-07T20:00:53.519000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "JSON3.generate_type(version_170b4_json)", | |
"execution_count": 9, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 9, | |
"data": { | |
"text/plain": "NamedTuple{(:files, :stable), Tuple{Vector{NamedTuple{(:triplet, :kind, :arch, :asc, :sha256, :size, :version, :os, :url), Tuple{String, String, String, Union{Nothing, String}, String, Int64, String, String, String}}}, Bool}}" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.587Z", | |
"end_time": "2021-09-07T20:00:54.957000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "unique([JSON3.generate_type(_json) for _json in values(versions_json_simple)])", | |
"execution_count": 10, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 10, | |
"data": { | |
"text/plain": "2-element Vector{DataType}:\n NamedTuple{(:files, :stable), Tuple{Vector{NamedTuple{(:triplet, :kind, :arch, :asc, :sha256, :size, :version, :os, :url), Tuple{String, String, String, Union{Nothing, String}, String, Int64, String, String, String}}}, Bool}}\n NamedTuple{(:files, :stable), Tuple{Vector{NamedTuple{(:triplet, :kind, :arch, :sha256, :size, :version, :os, :url), Tuple{String, String, String, String, Int64, String, String, String}}}, Bool}}" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.588Z", | |
"end_time": "2021-09-07T20:00:55.771000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "kindslist = unique(f.kind for v in values(versions_json_simple) for f in v.files)", | |
"execution_count": 11, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 11, | |
"data": { | |
"text/plain": "2-element Vector{String}:\n \"archive\"\n \"installer\"" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.589Z", | |
"end_time": "2021-09-07T20:00:55.909000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "archslist = unique(f.arch for v in values(versions_json_simple) for f in v.files)", | |
"execution_count": 12, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 12, | |
"data": { | |
"text/plain": "5-element Vector{String}:\n \"x86_64\"\n \"i686\"\n \"aarch64\"\n \"armv7l\"\n \"powerpc64le\"" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.590Z", | |
"end_time": "2021-09-07T20:00:56.037000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "oslist = unique(f.os for v in values(versions_json_simple) for f in v.files)", | |
"execution_count": 13, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 13, | |
"data": { | |
"text/plain": "4-element Vector{String}:\n \"linux\"\n \"mac\"\n \"winnt\"\n \"freebsd\"" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "", | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.592Z", | |
"end_time": "2021-09-07T20:00:56.038000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "using StructTypes", | |
"execution_count": 14, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.593Z", | |
"end_time": "2021-09-07T20:00:56.070000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "abstract type Kind end\n\nKind(v) = Kind(Val(Symbol(v)), v)\nfor kind in kindslist\n @eval struct $(Symbol(uppercasefirst(kind))) <: Kind end\n @eval Kind(::Val{$(QuoteNode(Symbol(kind)))}, @nospecialize(_)) = $(Symbol(uppercasefirst(kind)))()\n @eval Base.string(::$(Symbol(uppercasefirst(kind)))) = $(kind)\nend\n\nstruct KindOther{S} <: Kind end\nKind(::Val{S}, @nospecialize(v)) where {S} = KindOther{S}()\nBase.string(::KindOther{S}) where {S} = string(S)", | |
"execution_count": 15, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.595Z", | |
"end_time": "2021-09-07T20:00:56.685000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "subtypes(Kind)", | |
"execution_count": 16, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 16, | |
"data": { | |
"text/plain": "3-element Vector{Any}:\n Archive\n Installer\n KindOther" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.596Z", | |
"end_time": "2021-09-07T20:00:57.607000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "[Kind(kind) for kind in [kindslist; \"other\"]]", | |
"execution_count": 17, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 17, | |
"data": { | |
"text/plain": "3-element Vector{Kind}:\n Archive()\n Installer()\n KindOther{:other}()" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.596Z", | |
"end_time": "2021-09-07T20:00:57.617000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "abstract type Arch end\n\nArch(v) = Arch(Val(Symbol(v)), v)\nfor arch in archslist\n @eval struct $(Symbol(uppercasefirst(arch))) <: Arch end\n @eval Arch(::Val{$(QuoteNode(Symbol(arch)))}, @nospecialize(_)) = $(Symbol(uppercasefirst(arch)))()\n @eval Base.string(::$(Symbol(uppercasefirst(arch)))) = $(arch)\nend\n\nstruct ArchOther{S} <: Arch end\nArch(::Val{S}, @nospecialize(_)) where {S} = ArchOther{S}()\nBase.string(::ArchOther{S}) where {S} = string(S)", | |
"execution_count": 18, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.597Z", | |
"end_time": "2021-09-07T20:00:58.512000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "[Arch(arch) for arch in [archslist; \"unknown\"]]", | |
"execution_count": 19, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 19, | |
"data": { | |
"text/plain": "6-element Vector{Arch}:\n X86_64()\n I686()\n Aarch64()\n Armv7l()\n Powerpc64le()\n ArchOther{:unknown}()" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.598Z", | |
"end_time": "2021-09-07T20:00:58.521000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "abstract type Os end\n\nOs(v) = Os(Val(Symbol(v)), v)\nfor os in oslist\n @eval struct $(Symbol(uppercasefirst(os))) <: Os end\n @eval Os(::Val{$(QuoteNode(Symbol(os)))}, @nospecialize(_)) = $(Symbol(uppercasefirst(os)))()\n @eval Base.string(::$(Symbol(uppercasefirst(os)))) = $(os)\nend\n\nstruct OsOther{S} <: Os end\nOs(::Val{S}, @nospecialize(_)) where {S} = OsOther{S}()\nBase.string(::OsOther{S}) where {S} = string(S)", | |
"execution_count": 20, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.599Z", | |
"end_time": "2021-09-07T20:00:59.362000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "[Os(os) for os in [oslist; \"sunos\"]]", | |
"execution_count": 21, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 21, | |
"data": { | |
"text/plain": "5-element Vector{Os}:\n Linux()\n Mac()\n Winnt()\n Freebsd()\n OsOther{:sunos}()" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.600Z", | |
"end_time": "2021-09-07T20:00:59.411000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "[string(Os(os)) for os in [oslist; \"sunos\"]]", | |
"execution_count": 22, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 22, | |
"data": { | |
"text/plain": "5-element Vector{String}:\n \"linux\"\n \"mac\"\n \"winnt\"\n \"freebsd\"\n \"sunos\"" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.601Z", | |
"end_time": "2021-09-07T20:00:59.412000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.StructType(::Type{<:Kind}) = StructTypes.StringType()", | |
"execution_count": 23, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.602Z", | |
"end_time": "2021-09-07T20:00:59.413000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.StructType(::Type{<:Arch}) = StructTypes.StringType()", | |
"execution_count": 24, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.603Z", | |
"end_time": "2021-09-07T20:00:59.414000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.StructType(::Type{<:Os}) = StructTypes.StringType()", | |
"execution_count": 25, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.604Z", | |
"end_time": "2021-09-07T20:00:59.415000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "abstract type FileInfo end", | |
"execution_count": 26, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.605Z", | |
"end_time": "2021-09-07T20:00:59.417000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "struct FileInfoSimple <: FileInfo\n triplet::String\n kind::Kind\n arch::Arch\n sha256::String\n size::Int64\n version::VersionNumber\n os::Os\n url::String\nend", | |
"execution_count": 27, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.605Z", | |
"end_time": "2021-09-07T20:00:59.419000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "struct FileInfoFull <: FileInfo\n triplet::String\n kind::Kind\n arch::Arch\n asc::String\n sha256::String\n size::Int64\n version::VersionNumber\n os::Os\n url::String\nend", | |
"execution_count": 28, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.606Z", | |
"end_time": "2021-09-07T20:00:59.419000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.StructType(::Type{<:FileInfo}) = StructTypes.CustomStruct()", | |
"execution_count": 29, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.607Z", | |
"end_time": "2021-09-07T20:00:59.420000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.StructType(::Type{<:Union{FileInfoSimple, FileInfoFull}}) = StructTypes.Struct()", | |
"execution_count": 30, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.608Z", | |
"end_time": "2021-09-07T20:00:59.613000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "sub_json_src = \"\"\"\n{\n \"triplet\": \"x86_64-apple-darwin14\",\n \"kind\": \"archive\",\n \"arch\": \"x86_64\",\n \"sha256\": \"1ff7bd41f396ba3f34dc17c26b78d11adeadfafdea537f7ad17020ef812a39a0\",\n \"size\": 82685247,\n \"version\": \"1.0.5\",\n \"os\": \"mac\",\n \"url\": \"https://julialang-s3.julialang.org/bin/mac/x64/1.0/julia-1.0.5-mac64.dmg\"\n}\n\"\"\"", | |
"execution_count": 31, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 31, | |
"data": { | |
"text/plain": "\"{\\n \\\"triplet\\\": \\\"x86_64-apple-darwin14\\\",\\n \\\"kind\\\": \\\"archive\\\",\\n \\\"arch\\\": \\\"x86_64\\\",\\n \\\"sha256\\\": \\\"1ff7bd41f396ba3f34dc17c26b78d11adeadfafdea537f7ad17020ef812a39a0\\\",\\n \\\"size\\\": 82685247,\\n \\\"version\\\": \\\"1.0.5\\\",\\n \\\"os\\\": \\\"mac\\\",\\n \\\"url\\\": \\\"https://julialang-s3.julialang.org/bin/mac/x64/1.0/julia-1.0.5-mac64.dmg\\\"\\n}\\n\"" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.609Z", | |
"end_time": "2021-09-07T20:01:00.819000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "JSON3.read(sub_json_src, FileInfoSimple)", | |
"execution_count": 32, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 32, | |
"data": { | |
"text/plain": "FileInfoSimple(\"x86_64-apple-darwin14\", Archive(), X86_64(), \"1ff7bd41f396ba3f34dc17c26b78d11adeadfafdea537f7ad17020ef812a39a0\", 82685247, v\"1.0.5\", Mac(), \"https://julialang-s3.julialang.org/bin/mac/x64/1.0/julia-1.0.5-mac64.dmg\")" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.611Z", | |
"end_time": "2021-09-07T20:01:00.820000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.lowertype(::Type{<:FileInfo}) = NamedTuple", | |
"execution_count": 33, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.612Z", | |
"end_time": "2021-09-07T20:01:00.823000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "FileInfoSimple(; triplet, kind, arch, sha256, size, version, os, url) = \n FileInfoSimple(triplet, Kind(kind), Arch(arch), sha256, Int64(size), VersionNumber(version), Os(os), url)", | |
"execution_count": 34, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 34, | |
"data": { | |
"text/plain": "FileInfoSimple" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.613Z", | |
"end_time": "2021-09-07T20:01:00.827000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "FileInfoFull(; triplet, kind, arch, asc, sha256, size, version, os, url) = \n FileInfoFull(triplet, Kind(kind), Arch(arch), asc, sha256, Int64(size), VersionNumber(version), Os(os), url)", | |
"execution_count": 35, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 35, | |
"data": { | |
"text/plain": "FileInfoFull" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.614Z", | |
"end_time": "2021-09-07T20:01:00.828000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.construct(::Type{FileInfo}, obj) = haskey(obj, :asc) ? FileInfoFull(;obj...) : FileInfoSimple(;obj...)", | |
"execution_count": 36, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.615Z", | |
"end_time": "2021-09-07T20:01:01.784000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "JSON3.read(sub_json_src, FileInfo)", | |
"execution_count": 37, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 37, | |
"data": { | |
"text/plain": "FileInfoSimple(\"x86_64-apple-darwin14\", Archive(), X86_64(), \"1ff7bd41f396ba3f34dc17c26b78d11adeadfafdea537f7ad17020ef812a39a0\", 82685247, v\"1.0.5\", Mac(), \"https://julialang-s3.julialang.org/bin/mac/x64/1.0/julia-1.0.5-mac64.dmg\")" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.616Z", | |
"end_time": "2021-09-07T20:01:01.785000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "struct VersionInfo\n files::Vector{FileInfo}\n stable::Bool\nend", | |
"execution_count": 38, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.617Z", | |
"end_time": "2021-09-07T20:01:01.786000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "StructTypes.StructType(::Type{VersionInfo}) = StructTypes.Struct()", | |
"execution_count": 39, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:00:44.618Z", | |
"end_time": "2021-09-07T20:01:05.165000+09:00" | |
}, | |
"scrolled": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "versions_json_dict_f = JSON3.read(versions_json_src, Dict{VersionNumber, VersionInfo})", | |
"execution_count": 40, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 40, | |
"data": { | |
"text/plain": "Dict{VersionNumber, VersionInfo} with 100 entries:\n v\"0.6.0\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.0.3\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.5.4\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.5.0-beta1\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.2.0\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.7.0-rc1\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.3.1\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.7.0\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.4.1\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.3.5\" => VersionInfo(FileInfo[FileInfoSimple(\"x86_64-linux-gnu\", Arc…\n v\"1.6.2\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.4.5\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.2.1\" => VersionInfo(FileInfo[FileInfoSimple(\"x86_64-apple-darwin14\"…\n v\"0.6.0-rc3\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.5.0-rc2\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.5.2\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.2.0-rc2\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.7.0-rc2\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.3.6\" => VersionInfo(FileInfo[FileInfoSimple(\"x86_64-linux-gnu\", Arc…\n v\"1.0.5\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.4.6\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.3.0-rc2\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.6.0\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"0.5.0\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n v\"1.1.0-rc1\" => VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archi…\n ⋮ => ⋮" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:01:43.339Z", | |
"end_time": "2021-09-07T20:01:43.478000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "vinfo_v170b4 = versions_json_dict_f[v\"1.7.0-beta4\"]", | |
"execution_count": 42, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 42, | |
"data": { | |
"text/plain": "VersionInfo(FileInfo[FileInfoFull(\"x86_64-linux-gnu\", Archive(), X86_64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpuS8XHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JWJ9w/+IiX83xPmcypwRLQ+CksIgeaM\\njq0QY5YLtRuOm6355RtplFalx0WKO17KOxJaSEKEQkZeJNcI0BE1FWIub3mtXVCE\\njWhJyQAcJd/WsAOw17+hwFQV2+6Aqy1eY4mQ6vwRwn85BlsbgtzEip6FEJOQ9fRd\\nxphA/GkT2SYlu687GpKnzzR76x6z1yGH/cbIrLKBYPrlZ0yDvcQ/1P17VeEsfwZ3\\npbOyTwo7qGTcSjaEniSjdSM3C2MsTIIPdhcs3XGaZl0jfmKarKrFlkJn7pSAW034\\nkhJx1r+Nmdcn1/JJXKdIVHlCH8vMooVEE6C7B22ujdX021GhTzVHzif6EpCfxdxn\\nyb8pK5OKVwQj8lX5YApSZGKBZIaB9TYUuqLW+OSN/sSunIc+FllYXJJTnFSD9KIc\\nhHYS5hJfv7tAuD/uesEbWkH2oNd2jBu0M1AcR627LqGhYsCxrPkGklOC6RXZU57n\\ncX7egZDHkl2iPhGNqSyabDLa5f5IKt4j1eYTv3Uwc4tuAamMHEcBUwfurkKqj46T\\nf2+1lvgAyrTCZ4kbGvW0jKE1s/1xMX1hDKwknn+ZAMaXBrSzQTx6UTdYT4UvnHcs\\nsLgIFvlBo3rFjOolBwwaISn0C8z3hSUSUBVIn+Yu5WtcCyLR+zsGYmieooe8QKD1\\n8KPNUowwJ6+dVBiOESk=\\n=Y4+g\\n-----END PGP SIGNATURE-----\\n\", \"4ae6cbd9378d63bdf75c74c8785068a18926638de4913d32cfab8ef0409f1e6e\", 121012380, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.0-beta4-linux-x86_64.tar.gz\"), FileInfoFull(\"i686-linux-gnu\", Archive(), I686(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEptjIXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUWVA/7B9/zeN1B1/TsfW1/ZdW5iTNm\\n+9fyKAHgN5gbWyNAJekRpqiio1vvK4H3DAFuz6bONHH6kiuXvfWmuQUBh+aywvP6\\nn/CgOpcxxSqKfzpx5r9etqk3EnOuxPi6WMt0G0Mi04oGAPv82ecvFJDy70fbhG1t\\nKa/1knDwt7pB//BGmq4a0VYutrPy/d+kY7a9r9/4LdR3N2HdmGM2ttvxYqUoACrz\\nd0NNZMOWZJl2B5j3UGQvq74PdxTlGov/NKU4h4YjgPxZjBgdwIsqFiaLCGoRd+Wb\\nz66OSNKhmBxk1VoAVIBBCuDdRoL4xgX99X1mzqYvcZOYqga10vFjrTK9oAprzoqc\\nhpwKYsWCHKSU5s+YDaN1umbw1v4VHB2WzktsOILECUOOKansDXI8CmXfVIdzkkCk\\noCLHth4P2r3rpxgASmYtiryrvkG7+DPjSqk7WujdPYcW90MdgjhR+heNhbjuYcjH\\nolNq7B5YGd/q4flVsIqWAiLdL/irgt2tFc/IsM9wC7Y47vQmDX4+DzUJ0ScManCH\\nJenjjU88iE963ICJB18oiUdNWr1YtlChO7iElJz4wX0RlV6PtRgPbfQheYGdpRQK\\nQCdYrLCGdFNoGz5iMPXepfURfLVqK6SGAgFue+ZAypQN3qHC+Gf3kUBv1YEHS7W2\\ncUqhw3Yo3gizEXsRJi4=\\n=QtIH\\n-----END PGP SIGNATURE-----\\n\", \"62ff97c5df5972ed1647d7a58307829081b5f8840f44fe94f691c9302f9ae624\", 116479313, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/x86/1.7/julia-1.7.0-beta4-linux-i686.tar.gz\"), FileInfoFull(\"aarch64-linux-gnu\", Archive(), Aarch64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEptvQXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUkphAAzPTlX1Iry9o47Hh5W+TGpTwG\\nomODJVtXzmsfL5fMp5EMU//TKTfPlvKRl73vMFbbLKu8pZIO0aibxOXDCwO1DkgM\\n4guJ08EppCtIEUt3tit0thJcwQyTxnvn6SlAuL2iDZvj0BUTCTdqRdgJCS16eqTp\\ndXIRBDPi57aZiStulZpfPcFRvqrOSSQ5/X79f1d9Z1OSHG3JU5Agw/3IVbkrmvlK\\nk80vtulzXQVmuCcu666a2EPWMKuMr4tS3X9vWjew5F6sl1DACDSTKPGTfKxnWi3r\\nHh43GmB8FE6aAUoMa5uWQZOlnsdHf+ZfZKYVSzuIxh7/mIZZyC04BB1R5siNiZZr\\nrWSP9d+oeZEXPiXcOx2xF4BM7PutKt9Rv43MCwjcMEn9gtymH4esAcdwDQhJ72Uo\\n3XMdL2MSMXJ8e4Pa6eFXQfgb+Z7UZW/R2TzcTWGF4cPhn1/tnniO6qOncGRJ5dFQ\\nsn23oBwve5LqMMn/wirO18O+jVVPnIp8d0bl+MlV2ymZKOSXbSSab+YMuL1ndFB3\\n8VMxDQWPxVb1khdT0ruv2n1Ffeokh14ByIZQpOOnkggpToAFhr/Zy7l4FVSwrqd2\\nCzNkqRc7bNfbAFLYqIkEhPsPJ4j068TEm+bKyakOBAIbruI/0duNEM+5AAN+fzCW\\nvpqO1AhxvjP32ewWp+Y=\\n=5OSa\\n-----END PGP SIGNATURE-----\\n\", \"d57efd789e33da133ef0e3e52bd90f34046c6b86ecec669d592b69e5d73d5bb5\", 113784395, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/aarch64/1.7/julia-1.7.0-beta4-linux-aarch64.tar.gz\"), FileInfoFull(\"armv7l-linux-gnueabihf\", Archive(), Armv7l(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEk/AoXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUquhAAsHMP9x/9X+IHRgLt1D7UBWij\\nTB4QymUSBjJiBk2nszMRCzk/2iEF14l2Gyrdw6hDneFJZZ9fwOeEAjRm/s/YrJQW\\nmraMZlo/zKWLH8jK6Q71bJuAKdUBmA+VIW+ViOXedy3jx0xJpvcE9uVS6Byj0soj\\nooxat4BHW8ESZq/4raveK7cSwJKbrz9Zs0ZUt7VwJlZivJteQnPVIa5VUp2MfcYR\\nT26WcXHix8gRoh49LYA+Y0BvwbfqL91wnfHC8UpXM8xPl/90rnK6z1q6KGAh19Xu\\nEDTC6u4R//05Y3i1EQwpR2j3gZsgWLM+nQEk/h7uwjc4RPEACQyy5Gy5QUrRJO6a\\ndH9UB3Kks3y89jx0uZXH3v6G6/a6jE4ATV7cwiUsAuLzMgdRKQrURjJXYtpuO2/r\\nn73WArYWOGOfhgCjCROO5xvfkJVQ3n1I8YTYON7HdtUyuDeztAsVTolHWv0DxdQB\\njc/ktw3yIUjweeESzKYiPw8/LQ16yJaMJRq7S2oDvNShIs25BkddYtxz4uBNmkLn\\n1n9YBDDz4NK4VoHm3tdvplRw53HI0p1aVUNUltg6fgEJViRrhLnTFl6W1fy3YTuI\\n2T0+4g2t7+gB5mkzA4c3UkehGLU/AtoU2eSa3vbyN7vV499PUaZw3xAFzqKYbQaK\\n5rlbvlXbS8YtyQtDdh8=\\n=Z5lW\\n-----END PGP SIGNATURE-----\\n\", \"2d334d098a65eb704c57a24c773d27665353e35ae726ff7bd0807035f449223b\", 108122932, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/armv7l/1.7/julia-1.7.0-beta4-linux-armv7l.tar.gz\"), FileInfoFull(\"powerpc64le-linux-gnu\", Archive(), Powerpc64le(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpv+8XHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUPMxAAtH7BJBPhnlmPqfBd79XmDE5i\\nQaubS11UvtyZqoyJV2gcrWCMgEelpC3VAGlLhwsI3ZEH3Fzd4oDSOdzdqwBzfdnS\\n9cBXQFc9vM5wwtDAmaBXpPH7pMGPDRIHMc39YLT/PPCaDiQNQIiXmveS9djqXq6I\\npEMk3ETFiou4+qpe8LZiVBJyEbN9EVUVmRfuLsa4foZy4tnpgNIfxF8+J1azSAva\\n37app+QY6cOB6XCemAe9dHf0MV+Hk8ZW7peAs1bVAkI9tkXhqD9Dz4WfbCSciC3N\\n+emAwEvJEbiw9bFXuyHeo97HKZN3YYzcKbeXELkRWp2bd0XSAS6HXTvtGAnj7S1k\\nfpADy9FVaaNA/g23ovw3HP4eZ1TmLDIqkKeTYz0oDBUE86qMC7/m/Ry9ktqbcsmy\\nwFqFFeW7ZWJIlmjjUmDVBOnatwTh80C7mF7WGeJJNDB03Engxe76VuR+mthK7GHA\\npXBPZ57tYoYmfCg0zQEosirw1haU2ae0ddP4rVy2USgw2oGsTPfhAWNQa1AcKZ8g\\nh/Bh9t48W9NT1iBEg3nzZYaypOkIhlYgj73fNZY1lp9jXkkJOSgal7cxE/4mg3T8\\nly4/aDhWBn9luKxTscnjnc53DVpp3bAFewL3e6SNVr7tZHifOqGZNaiH2zbO3sZl\\nEjq8pi5PgWtGHdnFC/0=\\n=n5MJ\\n-----END PGP SIGNATURE-----\\n\", \"d939660db67be971ce4871f0f4a44c30de63c787fd219b6dcc099eebfaee76d1\", 106288016, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/ppc64le/1.7/julia-1.7.0-beta4-linux-ppc64le.tar.gz\"), FileInfoFull(\"x86_64-linux-musl\", Archive(), X86_64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEtIJwXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUiZQ//Vj+bf3ADz4wuKkZM3rNsiQyF\\nLWkBvD8r+gYyPA3Pzb/yW3PK9UG/be4YmxmdXqaH9YIClArP/gEmYTWoVV9jplSB\\nJQrP+mttJGQKMq63XPAnH4R6ynyufCgsGakpBoG4xBaP3J1bQYcjoUMOo3eiUuZd\\nbmCjWsadRI4WErALokcxLkJSvdQbE3Eq9KZ/1inNAGche+W/q81c5I/AtedPIm2P\\n80SO59N/pDW90baP7dO1SySxof5OigU6Y8ivsDJAPS+JHvwUS4k/51XwhS33t1kj\\n5TParu1vAR9qPUXFCIBYSQ10qKkBaprpeCz7rl7zdn/Ju0MJ6IFtcYqqc9H+EinZ\\nJTyA6Tikj0s7EShBJGyOKW8B4HCf/NFde3MCscfwqVZiknarR4Ayw/z+faYXXQoA\\nj4rPKx2ebKgCizwN4VwjY4DDGaDOPmAZWZoKKIyWIl7fPLUjs3lIikmR6O2ta6M3\\nOwgPF7rI2MXtj8PMCW8Yfy59pBh6xc0RDR9C9GXNt7ZJJynai1TgX09vKrvz3ext\\nLz5XCNySByv4hCV9Paxpb/ibt56xgRAxKH4KXspKVJk5oRSmi0TTFlASPCBCPVg9\\nUb1isxHxOGoNDouKYd8mgxtRDMo8KYdHhqu+JfF9Nmn8BVgjikJ9GIio/zfiiEMs\\nT07I648VYe6HQcWWVZY=\\n=/SWc\\n-----END PGP SIGNATURE-----\\n\", \"143f6b80ea812693bb55df218a03fe05d4d9cc719a0d663a1026f96e0059409d\", 120075712, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/musl/x64/1.7/julia-1.7.0-beta4-musl-x86_64.tar.gz\"), FileInfoSimple(\"x86_64-apple-darwin14\", Archive(), X86_64(), \"482a5cba9548f16fe6a522e2465210a1fd470d61227ddf0fe08469fff9eaaf74\", 101930226, v\"1.7.0-beta4\", Mac(), \"https://julialang-s3.julialang.org/bin/mac/x64/1.7/julia-1.7.0-beta4-mac64.dmg\"), FileInfoSimple(\"aarch64-apple-darwin14\", Archive(), Aarch64(), \"dbcb074eb049bfdba6bb6c6d31fac583306d2d251db19324494a5ca76fcc2f68\", 86329670, v\"1.7.0-beta4\", Mac(), \"https://julialang-s3.julialang.org/bin/mac/aarch64/1.7/julia-1.7.0-beta4-macaarch64.dmg\"), FileInfoSimple(\"x86_64-w64-mingw32\", Installer(), X86_64(), \"fb6dcebf9d40c4fa855670fd20f31ecd830282720396c71f98d8ab92d32a94ad\", 78407544, v\"1.7.0-beta4\", Winnt(), \"https://julialang-s3.julialang.org/bin/winnt/x64/1.7/julia-1.7.0-beta4-win64.exe\"), FileInfoSimple(\"i686-w64-mingw32\", Installer(), I686(), \"8cd6c5a77ae724fa2f189df65688758d5f673ec9b462365aca89eb5c5520061b\", 71415312, v\"1.7.0-beta4\", Winnt(), \"https://julialang-s3.julialang.org/bin/winnt/x86/1.7/julia-1.7.0-beta4-win32.exe\"), FileInfoSimple(\"x86_64-w64-mingw32\", Archive(), X86_64(), \"5f03dcfabd19d08768da42ff4cf8da2ad7fda19af23c2d850cb5789dc166cb16\", 131405231, v\"1.7.0-beta4\", Winnt(), \"https://julialang-s3.julialang.org/bin/winnt/x64/1.7/julia-1.7.0-beta4-win64.zip\"), FileInfoSimple(\"i686-w64-mingw32\", Archive(), I686(), \"cd31cf7c5b7aa508276f170b0caf7dbbab9ccb780f11089208e1900359a44574\", 119485011, v\"1.7.0-beta4\", Winnt(), \"https://julialang-s3.julialang.org/bin/winnt/x86/1.7/julia-1.7.0-beta4-win32.zip\"), FileInfoFull(\"x86_64-unknown-freebsd11.1\", Archive(), X86_64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpzoYXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JX4TRAAvSuBuEguOi14YaMFSx+FArf2\\nygkA7VZ880HnZzbDuMNjQIvTXWV/kYoZ48ccDi2ZnousaTU4ao6M3bqpFVgdsT9e\\nxvR07QBTQNtXZNp/FWRtHzgKKk/mU3JBOXj9+YdtWxuE+mX6TB3bqviTtkSRYAcv\\n92YA2OCW9qjZgCSZScDLDlmNjF0HTZ6gi09mfC8XZ1Rd2qW2gu48AIjNOHVAEa/6\\nx5Xrfw8YpMk+5V8ruvNs4QtYvNj0wJIykKSvhbLn8IAyplyFFBQPZlvBsgy515Lu\\n9xqPMNc/RmQ1llq55mQTuFU4Kj6CSzuh38T6i/fTW4vMrOANLmnc0lvJRm0JH5Y8\\n29dTwKdbo2mIwJr06RXWtQIk0oZuyWsZBVHzoLZsiDULzxwPER14Upf80log+BW2\\njSO324r6jmEBkY9tez4h9brzTOFrRteXioAnwhjB0s0AMj6XiSs+8k0NbQWU9Bgw\\nJDB1oShr4O+RsK04U+GxTR/TovqyH+u6NshKqIE570MlrOa4zJ6IqYBgRbkobauO\\nSNIucFRVLolROisE8sRejDDIGJw2MOkkFQghFpldKQR6rbTS0ko/x4fV/l2LL45f\\n8MZhDG8TzM9fNKY03HoDWSXeZ2q1ctRTHE1aBiN/BnQh/N9aZsHHKPvuXF4gHqCJ\\nyly9BYlsevxBMCTlG4U=\\n=381C\\n-----END PGP SIGNATURE-----\\n\", \"d0c28183584db404d97a777691ebdf98c3a662a41d5939fde047c20a49f10bf8\", 114495741, v\"1.7.0-beta4\", Freebsd(), \"https://julialang-s3.julialang.org/bin/freebsd/x64/1.7/julia-1.7.0-beta4-freebsd-x86_64.tar.gz\")], false)" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:05:18.883Z", | |
"end_time": "2021-09-07T20:05:19.332000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "fifulls = filter(fi->isa(fi, FileInfoFull), vinfo_v170b4.files)", | |
"execution_count": 43, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 43, | |
"data": { | |
"text/plain": "7-element Vector{FileInfo}:\n FileInfoFull(\"x86_64-linux-gnu\", Archive(), X86_64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpuS8XHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JWJ9w/+IiX83xPmcypwRLQ+CksIgeaM\\njq0QY5YLtRuOm6355RtplFalx0WKO17KOxJaSEKEQkZeJNcI0BE1FWIub3mtXVCE\\njWhJyQAcJd/WsAOw17+hwFQV2+6Aqy1eY4mQ6vwRwn85BlsbgtzEip6FEJOQ9fRd\\nxphA/GkT2SYlu687GpKnzzR76x6z1yGH/cbIrLKBYPrlZ0yDvcQ/1P17VeEsfwZ3\\npbOyTwo7qGTcSjaEniSjdSM3C2MsTIIPdhcs3XGaZl0jfmKarKrFlkJn7pSAW034\\nkhJx1r+Nmdcn1/JJXKdIVHlCH8vMooVEE6C7B22ujdX021GhTzVHzif6EpCfxdxn\\nyb8pK5OKVwQj8lX5YApSZGKBZIaB9TYUuqLW+OSN/sSunIc+FllYXJJTnFSD9KIc\\nhHYS5hJfv7tAuD/uesEbWkH2oNd2jBu0M1AcR627LqGhYsCxrPkGklOC6RXZU57n\\ncX7egZDHkl2iPhGNqSyabDLa5f5IKt4j1eYTv3Uwc4tuAamMHEcBUwfurkKqj46T\\nf2+1lvgAyrTCZ4kbGvW0jKE1s/1xMX1hDKwknn+ZAMaXBrSzQTx6UTdYT4UvnHcs\\nsLgIFvlBo3rFjOolBwwaISn0C8z3hSUSUBVIn+Yu5WtcCyLR+zsGYmieooe8QKD1\\n8KPNUowwJ6+dVBiOESk=\\n=Y4+g\\n-----END PGP SIGNATURE-----\\n\", \"4ae6cbd9378d63bdf75c74c8785068a18926638de4913d32cfab8ef0409f1e6e\", 121012380, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.0-beta4-linux-x86_64.tar.gz\")\n FileInfoFull(\"i686-linux-gnu\", Archive(), I686(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEptjIXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUWVA/7B9/zeN1B1/TsfW1/ZdW5iTNm\\n+9fyKAHgN5gbWyNAJekRpqiio1vvK4H3DAFuz6bONHH6kiuXvfWmuQUBh+aywvP6\\nn/CgOpcxxSqKfzpx5r9etqk3EnOuxPi6WMt0G0Mi04oGAPv82ecvFJDy70fbhG1t\\nKa/1knDwt7pB//BGmq4a0VYutrPy/d+kY7a9r9/4LdR3N2HdmGM2ttvxYqUoACrz\\nd0NNZMOWZJl2B5j3UGQvq74PdxTlGov/NKU4h4YjgPxZjBgdwIsqFiaLCGoRd+Wb\\nz66OSNKhmBxk1VoAVIBBCuDdRoL4xgX99X1mzqYvcZOYqga10vFjrTK9oAprzoqc\\nhpwKYsWCHKSU5s+YDaN1umbw1v4VHB2WzktsOILECUOOKansDXI8CmXfVIdzkkCk\\noCLHth4P2r3rpxgASmYtiryrvkG7+DPjSqk7WujdPYcW90MdgjhR+heNhbjuYcjH\\nolNq7B5YGd/q4flVsIqWAiLdL/irgt2tFc/IsM9wC7Y47vQmDX4+DzUJ0ScManCH\\nJenjjU88iE963ICJB18oiUdNWr1YtlChO7iElJz4wX0RlV6PtRgPbfQheYGdpRQK\\nQCdYrLCGdFNoGz5iMPXepfURfLVqK6SGAgFue+ZAypQN3qHC+Gf3kUBv1YEHS7W2\\ncUqhw3Yo3gizEXsRJi4=\\n=QtIH\\n-----END PGP SIGNATURE-----\\n\", \"62ff97c5df5972ed1647d7a58307829081b5f8840f44fe94f691c9302f9ae624\", 116479313, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/x86/1.7/julia-1.7.0-beta4-linux-i686.tar.gz\")\n FileInfoFull(\"aarch64-linux-gnu\", Archive(), Aarch64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEptvQXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUkphAAzPTlX1Iry9o47Hh5W+TGpTwG\\nomODJVtXzmsfL5fMp5EMU//TKTfPlvKRl73vMFbbLKu8pZIO0aibxOXDCwO1DkgM\\n4guJ08EppCtIEUt3tit0thJcwQyTxnvn6SlAuL2iDZvj0BUTCTdqRdgJCS16eqTp\\ndXIRBDPi57aZiStulZpfPcFRvqrOSSQ5/X79f1d9Z1OSHG3JU5Agw/3IVbkrmvlK\\nk80vtulzXQVmuCcu666a2EPWMKuMr4tS3X9vWjew5F6sl1DACDSTKPGTfKxnWi3r\\nHh43GmB8FE6aAUoMa5uWQZOlnsdHf+ZfZKYVSzuIxh7/mIZZyC04BB1R5siNiZZr\\nrWSP9d+oeZEXPiXcOx2xF4BM7PutKt9Rv43MCwjcMEn9gtymH4esAcdwDQhJ72Uo\\n3XMdL2MSMXJ8e4Pa6eFXQfgb+Z7UZW/R2TzcTWGF4cPhn1/tnniO6qOncGRJ5dFQ\\nsn23oBwve5LqMMn/wirO18O+jVVPnIp8d0bl+MlV2ymZKOSXbSSab+YMuL1ndFB3\\n8VMxDQWPxVb1khdT0ruv2n1Ffeokh14ByIZQpOOnkggpToAFhr/Zy7l4FVSwrqd2\\nCzNkqRc7bNfbAFLYqIkEhPsPJ4j068TEm+bKyakOBAIbruI/0duNEM+5AAN+fzCW\\nvpqO1AhxvjP32ewWp+Y=\\n=5OSa\\n-----END PGP SIGNATURE-----\\n\", \"d57efd789e33da133ef0e3e52bd90f34046c6b86ecec669d592b69e5d73d5bb5\", 113784395, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/aarch64/1.7/julia-1.7.0-beta4-linux-aarch64.tar.gz\")\n FileInfoFull(\"armv7l-linux-gnueabihf\", Archive(), Armv7l(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEk/AoXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUquhAAsHMP9x/9X+IHRgLt1D7UBWij\\nTB4QymUSBjJiBk2nszMRCzk/2iEF14l2Gyrdw6hDneFJZZ9fwOeEAjRm/s/YrJQW\\nmraMZlo/zKWLH8jK6Q71bJuAKdUBmA+VIW+ViOXedy3jx0xJpvcE9uVS6Byj0soj\\nooxat4BHW8ESZq/4raveK7cSwJKbrz9Zs0ZUt7VwJlZivJteQnPVIa5VUp2MfcYR\\nT26WcXHix8gRoh49LYA+Y0BvwbfqL91wnfHC8UpXM8xPl/90rnK6z1q6KGAh19Xu\\nEDTC6u4R//05Y3i1EQwpR2j3gZsgWLM+nQEk/h7uwjc4RPEACQyy5Gy5QUrRJO6a\\ndH9UB3Kks3y89jx0uZXH3v6G6/a6jE4ATV7cwiUsAuLzMgdRKQrURjJXYtpuO2/r\\nn73WArYWOGOfhgCjCROO5xvfkJVQ3n1I8YTYON7HdtUyuDeztAsVTolHWv0DxdQB\\njc/ktw3yIUjweeESzKYiPw8/LQ16yJaMJRq7S2oDvNShIs25BkddYtxz4uBNmkLn\\n1n9YBDDz4NK4VoHm3tdvplRw53HI0p1aVUNUltg6fgEJViRrhLnTFl6W1fy3YTuI\\n2T0+4g2t7+gB5mkzA4c3UkehGLU/AtoU2eSa3vbyN7vV499PUaZw3xAFzqKYbQaK\\n5rlbvlXbS8YtyQtDdh8=\\n=Z5lW\\n-----END PGP SIGNATURE-----\\n\", \"2d334d098a65eb704c57a24c773d27665353e35ae726ff7bd0807035f449223b\", 108122932, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/armv7l/1.7/julia-1.7.0-beta4-linux-armv7l.tar.gz\")\n FileInfoFull(\"powerpc64le-linux-gnu\", Archive(), Powerpc64le(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpv+8XHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUPMxAAtH7BJBPhnlmPqfBd79XmDE5i\\nQaubS11UvtyZqoyJV2gcrWCMgEelpC3VAGlLhwsI3ZEH3Fzd4oDSOdzdqwBzfdnS\\n9cBXQFc9vM5wwtDAmaBXpPH7pMGPDRIHMc39YLT/PPCaDiQNQIiXmveS9djqXq6I\\npEMk3ETFiou4+qpe8LZiVBJyEbN9EVUVmRfuLsa4foZy4tnpgNIfxF8+J1azSAva\\n37app+QY6cOB6XCemAe9dHf0MV+Hk8ZW7peAs1bVAkI9tkXhqD9Dz4WfbCSciC3N\\n+emAwEvJEbiw9bFXuyHeo97HKZN3YYzcKbeXELkRWp2bd0XSAS6HXTvtGAnj7S1k\\nfpADy9FVaaNA/g23ovw3HP4eZ1TmLDIqkKeTYz0oDBUE86qMC7/m/Ry9ktqbcsmy\\nwFqFFeW7ZWJIlmjjUmDVBOnatwTh80C7mF7WGeJJNDB03Engxe76VuR+mthK7GHA\\npXBPZ57tYoYmfCg0zQEosirw1haU2ae0ddP4rVy2USgw2oGsTPfhAWNQa1AcKZ8g\\nh/Bh9t48W9NT1iBEg3nzZYaypOkIhlYgj73fNZY1lp9jXkkJOSgal7cxE/4mg3T8\\nly4/aDhWBn9luKxTscnjnc53DVpp3bAFewL3e6SNVr7tZHifOqGZNaiH2zbO3sZl\\nEjq8pi5PgWtGHdnFC/0=\\n=n5MJ\\n-----END PGP SIGNATURE-----\\n\", \"d939660db67be971ce4871f0f4a44c30de63c787fd219b6dcc099eebfaee76d1\", 106288016, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/ppc64le/1.7/julia-1.7.0-beta4-linux-ppc64le.tar.gz\")\n FileInfoFull(\"x86_64-linux-musl\", Archive(), X86_64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEtIJwXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUiZQ//Vj+bf3ADz4wuKkZM3rNsiQyF\\nLWkBvD8r+gYyPA3Pzb/yW3PK9UG/be4YmxmdXqaH9YIClArP/gEmYTWoVV9jplSB\\nJQrP+mttJGQKMq63XPAnH4R6ynyufCgsGakpBoG4xBaP3J1bQYcjoUMOo3eiUuZd\\nbmCjWsadRI4WErALokcxLkJSvdQbE3Eq9KZ/1inNAGche+W/q81c5I/AtedPIm2P\\n80SO59N/pDW90baP7dO1SySxof5OigU6Y8ivsDJAPS+JHvwUS4k/51XwhS33t1kj\\n5TParu1vAR9qPUXFCIBYSQ10qKkBaprpeCz7rl7zdn/Ju0MJ6IFtcYqqc9H+EinZ\\nJTyA6Tikj0s7EShBJGyOKW8B4HCf/NFde3MCscfwqVZiknarR4Ayw/z+faYXXQoA\\nj4rPKx2ebKgCizwN4VwjY4DDGaDOPmAZWZoKKIyWIl7fPLUjs3lIikmR6O2ta6M3\\nOwgPF7rI2MXtj8PMCW8Yfy59pBh6xc0RDR9C9GXNt7ZJJynai1TgX09vKrvz3ext\\nLz5XCNySByv4hCV9Paxpb/ibt56xgRAxKH4KXspKVJk5oRSmi0TTFlASPCBCPVg9\\nUb1isxHxOGoNDouKYd8mgxtRDMo8KYdHhqu+JfF9Nmn8BVgjikJ9GIio/zfiiEMs\\nT07I648VYe6HQcWWVZY=\\n=/SWc\\n-----END PGP SIGNATURE-----\\n\", \"143f6b80ea812693bb55df218a03fe05d4d9cc719a0d663a1026f96e0059409d\", 120075712, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/musl/x64/1.7/julia-1.7.0-beta4-musl-x86_64.tar.gz\")\n FileInfoFull(\"x86_64-unknown-freebsd11.1\", Archive(), X86_64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpzoYXHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JX4TRAAvSuBuEguOi14YaMFSx+FArf2\\nygkA7VZ880HnZzbDuMNjQIvTXWV/kYoZ48ccDi2ZnousaTU4ao6M3bqpFVgdsT9e\\nxvR07QBTQNtXZNp/FWRtHzgKKk/mU3JBOXj9+YdtWxuE+mX6TB3bqviTtkSRYAcv\\n92YA2OCW9qjZgCSZScDLDlmNjF0HTZ6gi09mfC8XZ1Rd2qW2gu48AIjNOHVAEa/6\\nx5Xrfw8YpMk+5V8ruvNs4QtYvNj0wJIykKSvhbLn8IAyplyFFBQPZlvBsgy515Lu\\n9xqPMNc/RmQ1llq55mQTuFU4Kj6CSzuh38T6i/fTW4vMrOANLmnc0lvJRm0JH5Y8\\n29dTwKdbo2mIwJr06RXWtQIk0oZuyWsZBVHzoLZsiDULzxwPER14Upf80log+BW2\\njSO324r6jmEBkY9tez4h9brzTOFrRteXioAnwhjB0s0AMj6XiSs+8k0NbQWU9Bgw\\nJDB1oShr4O+RsK04U+GxTR/TovqyH+u6NshKqIE570MlrOa4zJ6IqYBgRbkobauO\\nSNIucFRVLolROisE8sRejDDIGJw2MOkkFQghFpldKQR6rbTS0ko/x4fV/l2LL45f\\n8MZhDG8TzM9fNKY03HoDWSXeZ2q1ctRTHE1aBiN/BnQh/N9aZsHHKPvuXF4gHqCJ\\nyly9BYlsevxBMCTlG4U=\\n=381C\\n-----END PGP SIGNATURE-----\\n\", \"d0c28183584db404d97a777691ebdf98c3a662a41d5939fde047c20a49f10bf8\", 114495741, v\"1.7.0-beta4\", Freebsd(), \"https://julialang-s3.julialang.org/bin/freebsd/x64/1.7/julia-1.7.0-beta4-freebsd-x86_64.tar.gz\")" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:06:43.883Z", | |
"end_time": "2021-09-07T20:06:44.028000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "fifull_linux_x64_glibc = fifulls[1]", | |
"execution_count": 44, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 44, | |
"data": { | |
"text/plain": "FileInfoFull(\"x86_64-linux-gnu\", Archive(), X86_64(), \"-----BEGIN PGP SIGNATURE-----\\n\\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpuS8XHGJ1aWxkYm90\\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JWJ9w/+IiX83xPmcypwRLQ+CksIgeaM\\njq0QY5YLtRuOm6355RtplFalx0WKO17KOxJaSEKEQkZeJNcI0BE1FWIub3mtXVCE\\njWhJyQAcJd/WsAOw17+hwFQV2+6Aqy1eY4mQ6vwRwn85BlsbgtzEip6FEJOQ9fRd\\nxphA/GkT2SYlu687GpKnzzR76x6z1yGH/cbIrLKBYPrlZ0yDvcQ/1P17VeEsfwZ3\\npbOyTwo7qGTcSjaEniSjdSM3C2MsTIIPdhcs3XGaZl0jfmKarKrFlkJn7pSAW034\\nkhJx1r+Nmdcn1/JJXKdIVHlCH8vMooVEE6C7B22ujdX021GhTzVHzif6EpCfxdxn\\nyb8pK5OKVwQj8lX5YApSZGKBZIaB9TYUuqLW+OSN/sSunIc+FllYXJJTnFSD9KIc\\nhHYS5hJfv7tAuD/uesEbWkH2oNd2jBu0M1AcR627LqGhYsCxrPkGklOC6RXZU57n\\ncX7egZDHkl2iPhGNqSyabDLa5f5IKt4j1eYTv3Uwc4tuAamMHEcBUwfurkKqj46T\\nf2+1lvgAyrTCZ4kbGvW0jKE1s/1xMX1hDKwknn+ZAMaXBrSzQTx6UTdYT4UvnHcs\\nsLgIFvlBo3rFjOolBwwaISn0C8z3hSUSUBVIn+Yu5WtcCyLR+zsGYmieooe8QKD1\\n8KPNUowwJ6+dVBiOESk=\\n=Y4+g\\n-----END PGP SIGNATURE-----\\n\", \"4ae6cbd9378d63bdf75c74c8785068a18926638de4913d32cfab8ef0409f1e6e\", 121012380, v\"1.7.0-beta4\", Linux(), \"https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.0-beta4-linux-x86_64.tar.gz\")" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:07:07.256Z", | |
"end_time": "2021-09-07T20:07:07.147000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "fifull_linux_x64_glibc.triplet", | |
"execution_count": 45, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 45, | |
"data": { | |
"text/plain": "\"x86_64-linux-gnu\"" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:08:49.910Z", | |
"end_time": "2021-09-07T20:09:07.420000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "contents = read(Downloads.download(fifull_linux_x64_glibc.url), String);\ncodeunits(contents)", | |
"execution_count": 46, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 46, | |
"data": { | |
"text/plain": "121012380-element Base.CodeUnits{UInt8, String}:\n 0x1f\n 0x8b\n 0x08\n 0x00\n 0x09\n 0xb9\n 0x29\n 0x61\n 0x00\n 0x03\n 0xec\n 0x3c\n 0x6b\n ⋮\n 0x23\n 0x7c\n 0xfe\n 0xff\n 0x2a\n 0x44\n 0x21\n 0xdb\n 0x00\n 0xd0\n 0x75\n 0x19" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:09:36.235Z", | |
"end_time": "2021-09-07T20:09:36.409000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "length(codeunits(contents)) == fifull_linux_x64_glibc.size", | |
"execution_count": 47, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 47, | |
"data": { | |
"text/plain": "true" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:09:40.844Z", | |
"end_time": "2021-09-07T20:09:40.706000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "using SHA", | |
"execution_count": 48, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:11:44.372Z", | |
"end_time": "2021-09-07T20:11:45.062000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "bytes2hex(SHA.sha256(contents)) == fifull_linux_x64_glibc.sha256", | |
"execution_count": 49, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 49, | |
"data": { | |
"text/plain": "true" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:12:32.295Z", | |
"end_time": "2021-09-07T20:12:57.969000+09:00" | |
}, | |
"trusted": true, | |
"scrolled": true | |
}, | |
"cell_type": "code", | |
"source": "]add GnuPG_jll", | |
"execution_count": 50, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m registry at `~/.julia/registries/General`\n\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m git-repo `[email protected]:JuliaRegistries/General.git`\n\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SQLite_jll ───────── v3.36.0+0\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m Libksba_jll ──────── v1.5.1+1\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m GnuTLS_jll ───────── v3.6.13+1\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m Libassuan_jll ────── v2.5.5+1\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m Nettle_jll ───────── v3.4.1+2\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m OpenLDAPClient_jll ─ v2.4.50+2\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m Libgcrypt_jll ────── v1.8.5+4\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m Libgpg_error_jll ─── v1.36.0+3\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m GnuPG_jll ────────── v2.2.27+0\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m nPth_jll ─────────── v1.6.0+0\n\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m libusb_jll ───────── v1.0.24+0\n\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/mnt/polonium_data/ipynb_root/toybox/JKDev.20210907/Project.toml`\n \u001b[90m [1522389b] \u001b[39m\u001b[92m+ GnuPG_jll v2.2.27+0\u001b[39m\n\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/mnt/polonium_data/ipynb_root/toybox/JKDev.20210907/Manifest.toml`\n \u001b[90m [692b3bcd] \u001b[39m\u001b[92m+ JLLWrappers v1.3.0\u001b[39m\n \u001b[90m [21216c6a] \u001b[39m\u001b[92m+ Preferences v1.2.2\u001b[39m\n \u001b[90m [6e34b625] \u001b[39m\u001b[92m+ Bzip2_jll v1.0.6+5\u001b[39m\n \u001b[90m [1522389b] \u001b[39m\u001b[92m+ GnuPG_jll v2.2.27+0\u001b[39m\n \u001b[90m [0951126a] \u001b[39m\u001b[92m+ GnuTLS_jll v3.6.13+1\u001b[39m\n \u001b[90m [3c934f36] \u001b[39m\u001b[92m+ Libassuan_jll v2.5.5+1\u001b[39m\n \u001b[90m [d4300ac3] \u001b[39m\u001b[92m+ Libgcrypt_jll v1.8.5+4\u001b[39m\n \u001b[90m [7add5ba3] \u001b[39m\u001b[92m+ Libgpg_error_jll v1.36.0+3\u001b[39m\n \u001b[90m [52a58d30] \u001b[39m\u001b[92m+ Libksba_jll v1.5.1+1\u001b[39m\n \u001b[90m [4c82536e] \u001b[39m\u001b[92m+ Nettle_jll v3.4.1+2\u001b[39m\n \u001b[90m [234f2d50] \u001b[39m\u001b[92m+ OpenLDAPClient_jll v2.4.50+2\u001b[39m\n \u001b[90m [458c3c95] \u001b[39m\u001b[92m+ OpenSSL_jll v1.1.10+0\u001b[39m\n \u001b[90m [2f80f16e] \u001b[39m\u001b[92m+ PCRE_jll v8.44.0+0\u001b[39m\n \u001b[90m [76ed43ae] \u001b[39m\u001b[92m+ SQLite_jll v3.36.0+0\u001b[39m\n \u001b[90m [a877fdc9] \u001b[39m\u001b[92m+ libusb_jll v1.0.24+0\u001b[39m\n \u001b[90m [58695248] \u001b[39m\u001b[92m+ nPth_jll v1.6.0+0\u001b[39m\n \u001b[90m [0dad84c5] \u001b[39m\u001b[92m+ ArgTools\u001b[39m\n \u001b[90m [56f22d72] \u001b[39m\u001b[92m+ Artifacts\u001b[39m\n \u001b[90m [2a0f44e3] \u001b[39m\u001b[92m+ Base64\u001b[39m\n \u001b[90m [f43a241f] \u001b[39m\u001b[92m+ Downloads\u001b[39m\n \u001b[90m [b77e0a4c] \u001b[39m\u001b[92m+ InteractiveUtils\u001b[39m\n \u001b[90m [b27032c2] \u001b[39m\u001b[92m+ LibCURL\u001b[39m\n \u001b[90m [76f85450] \u001b[39m\u001b[92m+ LibGit2\u001b[39m\n \u001b[90m [8f399da3] \u001b[39m\u001b[92m+ Libdl\u001b[39m\n \u001b[90m [56ddb016] \u001b[39m\u001b[92m+ Logging\u001b[39m\n \u001b[90m [d6f4376e] \u001b[39m\u001b[92m+ Markdown\u001b[39m\n \u001b[90m [ca575930] \u001b[39m\u001b[92m+ NetworkOptions\u001b[39m\n \u001b[90m [44cfe95a] \u001b[39m\u001b[92m+ Pkg\u001b[39m\n \u001b[90m [3fa0cd96] \u001b[39m\u001b[92m+ REPL\u001b[39m\n \u001b[90m [6462fe0b] \u001b[39m\u001b[92m+ Sockets\u001b[39m\n \u001b[90m [fa267f1f] \u001b[39m\u001b[92m+ TOML\u001b[39m\n \u001b[90m [a4e569a6] \u001b[39m\u001b[92m+ Tar\u001b[39m\n \u001b[90m [781609d7] \u001b[39m\u001b[92m+ GMP_jll\u001b[39m\n \u001b[90m [deac9b47] \u001b[39m\u001b[92m+ LibCURL_jll\u001b[39m\n \u001b[90m [29816b5a] \u001b[39m\u001b[92m+ LibSSH2_jll\u001b[39m\n \u001b[90m [c8ffd9c3] \u001b[39m\u001b[92m+ MbedTLS_jll\u001b[39m\n \u001b[90m [14a3606d] \u001b[39m\u001b[92m+ MozillaCACerts_jll\u001b[39m\n \u001b[90m [83775a58] \u001b[39m\u001b[92m+ Zlib_jll\u001b[39m\n \u001b[90m [8e850ede] \u001b[39m\u001b[92m+ nghttp2_jll\u001b[39m\n \u001b[90m [3f19e933] \u001b[39m\u001b[92m+ p7zip_jll\u001b[39m\n\u001b[32m\u001b[1mPrecompiling\u001b[22m\u001b[39m project...\n\u001b[32m ✓ \u001b[39m\u001b[90mGMP_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mnPth_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mOpenLDAPClient_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mLibgpg_error_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mSQLite_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mlibusb_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mNettle_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mLibgcrypt_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mLibassuan_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mLibksba_jll\u001b[39m\n\u001b[32m ✓ \u001b[39m\u001b[90mGnuTLS_jll\u001b[39m\n\u001b[32m ✓ \u001b[39mGnuPG_jll\n 12 dependencies successfully precompiled in 4 seconds (11 already precompiled)\n", | |
"name": "stderr" | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:13:17.407Z", | |
"end_time": "2021-09-07T20:13:17.443000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "using GnuPG_jll", | |
"execution_count": 51, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:14:28.666Z", | |
"end_time": "2021-09-07T20:14:28.549000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "?GnuPG_jll.gpgv()", | |
"execution_count": 53, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 53, | |
"data": { | |
"text/plain": " No documentation found.\n\n \u001b[36mGnuPG_jll.gpgv\u001b[39m is a \u001b[36mFunction\u001b[39m.\n\n\u001b[36m # 2 methods for generic function \"gpgv\":\u001b[39m\n\u001b[36m [1] gpgv(; adjust_PATH, adjust_LIBPATH) in GnuPG_jll at /home/antimon2/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:33\u001b[39m\n\u001b[36m [2] gpgv(f::Function; adjust_PATH, adjust_LIBPATH) in GnuPG_jll at /home/antimon2/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:5\u001b[39m", | |
"text/markdown": "No documentation found.\n\n`GnuPG_jll.gpgv` is a `Function`.\n\n```\n# 2 methods for generic function \"gpgv\":\n[1] gpgv(; adjust_PATH, adjust_LIBPATH) in GnuPG_jll at /home/antimon2/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:33\n[2] gpgv(f::Function; adjust_PATH, adjust_LIBPATH) in GnuPG_jll at /home/antimon2/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:5\n```\n", | |
"text/latex": "No documentation found.\n\n\\texttt{GnuPG\\_jll.gpgv} is a \\texttt{Function}.\n\n\\begin{verbatim}\n# 2 methods for generic function \"gpgv\":\n[1] gpgv(; adjust_PATH, adjust_LIBPATH) in GnuPG_jll at /home/antimon2/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:33\n[2] gpgv(f::Function; adjust_PATH, adjust_LIBPATH) in GnuPG_jll at /home/antimon2/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:5\n\\end{verbatim}\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:14:35.945Z", | |
"end_time": "2021-09-07T20:14:36.211000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "GnuPG_jll.gpgv()", | |
"execution_count": 54, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 54, | |
"data": { | |
"text/plain": "setenv(`\u001b[4m/home/antimon2/.julia/artifacts/781cfc9776697d236e0d9556848a73c471fb5021/bin/gpgv\u001b[24m`,[\"PATH=/home/antimon2/.julia/artifacts/98ed176ef7d6c370cad23ce86cee1bac0cfff263/bin:/home/antimon2/.julia/artifacts/bc7df2a88972dd1ff2685e091585f5c979bfd436/bin:/home/antimon2/.julia/artifacts/3db80064a3727ca3d4347395d90e206b780c3952/bin:/home/antimon2/.julia/artifacts/9f332e67a7ff196f9ce32a4af738aeb192866135/bin:/home/antimon2/.julia/artifacts/781cfc9776697d236e0d9556848a73c471fb5021/bin:/home/antimon2/.pyenv/versions/jupyterlab/bin:/home/antimon2/.pyenv/libexec:/home/antimon2/.pyenv/plugins/python-build/bin:/home/antimon2/.pyenv/plugins/pyenv-virtualenvwrapper/bin:/home/antimon2/.pyenv/plugins/pyenv-virtualenv/bin:/home/antimon2/.local/bin:/home/antimon2/bin:/home/antimon2/.asdf/shims:/home/antimon2/.asdf/bin:/home/antimon2/.rbenv/shims:/home/antimon2/.rbenv/bin:/home/antimon2/.nodenv/shims:/home/antimon2/.nodenv/bin:/home/antimon2/.pyenv/shims:/home/antimon2/.pyenv/bin:/home/antimon2/.local/bin:/home/antimon2/.local/bin:/home/antimon2/bin:/home/antimon2/.rbenv/shims:/home/antimon2/.rbenv/bin:/home/antimon2/.nodenv/shims:/home/antimon2/.nodenv/bin:/home/antimon2/.pyenv/shims:/home/antimon2/.pyenv/bin:/home/antimon2/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/cuda/bin:/usr/lib/cuda/bin\", \"PAPERSIZE=a4\", \"LD_LIBRARY_PATH=/home/antimon2/julia-1.6.2/bin/../lib/julia:/home/antimon2/.julia/artifacts/98ed176ef7d6c370cad23ce86cee1bac0cfff263/lib:/home/antimon2/.julia/artifacts/e5b7040574c68023252a3a28dc4bf4583a56d34f/lib:/home/antimon2/.julia/artifacts/575618730140d4aa796f2e7c75d33fac6845908d/lib:/home/antimon2/.julia/artifacts/285729063ff4e8ed6a09ab37bcd9bb74ad9ecf67/lib:/home/antimon2/.julia/artifacts/bec8e64dc2b9e89d634ec53df0767b33e1e6cb01/lib:/home/antimon2/.julia/artifacts/9b47b629554dfa9ec03245ee2eca83ddfbaa0f52/lib:/home/antimon2/.julia/artifacts/f7ae1360fa4db7105801d77252b3dc72f9b0dff3/lib:/home/antimon2/.julia/artifacts/bc7df2a88972dd1ff2685e091585f5c979bfd436/lib:/home/antimon2/.julia/artifacts/17314d4057d189dbe9a4cbb1dc839b541d70fc29/lib:/home/antimon2/.julia/artifacts/3db80064a3727ca3d4347395d90e206b780c3952/lib:/home/antimon2/.julia/artifacts/a720905290c81768185376a3ab5842c296b4cef8/lib:/home/antimon2/.julia/artifacts/9f332e67a7ff196f9ce32a4af738aeb192866135/lib:/home/antimon2/.julia/artifacts/4d8966b9dedc266b5e54ff9cd0684b464f3ecd0b/lib:/home/antimon2/julia-1.6.2/bin/../lib/julia:/home/antimon2/julia-1.6.2/bin/../lib\", \"TMUX=/tmp/tmux-1000/default,11802,0\", \"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus\", \"PYENV_ROOT=/home/antimon2/.pyenv\", \"SSH_AGENT_PID=3402\", \"XDG_SESSION_TYPE=tty\", \"USER=antimon2\", \"LC_TIME=ja_JP.UTF-8\" … \"LANGUAGE=en.UTF-8\", \"JPY_PARENT_PID=12267\", \"MAIL=/var/mail/antimon2\", \"RBENV_ROOT=/home/antimon2/.rbenv\", \"LC_NAME=ja_JP.UTF-8\", \"XDG_SESSION_ID=4\", \"LC_IDENTIFICATION=ja_JP.UTF-8\", \"PYENV_VERSION=jupyterlab\", \"LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:\", \"OPENBLAS_MAIN_FREE=1\"])" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:21:27.267Z", | |
"end_time": "2021-09-07T20:21:27.377000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "run(`$(gpg()) --version`)", | |
"execution_count": 55, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": "gpg (GnuPG) 2.2.27\nlibgcrypt 1.8.5\nCopyright (C) 2021 Free Software Foundation, Inc.\nLicense GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nHome: /home/antimon2/.gnupg\nSupported algorithms:\nPubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA\nCipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,\n CAMELLIA128, CAMELLIA192, CAMELLIA256\nHash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224\nCompression: Uncompressed, ZIP, ZLIB, BZIP2\n", | |
"name": "stdout" | |
}, | |
{ | |
"output_type": "execute_result", | |
"execution_count": 55, | |
"data": { | |
"text/plain": "Process(setenv(`\u001b[4m/home/antimon2/.julia/artifacts/781cfc9776697d236e0d9556848a73c471fb5021/bin/gpg\u001b[24m \u001b[4m--version\u001b[24m`,[\"PATH=/home/antimon2/.julia/artifacts/98ed176ef7d6c370cad23ce86cee1bac0cfff263/bin:/home/antimon2/.julia/artifacts/bc7df2a88972dd1ff2685e091585f5c979bfd436/bin:/home/antimon2/.julia/artifacts/3db80064a3727ca3d4347395d90e206b780c3952/bin:/home/antimon2/.julia/artifacts/9f332e67a7ff196f9ce32a4af738aeb192866135/bin:/home/antimon2/.julia/artifacts/781cfc9776697d236e0d9556848a73c471fb5021/bin:/home/antimon2/.pyenv/versions/jupyterlab/bin:/home/antimon2/.pyenv/libexec:/home/antimon2/.pyenv/plugins/python-build/bin:/home/antimon2/.pyenv/plugins/pyenv-virtualenvwrapper/bin:/home/antimon2/.pyenv/plugins/pyenv-virtualenv/bin:/home/antimon2/.local/bin:/home/antimon2/bin:/home/antimon2/.asdf/shims:/home/antimon2/.asdf/bin:/home/antimon2/.rbenv/shims:/home/antimon2/.rbenv/bin:/home/antimon2/.nodenv/shims:/home/antimon2/.nodenv/bin:/home/antimon2/.pyenv/shims:/home/antimon2/.pyenv/bin:/home/antimon2/.local/bin:/home/antimon2/.local/bin:/home/antimon2/bin:/home/antimon2/.rbenv/shims:/home/antimon2/.rbenv/bin:/home/antimon2/.nodenv/shims:/home/antimon2/.nodenv/bin:/home/antimon2/.pyenv/shims:/home/antimon2/.pyenv/bin:/home/antimon2/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/cuda/bin:/usr/lib/cuda/bin\", \"PAPERSIZE=a4\", \"LD_LIBRARY_PATH=/home/antimon2/julia-1.6.2/bin/../lib/julia:/home/antimon2/.julia/artifacts/98ed176ef7d6c370cad23ce86cee1bac0cfff263/lib:/home/antimon2/.julia/artifacts/e5b7040574c68023252a3a28dc4bf4583a56d34f/lib:/home/antimon2/.julia/artifacts/575618730140d4aa796f2e7c75d33fac6845908d/lib:/home/antimon2/.julia/artifacts/285729063ff4e8ed6a09ab37bcd9bb74ad9ecf67/lib:/home/antimon2/.julia/artifacts/bec8e64dc2b9e89d634ec53df0767b33e1e6cb01/lib:/home/antimon2/.julia/artifacts/9b47b629554dfa9ec03245ee2eca83ddfbaa0f52/lib:/home/antimon2/.julia/artifacts/f7ae1360fa4db7105801d77252b3dc72f9b0dff3/lib:/home/antimon2/.julia/artifacts/bc7df2a88972dd1ff2685e091585f5c979bfd436/lib:/home/antimon2/.julia/artifacts/17314d4057d189dbe9a4cbb1dc839b541d70fc29/lib:/home/antimon2/.julia/artifacts/3db80064a3727ca3d4347395d90e206b780c3952/lib:/home/antimon2/.julia/artifacts/a720905290c81768185376a3ab5842c296b4cef8/lib:/home/antimon2/.julia/artifacts/9f332e67a7ff196f9ce32a4af738aeb192866135/lib:/home/antimon2/.julia/artifacts/4d8966b9dedc266b5e54ff9cd0684b464f3ecd0b/lib:/home/antimon2/julia-1.6.2/bin/../lib/julia:/home/antimon2/julia-1.6.2/bin/../lib\", \"TMUX=/tmp/tmux-1000/default,11802,0\", \"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus\", \"PYENV_ROOT=/home/antimon2/.pyenv\", \"SSH_AGENT_PID=3402\", \"XDG_SESSION_TYPE=tty\", \"USER=antimon2\", \"LC_TIME=ja_JP.UTF-8\" … \"LANGUAGE=en.UTF-8\", \"JPY_PARENT_PID=12267\", \"MAIL=/var/mail/antimon2\", \"RBENV_ROOT=/home/antimon2/.rbenv\", \"LC_NAME=ja_JP.UTF-8\", \"XDG_SESSION_ID=4\", \"LC_IDENTIFICATION=ja_JP.UTF-8\", \"PYENV_VERSION=jupyterlab\", \"LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:\", \"OPENBLAS_MAIN_FREE=1\"]), ProcessExited(0))" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:25:40.802Z", | |
"end_time": "2021-09-07T20:25:40.661000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "replace(basename(fifull_linux_x64_glibc.url), r\"\\.(tar\\.(bz|gz)|exe|msi|dmg)\"=>\".asc\")", | |
"execution_count": 58, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"execution_count": 58, | |
"data": { | |
"text/plain": "\"julia-1.7.0-beta4-linux-x86_64.asc\"" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T11:50:39.108Z", | |
"end_time": "2021-09-07T20:50:38.994000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "print(fifull_linux_x64_glibc.asc)", | |
"execution_count": 63, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": "-----BEGIN PGP SIGNATURE-----\n\niQJLBAABCgA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmEpuS8XHGJ1aWxkYm90\nQGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JWJ9w/+IiX83xPmcypwRLQ+CksIgeaM\njq0QY5YLtRuOm6355RtplFalx0WKO17KOxJaSEKEQkZeJNcI0BE1FWIub3mtXVCE\njWhJyQAcJd/WsAOw17+hwFQV2+6Aqy1eY4mQ6vwRwn85BlsbgtzEip6FEJOQ9fRd\nxphA/GkT2SYlu687GpKnzzR76x6z1yGH/cbIrLKBYPrlZ0yDvcQ/1P17VeEsfwZ3\npbOyTwo7qGTcSjaEniSjdSM3C2MsTIIPdhcs3XGaZl0jfmKarKrFlkJn7pSAW034\nkhJx1r+Nmdcn1/JJXKdIVHlCH8vMooVEE6C7B22ujdX021GhTzVHzif6EpCfxdxn\nyb8pK5OKVwQj8lX5YApSZGKBZIaB9TYUuqLW+OSN/sSunIc+FllYXJJTnFSD9KIc\nhHYS5hJfv7tAuD/uesEbWkH2oNd2jBu0M1AcR627LqGhYsCxrPkGklOC6RXZU57n\ncX7egZDHkl2iPhGNqSyabDLa5f5IKt4j1eYTv3Uwc4tuAamMHEcBUwfurkKqj46T\nf2+1lvgAyrTCZ4kbGvW0jKE1s/1xMX1hDKwknn+ZAMaXBrSzQTx6UTdYT4UvnHcs\nsLgIFvlBo3rFjOolBwwaISn0C8z3hSUSUBVIn+Yu5WtcCyLR+zsGYmieooe8QKD1\n8KPNUowwJ6+dVBiOESk=\n=Y4+g\n-----END PGP SIGNATURE-----\n", | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T12:04:26.768Z", | |
"end_time": "2021-09-07T21:04:27.040000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "gpg() do exe\n if any(contains(\"[email protected]\"), readlines(`$exe --list-keys`))\n @info \"pubkey is already imported\"\n else\n pubkey_url = \"https://julialang.org/assets/juliareleases.asc\"\n pubkey_dest = joinpath(tempdir(), basename(pubkey_url))\n Downloads.download(pubkey_url, pubkey_dest)\n proc0 = run(`$exe --import $pubkey_dest`)\n if success(proc0)\n @info \"pubkey imported successfully\"\n else\n @info \"failed to import pubkey\"\n end\n end\nend", | |
"execution_count": 65, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": "gpg: key 66E3C7DC03D6E495: public key \"Julia (Binary signing key) <[email protected]>\" imported\ngpg: WARNING: server 'gpg-agent' is older than us (2.2.12 < 2.2.27)\ngpg: Note: Outdated servers may lack important security fixes.\ngpg: Note: Use the command \"gpgconf --kill all\" to restart them.\ngpg: Total number processed: 1\ngpg: imported: 1\n┌ Info: pubkey imported successfully\n└ @ Main In[65]:10\n", | |
"name": "stderr" | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2021-09-07T12:04:48.134Z", | |
"end_time": "2021-09-07T21:05:04.417000+09:00" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "gpg() do exe\n tmp_dir = tempdir()\n archive_filename = basename(fifull_linux_x64_glibc.url)\n archive_path = joinpath(tmp_dir, archive_filename)\n print(\"Downloading $archive_filename...\")\n Downloads.download(fifull_linux_x64_glibc.url, archive_path)\n println(\"Done\")\n println(\"Verify PGP Signature\")\n ascfilename = archive_filename * \".asc\"\n asc_path = joinpath(tempdir(), ascfilename)\n open(asc_path, \"w\") do f\n print(f, fifull_linux_x64_glibc.asc)\n end\n proc = run(`$exe --verify $asc_path`)\n rm(asc_path)\n rm(archive_path)\n proc\nend", | |
"execution_count": 66, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": "Downloading julia-1.7.0-beta4-linux-x86_64.tar.gz...Done\nVerify PGP Signature\n", | |
"name": "stdout" | |
}, | |
{ | |
"output_type": "stream", | |
"text": "gpg: assuming signed data in '/tmp/julia-1.7.0-beta4-linux-x86_64.tar.gz'\ngpg: Signature made Sat Aug 28 13:18:55 2021 JST\ngpg: using RSA key 3673DF529D9049477F76B37566E3C7DC03D6E495\ngpg: issuer \"[email protected]\"\ngpg: Good signature from \"Julia (Binary signing key) <[email protected]>\" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 3673 DF52 9D90 4947 7F76 B375 66E3 C7DC 03D6 E495\n", | |
"name": "stderr" | |
}, | |
{ | |
"output_type": "execute_result", | |
"execution_count": 66, | |
"data": { | |
"text/plain": "Process(`\u001b[4m/home/antimon2/.julia/artifacts/781cfc9776697d236e0d9556848a73c471fb5021/bin/gpg\u001b[24m \u001b[4m--verify\u001b[24m \u001b[4m/tmp/julia-1.7.0-beta4-linux-x86_64.tar.gz.asc\u001b[24m`, ProcessExited(0))" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "", | |
"execution_count": null, | |
"outputs": [] | |
} | |
], | |
"metadata": { | |
"_draft": { | |
"nbviewer_url": "https://gist.github.com/5115fe7c3d3fe4f2a9461826e78fcc59" | |
}, | |
"gist": { | |
"id": "5115fe7c3d3fe4f2a9461826e78fcc59", | |
"data": { | |
"description": "JSON3.ParseAndVerifyVersionsJson.jl", | |
"public": true | |
} | |
}, | |
"kernelspec": { | |
"name": "julia-1.6", | |
"display_name": "Julia 1.6.2", | |
"language": "julia" | |
}, | |
"language_info": { | |
"file_extension": ".jl", | |
"name": "julia", | |
"mimetype": "application/julia", | |
"version": "1.6.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[compat] | |
julia = "1.6" | |
[deps] | |
GnuPG_jll = "1522389b-45f8-5faa-af4d-a301b79c50ac" | |
JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" | |
SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce" | |
StructTypes = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment