50 lines
1.7 KiB
Docker
50 lines
1.7 KiB
Docker
# Build img2simg
|
|
FROM docker.io/debian:stable
|
|
|
|
RUN sed -i 's/deb.debian.org/mirror.iscas.ac.cn/g' /etc/apt/sources.list.d/debian.sources && \
|
|
sed -i 's/https/http/' /etc/apt/sources.list.d/debian.sources
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
gcc g++ \
|
|
git \
|
|
zlib1g-dev
|
|
|
|
RUN git clone -b platform-tools-34.0.5 https://mirrors.ustc.edu.cn/aosp/platform/system/core.git /root/core
|
|
RUN git clone -b platform-tools-34.0.5 https://mirrors.ustc.edu.cn/aosp/platform/system/libbase.git /root/libbase
|
|
|
|
RUN cd /root && gcc -I libbase/include -I core/libsparse/include libbase/stringprintf.cpp libbase/mapped_file.cpp core/libsparse/backed_block.cpp core/libsparse/output_file.cpp core/libsparse/sparse.cpp core/libsparse/sparse_crc32.cpp core/libsparse/sparse_err.cpp core/libsparse/sparse_read.cpp core/libsparse/img2simg.cpp -lstdc++ -lz -o img2simg
|
|
|
|
# Build final image
|
|
FROM docker.io/debian:stable
|
|
|
|
RUN sed -i 's/deb.debian.org/mirror.iscas.ac.cn/g' /etc/apt/sources.list.d/debian.sources && \
|
|
sed -i 's/https/http/' /etc/apt/sources.list.d/debian.sources
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
attr \
|
|
bsdextrautils \
|
|
bzip2 \
|
|
coreutils \
|
|
dosfstools \
|
|
e2fsprogs \
|
|
findutils \
|
|
gdisk \
|
|
gzip \
|
|
mtools \
|
|
rsync \
|
|
tar \
|
|
util-linux \
|
|
uuid-runtime \
|
|
xz-utils \
|
|
zstd \
|
|
zlib1g \
|
|
policycoreutils \
|
|
rpm dnf \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
RUN ln -s /usr/bin/dnf /usr/bin/yum
|
|
|
|
COPY --from=0 /root/img2simg /usr/bin/img2simg
|
|
# TODO: make it configurable
|
|
RUN mkdir -p /etc/rpm/ && echo "%_db_backend ndb" > /etc/rpm/macros.db
|