VERSION 0.8

APT_INSTALL:
  FUNCTION
  ARG PACKAGES
  RUN \
    apt-get update && \
    apt-get install --no-install-recommends -y ${PACKAGES} && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

DNF_INSTALL:
  FUNCTION
  ARG PACKAGES
  RUN \
    dnf -y install \
      ${PACKAGES} \
      --setopt=install_weak_deps=False \
      --setopt=tsflags=nodocs && \
    dnf -y clean all && \
    rm -rf /var/cache/dnf

CREATE_PROJECT_USER:
  FUNCTION
  ARG PROJECT
  ARG SHELL=/usr/sbin/nologin
  RUN \
    groupadd -g 42424 ${PROJECT} && \
    useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s ${SHELL} -c "${PROJECT} User" ${PROJECT} && \
    mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} && \
    chown -Rv ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT}

fetch-gerrit-patch:
  FROM ./base+image
  DO +APT_INSTALL --PACKAGES "ca-certificates curl git jq"
  ARG --required IMAGE
  ARG PROJECT=${IMAGE}
  ARG --required CHANGE
  ARG PROJECT_REF=master
  DO ./openstack-service+GIT_CHECKOUT \
    --PROJECT=${PROJECT} \
    --PROJECT_REF=${PROJECT_REF}
  ARG REF=$(curl "https://review.opendev.org/changes/?q=${CHANGE}&o=CURRENT_REVISION" | tail -1 | jq -r '.[0].revisions[].ref')
  COPY ${IMAGE}/patches/${PROJECT} /patches
  RUN \
    git fetch https://review.opendev.org/openstack/${PROJECT} ${REF} && \
    git format-patch -1 --output-directory /gerrit FETCH_HEAD
  ARG PATCH_ID=$(ls -1 /patches | wc -l | xargs printf "%04d")
  RUN \
    cp /gerrit/0001-* \
    /patches/${PATCH_ID}-$(basename /gerrit/*.patch | sed 's/0001-//')
  SAVE ARTIFACT /patches AS LOCAL ${IMAGE}/patches/${PROJECT}
