Repository navigation
Expand file tree
/
Copy pathDockerfile
More file actions
57 lines (43 loc) · 2.66 KB
/
Copy pathDockerfile
File metadata and controls
57 lines (43 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
FROM debian:trixie-slim AS python-builder
RUN apt-get update && \
apt-get install --no-install-recommends -y \
ca-certificates python3-dev python3-venv \
libxml2-dev libxslt1-dev zlib1g-dev libssl-dev libffi-dev && \
rm -rf /var/lib/apt/lists/*
# Flutter needs the unpublished apitools version; see gsutil issue #1819.
RUN python3 -m venv --system-site-packages /opt/venv && \
/opt/venv/bin/python -m pip install --no-cache-dir \
gsutil https://github.com/google/apitools/archive/refs/tags/v0.5.35.zip
FROM debian:trixie-slim
LABEL maintainer="Miao Wang <miao.wang@tuna.tsinghua.edu.cn>"
RUN apt-get update && \
apt-get install --no-install-recommends -y \
wget curl rsync lftp git jq \
python3 python3-pyquery python3-socks python3-requests python3-yaml awscli \
dnf-plugins-core createrepo-c debmirror \
libnss-unknown xz-utils patch unzip \
python3-tqdm python3-click python3-openssl \
aria2 ack openssh-client ed locales && \
rm -rf /var/lib/apt/lists/*
# composer php-curl php-zip
COPY --from=python-builder /opt/venv /opt/venv
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
ENV LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 HOME=/tmp \
PATH=/opt/venv/bin:${PATH}
# Keep Debian-provided Python modules visible from the venv used by the image.
RUN python3 -c 'import click, OpenSSL, requests, socks, tqdm, yaml; from pyquery import PyQuery as pq' && \
gsutil version -l >/dev/null
RUN mkdir -p /home/tunasync-scripts
CMD ["/bin/bash"]
# ====================
# customizations
# patch awscli
RUN cd /usr/lib/python3/dist-packages && echo "/Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj4AHCAPNdADIaSQnC/BF9UN4KT0fVpgATRDuLqRGmPehqSjhNcR3ZqGVBKbVF3r5L2cNs3c+prOthcy3s42Nc79kbE7aRKiQ2r/ivJlWIiio5V2qwWq9aggjTJauhCHLTxXwQiVFDoburbJ4tJYXGnFzOXgYuHjXBWfLKmvshuOMAPYbiPOAgtnQX/8F2sFep7K+0c7/J4HZ6K6ynW121t9pYxX0q6zDZLJBD93rt9Lr/cYC2Eozop6t/ahQsgL1oS1vBXTsA/wQkU0HXOGJ2sJ4J1ULbop82QES9m5CXagcx9EDe7nfJD1UXGgQjif8HCl8y6KFw3rdiPQAAudB1OELBZ/0AAY8CwwMAAAHezTCxxGf7AgAAAAAEWVo=" | base64 -d | xzcat | patch -p1
# download composer-mirror
# RUN cd /usr/local && git clone --depth 1 https://github.com/tuna/composer-mirror.git && cd composer-mirror && composer i
# COPY composer-mirror.config.php /usr/local/composer-mirror/config.php
# download and patch aosp-repo
ADD --chmod=0755 https://storage.googleapis.com/git-repo-downloads/repo /usr/local/bin/aosp-repo
RUN sed -i 's:^#!/usr/bin/env python$:#!/usr/bin/env python3:' /usr/local/bin/aosp-repo
# set rpm db path back to HOME (revert the change since trixie)
RUN mkdir -p /etc/rpm && echo "%_dbpath %(bash -c 'echo ~/.rpmdb')" > /etc/rpm/macros