summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild-i686.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/build-i686.sh b/build-i686.sh
new file mode 100755
index 0000000..22c5550
--- /dev/null
+++ b/build-i686.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+mkdir build-i686
+cd build-i686
+
+cat << "END" > Vagrantfile
+Vagrant.configure("2") do |config|
+ config.vm.box = "archlinux/archlinux"
+ config.vm.provision "shell", path: "provision.sh", run: "once"
+end
+END
+
+cat << "__ENDOFPROVISION.SH__" > provision.sh
+#!/bin/bash
+set -e
+tmpFile="$(mktemp)"
+curl -o "${tmpFile}" "https://arch.eckner.net/archlinuxewe/masterkeys.gpg"
+pacman-key --add "${tmpFile}"
+rm -f "${tmpFile}"
+pacman-key --lsign-key 0x43BF68D3
+pacman-key --lsign-key 0x20194BA1
+if ! grep -q "^Server = https://arch\.eckner\.net" /etc/pacman.d/mirrorlist
+then
+ ml="$(
+ curl "https://arch.eckner.net/archlinuxewe/os/any/" 2> /dev/null | \
+ tr "<>" "\n\n" | \
+ grep "^pacman-mirrorlist-.*\.pkg\.tar\.xz\$" | \
+ tail -n1
+ )"
+ curl "https://arch.eckner.net/archlinuxewe/os/any/${ml}" 2> /dev/null | \
+ tar -OxJ etc/pacman.d/mirrorlist > \
+ /etc/pacman.d/mirrorlist
+fi
+if ! grep -q "^\[archlinuxewe\]\$" /etc/pacman.conf
+then
+ tmpFile="$(mktemp)"
+ cat /etc/pacman.conf | \
+ (
+ while read s
+ do
+ if [[ "$s" = "# The testing repositories"* ]]
+ then
+ echo '[archlinuxewe]'
+ echo 'SigLevel = Required'
+ echo 'Include = /etc/pacman.d/mirrorlist'
+ echo ''
+ fi
+ echo "${s}"
+ done
+ ) > "${tmpFile}"
+ cat "${tmpFile}" > /etc/pacman.conf
+ rm -f "${tmpFile}"
+fi
+
+sudo pacman --noconfirm -Syu archiso32
+__ENDOFPROVISION.SH__
+
+vagrant up
+vagrant ssh -c "sudo reboot";
+vagrant ssh -c "sudo bash -c '/usr/share/archiso/configs/releng/build.sh'";
+
+vagrant ssh-config > config.txt
+scp -rF config.txt default:/home/vagrant/out ../
+
+vagrant destroy -f