Skip to content

Instantly share code, notes, and snippets.

@TheGlitch76
Created October 1, 2020 01:54
Show Gist options
  • Save TheGlitch76/b201ffb4e1fc80a2159993685d35e25d to your computer and use it in GitHub Desktop.
Save TheGlitch76/b201ffb4e1fc80a2159993685d35e25d to your computer and use it in GitHub Desktop.
Distcc daemon for running gentoo on a raspberry pi
FROM gentoo/portage:latest as portage
FROM gentoo/stage3-amd64:latest as gentoo
COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
RUN emerge -1q crossdev
RUN USE="${USE} crossdev" emerge -1q distcc
RUN mkdir -p /var/db/repos/localrepo-crossdev/{profiles,metadata} && \
echo 'crossdev' > /var/db/repos/localrepo-crossdev/profiles/repo_name && \
echo "masters = gentoo" > /var/db/repos/localrepo-crossdev/metadata/layout.conf && \
chown -R portage:portage /var/db/repos/localrepo-crossdev
RUN mkdir -p /etc/portage/repos.conf
RUN ( \
mkdir -p /etc/portage/repos.conf/ && \
echo "[crossdev]" && \
echo "location = /usr/local/portage-crossdev" && \
echo "priority = 10" && \
echo "masters = gentoo" && \
echo "auto-sync = no" \
) > /etc/portage/repos.conf/crossdev.conf
RUN ( \
echo "#!/bin/sh" && \
echo "eval \"\`gcc-config -E\`\"" && \
echo "exec distccd \"$@\"" \
) > /usr/local/sbin/distccd-launcher && \
chmod +x /usr/local/sbin/distccd-launcher
RUN crossdev -t aarch64-unknown-linux-gnu
# TODO: is this needed?
RUN sed -i "s/CFLAGS=,*/CFLAGS= -march=armv8-a\+crc -mtune=cortex-a53 -ftree-vectorize -O2 -pipe -fomit-frame-pointer/" /usr/aarch64-unknown-linux-gnu/etc/portage/make.conf
FROM gentoo as distcc-runner
ENTRYPOINT ["distccd", "--daemon", "--allow-private", "--no-detach", "--log-level", "notice", "--log-stderr", "--allow-private"]
EXPOSE 3632
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment