support puppetlabs-stdlib up through version 9.x#14
Open
jackdpeterson wants to merge 22 commits into
Open
Conversation
expand range of stdlib to support up through version 9. Add additional supported OS versions (I'm testing on ubuntu 24.04) w/ Puppet 8.
…/aws']``` being defined.
…f ruby 3.2 assumption. ubuntu 26.04 ships with Ruby 3.3. The workaround is to not use the default AWS installer script and just go straight to the referenced .deb or .rpm files in this module and not fuss with that junk. IDK why they made that decision -- it would've made more sense to just link the OS-dependent installers directly in docs.
…ting, testing, etc.
…edeploy agent. This might work
…h Ruby 3.3 The codedeploy-agent .deb declares dependencies on Ruby <= 3.2, but source analysis confirms the agent runs correctly on Ruby 3.3 (Ubuntu 26.04). Removed snap-based Ruby 3.2 workaround in favor of using the system ruby-full package with dpkg --force-depends. - Simplified install.pp (no version-specific branching) - Updated tests and README with compatibility note - Added extracted_deb/ to .gitignore
After dpkg --force-depends, apt considers the system broken because the ruby3.2 dependency is unsatisfied. This blocks all subsequent apt operations. apt-mark hold prevents apt from flagging the package.
Instead of using dpkg --force-depends (which breaks subsequent apt operations), repack the upstream .deb to add ruby3.3 as an alternative in the Depends field. This allows clean dpkg installation with no broken dependency state. Verified: apt install works normally after the patched package is installed on Ruby 3.3 (Ubuntu 26.04/Debian 13).
- files/patch_codedeploy_deb.sh handles repacking with ruby3.3 - Script is idempotent: no-ops if already patched or upstream includes ruby3.3 - Puppet unless guard skips exec entirely when upstream deb has ruby3.3 - Will self-disable when AWS patches codedeploy-agent
On systems with Ruby <= 3.2, the upstream deb installs cleanly without patching. The repack logic now only runs when the ruby fact reports version >= 3.3.
The ruby fact reflects the puppet agent's Ruby at catalog compile time, not the system Ruby that will be installed. Use OS release version (Ubuntu 26.04+ ships Ruby 3.3) which is always available and reliable.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
expand range of stdlib to support up through version 9.
Add additional supported OS versions (I'm testing on ubuntu 24.04) w/ Puppet 8.