Skip to content

Commit

Permalink
Merge pull request #758 from joshcooper/pdk
Browse files Browse the repository at this point in the history
Build pdk runtime components against openssl 3
  • Loading branch information
gavindidrichsen authored Nov 13, 2023
2 parents 28dbddb + b82d685 commit b0ba09b
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 22 deletions.
6 changes: 6 additions & 0 deletions configs/components/post-additional-rubies.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
component "post-additional-rubies" do |pkg, settings, platform|
pkg.build do
[ "rm -rf #{settings[:prefix]}/include/openssl",
"mv /tmp/openssl #{settings[:prefix]}/include/openssl"]
end
end
5 changes: 5 additions & 0 deletions configs/components/pre-additional-rubies.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
component "pre-additional-rubies" do |pkg, settings, platform|
pkg.build do
["mv #{settings[:prefix]}/include/openssl /tmp/openssl"]
end
end
21 changes: 6 additions & 15 deletions configs/projects/_pdk-components.rb
Original file line number Diff line number Diff line change
@@ -1,21 +1,6 @@
# This file is used to define the components that make up the PDK runtime package.

if proj.ruby_major_version >= 3

openssl3_platform = [
platform.is_el?,
platform.is_fedora?,
platform.is_sles?,
platform.is_deb?,
platform.is_macos?,
platform.is_windows?
].any?

openssl_version = proj.openssl_version
openssl_version = '3.0' if openssl3_platform

proj.component "openssl-#{openssl_version}"

# Ruby 3.2 does not package these two libraries so we need to add them
proj.component 'libffi'
proj.component 'libyaml'
Expand Down Expand Up @@ -53,13 +38,19 @@
# Additional Rubies
if proj.respond_to?(:additional_rubies)
proj.additional_rubies.each_key do |rubyver|
raise "Not sure which openssl version to use for ruby #{rubyver}" unless rubyver.start_with?("2.7")

# old ruby versions don't support openssl 3
proj.component "pre-additional-rubies"
proj.component "openssl-1.1.1"
proj.component "ruby-#{rubyver}"

ruby_minor = rubyver.split('.')[0, 2].join('.')

proj.component "ruby-#{ruby_minor}-augeas" unless platform.is_windows?
proj.component "ruby-#{ruby_minor}-selinux" if platform.is_el? || platform.is_fedora?
proj.component "ruby-#{ruby_minor}-stomp"
proj.component "post-additional-rubies"
end
end

Expand Down
8 changes: 1 addition & 7 deletions configs/projects/pdk-runtime.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
project 'pdk-runtime' do |proj|
proj.setting(:runtime_project, 'pdk')
proj.setting(:openssl_version, '1.1.1')
proj.setting(:openssl_version, '3.0')
proj.setting(:augeas_version, '1.14.1')
proj.setting(:rubygem_fast_gettext_version, '1.1.2')
proj.setting(:rubygem_gettext_version, '3.2.2')
Expand Down Expand Up @@ -157,10 +157,4 @@
proj.publish_yaml_settings

proj.timeout 7200 if platform.is_windows?

# Here we rewrite public http urls to use our internal source host instead.
# Something like https://www.openssl.org/source/openssl-1.0.0r.tar.gz gets
# rewritten as
# https://artifactory.delivery.puppetlabs.net/artifactory/generic/buildsources/openssl-1.0.0r.tar.gz
# proj.register_rewrite_rule 'http', proj.buildsources_url
end

0 comments on commit b0ba09b

Please sign in to comment.