From 6f40c4c4de8e5c2aea704c7b215dd3b2c1b593a8 Mon Sep 17 00:00:00 2001 From: sickcodes Date: Sun, 21 Feb 2021 06:38:27 +0000 Subject: [PATCH] 3.1. base-devel image to skip simple packages. Add glibc overrides after every pacman -Syu which is currently required for non-Arch builds. --- CHANGELOG.md | 1 + Dockerfile | 26 +++++++++++++++++++------- Dockerfile.auto | 14 +++++++++++++- Dockerfile.naked | 14 +++++++++++++- README.md | 2 +- 5 files changed, 47 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b9b64c..6b47a7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ |Version|Date|Notes| |---|---|---| +|3.1|2021-02-21|Remove testing repos. Switch to base-devel. We shouldn't be using testing repos in a Dockerfile for light increase in stability. Add the mandatory glibc patch to every pacman until someone upstream fixes it.| | |2021-02-07|Add NOPICKER environment variable to :naked image for effortless boot toggling.| | |2021-02-07|Add MAC_ADDRESS environment variable.| | |2021-02-03|Employ wget --no-verbose to avoid buffer overload in hub.docker.com.| diff --git a/Dockerfile b/Dockerfile index 85b41f6..1007c73 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ # Repo: https://github.com/sickcodes/Docker-OSX/ # Title: Mac on Docker (Docker-OSX) # Author: Sick.Codes https://sick.codes/ -# Version: 3.0 +# Version: 3.1 # License: GPLv3+ # # All credits for OSX-KVM and the rest at @Kholia's repo: https://github.com/kholia/osx-kvm @@ -50,7 +50,7 @@ # docker run ... -e EXTRA="-usb -device usb-host,hostbus=1,hostaddr=8" ... # # you will also need to pass the device to the container -FROM archlinux:latest +FROM archlinux:base-devel MAINTAINER 'https://sick.codes' @@ -68,8 +68,8 @@ ARG MIRROR_COUNT=10 # TEMP-FIX for pacman issue RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst \ - && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/$patched_glibc" \ - && bsdtar -C / -xvf "$patched_glibc" + && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/${patched_glibc}" \ + && bsdtar -C / -xvf "${patched_glibc}" || echo "Everything is fine." # TEMP-FIX for pacman issue RUN if [[ "${RANKMIRRORS}" ]]; then \ @@ -88,16 +88,22 @@ RUN if [[ "${RANKMIRRORS}" ]]; then \ # This fails on hub.docker.com, useful for debugging in cloud # RUN [[ $(egrep -c '(svm|vmx)' /proc/cpuinfo) -gt 0 ]] || { echo KVM not possible on this host && exit 1; } -RUN tee -a /etc/pacman.conf <<< '[community-testing]' \ - && tee -a /etc/pacman.conf <<< 'Include = /etc/pacman.d/mirrorlist' +# RUN tee -a /etc/pacman.conf <<< '[community-testing]' \ +# && tee -a /etc/pacman.conf <<< 'Include = /etc/pacman.d/mirrorlist' -RUN pacman -Syu sudo git vim nano alsa-utils openssh --noconfirm \ +RUN pacman -Syu git vim nano alsa-utils openssh --noconfirm \ && ln -s /bin/vim /bin/vi \ && useradd arch -p arch \ && tee -a /etc/sudoers <<< 'arch ALL=(ALL) NOPASSWD: ALL' \ && mkdir /home/arch \ && chown arch:arch /home/arch +# TEMP-FIX for pacman issue +RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst \ + && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/${patched_glibc}" \ + && bsdtar -C / -xvf "${patched_glibc}" || echo "Everything is fine." +# TEMP-FIX for pacman issue + # allow ssh to container RUN mkdir -m 700 /root/.ssh @@ -147,6 +153,12 @@ RUN touch enable-ssh.sh \ RUN yes | sudo pacman -Syu qemu libvirt dnsmasq virt-manager bridge-utils openresolv jack ebtables edk2-ovmf netctl libvirt-dbus --overwrite --noconfirm \ && yes | sudo pacman -Scc +# TEMP-FIX for pacman issue +RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst \ + && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/${patched_glibc}" \ + && bsdtar -C / -xvf "${patched_glibc}" || echo "Everything is fine." +# TEMP-FIX for pacman issue + # RUN sudo systemctl enable libvirtd.service # RUN sudo systemctl enable virtlogd.service diff --git a/Dockerfile.auto b/Dockerfile.auto index bfdfadb..ef6a836 100644 --- a/Dockerfile.auto +++ b/Dockerfile.auto @@ -7,7 +7,7 @@ # # Title: Mac on Docker (Docker-OSX) [AUTOINSTALL] # Author: Sick.Codes https://twitter.com/sickcodes -# Version: 3.0 +# Version: 3.1 # License: GPLv3+ # Repository: https://github.com/sickcodes/Docker-OSX # @@ -69,6 +69,12 @@ RUN if [[ "${RANKMIRRORS}" ]]; then \ ; fi \ ; yes | pacman -Scc +# TEMP-FIX for pacman issue +RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst \ + && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/${patched_glibc}" \ + && bsdtar -C / -xvf "${patched_glibc}" || echo "Everything is fine." +# TEMP-FIX for pacman issue + RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \ && if [[ "${SCROT}" ]]; then \ pacman -Syu scrot base-devel --noconfirm \ @@ -86,6 +92,12 @@ RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noc ; fi \ ; yes | pacman -Scc +# TEMP-FIX for pacman issue +RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst \ + && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/${patched_glibc}" \ + && bsdtar -C / -xvf "${patched_glibc}" || echo "Everything is fine." +# TEMP-FIX for pacman issue + USER arch WORKDIR /home/arch/OSX-KVM diff --git a/Dockerfile.naked b/Dockerfile.naked index 1b8618a..06f9b9e 100644 --- a/Dockerfile.naked +++ b/Dockerfile.naked @@ -7,7 +7,7 @@ # # Title: Mac on Docker (Docker-OSX) [AUTOINSTALL] # Author: Sick.Codes https://twitter.com/sickcodes -# Version: 3.0 +# Version: 3.1 # License: GPLv3+ # Repository: https://github.com/sickcodes/Docker-OSX # @@ -55,6 +55,12 @@ RUN if [[ "${RANKMIRRORS}" ]]; then { pacman -Sy wget --noconfirm || pacman -Syu && tee -a /etc/pacman.d/mirrorlist <<< 'Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch' \ && cat /etc/pacman.d/mirrorlist ; fi +# TEMP-FIX for pacman issue +RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst \ + && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/${patched_glibc}" \ + && bsdtar -C / -xvf "${patched_glibc}" || echo "Everything is fine." +# TEMP-FIX for pacman issue + # For taking screenshots of the Xfvb screen, useful during development. ARG SCROT @@ -75,6 +81,12 @@ RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noc ; fi \ ; yes | pacman -Scc +# TEMP-FIX for pacman issue +RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst \ + && curl -LO "https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/${patched_glibc}" \ + && bsdtar -C / -xvf "${patched_glibc}" || echo "Everything is fine." +# TEMP-FIX for pacman issue + USER arch WORKDIR /home/arch/OSX-KVM diff --git a/README.md b/README.md index a12049b..559cec2 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ docker run -it \ sickcodes/docker-osx:naked ``` -# Features In Docker-OSX v3.0 +# Features In Docker-OSX v3.1 - Full auto mode: boot straight to OSX shell. - sickcodes/docker-osx:latest - original base recovery image (safe) - sickcodes/docker-osx:naked - supply your own .img file (safe)