This commit is contained in:
Solene Rapenne 2023-03-04 21:27:27 +01:00
commit 7227a52f10
5 changed files with 86 additions and 0 deletions

6
Dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM gentoo/stage3:systemd
ADD ./entrypoint.sh /
ADD ./world /var/lib/portage/world
CMD [ "bash" , "./entrypoint.sh" ]

1
README.md Normal file
View File

@ -0,0 +1 @@
This repository is an example showing how to use a Gentoo docker image to build packages on a remote server that is more powerful.

20
entrypoint.sh Normal file
View File

@ -0,0 +1,20 @@
#!/bin/sh
emerge --quiet-build sys-apps/merge-usr
merge-usr
eselect profile set default/linux/amd64/17.1/desktop/systemd/merged-usr
echo 'MAKEOPTS="-j12"' >> /etc/portage/make.conf
USE=-pulseaudio emerge -v media-sound/mpg123
emerge -v rust-bin
emerge -v gentoo-sources
eselect kernel set 1
env FEATURES="-ipc-sandbox -pid-sandbox -sandbox -usersandbox -network-sandbox" \
emerge --deep --update --newuse --changed-use \
--with-bdeps=y --usepkg --buildpkg \
-j 2 -l 12 \
--quiet-build @world

18
sync.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/sh
MACHINE=netbook
rsync -av Dockerfile 10.42.42.101:dev/gentoo_${MACHINE}/
rsync -av entrypoint.sh 10.42.42.101:dev/gentoo_${MACHINE}/
rsync -av /var/cache/binpkgs 10.42.42.101:dev/gentoo_${MACHINE}/
rsync -av --delete /etc/portage 10.42.42.101:dev/gentoo_${MACHINE}/
rsync -av --delete /var/db/repos 10.42.42.101:dev/gentoo_${MACHINE}/
cp /var/lib/portage/world .
rsync -av world 10.42.42.101:dev/gentoo_${MACHINE}/
ssh 10.42.42.101 "docker image rm -f gentoo/build"
ssh 10.42.42.101 "cd dev/gentoo_${MACHINE} && docker build -t gentoo/build ."
ssh 10.42.42.101 "cd dev/gentoo_${MACHINE} && docker run -v \$PWD/binpkgs:/var/cache/binpkgs -v \$PWD/portage:/etc/portage -v \$PWD/repos:/var/db/repos gentoo/build"
# requires local root to have access to remote user
echo sudo rsync -av 10.42.42.101:/home/solene/dev/gentoo_${MACHINE}/binpkgs/ /var/cache/binpkgs/

41
world Normal file
View File

@ -0,0 +1,41 @@
app-admin/eclean-kernel
app-admin/sudo
app-arch/unzip
app-arch/zip
app-editors/kakoune
app-editors/nano
app-misc/resolve-march-native
app-misc/tmux
app-portage/cpuid2cpuflags
app-portage/emlop
app-portage/genlop
app-portage/gentoolkit
app-shells/fish
app-shells/fzf
dev-libs/atk
dev-util/ccache
dev-util/wayland-scanner
gnome-base/gnome-light
gnome-extra/gnome-software
media-fonts/font-alias
media-libs/libva-intel-driver
media-sound/alsa-utils
media-sound/mpg123
net-fs/nfs-utils
net-misc/dhcpcd
net-misc/networkmanager
net-wireless/wireless-tools
net-wireless/wpa_supplicant
sys-apps/fd
sys-apps/flatpak
sys-apps/merge-usr
sys-boot/grub
sys-firmware/alsa-firmware
sys-fs/ncdu
sys-kernel/gentoo-kernel-bin
sys-kernel/linux-firmware
sys-libs/libutempter
virtual/jpeg
www-client/firefox-bin
x11-apps/setxkbmap
x11-base/xorg-server