Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Ruby 3 on AIX 7.2 for Puppet 8 #682

Merged
merged 9 commits into from
Jun 20, 2023
Merged

Conversation

joshcooper
Copy link
Contributor

@joshcooper joshcooper commented Jun 15, 2023

Builds ruby 3.2.2 and openssl 3.0.8

Additional work will be handled in separate tickets to:

  • Build curl and yaml-cpp
  • Adding rpath to LDFLAGS when linking openssl

Successfully built https://jenkins-platform.delivery.puppetlabs.net/job/platform_vanagon-generic-builder_vanagon-packaging_generic-builder/BUILD_TARGET=aix-7.2-ppc,SLAVE_LABEL=k8s-worker/2082

Escape dots when matching platform name

:? means match colon 0 or 1 times, so it matched 0 times. We actually want ?:
which is a non-capturing group.
When building puppet7 on AIX 7.1, we use pl-build-tools. When building
puppet8 on 7.2, we don't, so make the CC and PATH environment variables
conditional.
But continue using libedit on AIX 7.1
Our Solaris build host only has openssl 1.0.2 which isn't new enough to boostrap
miniruby. So bump to openssl 3 and link against libatomic, which must also be
vendored/redistributed in the runtime.
Use gcc 10.3.0 to build boost.
Skip yaml-cpp for now on AIX 7.2
We still need to bootstrap openssl 1.0.2 so that we can connect to artifactory
to download aix-yum.sh, which installs yum on AIX. Then we can use yum to
install non-pl-build-tools gcc, etc.
@joshcooper
Copy link
Contributor Author

The important part is AIX 7.1 isn't modified when building agent-runtime-7.x:

$ bx rake vanagon:component_diff -- -P agent-runtime-7.x -p aix-7.1-ppc --from upstream/master --to HEAD
...
## Project `agent-runtime-7.x`
Nothing is affected 😊

And only aix-7.2-ppc is added when building agent-runtime-main (ignoring 7.1):

$ bx rake vanagon:component_diff -- -m -P agent-runtime-main -p all --from upstream/master --to HEAD 
...
Project agent-runtime-main

Platform name: aix-7.2-ppc
    Component 'augeas' was newly added, not showing diff for it

    Component 'boost' was newly added, not showing diff for it

    Component 'libffi' was newly added, not showing diff for it
...

@puppetlabs puppetlabs deleted a comment from github-actions bot Jun 15, 2023
@joshcooper joshcooper marked this pull request as ready for review June 15, 2023 21:32
@joshcooper joshcooper requested review from a team as code owners June 15, 2023 21:32
@cthorn42
Copy link
Collaborator

Just to be clear, previously we built aix 7.2 packages on the aix 7.1 hosts, and now going forward will build packages for aix 7.2 on the aix 7.2 host?

@joshcooper
Copy link
Contributor Author

going forward will build packages for aix 7.2 on the aix 7.2 host?

Yep exactly. AIX 7.1 technically went EOL on 4/30/2023 (https://www.ibm.com/support/pages/aix-support-lifecycle-information) and we have some work to do to send out comms, deprecate the platform, etc in 7.x/2021.7.x. For Puppet 8, we'll only support/ship AIX 7.2 (and then add 7.3 later).

@mhashizume mhashizume merged commit 1a77733 into puppetlabs:master Jun 20, 2023
2 checks passed
@joshcooper joshcooper deleted the aix72 branch June 27, 2023 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants