Skip to content

Commit c0c1b4d

Browse files
(PA-7099) Add libpsl component to agent-runtime-main
- Curl 8.10.1 requires the libpsl component. - Skip windows platforms for now (https://perforce.atlassian.net/browse/PA-7116). - Add python3.11 package to applicable platforms as libpsl requires it for building. - Add libunistring_dev package to solaris-11-native-sparc as libpsl requires unistr in solaris-11
1 parent fd408d3 commit c0c1b4d

File tree

9 files changed

+47
-3
lines changed

9 files changed

+47
-3
lines changed

configs/components/curl.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717

1818
pkg.build_requires "openssl-#{settings[:openssl_version]}"
1919
pkg.build_requires "puppet-ca-bundle"
20+
unless platform.is_windows?
21+
pkg.build_requires "libpsl"
22+
end
2023

2124
ldflags = settings[:ldflags]
2225
if platform.is_cross_compiled_linux?
@@ -35,6 +38,7 @@
3538
# exclude -Wl,-brtl
3639
ldflags = "-L#{settings[:libdir]}"
3740
else
41+
pkg.environment "PKG_CONFIG_PATH", "/opt/puppetlabs/puppet/lib/pkgconfig"
3842
pkg.environment "PATH", "/opt/pl-build-tools/bin:$(PATH):#{settings[:bindir]}"
3943
end
4044

@@ -53,7 +57,10 @@
5357
end
5458

5559
configure_options = []
56-
configure_options << "--with-ssl=#{settings[:prefix]} --without-libpsl"
60+
configure_options << "--with-ssl=#{settings[:prefix]}"
61+
if platform.is_windows?
62+
configure_options << "--without-libpsl"
63+
end
5764

5865
# OpenSSL version 3.0 & up no longer ships by default the insecure algorithms
5966
# that curl's ntlm module depends on (md4 & des).

configs/components/libpsl.rb

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
component 'libpsl' do |pkg, settings, platform|
2+
pkg.version '0.21.5'
3+
pkg.url "https://github.com/rockdaboot/libpsl/releases/download/#{pkg.get_version}/libpsl-#{pkg.get_version}.tar.gz"
4+
pkg.mirror "https://artifactory.delivery.puppetlabs.net/artifactory/generic__buildsources/buildsources/libpsl-0.21.5.tar.gz"
5+
pkg.sha256sum "1dcc9ceae8b128f3c0b3f654decd0e1e891afc6ff81098f227ef260449dae208"
6+
7+
if platform.is_aix?
8+
pkg.environment "MAKE", 'gmake'
9+
pkg.environment "PATH", "$(PATH):/opt/freeware/bin"
10+
elsif platform.is_solaris?
11+
pkg.environment "MAKE", 'gmake'
12+
pkg.environment "PATH", "/opt/pl-build-tools/bin:$(PATH)"
13+
pkg.environment "CFLAGS", "-I/opt/csw/include"
14+
pkg.environment "LDFLAGS", "-L/opt/csw/lib"
15+
end
16+
17+
pkg.configure do
18+
["./configure --prefix=#{settings[:prefix]}"]
19+
end
20+
21+
pkg.build do
22+
["#{platform[:make]} VERBOSE=1 -j$(shell expr $(shell #{platform[:num_cores]}) + 1)"]
23+
end
24+
25+
pkg.install do
26+
["#{platform[:make]} VERBOSE=1 -j$(shell expr $(shell #{platform[:num_cores]}) + 1) install"]
27+
end
28+
end

configs/platforms/el-8-aarch64.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
packages = %w(
55
perl-Getopt-Long
66
patch
7+
python3.11
78
swig
89
libselinux-devel
910
readline-devel

configs/platforms/el-8-ppc64le.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
platform 'el-8-ppc64le' do |plat|
22
plat.inherit_from_default
3+
packages = ["python3.11"]
4+
plat.provision_with("dnf install -y --allowerasing #{packages.join(' ')}")
35
end

configs/platforms/el-8-x86_64.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
libsepol-devel
77
libselinux-devel
88
pkgconfig
9+
python3.11
910
readline-devel
1011
rpmdevtools
1112
swig
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
platform "redhatfips-8-x86_64" do |plat|
22
plat.inherit_from_default
3+
packages = ["python3.11"]
4+
plat.provision_with "dnf install -y --allowerasing #{packages.join(' ')}"
35
end

configs/platforms/solaris-11-i386.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
basedir=default" > /var/tmp/vanagon-noask;
4242
echo "mirror=https://artifactory.delivery.puppetlabs.net/artifactory/generic__remote_opencsw_mirror/testing" > /var/tmp/vanagon-pkgutil.conf;
4343
pkgadd -n -a /var/tmp/vanagon-noask -d http://get.opencsw.org/now all
44-
/opt/csw/bin/pkgutil --config=/var/tmp/vanagon-pkgutil.conf -y -i libffi_dev autoconf gcc4core CSWxz-5.2.8,REV=2022.11.16 || exit 1;
44+
/opt/csw/bin/pkgutil --config=/var/tmp/vanagon-pkgutil.conf -y -i libffi_dev autoconf gcc4core CSWxz-5.2.8,REV=2022.11.16 python33 || exit 1;
4545
ntpdate pool.ntp.org]
4646
plat.output_dir File.join("solaris", "11", "PC1")
4747
end

configs/platforms/solaris-11-native-sparc.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@
5555
basedir=default" > /var/tmp/vanagon-noask;
5656
echo "mirror=https://artifactory.delivery.puppetlabs.net/artifactory/generic__remote_opencsw_mirror/testing" > /var/tmp/vanagon-pkgutil.conf;
5757
pkgadd -n -a /var/tmp/vanagon-noask -d http://get.opencsw.org/now all
58-
/opt/csw/bin/pkgutil -config=/var/tmp/vanagon-pkgutil.conf -U && /opt/csw/bin/pkgutil -config=/var/tmp/vanagon-pkgutil.conf -y -i bison CSWxz-5.2.8,REV=2022.11.16 || exit 1
58+
/opt/csw/bin/pkgutil -config=/var/tmp/vanagon-pkgutil.conf -U && /opt/csw/bin/pkgutil -config=/var/tmp/vanagon-pkgutil.conf -y -i bison CSWxz-5.2.8,REV=2022.11.16 libunistring_dev || exit 1
5959
]
6060
end

configs/projects/agent-runtime-main.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@
4747
# Load shared agent components
4848
########
4949

50+
unless platform.is_windows?
51+
proj.component 'libpsl'
52+
end
5053
instance_eval File.read(File.join(File.dirname(__FILE__), '_shared-agent-components.rb'))
5154

5255
########

0 commit comments

Comments
 (0)