#!/bin/bash
# This is purely to save space and squash the sources-in-storage
set -e
P=$(pwd)
cd ..
SRC=/tmp/texmf-src-$$
SRCW=/tmp/texmf-srcw-$$
SRCX=$SRCW.work
AP=/sources/archives/base/texlive-texmf
rm -rf $SRC $SRCW
mkdir -p $SRC $SRCW
mkdir -p /tmp/texmf-src
mkdir -p $SRCX /tmp/.work
rm -rf $P/src
mkdir -p $P/src
chown -R builder:builder $P/src
chown builder:builder $SRC $SRCW
chown builder:builder /tmp/texmf-src
chown builder:builder $SRCX /tmp/.work
squashfuse -o allow_other $AP/texmf-source.sqfs /tmp/texmf-src
mount -t overlay overlay -olowerdir=$AP:/tmp/texmf-src,upperdir=$SRCW,workdir=$SRCX,redirect_dir=on,metacopy=on $AP
mount -t overlay overlay -olowerdir=/tmp/texmf-src,upperdir=$SRC,workdir=/tmp/.work,redirect_dir=on,metacopy=on $P/src
cd $P
su builder -c "../pkg-prep.sh $1"
# This thing is slow as fuck, and needs way too many inodes to do ... but it does it, without blowing up the disk space lol.
mount -o remount,nr_inodes=1m /tmp
systemd-nspawn --console=autopipe -a -M pkg-builder-$$ --volatile=overlay --bind=/sources --bind-ro=/var/lib/pacman/sync -D /build-core $(pwd)/custom-spawned.sh $(pwd) $2
../pkg-repo.sh
echo $1 >> ../$CARCH-built-order
cd ..
umount $P/src
umount $AP
umount /tmp/texmf-src
rm -r $SRC
rm -r $SRCW
rm -r $SRCX