blob: c29c56ed8f69b9f784f7cfe74c8bcee0e5d71eb5 (
plain) (
blame)
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
|
FROM ubuntu:focal
ENV GPG_KEY="09AEA2BAD52882A1AF9D6042F218DB829A9905B5"
ENV DEBFULLNAME="Egor Tensin"
ENV DEBEMAIL="egor@tensin.name"
ARG UID=1000
ARG GID=1000
RUN if ! id -n -g "$GID" ; then \
groupadd -g "$GID" builder ; \
fi
RUN if ! id -n -u "$UID" ; then \
useradd -u "$UID" -g "$GID" --shell /bin/bash --create-home builder && \
passwd -d builder ; \
fi
RUN apt update && \
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
dirmngr \
gpg \
gpg-agent \
git \
make \
sudo
# I'd prefer to run everything as root, but some bright person decided to
# hardcode sudo usage in git-pbuilder (https://manpages.org/git-pbuilder):
#
# > In this case, it calls cowbuilder (or the configured builder as described above) _using sudo_
#
RUN echo 'ALL ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers
COPY ["prelude.mk", "/"]
COPY ["debian/Makefile", "/deps/"]
RUN make -C /deps deps
USER "$UID:$GID"
RUN git config --global user.name "$DEBFULLNAME" && \
git config --global user.email "$DEBEMAIL"
ENV GNUPGHOME=/tmp/gnupg
RUN mkdir -p -- "$GNUPGHOME" && \
chmod 0700 "$GNUPGHOME"
RUN gpg --keyserver hkp://keyserver.ubuntu.com/ --recv-keys "0x$GPG_KEY" && \
echo "$GPG_KEY:6:" | gpg --import-ownertrust
COPY [".", "/app"]
WORKDIR /app/debian
|