The official tarballs of TeXLive are very large in size; approximately 3.5 GB. Most documents created using TeXLive only depend on a fraction of this data. This makes the official tarballs unsuitable for use in automated build processes that download dependencies on demand (e.g., Bazel with its LaTeX rules).
This repository provides a copy of the data stored in the official
tarballs, decomposed into many (> 5000) small archives. The
decomposition is performed automatically, based on the directory
structure of the offical tarballs. Every subtree containing at least one
(non-blacklisted) file is stored in a separate tarball. Tarballs are
named after the path of the subtree, where /
is substituted with --
.
The official tarballs were downloaded, having the following sha256 checksums:
00e0d3db152affbfe695016c29c7ecc2ed345efaaeb93b55ac016fda3c66ba8c texlive-20220321-bin.tar.xz
0284cf368947be8cc7becd61c816432a7d301db3c1e682ddc0a180bd3b6d9296 texlive-20220321-extra.tar.xz
372b2b07b1f7d1dd12766cfc7f6656e22c34a5a20d03c1fe80510129361a3f16 texlive-20220321-texmf.tar.xz
They were then decomposed and uploaded as follows:
for i in bin extra texmf; do
tar -xf ~/Downloads/texlive-20220321-$i.tar.xz
done
mkdir output
./create_tarballs.py texlive-20220321-bin
./create_tarballs.py texlive-20220321-extra/tlpkg/TeXLive
./create_tarballs.py texlive-20220321-texmf
(cd output; ls | xargs sha256) > sha256sums-20190410.txt
./upload.sh <GitHub API token> <GitHub release ID>
Note that the release ID is not the tag name, but can be fetched with the following command once the release has been created:
curl -s https://api.github.com/repos/ProdriveTechnologies/texlive-modular/releases/latest | jq '.id'
As the files contained in these archives are merely unmodified copies of the ones provided by TeXLive, please refer to the TeXLive page for information on licensing.