summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2009-07-19 12:29:38 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2009-07-19 12:29:38 +0000
commita242529bcf517df9bcf227f4636fd56c5072ecf7 (patch)
tree904638d136a9a87f93c8cf95c6cdd86880b9ad3c
parenta226a222a00cdb4e676fd242cb849c94f718c4a0 (diff)
Better conditions for normalizing under Windows
git-svn-id: svn://tug.org/texlive/trunk@14319 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl233
1 files changed, 116 insertions, 117 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index c01d77870f3..d3e048facef 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -106,37 +106,37 @@ my %globaloptions = (
"help|h|?" => 1);
my %actionoptions = (
- "remove" => { "no-depends" => 1,
+ "remove" => { "no-depends" => 1,
"no-depends-at-all" => 1,
"force" => 1,
"dry-run|n" => 1 },
"show" => { "list" => 1 },
- "search" => { "global" => 1,
+ "search" => { "global" => 1,
"file" => 1 },
- "restore" => { "backupdir" => "=s",
- "dry-run|n" => 1,
+ "restore" => { "backupdir" => "=s",
+ "dry-run|n" => 1,
"force" => 1 },
- "backup" => { "backupdir" => "=s",
- "clean" => ":-99",
- "all" => 1,
+ "backup" => { "backupdir" => "=s",
+ "clean" => ":-99",
+ "all" => 1,
"dry-run|n" => 1 },
- "update" => { "no-depends" => 1,
- "no-depends-at-all" => 1,
- "all" => 1,
+ "update" => { "no-depends" => 1,
+ "no-depends-at-all" => 1,
+ "all" => 1,
"list" => 1,
- "no-remove" => 1,
- "force" => 1,
- "backupdir" => "=s",
- "backup" => 1,
+ "no-remove" => 1,
+ "force" => 1,
+ "backupdir" => "=s",
+ "backup" => 1,
"dry-run|n" => 1 },
"paper" => { "list" => 1 },
- "install" => { "no-depends" => 1,
- "no-depends-at-all" => 1,
+ "install" => { "no-depends" => 1,
+ "no-depends-at-all" => 1,
"reinstall" => 1,
- "force" => 1,
+ "force" => 1,
"dry-run|n" => 1 },
"arch" => { "dry-run|n" => 1 },
- "generate" => { "localcfg" => "=s",
+ "generate" => { "localcfg" => "=s",
"dest" => "=s" },
"postaction" => {"w32mode" => "=s",
"all" => 1,
@@ -147,7 +147,7 @@ my %actionoptions = (
);
my %optarg;
-for my $k (keys %globaloptions) {
+for my $k (keys %globaloptions) {
if ($globaloptions{$k} eq "1") {
$optarg{$k} = 1;
} else {
@@ -155,7 +155,7 @@ for my $k (keys %globaloptions) {
}
}
for my $v (values %actionoptions) {
- for my $k (keys %$v) {
+ for my $k (keys %$v) {
if ($v->{$k} eq "1") {
$optarg{$k} = 1;
} else {
@@ -169,7 +169,7 @@ our %opts;
GetOptions(\%opts, keys(%optarg)) or pod2usage(2);
-$::machinereadable = $opts{"machine-readable"}
+$::machinereadable = $opts{"machine-readable"}
if (defined($opts{"machine-readable"}));
my $action = shift;
@@ -236,7 +236,7 @@ if ($action =~ /^(paper|xdvi|pdftex|dvips|dvipdfmx?|context)$/) {
}
# --machine-readable is only supported by update.
-#
+#
if ($::machinereadable && $action ne "update") {
tlwarn("tlmgr: --machine-readable output not supported for $action\n");
}
@@ -257,7 +257,7 @@ for my $k (keys %opts) {
}
}
if (@notvalidargs) {
- my $msg =
+ my $msg =
"The following arguments are not supported for the action $action:\n";
for my $c (@notvalidargs) {
$msg .= " $c";
@@ -275,7 +275,7 @@ if (@notvalidargs) {
}
# besides doing normal logging if -logfile is specified, we try to log
-# package related actions (install, remove, update) to
+# package related actions (install, remove, update) to
# the package-log file TEXMFSYSVAR/web2c/tlmgr.log
my $packagelogged = 0; # how many msgs we logged
chomp (my $texmfsysvar = `kpsewhich -var-value=TEXMFSYSVAR`);
@@ -430,14 +430,14 @@ sub do_cmd_and_check {
# run external programs (mktexlsr, updmap-sys, etc.) as specified by the
# keys in the RET hash. We return the number of unsuccessful runs, zero
# if all ok.
-#
+#
# If the "map" key is specified, the value may be a reference to a list
# of map command strings to pass to updmap, e.g., "enable Map=ascii.map".
-#
+#
sub handle_execute_actions {
-
+
my $errors = 0;
-
+
if ($::files_changed) {
$errors += do_cmd_and_check("mktexlsr");
$::files_changed = 0;
@@ -482,10 +482,10 @@ sub handle_execute_actions {
chomp(my $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`);
chomp(my $TEXMFLOCAL = `kpsewhich -var-value=TEXMFLOCAL`);
-
+
# format-regenerate is used when the paper size changes. In that
# case, if option("create_formats") is set, we simply want to generate
- #
+ #
{
my %done_formats;
my %updated_engines;
@@ -555,12 +555,12 @@ sub handle_execute_actions {
$do_something = 1;
last;
}
-
+
if ($do_something) {
for my $ext ("dat", "def") {
my $lang = "language.$ext";
info("regenerating $lang\n");
-
+
my $arg1 = "$TEXMFSYSVAR/tex/generic/config/language.$ext";
my $arg2 = "$TEXMFLOCAL/tex/generic/config/language-local.dat";
if ($ext eq "dat") {
@@ -611,7 +611,7 @@ sub handle_execute_actions {
# if some of them are referenced somewhere they will not be removed
# unless --force given
#
-# tlmgr remove --no-depends-at-all foo bar baz
+# tlmgr remove --no-depends-at-all foo bar baz
# willabsolutely only install foo bar baz not even taking .ARCH into
# account
#
@@ -670,7 +670,7 @@ sub action_remove {
my @origpacks = $localtlpdb->expand_dependencies("-only-arch", $localtlpdb, @ARGV) unless $opts{"no-depends-at-all"};
for my $p (@origpacks) { $origpacks{$p} = 1; }
for my $p (@packs) { $packs{$p} = 1; }
- for my $p (@neededpacks) {
+ for my $p (@neededpacks) {
if (defined($origpacks{$p})) {
# that package was asked for to be removed on the cmd line
my @needed = $localtlpdb->needed_by($p);
@@ -747,7 +747,7 @@ sub action_remove {
# PAPER
# ARGV can look like:
-# paper a4
+# paper a4
# paper letter
# [xdvi|...|context] paper [help|papersize|--list]
#
@@ -769,7 +769,7 @@ sub action_paper {
} elsif (!defined($newpaper)) { # tlmgr paper => show all current sizes.
TeXLive::TLPaper::paper_all($texmfsysconfig,undef);
-
+
} elsif ($newpaper !~ /^(a4|letter)$/) { # tlmgr paper junk => complain.
$newpaper = "the empty string" if !defined($newpaper);
tlwarn("tlmgr: expected `a4' or `letter' after paper, not $newpaper\n");
@@ -861,8 +861,8 @@ sub action_show {
}
if ($foo->docfiles) {
print "doc files:\n";
- for my $f (sort $foo->docfiles) {
- print " $f";
+ for my $f (sort $foo->docfiles) {
+ print " $f";
my $dfd = $foo->docfiledata;
if (defined($dfd->{$f})) {
for my $k (keys %{$dfd->{$f}}) {
@@ -975,9 +975,9 @@ sub action_search {
# RESTORE
-#
+#
sub action_restore {
- # tlmgr restore --backupdir dir
+ # tlmgr restore --backupdir dir
# lists all packages with all revisions
# tlmgr restore --backupdir dir pkg
# lists all revisions of pkg
@@ -1065,7 +1065,7 @@ sub action_restore {
my $tlpobj = TeXLive::TLPOBJ->new;
$tlpobj->from_file($localtlpdb->root . "/tlpkg/tlpobj/$pkg.tlpobj");
$localtlpdb->add_tlpobj($tlpobj);
- TeXLive::TLUtils::announce_execute_actions("enable",
+ TeXLive::TLUtils::announce_execute_actions("enable",
$localtlpdb->get_package($pkg));
$localtlpdb->save;
}
@@ -1083,7 +1083,7 @@ sub action_backup {
# that parallels the value of autoclean in the configuration
# we have to be careful, because if simply --clean is given, we should
# check for the value saved in the tlpdb, and if that is not present
- # do nothing.
+ # do nothing.
# We have set clean to clean:-99 which makes -99 the default value
# if only --clean is given without any argument
# !defined($opts{"clean"}) -> no --clean given
@@ -1166,10 +1166,10 @@ sub action_backup {
clear_old_backups ($pkg, $opts{"backupdir"}, $opts{"clean"}, $opts{"dry-run"});
} else {
my $tlp = $localtlpdb->get_package($pkg);
- info("saving current status of $pkg to $opts{'backupdir'}/${pkg}.r" .
+ info("saving current status of $pkg to $opts{'backupdir'}/${pkg}.r" .
$tlp->revision . "tar.xz\n");
if (!$opts{"dry-run"}) {
- $tlp->make_container("xz", $localtlpdb->root,
+ $tlp->make_container("xz", $localtlpdb->root,
$opts{"backupdir"}, "${pkg}.r" . $tlp->revision);
}
}
@@ -1207,7 +1207,7 @@ sub write_w32_updater {
$localtlp = $localtlpdb->get_package($pkg);
$oldrev = $localtlp->revision;
$newrev = $mediatlp->revision;
- # we do install documenation files for category Documentation even if
+ # we do install documenation files for category Documentation even if
# option("install_docfiles") is false
$opt_real_doc = ($mediatlp->category =~ m/documentation/i) ? 1 : $opt_doc;
@pkg_parts = ($pkg);
@@ -1234,7 +1234,7 @@ sub write_w32_updater {
if (!-r "$temp/$pkg_part.tar.xz") {
tlwarn("Couldn't get $pkg_part.tar.xz, that is bad\n");
return 1; # abort
- }
+ }
# unpack xz archive
$sysret = system("$::progs{'xzdec'} < \"$temp/$pkg_part.tar.xz\" > \"$temp/$pkg_part.tar\"");
if ($sysret) {
@@ -1280,10 +1280,10 @@ rem Self-delete without error message about missing file
#
# tlmgr update --no-depends-at-all foo
# will absolutely only update foo not even taking .ARCH into account
-#
+#
# TLMedia->install_package INSTALLS ONLY ONE PACKAGE, no deps whatsoever
# anymore. That has all to be done by hand.
-#
+#
sub machine_line {
my ($flag1) = @_;
my $ret = 0;
@@ -1306,7 +1306,7 @@ sub action_update {
}
init_local_db(1);
$opts{"no-depends"} = 1 if $opts{"no-depends-at-all"};
-
+
init_tlmedia();
info("update: dry run, no changes will be made\n") if $opts{"dry-run"};
@@ -1331,7 +1331,7 @@ sub action_update {
last;
}
}
- }
+ }
if ($other_updates_asked_for) {
if (check_for_critical_updates($localtlpdb, $tlmediatlpdb)) {
if ($opts{"force"}) {
@@ -1395,11 +1395,11 @@ sub action_update {
$diebackupdir = 1 if (! -d $opts{"backupdir"});
} else {
# not set in the tlpdb, and not set on cmd line, but asked for
- # --backup
+ # --backup
$diebackupdir = 1;
}
- }
- # no else branch necessary, we already checked that --backupdir if
+ }
+ # no else branch necessary, we already checked that --backupdir if
# given is ok, see above
if ($diebackupdir) {
tlwarn("You have asked for backups, but the backup directory as specified\n");
@@ -1410,7 +1410,7 @@ sub action_update {
# finally, if we have --backupdir, but no --backup, just enable it
$opts{"backup"} = 1 if $opts{"backupdir"};
-
+
debug("Doing backups to $opts{'backupdir'}\n") if $opts{"backup"};
# these two variables are used throughout this function
@@ -1444,9 +1444,9 @@ sub action_update {
push @schms, $p
if defined($tlmediatlpdb->get_package($p));
}
- my @localexpansion =
+ my @localexpansion =
$localtlpdb->expand_dependencies($localtlpdb, @schms);
- my @remoteexpansion =
+ my @remoteexpansion =
$tlmediatlpdb->expand_dependencies($localtlpdb, @schms);
for my $p (@remoteexpansion) {
$newpkgs{$p} = 1;
@@ -1483,11 +1483,11 @@ sub action_update {
# update all .ARCH dependencies, too, unless $opts{"no-depends-at-all"}:
@todo = $tlmediatlpdb->expand_dependencies("-only-arch", $localtlpdb, @todo)
- unless $opts{"no-depends-at-all"};
+ unless $opts{"no-depends-at-all"};
#
# update general deps unless $opts{"no-depends"}:
@todo = $tlmediatlpdb->expand_dependencies("-no-collections",$localtlpdb,@todo)
- unless $opts{"no-depends"};
+ unless $opts{"no-depends"};
#
# we first collect the list of packages to be actually updated or installed
@@ -1506,14 +1506,14 @@ sub action_update {
# expansion. So try both with and without the .ARCH extension.
(my $pkg_noarch = $pkg) =~ s/\.[^.]*$//;
my $forcerm_coll = $forcermpkgs{$pkg} || $forcermpkgs{$pkg_noarch};
-
+
# similarly for new packages. If latexmk is new, latexmk.ARCH
# will be in the dependency expansion, and we want it.
my $newpkg_coll = $newpkgs{$pkg} || $newpkgs{$pkg_noarch};
if ($forcerm_coll) {
if ($::machinereadable) {
# TODO should we add a revision number
- push @addlines,
+ push @addlines,
machine_line("-ret", $pkg, $FLAG_FORCIBLE_REMOVED, "-", "-", "-");
} else {
info("skipping forcibly removed package $pkg\n");
@@ -1572,16 +1572,16 @@ sub action_update {
# number calculation
# without w32 special packages, those are dealt with in the updater batch script
- my $totalnr = $#new + $#updated + 2;
+ my $totalnr = $#new + $#updated + 2;
my $nrupdated = 0;
my $currnr = 1;
# sizes_of_packages returns the sizes of *all* packages if nothing
- # is passed over, so if @new and @updated both are empty we will
+ # is passed over, so if @new and @updated both are empty we will
# get something wrong back, namely the total size of all packages
my %sizes;
# for size calculation we also want w32 special packages
if (@new || @updated || @w32_updated) {
- %sizes = %{$tlmediatlpdb->sizes_of_packages(
+ %sizes = %{$tlmediatlpdb->sizes_of_packages(
$localtlpdb->option("install_srcfiles"),
$localtlpdb->option("install_docfiles"),
@new, @updated, @w32_updated)};
@@ -1684,7 +1684,7 @@ sub action_update {
# first all normal packages, then collections, then schemes
# this way if installation breaks off and a new package in a collection
# isn't already installed, but the collection already updated, it will
- # be reported as forcibly removed.
+ # be reported as forcibly removed.
my @inst_packs;
my @inst_colls;
my @inst_schemes;
@@ -1722,11 +1722,11 @@ sub action_update {
}
next;
}
-
+
if ($opts{"backup"} && !$opts{"dry-run"}) {
- $tlp->make_container("xz", $root,
+ $tlp->make_container("xz", $root,
$opts{"backupdir"}, "${pkg}.r" . $tlp->revision);
- $unwind_package =
+ $unwind_package =
"$opts{'backupdir'}/${pkg}.r" . $tlp->revision . ".tar.xz";
if ($autobackup) {
@@ -1752,7 +1752,7 @@ sub action_update {
# no backup was made, so let us create a temporary .tar file
# of the package
my $tlp = $localtlpdb->get_package($pkg);
- my ($s, $m, $fullname) = $tlp->make_container("tar", $root, $temp,
+ my ($s, $m, $fullname) = $tlp->make_container("tar", $root, $temp,
"__BACKUP_${pkg}.r" . $tlp->revision);
if ($s <= 0) {
tlwarn("\n$0: Creation of backup container of $pkg failed.\n");
@@ -1783,7 +1783,7 @@ sub action_update {
tlwarn("\n\nInstallation of new version of $pkg did fail, trying to unwind.\n");
if (win32()) {
# w32 is notorious for not releasing a file immediately
- # we experienced permission denied errors
+ # we experienced permission denied errors
my $newname = $unwind_package;
$newname =~ s/__BACKUP/___BACKUP/;
copy ("-f", $unwind_package, $newname);
@@ -1812,13 +1812,13 @@ sub action_update {
}
info("done\n") unless $::machinereadable;
}
-
+
if (win32() && !$opts{"list"} && @w32_updated) {
info("Preparing TeX Live infrastructure update...\n");
my $ret = write_w32_updater(@w32_updated);
tlwarn ("Aborting infrastructure update.\n") if ($ret);
}
-
+
if (!(@new || @updated || @w32_updated) && ($tlmediasrc->media ne "NET") && $opts{"all"}) {
# for all but net updates we warn if nothing is updated
tlwarn("\nNothing to update.\n");
@@ -1847,7 +1847,7 @@ sub action_update {
# take .ARCH deps into account
#
# tlmgr install --reinstall ...
-# behaves exactely like without --reinstall BUT the following two
+# behaves exactely like without --reinstall BUT the following two
# differences:
# . dependencies are not expanded from collection to collection, so
# if you reinstall a collection then all its dependencies of type
@@ -1859,7 +1859,7 @@ sub action_update {
#
# TLMedia->install_package does ONLY INSTALL ONE PACKAGE, no deps whatsoever
# anymore! That has all to be done by hand.
-#
+#
sub action_install {
if ($opts{"gui"}) {
action_gui("install");
@@ -1900,7 +1900,7 @@ sub action_install {
# installation order of packages:
# first all normal packages, then collections, then schemes
# isn't already installed, but the collection already updated, it will
- # be reported as forcibly removed.
+ # be reported as forcibly removed.
my @inst_packs;
my @inst_colls;
my @inst_schemes;
@@ -1938,7 +1938,7 @@ sub action_install {
sub action_list {
init_local_db();
- # make sure that the @ARGV hash is not changed in case we switch to
+ # make sure that the @ARGV hash is not changed in case we switch to
# show mode
my ($what) = @ARGV;
if ($what) {
@@ -1975,7 +1975,7 @@ sub action_list {
# OPTION
-#
+#
sub action_option {
if ($opts{"gui"}) {
action_gui("config");
@@ -2023,8 +2023,8 @@ sub action_option {
if ($val !~ m!^(http|ftp)://!i) {
# seems to be a local path, try to normalize it
my $testloc = abs_path($val);
- # however, if we were given a url, that will get "normalized"
- # to the empty string, it not being a path.
+ # however, if we were given a url, that will get "normalized"
+ # to the empty string, it not being a path.
# Restore the original value if so.
$val = $testloc if $testloc;
}
@@ -2199,7 +2199,7 @@ sub action_arch {
# GENERATE
-#
+#
sub action_generate {
my $dest = defined($opts{"dest"}) ? $opts{"dest"} : "";
my $localconf = defined($opts{"localcfg"}) ? $opts{"localcfg"} : "";
@@ -2217,7 +2217,7 @@ sub action_generate {
chomp (my $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`);
chomp (my $TEXMFSYSCONFIG = `kpsewhich -var-value=TEXMFSYSCONFIG`);
chomp (my $TEXMFLOCAL = `kpsewhich -var-value=TEXMFLOCAL`);
-
+
if ($what =~ m/^language(\.dat|\.def)?$/i) {
if ($what =~ m/^language(\.dat)?$/i) {
$dest ||= "$TEXMFSYSVAR/tex/generic/config/language.dat";
@@ -2229,13 +2229,13 @@ sub action_generate {
# variable so that it is reset to the right value
undef $dest;
}
- }
+ }
if ($what =~ m/^language(\.def)?$/i) {
$dest ||= "$TEXMFSYSVAR/tex/generic/config/language.def";
$localconf ||= "$TEXMFLOCAL/tex/generic/config/language-local.def";
debug("$0: writing language.def data to $dest\n");
TeXLive::TLUtils::create_language_def($localtlpdb, $dest, $localconf);
- }
+ }
} elsif ($what =~ m/^fmtutil$/i) {
$dest ||= "$TEXMFSYSVAR/web2c/fmtutil.cnf";
@@ -2258,7 +2258,7 @@ sub action_generate {
# GUI
-#
+#
sub action_gui {
my ($guiscreen) = @_;
# yes, two times to make perl warnings shut up ...
@@ -2293,7 +2293,7 @@ http://tug.org/texlive/distro.html for more details.
exit 1;
}
- # now check that we can actually create a top level window,
+ # now check that we can actually create a top level window,
# on darwin the X server might not be started, or on unix we are working
# on a console, or whatever.
eval { my $foo = Tk::MainWindow->new; $foo->destroy; };
@@ -2319,7 +2319,7 @@ Error message from creating MainWindow:
# UNINSTALL
-#
+#
sub action_uninstall {
if (win32()) {
printf STDERR "Please use \"Add/Remove Programs\" from the Control Panel to removing TeX Live!\n";
@@ -2551,7 +2551,7 @@ sub check_files {
# if we are on Win32 or MacOS we return, they currently do not allow
# find -wholename (missing find on w32, or bsd find on darwin).
- # we need the -use-svn version only for the check-file-coverage
+ # we need the -use-svn version only for the check-file-coverage
# replacement anyway, so it will be used on tug, which is neither w32 nor
# darwin.
my $arch = $localtlmedia->platform();
@@ -2643,7 +2643,7 @@ sub check_runfiles {
# assume tex4ht stuff is ok, and don't worry about Changes/README for now
# same for .xdy files
next if ($f =~ /(^Changes$|^README$|\.htf$|\.4hf$|\.xdy$)/);
- #
+ #
my @copies = grep (/\/$f$/, @runtime_files);
# map files can be duplicated as long as copies don't concern the same engine
if ($f =~ /\.map$/) {
@@ -2652,7 +2652,7 @@ sub check_runfiles {
my @cop = @copies; # don't break the outside list
map { s#^texmf-dist/fonts/map/(.*?)/.*#$1# } @cop;
foreach my $dir (sort @cop ) {
- last if ($need_check = ($dir eq $prev_dir));
+ last if ($need_check = ($dir eq $prev_dir));
$prev_dir = $dir;
}
next unless $need_check;
@@ -2763,11 +2763,11 @@ sub check_executes {
# }
#}
#
- # what should be checked for the executes? we could check
+ # what should be checked for the executes? we could check
# - the existence of the engine in bin/i386-linux or all $arch
# - the existence of the format name link/bat
# - parse the options parameter and check for the inifile
- # - rework the format definition that we have inifile=pdflatex.ini
+ # - rework the format definition that we have inifile=pdflatex.ini
# isn't the * unnecessary?
my %missingbins;
my %missingengines;
@@ -2869,7 +2869,7 @@ sub check_depends {
# Except that schemes and our special .win32 packages are ok.
push (@no_dep, $pkg) unless $pkg =~/^scheme-|\.win32$/;
}
-
+
# For each dependency, check that we have a package.
for my $d ($localtlpdb->get_package($pkg)->depends) {
next if ($d =~ m/\.ARCH$/);
@@ -2891,8 +2891,8 @@ sub check_depends {
$ret++;
print "\f PACKAGES NOT IN ANY COLLECTION: @no_dep\n";
}
-
- return $ret;
+
+ return $ret;
}
@@ -2900,7 +2900,7 @@ sub check_depends {
# action_postaction
# this action calls the various post actions if one want's to do that
# on a client system or overriding global settings
-# tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all]
+# tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all]
# [install|remove] [shortcut|fileassoc|script] [<package> <package> ...]
sub action_postaction {
@@ -2997,16 +2997,16 @@ sub action_postaction {
return;
}
}
-
+
# Subroutines galore.
-#
+#
# set global $location variable.
# if we cannot read tlpdb, die if arg SHOULD_I_DIE is true.
#
-# if an argument is given and is true init_local_db will die if
+# if an argument is given and is true init_local_db will die if
# setting up of programs failed.
-#
+#
sub init_local_db {
my ($should_i_die) = @_;
# if the localtlpdb is already defined do simply return here already
@@ -3044,9 +3044,9 @@ sub init_local_db {
}
# we normalize the path only if it is
# - neither a URL starting with http or ftp
- # - if we are on windows it does not start with Drive:
+ # - if we are on windows it does not start with Drive:[\/]
if (! ( $location =~ m!^(http|ftp)://!i ||
- (win32() && $location =~ m!^.:!) ) ) {
+ (win32() && (!(-e $location) || ($location =~ m!^.:[\\/]!) ) ) ) ) {
# seems to be a local path, try to normalize it
my $testloc = abs_path($location);
# however, if we were given a url, that will get "normalized" to the
@@ -3077,14 +3077,14 @@ sub init_tlmedia {
# agrees load the local copy if present instead of the remote one,
# if the hashes disagree, load the remote tlpdb
# - if that does not work assume we are offline or target not reachable,
- # so warn the user and use saved, but note that installation will
+ # so warn the user and use saved, but note that installation will
# not work
my $local_copy_tlpdb_used = 0;
if ($location =~ m;^(http|ftp)://;) {
# first check that the saved tlpdb is present at all
my $loc_digest = Digest::MD5::md5_hex($location);
- my $loc_copy_of_remote_tlpdb =
+ my $loc_copy_of_remote_tlpdb =
"$Master/$InfraLocation/texlive.tlpdb.$loc_digest";
ddebug("loc_digest = $loc_digest\n");
ddebug("loc_copy = $loc_copy_of_remote_tlpdb\n");
@@ -3159,14 +3159,14 @@ sub init_tlmedia {
# finish handles the -pause option (wait for input from stdin),
# and then exits unless the global $::gui_mode is set, in which case we
# merely return.
-#
+#
sub finish {
my ($ret) = @_;
if ($ret > 0) {
print "tlmgr: exiting unsuccessfully (status $ret).\n";
}
-
+
if ($opts{"pause"}) {
print "Press Enter to exit the program.\n";
<STDIN>;
@@ -3199,7 +3199,7 @@ sub clear_old_backups
$dryrun = 1 if ($dry);
# keep arbitrary many backups
return if ($autobackup == -1);
-
+
opendir (DIR, $backupdir) || die "opendir($backupdir) failed: $!";
my @dirents = readdir (DIR);
closedir (DIR) || warn "closedir($backupdir) failed: $!";
@@ -3231,7 +3231,7 @@ sub check_for_critical_updates
for my $pkg (sort @critical) {
my $tlp = $localtlpdb->get_package($pkg);
if (!defined($tlp)) {
- # that should not happen, we expanded in the localtlpdb so why
+ # that should not happen, we expanded in the localtlpdb so why
# should it not be present, any anyway, those are so fundamental
# so they have to be there
tlwarn("Fundamental package $pkg not present, that is sooo bad.\n");
@@ -3398,7 +3398,7 @@ written to the terminal.
=item B<--force>
-If updates to the tlmgr itself (and the underlying infrastructure) are
+If updates to the tlmgr itself (and the underlying infrastructure) are
present tlmgr will bail out and not perform the installation unless this option
is given.
@@ -3461,7 +3461,7 @@ be made to the specified I<directory>.
You can set options via the C<option> action to automatically create
backups for all packages, and/or keep only a certain number of
-backups. Please see the C<option> action for details.
+backups. Please see the C<option> action for details.
C<tlmgr> always makes a temporary backup when updating packages, in case
of download or other failure during an update. The purpose of this
@@ -3528,8 +3528,8 @@ Instead of making backups, prune the backup directory of old backups.
=item B<--dry-run>
-Nothing is actually backed up or removed; instead, the actions to be
-performed are written to the terminal.
+Nothing is actually backed up or removed; instead, the actions to be
+performed are written to the terminal.
=back
@@ -3607,7 +3607,7 @@ written to the terminal.
=back
The first form shows the global TeX Live settings currently saved in the
-TLPDB with a short description and the C<key> used for changing it in
+TLPDB with a short description and the C<key> used for changing it in
paranthesis.
The second form acts like the first, but also shows options which can
@@ -3648,7 +3648,7 @@ number of backups to keep. Thus, backups are disabled if the value is
0. In the C<--clean> mode of the C<backup> action this option also
specifies the number to be kept.
-To setup C<autobackup> to C<-1> on the command line, use
+To setup C<autobackup> to C<-1> on the command line, use
tlmgr option autobackup infty
@@ -3670,7 +3670,7 @@ On W32 based systems it adds or removes the binary dir to the system or
user registry path entry, depending on being admin and the setting
$tlpdb->option("w32_multi_user").
-=head2 postaction [-w32mode=user|admin] [-fileassocmode=1|2] [-all]
+=head2 postaction [-w32mode=user|admin] [-fileassocmode=1|2] [-all]
[install|remove] [shortcut|fileassoc|script] [<package> <package> ...]
Carry out the postaction C<shortcut>, C<fileassoc>, or C<script> as
@@ -3795,7 +3795,7 @@ are actually present, and lists those missing.
=item B<depends>
Lists those packages which occur as dependencies in an installed collections,
-but are themselves not installed, and those packages that are not
+but are themselves not installed, and those packages that are not
contained in any collection.
If you call C<tlmgr check collections> this test will be carried out
@@ -3812,7 +3812,7 @@ List those filenames that are occurring more than one time in the runfiles.
=back
-Options:
+Options:
=over 4
@@ -3934,7 +3934,7 @@ Currently this option only applies to the L<update|/"update
...
"end-of-header"
pkgname status localrev serverrev size
- ...
+ ...
Currently the header section contains two fields. The field name and
value are separated by a tab. Line endings may be LF or CRLF depending
@@ -4036,4 +4036,3 @@ GNU General Public License Version 2 or later.
### tab-width: 2
### indent-tabs-mode: nil
### End:
-# vim:set tabstop=2 expandtab: #