#!/usr/bin/env bash
# Runs inside the official texlive/texlive image (scheme-full). Copies the files pdfTeX/BibTeX can use
# into /out, plus the package database, so the host can pack them (see ../build-tree.mjs).
set -euo pipefail
T="$(ls -d /usr/local/texlive/20*)"
cd "$T"
mkdir -p /out
# What we leave out, and why:
#   doc/ source/ scripts/      not read by TeX
#   fonts/opentype, fonts/afm, fonts/source, fonts/{cid,cmap,sfd,lig,ofm,ovf,ovp,type3}
#                              XeTeX/LuaTeX/dvipdfmx/Omega/METAFONT-only, pdfTeX never opens them
#   tex/{context,luatex,lualatex,xelatex,xetex,optex,latex-dev,platex,uplatex,...}
#                              other engines' formats
tar -cf - \
  --exclude='texmf-dist/doc' --exclude='texmf-dist/source' --exclude='texmf-dist/scripts' \
  --exclude='texmf-dist/fonts/opentype' --exclude='texmf-dist/fonts/afm' --exclude='texmf-dist/fonts/source' \
  --exclude='texmf-dist/fonts/cid' --exclude='texmf-dist/fonts/cmap' --exclude='texmf-dist/fonts/sfd' \
  --exclude='texmf-dist/fonts/lig' --exclude='texmf-dist/fonts/ofm' --exclude='texmf-dist/fonts/ovf' \
  --exclude='texmf-dist/fonts/ovp' --exclude='texmf-dist/fonts/type3' \
  --exclude='texmf-dist/tex/context' --exclude='texmf-dist/tex/luatex' --exclude='texmf-dist/tex/lualatex' \
  --exclude='texmf-dist/tex/xelatex' --exclude='texmf-dist/tex/xetex' --exclude='texmf-dist/tex/optex' \
  --exclude='texmf-dist/tex/latex-dev' --exclude='texmf-dist/tex/platex' --exclude='texmf-dist/tex/uplatex' \
  --exclude='texmf-dist/tex/ptex' --exclude='texmf-dist/tex/uptex' --exclude='texmf-dist/tex/lambda' \
  --exclude='texmf-dist/tex/luametatex' \
  --exclude='texmf-dist/ls-R' \
  texmf-dist/tex texmf-dist/fonts texmf-dist/bibtex texmf-dist/web2c texmf-dist/makeindex \
  texmf-var/tex/generic/config texmf-var/fonts/map/pdftex \
  | tar -xf - -C /out
cp tlpkg/texlive.tlpdb /out/texlive.tlpdb
cp release-texlive.txt /out/
pdftex --version | head -1 > /out/engine-version.txt
du -sh /out
find /out -type f | wc -l
