Avoid using --chown flag
The COPY command in docker supports the --chown flag from version 17.09.
This means that aws recipes cannot be built on machines running earlier
versions of docker.
Support older versions of docker by stopping to use the --chown flag
and explicitly run a chown command instead.
Bug: Issue 13663
Change-Id: I9c19fe243006dc4a37e7f58d3adbe4414740d6b1
diff --git a/gerrit/Dockerfile b/gerrit/Dockerfile
index f7f8537..5dae609 100644
--- a/gerrit/Dockerfile
+++ b/gerrit/Dockerfile
@@ -4,19 +4,29 @@
RUN yum install -y python36 python3-libs python36-devel python3-pip
-COPY --chown=gerrit:gerrit ssh-config /var/gerrit/.ssh/config
+COPY ssh-config /var/gerrit/.ssh/config
+RUN chown -R gerrit:gerrit /var/gerrit/.ssh
# Installing scripts to get SSH Keys from Secret Manager
-COPY --chown=gerrit:gerrit requirements.txt /tmp
-COPY --chown=gerrit:gerrit setup_gerrit.py /tmp
+COPY requirements.txt /tmp
+RUN chown gerrit:gerrit /tmp/requirements.txt
+
+COPY setup_gerrit.py /tmp
+RUN chown gerrit:gerrit /tmp/setup_gerrit.py
+
RUN chmod +x /tmp/setup_gerrit.py \
&& pip3 install -r /tmp/requirements.txt
-USER gerrit
+COPY plugins /var/gerrit/plugins
+COPY lib /var/gerrit/lib
+COPY etc /var/gerrit/etc
-COPY --chown=gerrit:gerrit plugins /var/gerrit/plugins
-COPY --chown=gerrit:gerrit lib /var/gerrit/lib
-COPY --chown=gerrit:gerrit etc /var/gerrit/etc
+RUN chown -R gerrit:gerrit \
+ /var/gerrit/plugins \
+ /var/gerrit/lib \
+ /var/gerrit/etc
+
+USER gerrit
# Install AWS cli
RUN pip3 install awscli --upgrade --user
diff --git a/master-slave/git-ssh/Dockerfile b/master-slave/git-ssh/Dockerfile
index 09e42b4..37061e8 100644
--- a/master-slave/git-ssh/Dockerfile
+++ b/master-slave/git-ssh/Dockerfile
@@ -19,8 +19,12 @@
RUN adduser --h /home/gerrit -D gerrit && \
mkdir -p /home/gerrit/.ssh && \
chown -R gerrit:gerrit /home/gerrit/.ssh
-COPY --chown=gerrit:gerrit requirements.txt /tmp
-COPY --chown=gerrit:gerrit setup_ssh.py /tmp
+COPY requirements.txt /tmp
+RUN chown gerrit:gerrit /tmp/requirements.txt
+
+COPY setup_ssh.py /tmp
+RUN chown gerrit:gerrit /tmp/setup_ssh.py
+
RUN chmod +x /tmp/setup_ssh.py \
&& pip3 install -r /tmp/requirements.txt
diff --git a/monitoring/grafana/Dockerfile b/monitoring/grafana/Dockerfile
index cae1df8..6e8265e 100644
--- a/monitoring/grafana/Dockerfile
+++ b/monitoring/grafana/Dockerfile
@@ -4,9 +4,11 @@
ADD ./provisioning /etc/grafana/provisioning
ADD ./config.ini /etc/grafana/config.ini
ADD ./dashboards /var/lib/grafana/dashboards
-COPY --chown=grafana:grafana entrypoint.sh /entrypoint.sh
+COPY entrypoint.sh /entrypoint.sh
+
RUN chown -R grafana:grafana /etc/grafana && \
chown -R grafana:grafana /var/lib/grafana && \
+ chown grafana:grafana /entrypoint.sh && \
chmod +x /entrypoint.sh
USER grafana
diff --git a/monitoring/prometheus/Dockerfile b/monitoring/prometheus/Dockerfile
index ff78cae..20d8cec 100644
--- a/monitoring/prometheus/Dockerfile
+++ b/monitoring/prometheus/Dockerfile
@@ -1,5 +1,6 @@
FROM prom/prometheus
ADD prometheus.yml /etc/prometheus/
-COPY --chown=root:root entrypoint.sh /entrypoint.sh
+COPY entrypoint.sh /entrypoint.sh
+RUN chown root:root /entrypoint.sh
ENTRYPOINT ["/bin/env"]
CMD ["sh","/entrypoint.sh"]