summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-05-23 00:38:37 +0000
committerKarl Berry <karl@freefriends.org>2012-05-23 00:38:37 +0000
commit1412bc5e07afc19245d84ef89c31fa34483762f3 (patch)
tree2ae5d1a2d4ec035dbf30e982cccc5514b33e9025 /Master
parentd5687a28d4fd80665a04e1f3912e80ec7a5ba8fe (diff)
doc, msgs
git-svn-id: svn://tug.org/texlive/trunk@26579 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl105
1 files changed, 49 insertions, 56 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index 8ad03a6840b..cd78e6c1425 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -3520,13 +3520,13 @@ sub action_repository {
if ($what eq "add") {
my $p = shift @ARGV;
if (!defined($p)) {
- tlwarn("$prg: you need to give a new repository as argument to add\n");
+ tlwarn("$prg: no repository given (to add)\n");
return;
}
my $t = shift @ARGV;
$t = $p if (!defined($t));
if (defined($repos{$t})) {
- tlwarn("$prg: this repository or its tag is already defined, no action\n");
+ tlwarn("$prg: repository or its tag already defined, no action: $p\n");
return;
}
# TODO more checks needed?
@@ -3546,16 +3546,16 @@ sub action_repository {
$localtlpdb->option("location", array_to_repository(%repos));
$localtlpdb->save;
if ($t eq $p) {
- print "$prg: added repository $p\n";
+ print "$prg: added repository: $p\n";
} else {
- print "$prg: added repository `$t' for `$p'\n";
+ print "$prg: added repository with tag $t: $p\n";
}
return;
}
if ($what eq "remove") {
my $p = shift @ARGV;
if (!defined($p)) {
- tlwarn("Which repository should be removed?\n");
+ tlwarn("$prg: no repository given (to remove)\n");
return;
}
my $found = 0;
@@ -3566,11 +3566,11 @@ sub action_repository {
}
}
if (!$found) {
- tlwarn("Cannot find the repository $p\n");
+ tlwarn("$prg: repository not defined, cannot remove: $p\n");
} else {
$localtlpdb->option("location", array_to_repository(%repos));
$localtlpdb->save;
- print "$prg: removed repository `$p'\n";
+ print "$prg: removed repository: $p\n";
}
return;
}
@@ -3583,14 +3583,14 @@ sub action_repository {
return;
}
# we are still here, unknown command to repository
- tlwarn("tlmgr: unknown directive to tlmgr repository: $what\n");
+ tlwarn("$prg: unknown directive to tlmgr repository: $what\n");
return;
}
sub action_candidates {
my $what = shift @ARGV;
if (!defined($what)) {
- tlwarn("tlmgr: action candidates needs a package name as argument\n");
+ tlwarn("$prg: candidates needs a package name as argument\n");
return;
}
init_local_db();
@@ -5045,7 +5045,7 @@ sub init_tlmedia
# this "location-url" line should not be changed since GUI programs
# depend on it:
print "location-url\t$locstr\n" if $::machinereadable;
- info("tlmgr: package repository:\n");
+ info("tlmgr: package repositories:\n");
info("\tmain = " . $repos{'main'} . "\n");
for my $t (@tags) {
if ($t ne 'main') {
@@ -6769,38 +6769,41 @@ Examples:
=head1 MULTIPLE REPOSITORIES
-Most packages are distributed via the main TeX Live repository, but
-sometimes local repositories are used to provide local packages (e.g.,
-proprietary fonts, internal styles). There are also alternative package
-repositories for packages that cannot or should not be included in TeX
-Live, due to being under rapid development or for other reasons.
-
-It's possible to tell C<tlmgr> about additional repositories you want to
-use. Although this support for multiple repositories has been tested
-extensively, we cannot guarantee proper operation. If in doubt or if
-problems, you can temporarily set the installation source to any
-repository and perform your operations.
+The main TeX Live repository includes a vast array of packages.
+Nevertheless, additional local repositories can be useful to provide
+locally-installed resources, such as proprietary fonts and house styles.
+Also, alternative package repositories distribute packages that cannot
+or should not be included in TeX Live, due to being under rapid
+development or for other reasons.
+
+The simplest and most reliable method is simply to temporarily set the
+installation source to any repository (with the C<-repository> command
+line option or C<option repository>), and perform your operations. When
+you are using multiple repositories over a sustained time, however, this
+is inconvenient. Thus, it's possible to tell C<tlmgr> about additional
+repositories you want to use. The basic command is C<tlmgr repository
+add>. The rest of this section explains further.
When using multiple repositories, one of them has to be set as the main
repository, which distributes most of the installed packages. If you
switch from a single repository installation to a multiple repository
-installation (by calling C<tlmgr repository add>), the previously set
-repository will be set as the main repository.
+installation, the previously set repository will be set as the main
+repository.
By default, even if multiple repositories are configured, packages are
I<only> installed from the main repository. Thus, simply adding a
-second repository does not enable installation of anything from there.
-You first have to specify which packages should be taken from a
-different repository by specifying some so-called ``pinning'' rules,
+second repository does not actually enable installation of anything from
+there. You also have to specify which packages should be taken from a
+different repository by specifying so-called ``pinning'' rules,
described next.
=head2 Pinning
-Pinning a package is done by editing (adding) a file
+Pinning a package is done by editing (creating) this file:
TEXMFLOCAL/tlpkg/pinning.txt
-which contains lines of the form:
+with lines of the form:
repo:pkg[,pkg]
@@ -6808,28 +6811,28 @@ In this line, the I<repo> is either a full url or repository tag that
was added to the repository list. Each I<pkg> is a shell-style glob for
package identifiers.
+When a package C<foo> is pinned to a repository, a package C<foo> in any
+other repository, even if it has a higher revision number, will not be
+considered an installable candidate.
+
By default, everything is pinned to the main repository,
-as if at the end of C<pinning.txt> there is a line
+as if the last line of C<pinning.txt> was
main:*
-Now, if a package C<foo> is pinned to a repository, any package C<foo>
-in any other repository, even if it has a higher revision number, will
-not be considered as an installable candidate.
-
=head2 Multiple repository example with tlcontrib
-First, check that we have support for multiple repositories, and only
-one specified (as is the case by default):
+First, check that we have support for multiple repositories, and have
+only one enabled (as is the case by default):
$ tlmgr repository list
List of repositories (with tags if set):
/var/www/norbert/tlnet
-Add the C<tlcontrib> repository maintained by Taco Hoekwater et al.,
-with the tag C<tlcontrib>:
+Let's add the C<tlcontrib> repository (L<http://tlcontrib.metatex.org>,
+maintained by Taco Hoekwater et al.), with the tag C<tlcontrib>:
- $ tlmgr repository add http://tlcontrib.metatex.org/2011 tlcontrib
+ $ tlmgr repository add http://tlcontrib.metatex.org/2012 tlcontrib
Check the repository list again:
@@ -6841,38 +6844,28 @@ Check the repository list again:
Specify a pinning entry to get the package C<cowfont> from C<tlcontrib>:
$ tlocal=`kpsewhich -var-value TEXMFLOCAL`
- $ mkdir -p $tlocal/tlpkg
$ echo "tlcontrib:cowfont" > $tlocal/tlpkg/pinning.txt
Check that we can find C<cowfont>:
$ tlmgr show cowfont
tlmgr: using pinning file .../tlpkg/pinning.txt
- tlmgr: package repository /var/www/norbert/tlnet http://tlcontrib.metatex.org/2011
+ tlmgr: package repositories:
+ ...
package: cowfont
category: Package
...
-- install cowfont and context (which is needed!)
+- install C<cowfont>:
- $ tlmgr install context cowfont
+ $ tlmgr install cowfont
tlmgr: using pinning file .../tlpkg/pinning.txt
- tlmgr: package repository /var/www/norbert/tlnet http://tlcontrib.metatex.org/2011
- [1/11, ??:??/??:??] install: context.x86_64-linux @main [84k]
- [2/11, 00:00/00:00] install: context @main [4274k]
- [3/11, 00:01/00:02] install: cowfont @tlcontrib [655k]
- [4/11, 00:05/00:09] install: metapost.x86_64-linux @main [198k]
- [5/11, 00:05/00:09] install: metapost @main [72k]
- [6/11, 00:05/00:09] install: mptopdf.x86_64-linux @main [1k]
- [7/11, 00:06/00:11] install: mptopdf @main [37k]
- [8/11, 00:06/00:11] install: stmaryrd @main [163k]
- [9/11, 00:07/00:12] install: xetex.x86_64-linux @main [4442k]
- [10/11, 00:08/00:08] install: xetex @main [46k]
- [11/11, 00:08/00:08] install: xetexconfig @main [13k]
+ tlmgr: package repositories:
...
+ [1/1, ??:??/??:??] install: cowfont @tlcontrib [655k]
-In the last part you see that the cowfont is installed from
-the tlcontrib part (@tlcontrib).
+In the output here you can see that the C<cowfont> package is installed
+from the C<tlcontrib> repository (C<@tlcontrib>).
=head1 GUI FOR TLMGR