Skip to content

Support required to build puppet-runtime outside of puppet infrastructure. #784

@maureen-lawless

Description

@maureen-lawless

Hi,

I'm trying to build the puppet-runtime project "agent-runtime-main" for el-8-x86_64 from version 202312201.

Intially, I got an error from component libxml2 trying to dowload libxml2-v2.10.3.tar.gz from the 'puppet internal buildsources url'

_shared-agent-settings.rb
-------------------------------------
proj.setting(:artifactory_url, "https://artifactory.delivery.puppetlabs.net/artifactory")
proj.setting(:buildsources_url, "#{proj.artifactory_url}/generic/buildsources")

I replaced the libxml2 url to: https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.10.3/libxml2-v2.10.3.tar.gz
along with the urls for libxslt, ansicon as these also referenced the puppet internal buildsources url:

https://gitlab.gnome.org/GNOME/libxslt/-/archive/v1.1.39/libxslt-v1.1.39.tar.gz
https://github.com/adoxa/ansicon/archive/refs/tags/v1.86.tar.gz

Then the build failed with the following error:

gunzip -c "libxml2-v2.10.3.tar.gz" | tar xf -
touch libxml2-unpack
touch libxml2-patch
[ -d libxml2-v2.10.3 ] || mkdir -p libxml2-v2.10.3
export LDFLAGS="-L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now" && \
export CFLAGS="-fstack-protector-strong -fno-plt -O2" && \
cd libxml2-v2.10.3 && \
./configure --prefix=/opt/puppetlabs/puppet --without-python 
**/bin/bash: line 3: ./configure: No such file or directory**
make: *** [Makefile:443: libxml2-configure] Error 127
bundler: failed to load command: vanagon (/usr/bin/vanagon)
/usr/share/gems/gems/vanagon-0.44.0/lib/vanagon/utilities.rb:275:in `block in local_command': Local command ((cd /var/tmp/tmp.47KsmYNMcZ; /usr/bin/make )) failed. (RuntimeError)
	from /usr/local/share/gems/gems/bundler-2.3.26/lib/bundler.rb:404:in `block in with_clean_env'
	from /usr/local/share/gems/gems/bundler-2.3.26/lib/bundler.rb:708:in `with_env'
	from /usr/local/share/gems/gems/bundler-2.3.26/lib/bundler.rb:404:in `with_clean_env'

The ./configure file is missing, and I see the following comment in the puppet-runtime/configs/components/libxml2.rb file:

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.

Same comment in puppet-runtime/configs/components/libxslt.rb

Can you share the modified/re-packaged tarballs of libxml2-v2.10.3.tar.gz, libxslt-v1.1.39.tar.gz, and ansicon v1.86.tar.gz (if this has been modified and hosted internally)
or share the Configure files that were generated manually and indicate where they should be placed in the tarball for a successful build?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedIssue has been reviewed & PRs are welcometriagedJira issue has been created for this

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions