Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set compat for OpenSSL_jll to 1.1.10-1 for OpenSSL_jll v3 transition #78542

Merged
merged 6 commits into from
Mar 3, 2023

Conversation

mkitti
Copy link
Contributor

@mkitti mkitti commented Feb 26, 2023

Note: The latest stable version is the 3.0 series supported until 7th September 2026. This is also a Long Term Support (LTS) version. The previous LTS version (the 1.1.1 series) is also available and is supported until 11th September 2023.

Before we build OpenSSL v3 via JuliaPackaging/Yggdrasil#6289 we need to make sure the compat for currently OpenSSL_jll dependencies are bounded to version 1.1.

This pull request also corresponds with JuliaPackaging/Yggdrasil#6312

I examined Deps.toml and Compat.toml for dependence of each package on OpenSSL_jll. If there was a dependence, I added or updated the compat to be "1.1.20-0" for the corresponding versions.

Please review carefully. I used the following code to make the changes.

cc: @giordano

julia> function find_openssl_jll(; query="OpenSSL_jll")
           compat_dict = Dict{String, Dict{String,Bool}}()
           for(root, dirs, files) in walkdir(".")
               for file in files
                   if file == "Deps.toml" || file == "Compat.toml"
                       fullfile = joinpath(root,file)
                       lines = filter(contains(query), readlines(fullfile))
                       if !isempty(lines)
                           printstyled(fullfile, ": "; color=:green)
                           println.(lines)
                           compat_dict[root] = get(compat_dict, root, Dict{String,Bool}())
                           if file == "Deps.toml"
                               deps_toml = TOML.parsefile(fullfile)
                               for v in keys(deps_toml)
                                   compat_dict[root][v] = haskey(deps_toml[v], "OpenSSL_jll")
                               end
                           elseif file == "Compat.toml"
                               compat_toml = TOML.parsefile(fullfile)
                               for v in keys(compat_toml)
                                   compat_dict[root][v] = haskey(compat_toml[v], "OpenSSL_jll")
                               end
                           end
                       end
                   end
               end
           end
           return compat_dict
       end
find_openssl_jll (generic function with 1 method)

julia> function process_compat_toml(d, deps_dict)
           fullfile = joinpath(d, "Compat.toml")
           toml_dict = TOML.parsefile(fullfile)
           for (k, v) in deps_dict
               if v
                   if !haskey(toml_dict, k)
                       toml_dict[k] = Dict{String, Any}()
                   end
                   toml_dict[k]["OpenSSL_jll"] = "1.1.20-1"
               end
           end
           toml_dict
       end
process_compat_toml (generic function with 2 methods)

julia> function edit_compat_tomls(compat_dict; do_not_write = false)
           for d in keys(compat_dict)
               toml_dict = process_compat_toml(d, compat_dict[d])
               if !do_not_write
                   open(joinpath(d, "Compat.toml"), "w") do io
                       TOML.print(io, toml_dict)
                   end
               end
               TOML.print(toml_dict)
           end
       end
edit_compat_tomls (generic function with 1 method)

julia> find_openssl_jll() |> edit_compat_tomls

@mkitti mkitti changed the title Set compat for OpenSSL_jll to 1.1.20-0 for OpenSSL_jll v3 transition Set compat for OpenSSL_jll to 1.1.20-1 for OpenSSL_jll v3 transition Feb 26, 2023
@giordano
Copy link
Member

Why 1.1.20 and not 1.1.10 as we said the other day on slack?

mkitti added a commit to mkitti/OpenSSL.jl that referenced this pull request Feb 26, 2023
This correspond with registry changes here:
JuliaRegistries/General#78542
@mkitti
Copy link
Contributor Author

mkitti commented Feb 26, 2023

Why 1.1.20 and not 1.1.10 as we said the other day on slack?

You said 1.1.20 here:
JuliaPackaging/Yggdrasil#6289 (comment)

@giordano
Copy link
Member

I think I mistyped 1 for 2 there.

@mkitti mkitti changed the title Set compat for OpenSSL_jll to 1.1.20-1 for OpenSSL_jll v3 transition Set compat for OpenSSL_jll to 1.1.10-1 for OpenSSL_jll v3 transition Feb 26, 2023
@mkitti
Copy link
Contributor Author

mkitti commented Feb 26, 2023

Fixed. It's now 1.1.10 or higher.

@mkitti
Copy link
Contributor Author

mkitti commented Feb 26, 2023

I'm going to try this again with RetroCap.jl

@@ -1,10 +1,10 @@
[1]
BitFlags = "0.1"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd skip this package because this is independent from JuliaPackaging/Yggdrasil#6312. You'd need to coordinate with upstream OpenSSL.jl.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 99e778b

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See JuliaWeb/OpenSSL.jl#15 for upstream coordination.

@mkitti mkitti requested a review from giordano March 3, 2023 10:57
@mkitti
Copy link
Contributor Author

mkitti commented Mar 3, 2023

@giordano any other issues?

@giordano giordano merged commit a14249e into JuliaRegistries:master Mar 3, 2023
@giordano
Copy link
Member

giordano commented Mar 3, 2023

We'll see how this goes 🤞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants