Skip to content
This repository has been archived by the owner on Jan 15, 2025. It is now read-only.

Commit

Permalink
(PA-5715) Download release tarballs for libxml2 and libxslt
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
joshcooper committed Apr 17, 2024
1 parent d87c736 commit b4fe378
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
10 changes: 4 additions & 6 deletions configs/components/libxml2.rb
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
10 changes: 4 additions & 6 deletions configs/components/libxslt.rb
Original file line number Diff line number Diff line change
@@ -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"

Expand Down

0 comments on commit b4fe378

Please sign in to comment.