From b4fe378df8bceae9740c960b8a926a951b1ba69b Mon Sep 17 00:00:00 2001 From: Josh Cooper Date: Mon, 15 Apr 2024 17:06:19 -0700 Subject: [PATCH] (PA-5715) Download release tarballs for libxml2 and libxslt Previously, we were using internally hosted libxml2 and libxslt tarballs to work around the fact that upstream source tarballs don't contain a configure script. There are two different issues preventing us from generating the configure script: 1. libxml2's configure.ac added a requirement on automake 1.16 to resolve an issue when building using python, but not all of our systems have 1.16 available: AM_INIT_AUTOMAKE([1.16.3 foreign no-dist-gzip dist-xz]) 2. We explicitly disable python, so the automake 1.16.3 requirement isn't actually needed: ./configure --prefix=/opt/puppetlabs/puppet --without-python ... In theory we could patch configure.ac and run `autoreconf -fi`, but we don't have new enough libtool installed on all of our systems. So just install the release tarballs that do contain a configure script. --- configs/components/libxml2.rb | 10 ++++------ configs/components/libxslt.rb | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/configs/components/libxml2.rb b/configs/components/libxml2.rb index 11b1bbe14..f4f7a7550 100644 --- a/configs/components/libxml2.rb +++ b/configs/components/libxml2.rb @@ -1,12 +1,10 @@ component "libxml2" do |pkg, settings, platform| pkg.version '2.10.3' - pkg.sha256sum '26d2415e1c23e0aad8ca52358523fc9116a2eb6e4d4ef47577b1635c7cee3d5f' - pkg.url "#{settings[:buildsources_url]}/libxml2-#{pkg.get_version}.tar.gz" + pkg.sha256sum '5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c' - # Newer versions of libxml2 either ship as tar.xz or do not ship with a configure file - # and require a newer version of GNU Autotools to generate. This causes problems with - # the older and esoteric (AIX, Solaris) platforms that we support. - # So we generate a configure file manually, compress as tar.gz, and host internally. + libxml2_version_y = pkg.get_version.gsub(/(\d+)\.(\d+)\.(\d+)/, '\1.\2') + pkg.url "https://download.gnome.org/sources/libxml2/#{libxml2_version_y}/libxml2-#{pkg.get_version}.tar.xz" + pkg.mirror "#{settings[:buildsources_url]}/libxml2-#{pkg.get_version}.tar.xz" if platform.is_aix? if platform.name == 'aix-7.1-ppc' diff --git a/configs/components/libxslt.rb b/configs/components/libxslt.rb index 2f76a3a96..36674dfda 100644 --- a/configs/components/libxslt.rb +++ b/configs/components/libxslt.rb @@ -1,12 +1,10 @@ component "libxslt" do |pkg, settings, platform| pkg.version '1.1.37' - pkg.sha256sum 'a4ecab265f44e888ed3b39e11c7e925103ef6e26e09d62e9381f26977df96343' - pkg.url "#{settings[:buildsources_url]}/libxslt-v#{pkg.get_version}.tar.gz" + pkg.sha256sum '3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4' - # Newer versions of libxslt either ship as tar.xz or do not ship with a configure file - # and require a newer version of GNU Autotools to generate. This causes problems with - # the older and esoteric (AIX, Solaris) platforms that we support. - # So we generate a configure file manually, compress as tar.gz, and host internally. + libxslt_version_y = pkg.get_version.gsub(/(\d+)\.(\d+)\.(\d+)/, '\1.\2') + pkg.url "https://download.gnome.org/sources/libxslt/#{libxslt_version_y}/libxslt-#{pkg.get_version}.tar.xz" + pkg.mirror "#{settings[:buildsources_url]}/libxslt-#{pkg.get_version}.tar.xz" pkg.build_requires "libxml2"