diff options
| author | Zuul <zuul@review.opendev.org> | 2026-07-08 16:33:45 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2026-07-08 16:33:45 +0000 |
| commit | 44b4d81399792f539716618953f2cafa64086a5c (patch) | |
| tree | 4699d7e068e6dd842a9f1f247ca2f150d60d5e27 /kolla/docker/base/kolla_patch.sh | |
| parent | b3803eb9f951acd63018ab8ba69bcbd1a2de5c93 (diff) | |
| parent | db35ac8d793506bc43b62e7e39d27a75de1043ed (diff) | |
| download | kolla-44b4d81399792f539716618953f2cafa64086a5c.tar.gz kolla-44b4d81399792f539716618953f2cafa64086a5c.zip | |
Merge "Migrate to pyproject.toml"
Diffstat (limited to 'kolla/docker/base/kolla_patch.sh')
| -rwxr-xr-x | kolla/docker/base/kolla_patch.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/kolla/docker/base/kolla_patch.sh b/kolla/docker/base/kolla_patch.sh new file mode 100755 index 000000000..b17a5b61d --- /dev/null +++ b/kolla/docker/base/kolla_patch.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# This script works as debian quilt patch. +# So, patch files included in /patches/series +# are applied and information what was applied +# is stored in /etc/kolla/patched. +# +# No more, no less :) + +cd / + +# If exist /patches/series +# let's try to apply patches +if [ -e "/patches/series" ]; then + # If there is /patches/series.applied + # then it means previous run already applied + # some patches - from another intermediate container + # + # So, let's add patches again to /patches/series + # and let's script to handle it + if [ -e "/patches/series.applied" ]; then + grep -v '^#' /patches/series.applied > /tmp/series.tmp + grep -v '^#' /patches/series >> /tmp/series.tmp + rm -f /patches/series + mv /tmp/series.tmp /patches/series + fi + touch /etc/kolla/patched + for patchfile in $(grep -v '^#' /patches/series); do + # If patch is not applied, try to apply it, otherwise + # inform user that patchfile is already applied + if ! grep -q "$patchfile" /etc/kolla/patched; then + echo "[i] Applying /patches/${patchfile}" + patch -p0 --fuzz=0 --ignore-whitespace < /patches/${i}/${patchfile} + # If apply patch was successful inform user, + # otherwise fail build process and inform user + # to check/fix patch + if [ $? -eq 0 ]; then + echo "[i] Applied /patches/${patchfile}" >> /etc/kolla/patched + else + echo "[i] Patch /patches/${patchfile} failed, please fix your patchfiles." + exit 1 + fi + else + echo "[i] /patches/${patchfile} already applied." + fi + done + # Ignore files which are commented and move + # to /patches/series.applied as /patch/series + # can be potentially replaced by another files + # from different intermediate container + grep -v '^#' /patches/series > /patches/series.applied + rm -f /patches/series +else + echo "[i] No series file found, nothing to patch." +fi |
