From 320d6e38373504d45d54183db7ff11c382b8e47c Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 5 Jan 2026 11:05:00 -0500 Subject: [PATCH 1/7] Install ifixes in features.sh --- README.md | 6 ++-- .../latest/beta/helpers/build/configure.sh | 2 +- .../helpers/build/infinispan-client-setup.sh | 2 +- .../latest/beta/helpers/build/populate_scc.sh | 2 +- .../latest/full/helpers/build/configure.sh | 2 +- .../helpers/build/infinispan-client-setup.sh | 2 +- .../latest/full/helpers/build/populate_scc.sh | 2 +- .../kernel-slim/helpers/build/configure.sh | 6 ++-- .../kernel-slim/helpers/build/features.sh | 7 ++++- .../helpers/build/infinispan-client-setup.sh | 2 +- .../helpers/build/internal/logger.sh | 19 ------------- .../helpers/build/internal/utils.sh | 28 +++++++++++++++++++ .../kernel-slim/helpers/build/populate_scc.sh | 2 +- 13 files changed, 49 insertions(+), 33 deletions(-) delete mode 100755 releases/latest/kernel-slim/helpers/build/internal/logger.sh create mode 100755 releases/latest/kernel-slim/helpers/build/internal/utils.sh diff --git a/README.md b/README.md index 4ca6b49b7..589488468 100644 --- a/README.md +++ b/README.md @@ -37,13 +37,13 @@ COPY --chown=1001:0 server.xml /config/ # A sample is in the 'Getting Required Features' section below COPY --chown=1001:0 featureUtility.properties /opt/ol/wlp/etc/ +# Add interim fixes (optional) +COPY --chown=1001:0 interim-fixes /opt/ol/fixes/ + # This script will add the requested XML snippets to enable Liberty features and grow image to be fit-for-purpose using featureUtility. # Only available in 'kernel-slim'. The 'full' tag already includes all features for convenience. RUN features.sh -# Add interim fixes (optional) -COPY --chown=1001:0 interim-fixes /opt/ol/fixes/ - # Add app COPY --chown=1001:0 Sample1.war /config/dropins/ diff --git a/releases/latest/beta/helpers/build/configure.sh b/releases/latest/beta/helpers/build/configure.sh index e7b385342..8c6db27a6 100755 --- a/releases/latest/beta/helpers/build/configure.sh +++ b/releases/latest/beta/helpers/build/configure.sh @@ -1,6 +1,6 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail diff --git a/releases/latest/beta/helpers/build/infinispan-client-setup.sh b/releases/latest/beta/helpers/build/infinispan-client-setup.sh index ff9b1a21b..5d0274ed4 100755 --- a/releases/latest/beta/helpers/build/infinispan-client-setup.sh +++ b/releases/latest/beta/helpers/build/infinispan-client-setup.sh @@ -1,5 +1,5 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail diff --git a/releases/latest/beta/helpers/build/populate_scc.sh b/releases/latest/beta/helpers/build/populate_scc.sh index f08050153..100579d74 100755 --- a/releases/latest/beta/helpers/build/populate_scc.sh +++ b/releases/latest/beta/helpers/build/populate_scc.sh @@ -1,5 +1,5 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail diff --git a/releases/latest/full/helpers/build/configure.sh b/releases/latest/full/helpers/build/configure.sh index e7b385342..8c6db27a6 100755 --- a/releases/latest/full/helpers/build/configure.sh +++ b/releases/latest/full/helpers/build/configure.sh @@ -1,6 +1,6 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail diff --git a/releases/latest/full/helpers/build/infinispan-client-setup.sh b/releases/latest/full/helpers/build/infinispan-client-setup.sh index ff9b1a21b..5d0274ed4 100755 --- a/releases/latest/full/helpers/build/infinispan-client-setup.sh +++ b/releases/latest/full/helpers/build/infinispan-client-setup.sh @@ -1,5 +1,5 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail diff --git a/releases/latest/full/helpers/build/populate_scc.sh b/releases/latest/full/helpers/build/populate_scc.sh index f08050153..100579d74 100755 --- a/releases/latest/full/helpers/build/populate_scc.sh +++ b/releases/latest/full/helpers/build/populate_scc.sh @@ -1,5 +1,5 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail diff --git a/releases/latest/kernel-slim/helpers/build/configure.sh b/releases/latest/kernel-slim/helpers/build/configure.sh index 5341dde16..be7f44f09 100755 --- a/releases/latest/kernel-slim/helpers/build/configure.sh +++ b/releases/latest/kernel-slim/helpers/build/configure.sh @@ -1,6 +1,6 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail @@ -52,7 +52,7 @@ function main() { # Apply interim fixes found in /opt/ol/fixes # Fixes recommended by IBM, such as to resolve security vulnerabilities, are also included in /opt/ol/fixes # Note: This step should only be done ONCE needed features are enabled and installed. - find /opt/ol/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR + installFixes # Force the server.xml to be processed by updating its timestamp touch /config/server.xml @@ -80,6 +80,8 @@ function main() { fi eval $cmd fi + + removeBuildArtifacts } ## parse provider list to generate files into configDropins diff --git a/releases/latest/kernel-slim/helpers/build/features.sh b/releases/latest/kernel-slim/helpers/build/features.sh index 5b4800ebc..bc484841e 100755 --- a/releases/latest/kernel-slim/helpers/build/features.sh +++ b/releases/latest/kernel-slim/helpers/build/features.sh @@ -1,6 +1,6 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail @@ -31,3 +31,8 @@ fi featureUtility installServerFeatures --acceptLicense defaultServer --noCache find /opt/ol/wlp/lib /opt/ol/wlp/bin ! -perm -g=rw -print0 | xargs -0 -r chmod g+rw +# Apply interim fixes found in /opt/ol/fixes +# Fixes recommended by IBM, such as to resolve security vulnerabilities, are also included in /opt/ol/fixes +# Note: This step should only be done ONCE needed features are enabled and installed. +installFixes + diff --git a/releases/latest/kernel-slim/helpers/build/infinispan-client-setup.sh b/releases/latest/kernel-slim/helpers/build/infinispan-client-setup.sh index ff9b1a21b..5d0274ed4 100755 --- a/releases/latest/kernel-slim/helpers/build/infinispan-client-setup.sh +++ b/releases/latest/kernel-slim/helpers/build/infinispan-client-setup.sh @@ -1,5 +1,5 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail diff --git a/releases/latest/kernel-slim/helpers/build/internal/logger.sh b/releases/latest/kernel-slim/helpers/build/internal/logger.sh deleted file mode 100755 index d691e339c..000000000 --- a/releases/latest/kernel-slim/helpers/build/internal/logger.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -function main() { - if [ "$VERBOSE" != "true" ]; then - exec >/dev/null - else - set -x - fi -} - -function hideLogs() { - exec 3>&1 >/dev/null 4>&2 2>/dev/null -} - -function showLogs() { - exec 1>&3 3>&- 2>&4 4>&- -} - -main diff --git a/releases/latest/kernel-slim/helpers/build/internal/utils.sh b/releases/latest/kernel-slim/helpers/build/internal/utils.sh new file mode 100755 index 000000000..79950f3b7 --- /dev/null +++ b/releases/latest/kernel-slim/helpers/build/internal/utils.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +function main() { + if [ "$VERBOSE" != "true" ]; then + exec >/dev/null + fi +} + +function hideLogs() { + exec 3>&1 >/dev/null 4>&2 2>/dev/null +} + +function showLogs() { + exec 1>&3 3>&- 2>&4 4>&- +} + +function installFixes() { + if [ ! -f "/logs/fixes.log" ]; then + find /opt/ol/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR + echo "installFixes has been run" > /logs/fixes.log + fi +} + +function removeBuildArtifacts() { + rm -f /logs/fixes.log +} + +main \ No newline at end of file diff --git a/releases/latest/kernel-slim/helpers/build/populate_scc.sh b/releases/latest/kernel-slim/helpers/build/populate_scc.sh index f08050153..100579d74 100755 --- a/releases/latest/kernel-slim/helpers/build/populate_scc.sh +++ b/releases/latest/kernel-slim/helpers/build/populate_scc.sh @@ -1,5 +1,5 @@ #!/bin/bash -. /opt/ol/helpers/build/internal/logger.sh +. /opt/ol/helpers/build/internal/utils.sh set -Eeo pipefail From 8034f3f9e7185af283d304d0c3fc86ee3cbbbcc0 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 5 Jan 2026 14:45:01 -0500 Subject: [PATCH 2/7] Remove xargs -n param in utils.sh --- releases/latest/kernel-slim/helpers/build/internal/utils.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/latest/kernel-slim/helpers/build/internal/utils.sh b/releases/latest/kernel-slim/helpers/build/internal/utils.sh index 79950f3b7..20502bf39 100755 --- a/releases/latest/kernel-slim/helpers/build/internal/utils.sh +++ b/releases/latest/kernel-slim/helpers/build/internal/utils.sh @@ -16,7 +16,7 @@ function showLogs() { function installFixes() { if [ ! -f "/logs/fixes.log" ]; then - find /opt/ol/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR + find /opt/ol/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR echo "installFixes has been run" > /logs/fixes.log fi } From 4cb3e05f1ca157bfebe7393aa1810897af0c3df7 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 5 Jan 2026 14:59:56 -0500 Subject: [PATCH 3/7] Define WLP_INSTALL_DIR in utils.sh --- releases/latest/beta/helpers/build/configure.sh | 3 +-- releases/latest/full/helpers/build/configure.sh | 3 +-- releases/latest/kernel-slim/helpers/build/configure.sh | 1 - releases/latest/kernel-slim/helpers/build/internal/utils.sh | 4 +++- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/releases/latest/beta/helpers/build/configure.sh b/releases/latest/beta/helpers/build/configure.sh index 8c6db27a6..be6196244 100755 --- a/releases/latest/beta/helpers/build/configure.sh +++ b/releases/latest/beta/helpers/build/configure.sh @@ -6,7 +6,6 @@ set -Eeo pipefail function main() { ##Define variables for XML snippets source and target paths - WLP_INSTALL_DIR=/opt/ol/wlp SHARED_CONFIG_DIR=${WLP_INSTALL_DIR}/usr/shared/config SHARED_RESOURCE_DIR=${WLP_INSTALL_DIR}/usr/shared/resources @@ -93,7 +92,7 @@ function main() { # Apply interim fixes found in /opt/ol/fixes # Fixes recommended by IBM, such as to resolve security vulnerabilities, are also included in /opt/ol/fixes # Note: This step should be done once needed features are enabled and installed. - find /opt/ol/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR + installFixes # Force the server.xml to be processed by updating its timestamp touch /config/server.xml diff --git a/releases/latest/full/helpers/build/configure.sh b/releases/latest/full/helpers/build/configure.sh index 8c6db27a6..be6196244 100755 --- a/releases/latest/full/helpers/build/configure.sh +++ b/releases/latest/full/helpers/build/configure.sh @@ -6,7 +6,6 @@ set -Eeo pipefail function main() { ##Define variables for XML snippets source and target paths - WLP_INSTALL_DIR=/opt/ol/wlp SHARED_CONFIG_DIR=${WLP_INSTALL_DIR}/usr/shared/config SHARED_RESOURCE_DIR=${WLP_INSTALL_DIR}/usr/shared/resources @@ -93,7 +92,7 @@ function main() { # Apply interim fixes found in /opt/ol/fixes # Fixes recommended by IBM, such as to resolve security vulnerabilities, are also included in /opt/ol/fixes # Note: This step should be done once needed features are enabled and installed. - find /opt/ol/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR + installFixes # Force the server.xml to be processed by updating its timestamp touch /config/server.xml diff --git a/releases/latest/kernel-slim/helpers/build/configure.sh b/releases/latest/kernel-slim/helpers/build/configure.sh index be7f44f09..60380c8ef 100755 --- a/releases/latest/kernel-slim/helpers/build/configure.sh +++ b/releases/latest/kernel-slim/helpers/build/configure.sh @@ -6,7 +6,6 @@ set -Eeo pipefail function main() { ##Define variables for XML snippets source and target paths - WLP_INSTALL_DIR=/opt/ol/wlp SHARED_CONFIG_DIR=${WLP_INSTALL_DIR}/usr/shared/config SHARED_RESOURCE_DIR=${WLP_INSTALL_DIR}/usr/shared/resources diff --git a/releases/latest/kernel-slim/helpers/build/internal/utils.sh b/releases/latest/kernel-slim/helpers/build/internal/utils.sh index 20502bf39..6280dfddd 100755 --- a/releases/latest/kernel-slim/helpers/build/internal/utils.sh +++ b/releases/latest/kernel-slim/helpers/build/internal/utils.sh @@ -1,6 +1,8 @@ #!/bin/bash function main() { + WLP_TYPE=ol + WLP_INSTALL_DIR=/opt/$WLP_TYPE/wlp if [ "$VERBOSE" != "true" ]; then exec >/dev/null fi @@ -16,7 +18,7 @@ function showLogs() { function installFixes() { if [ ! -f "/logs/fixes.log" ]; then - find /opt/ol/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR + find /opt/$WLP_TYPE/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR echo "installFixes has been run" > /logs/fixes.log fi } From afad44ac4514da53e3b7602cfdb72e815f0be178 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 5 Jan 2026 15:47:02 -0500 Subject: [PATCH 4/7] Install fixes if jars exist --- releases/latest/kernel-slim/helpers/build/internal/utils.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/latest/kernel-slim/helpers/build/internal/utils.sh b/releases/latest/kernel-slim/helpers/build/internal/utils.sh index 6280dfddd..42f0a4103 100755 --- a/releases/latest/kernel-slim/helpers/build/internal/utils.sh +++ b/releases/latest/kernel-slim/helpers/build/internal/utils.sh @@ -17,7 +17,7 @@ function showLogs() { } function installFixes() { - if [ ! -f "/logs/fixes.log" ]; then + if [ ! -f "/logs/fixes.log" ] && ls /opt/$WLP_TYPE/fixes/*.jar 1> /dev/null 2>&1; then find /opt/$WLP_TYPE/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR echo "installFixes has been run" > /logs/fixes.log fi From beaba8ae18e9e337edc8bc2b8c7ed8827bef4932 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 5 Jan 2026 15:51:48 -0500 Subject: [PATCH 5/7] Add quotes to fixes folder --- releases/latest/kernel-slim/helpers/build/internal/utils.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/latest/kernel-slim/helpers/build/internal/utils.sh b/releases/latest/kernel-slim/helpers/build/internal/utils.sh index 42f0a4103..c2293d1e6 100755 --- a/releases/latest/kernel-slim/helpers/build/internal/utils.sh +++ b/releases/latest/kernel-slim/helpers/build/internal/utils.sh @@ -17,7 +17,7 @@ function showLogs() { } function installFixes() { - if [ ! -f "/logs/fixes.log" ] && ls /opt/$WLP_TYPE/fixes/*.jar 1> /dev/null 2>&1; then + if [ ! -f "/logs/fixes.log" ] && ls "/opt/$WLP_TYPE/fixes"/*.jar 1> /dev/null 2>&1; then find /opt/$WLP_TYPE/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR echo "installFixes has been run" > /logs/fixes.log fi From f55d771f84f71cbe9ba9c926f0fcc59702370ca2 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Mon, 5 Jan 2026 17:38:56 -0500 Subject: [PATCH 6/7] Update sample Dockerfile based on new ifix procedure --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 589488468..0f5306347 100644 --- a/README.md +++ b/README.md @@ -40,14 +40,14 @@ COPY --chown=1001:0 featureUtility.properties /opt/ol/wlp/etc/ # Add interim fixes (optional) COPY --chown=1001:0 interim-fixes /opt/ol/fixes/ -# This script will add the requested XML snippets to enable Liberty features and grow image to be fit-for-purpose using featureUtility. +# This script will add the requested XML snippets to enable Liberty features, grow image to be fit-for-purpose using featureUtility and apply any interim fixes. # Only available in 'kernel-slim'. The 'full' tag already includes all features for convenience. RUN features.sh # Add app COPY --chown=1001:0 Sample1.war /config/dropins/ -# This script will add the requested server configurations, apply any interim fixes and populate caches to optimize runtime +# This script will add the requested server configurations and populate caches to optimize runtime RUN configure.sh ``` From 6580ebee5f44f2b5bcc0b820d77f49b364766596 Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Tue, 6 Jan 2026 15:17:52 -0500 Subject: [PATCH 7/7] Update utils.sh --- releases/latest/kernel-slim/helpers/build/internal/utils.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/latest/kernel-slim/helpers/build/internal/utils.sh b/releases/latest/kernel-slim/helpers/build/internal/utils.sh index c2293d1e6..9c26df06e 100755 --- a/releases/latest/kernel-slim/helpers/build/internal/utils.sh +++ b/releases/latest/kernel-slim/helpers/build/internal/utils.sh @@ -19,7 +19,7 @@ function showLogs() { function installFixes() { if [ ! -f "/logs/fixes.log" ] && ls "/opt/$WLP_TYPE/fixes"/*.jar 1> /dev/null 2>&1; then find /opt/$WLP_TYPE/fixes -type f -name "*.jar" -print0 | sort -z | xargs -0 -n 1 -r -I {} java -jar {} --installLocation $WLP_INSTALL_DIR - echo "installFixes has been run" > /logs/fixes.log + echo "installFixes has been run successfully" > /logs/fixes.log fi }