From 6cc5a6587ca5d1436b79aa74d968940d701aadd9 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 | 17 ----------- .../helpers/build/internal/utils.sh | 28 +++++++++++++++++++ .../kernel-slim/helpers/build/populate_scc.sh | 2 +- 13 files changed, 49 insertions(+), 31 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 7a2eafe88..9e2617be1 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 -Eeox pipefail diff --git a/releases/latest/beta/helpers/build/infinispan-client-setup.sh b/releases/latest/beta/helpers/build/infinispan-client-setup.sh index 05eebf61b..80cdd44da 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 -Eeox pipefail diff --git a/releases/latest/beta/helpers/build/populate_scc.sh b/releases/latest/beta/helpers/build/populate_scc.sh index b193cefe7..923f72400 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 -Eeox pipefail diff --git a/releases/latest/full/helpers/build/configure.sh b/releases/latest/full/helpers/build/configure.sh index 7a2eafe88..9e2617be1 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 -Eeox pipefail diff --git a/releases/latest/full/helpers/build/infinispan-client-setup.sh b/releases/latest/full/helpers/build/infinispan-client-setup.sh index 05eebf61b..80cdd44da 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 -Eeox pipefail diff --git a/releases/latest/full/helpers/build/populate_scc.sh b/releases/latest/full/helpers/build/populate_scc.sh index b193cefe7..923f72400 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 -Eeox pipefail diff --git a/releases/latest/kernel-slim/helpers/build/configure.sh b/releases/latest/kernel-slim/helpers/build/configure.sh index ea43983b6..335243876 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 -Eeox 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 180be0c5c..83ce438d1 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 -Eeox 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 05eebf61b..80cdd44da 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 -Eeox 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 9d27be63d..000000000 --- a/releases/latest/kernel-slim/helpers/build/internal/logger.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/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>&- -} - -main \ No newline at end of file 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 b193cefe7..923f72400 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 -Eeox pipefail From ea44388da0cc0f70f4158484184e134672b27fc5 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 67fa5ed43cdda560c94336bf9c7d701ec894ffd5 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 9e2617be1..25ae0487d 100755 --- a/releases/latest/beta/helpers/build/configure.sh +++ b/releases/latest/beta/helpers/build/configure.sh @@ -6,7 +6,6 @@ set -Eeox 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 9e2617be1..25ae0487d 100755 --- a/releases/latest/full/helpers/build/configure.sh +++ b/releases/latest/full/helpers/build/configure.sh @@ -6,7 +6,6 @@ set -Eeox 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 335243876..5349d1d3c 100755 --- a/releases/latest/kernel-slim/helpers/build/configure.sh +++ b/releases/latest/kernel-slim/helpers/build/configure.sh @@ -6,7 +6,6 @@ set -Eeox 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 645d662001a349de33a1e310b71336e7f3b14a8d 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 8835767632da0d9ff974411a40d7873a06842e7e 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 5082e5b34241f6381c1a5ff403be9fdfa4c644ba 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 77a3bcca4eb41fd996615905d9e3f2c096c41cc2 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 }