1

In short/tldr:

I want to create a repository containing custom packages that can be accessed and installed by TeXLive. Any complete documentation on TeXLive-compatible repositories?

Edit I'm looking to make something like MetaTeX (Here is the MetaTeX repo)


So I want to make a TeXLive repository because of reasons. That is : I want to add a repo to TeXLive that can be used for installation. As the TeXLive guide says, some pinning and such has to be done, but I'm fine with this.

The problem is that I do not know how to build up the TeXLive part of the directory structure. I do understand the TeX Directory Structure and how you'd use tar.xz-files to create this structure internally.

I've done quite a bit of research, but I still have the following questions.

  • What is the minimum requirements of the repository hosting setup? (E.g. directory listings)
  • The TeXLive Guide 2018 barely mentiones the tlpdb-file. Is this required for the repo, or only at the clients installation? If applicable: Where can I find the syntax for this?
  • I notice that all .tar.xs-files containing packages, also contain a tlpkg/tlpobj/packagename.tlpobj, which seem to be the same syntax as the tlpdb-file. It seem to contain multiple key-value pairs (see example below). I'd also like to know what key-values are required and which are optional, and some documentation for this?

Can anyone help with this?


Here is the .tar.xz info for exercisebank.

Directory structure (tar -tf exercisebank.tar.xz):

tex/latex/exercisebank/exercisebank.sty
tlpkg/tlpobj/exercisebank.tlpobj

Here is the exercisebank.tlpobj

name exercisebank
category Package
revision 47483
shortdesc Creating and managing exercises, and reusing them as composed sets
relocated 1
longdesc This package makes it easier to maintain and edit your exercise
longdesc sets. Exercises are saved as separate files containing part
longdesc problems. These files can be used to make sets, and you can
longdesc cherry-pick or exclude certain part problems as you see fit.
runfiles size=5
 RELOC/tex/latex/exercisebank/exercisebank.sty
catalogue-ctan /macros/latex/contrib/exercisebank
catalogue-date 2018-04-28 21:34:27 +0200
catalogue-license lppl1.3c
catalogue-topics exercise exam doc-templ
catalogue-version 0.1.4

Possibly helpful links:

From comments

  • 2
    I don't understand what you're asking. Insofar as what you are trying to make is a repo of TeX Live, you need to mirror the main repo, because you obviously need files which are identical. It doesn't matter what is optional and whatnot, because that's not your concern. So I'm guessing that what you're trying to do is not really provide a repo for TeX Live, but something else. However, I don't know what the else is. – cfr Jul 15 '18 at 00:48
  • @cfr A repo that contains packages that can be accessed and installed by TeXLive – Andreas Storvik Strauman Jul 15 '18 at 08:17
  • I think what you want to do is have a repository which is deliberately 'minimised', i.e. only contains a subset of all of TeX Live available for installation. Is that correct? If so, it seems like potentially a lot of effort. – Joseph Wright Jul 15 '18 at 08:26
  • @JosephWright no, I want my own packages :) – Andreas Storvik Strauman Jul 15 '18 at 08:38
  • @cfr As is stated on TUGs TeXLive docs on multiple repositories you'd have to specify that a package that does not come from the "main" repo is from a different one - that is you can "pin" it. For me, it is mostly for educational purposes. However, it could be used in e.g. a university for easy maintaining and distributing copyrighted content in regards to typesetting logos and such. – Andreas Storvik Strauman Jul 15 '18 at 16:32
  • 1
    I still think it's a bad idea. However, I didn't realise it was an official one. Thanks for the link. – cfr Jul 15 '18 at 16:37
  • @cfr I definitively see the potential of misusing this system. However, having the ability to add custom repos isn’t uncommon. E.g. Linux package managers and homebrew have this ability. – Andreas Storvik Strauman Jul 15 '18 at 16:40
  • @AndreasStorvikStrauman Yes, but they handle conflicts and dependencies, which tlmgr doesn't. – cfr Jul 15 '18 at 17:57
  • @cfr but tlmgr does. Kinda. You decide which packages from a non-tlmgr library should be obtained from what repo. – Andreas Storvik Strauman Jul 15 '18 at 20:19
  • 1
    That's not handling dependencies and conflicts. It rather means you have to handle dependencies and conflicts. That's not at all the same thing. – cfr Jul 15 '18 at 20:57
  • @cfr Yeah okay, you're right. But I'd still want to do learn about this! – Andreas Storvik Strauman Jul 16 '18 at 07:41
  • @AndreasStorvikStrauman Oh, that's fair enough. I'm curious now, too. I just wouldn't use it unless you can have it install into a different tree :-). – cfr Jul 16 '18 at 23:35
  • @cfr Yeah. Sounds like good netiquette! – Andreas Storvik Strauman Jul 17 '18 at 09:45
  • 1
    I have a number of packages that we use in my lab and it would be nice if they got automatically updated whenever someone did a tlmgr update. Having a repo accessible only from our intranet seems ideal. – StrongBad Jan 11 '19 at 21:01
  • 1
    @strongbad Andreas queried how complex the repo needed to be and as far as I have looked it does seem it may need to be more complicated than necessary looking at the quoted example site https://git.texlive.info/tlcontrib/tree/?id=7c29190c3467959d21fc9a46b491ce377c50740d we can see that is composed of many nested directories (as are the CTAN repositories) A simpler approach would be to have well structured tds packages in one flat distro folder similar to installing from local network instal folder. That way it should only need them to be unpacked to the local texmf location a simple task. –  Jan 16 '19 at 04:07
  • @StrongBad I see that Henri Menke has downloadable package that seems to be using fairly simple enough file structure on GitHub SO take a look at how he provides an alternative repository with signed public token e.g. for https://github.com/hmenke/texlive-luatex-dev ~~ See his answer here https://tex.stackexchange.com/a/448789/170109. I thus suspect he can advise how he set it up in more detail and how that may be adapted for personal usage –  Jan 19 '19 at 02:21

0 Answers0