---------- Forwarded message ----------
From: Norbert Preining
Date: 2012/4/18
Subject: [tldev] tlmgr multi repository support
To: tldev@tug.org
Dear all,
with today's update tlmgr multi repository support has entered
into the tlcritical repository and the main svn branch.
We will not ship that for TL2011, but keep it already now in tlcritical
for testing. Everyone is invited to *actually* test it. Here a
short recipe:
1* update tlmgr/texlive.infra to the version in tlcritical:
tlmgr --repository ftp://tug.org/texlive/tlcritical update --self
if that has succeeded, you should now have a multi-repository
capable installations, but set up to work in normal single repo
mode as before. To add repositories you have to two two things:
2a* add another repository:
tlmgr repository add ftp://tug.org/texlive/tlcritical tlc
(the tlc is just a tag name, you can give it any reasonable and unique
one that is not "main" and not used already)
If you installation was up2date before, you will see no change but
a slightly different output, and a strange line:
$ tlmgr update --list
tlmgr: package repository:
main = http://mirror.ctan.org/systems/texlive/tlnet
tlc = ftp://tug.org/texlive/tlcritical
tlmgr: saving backups to /home/norbert/tltest/2011/tlpkg/backups
keep: texlive.infra : local: 26004, source: 24419@main
tlmgr: no updates available
$
Why? Because there is the missing step 2b* which tells tlmgr which packages
are taken from which repository. By default *ALL* packages are taken
from the main repository, the first entered. You will see now two
repositories if you have followed me up to here:
$ tlmgr repository
List of repositories (with tags if set):
ftp://tug.org/texlive/tlcritical (tlc)
http://mirror.ctan.org/systems/texlive/tlnet (main)
$
Now how do you tell that you *always* want texlive.infra from
tlcritical:
2b* Declare pinning rules
For the full documentation read tlmgr help, in principle you have
to add a file TEXMFLOCAL/tlpkg/pinning.txt which contains lines
repo:pkg[,pkg]
where repo is either the full URL or the tag you gave, and pkg is
a package name and can contain shell globs. So to tell tlmgr that you
want all texlive.infra packages from tlcritical, you have to
create a file TEXMFLOCAL/tlpkg/pinning.txt containing only the line
tlc:texlive.infra*
(where tlc is the name you gave above).
After that the output of tlmgr will change:
$ tlmgr update --list
tlmgr: using pinning file
/home/norbert/tltest/2011/../texmf-local/tlpkg/pinning.txt
tlmgr: package repository:
main = http://mirror.ctan.org/systems/texlive/tlnet
tlc = ftp://tug.org/texlive/tlcritical
tlmgr: saving backups to /home/norbert/tltest/2011/tlpkg/backups
tlmgr: no updates available
$
You can inquire about different candidates for installation via:
$ tlmgr candidates texlive.infra
tlmgr: using pinning file
/home/norbert/tltest/2011/../texmf-local/tlpkg/pinning.txt
tlmgr: package repository:
main = http://mirror.ctan.org/systems/texlive/tlnet
tlc = ftp://tug.org/texlive/tlcritical
Install candidate for texlive.infra from tlc (26004)
Other repositories providing this package:
main (24419)
$
etc etc. Please read the full man page of tlmgr for more details.
I hope that helps some people to try it out, and give me feed back.
This was a long term project and is now simmering in my local
repository for more than half a year, but still a wider test is
very much needed before TL2012 is released.
Best wishes
Norbert
------------------------------------------------------------------------
Norbert Preining preining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan TeX Live & Debian Developer
DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------
PUDSEY (n.)
The curious-shaped flat wads of dough left on a kitchen table after
someone has been cutting scones out of it.
--- Douglas Adams, The Meaning of Liff