1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
18 FROM apache/airflow:2.5.3-python3.10
20 RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
21 DEBIAN_FRONTEND=noninteractive apt-get --yes install \
22 gcc git python3 python3-dev python3-venv python3-pip \
23 python3-setuptools wget zstd && \
24 python3 -m pip install -U pip build
28 ARG PYTHON3_OSM_COMMON_URL
29 ARG PYTHON3_OSM_NGSA_URL
30 RUN curl $PYTHON3_OSM_COMMON_URL -o osm_common.deb
31 RUN curl $PYTHON3_OSM_NGSA_URL -o osm_ngsa.deb
33 RUN ar x osm_common.deb && \
34 zstd -d < control.tar.zst | xz > control.tar.xz && \
35 zstd -d < data.tar.zst | xz > data.tar.xz && \
36 ar -m -c -a sdsd osm_common_repacked.deb debian-binary control.tar.xz data.tar.xz && \
37 rm debian-binary control.tar.xz data.tar.xz control.tar.zst data.tar.zst
38 RUN ar x osm_ngsa.deb && \
39 zstd -d < control.tar.zst | xz > control.tar.xz && \
40 zstd -d < data.tar.zst | xz > data.tar.xz && \
41 ar -m -c -a sdsd osm_ngsa_repacked.deb debian-binary control.tar.xz data.tar.xz && \
42 rm debian-binary control.tar.xz data.tar.xz control.tar.zst data.tar.zst
45 RUN dpkg-deb -x osm_common_repacked.deb /tmp/osm
46 RUN dpkg-deb -x osm_ngsa_repacked.deb /tmp/osm
47 RUN mv /tmp/osm/usr/lib/python3/dist-packages/* /home/airflow/.local/lib/python3.10/site-packages/
51 -r /home/airflow/.local/lib/python3.10/site-packages/osm_common/requirements.txt \
52 -r /home/airflow/.local/lib/python3.10/site-packages/osm_ngsa/requirements.txt