1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
--- /src/TeX/texlive-svn/Master/texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl 2008-08-22 15:00:15.000000000 +0200
+++ tlmgrgui-real.pl 2008-08-22 15:28:26.000000000 +0200
@@ -511,6 +511,9 @@
} else {
@upgradepkgs = @_;
}
+ # note that the list still contains package names with revision
+ # specifications
+ @upgradepkgs = map { m/(^[^ ]+) /; $1; } @upgradepkgs;
foreach my $p (@upgradepkgs) {
if ($p =~ m/$WinSpecialUpdatePackagesRegexp/) {
$updater_needed = 1;
@@ -521,9 +524,16 @@
my @execlist;
push @execlist, "tlmgr", "--location", "$location";
if ($debugmode) {
- push @execlist, "-v";
+ push @execlist, "-v", "update";
+ }
+ # remove the revision information
+ if ($_[0] eq "--all") {
+ push @execlist, "--all";
+ } else {
+ # we got some actual package names, remove the revision info
+ my @foo = map { m/(^[^ ]+) /; $1; } @_;
+ push @execlist, @foo;
}
- push @execlist, "update", @_;
run_program_show_output(@execlist);
if (win32() && $updater_needed) {
my $t = ___"runupdater";
@@ -572,6 +582,8 @@
sub create_update_list {
my @ret = ();
my @archret = ();
+ my %localrev;
+ my %remoterev;
if (defined($tlmediatlpdb)) {
foreach my $lp ($localtlpdb->list_packages) {
next if ($lp =~ m/00texlive-installation.config/);
@@ -589,6 +601,8 @@
} else {
push @ret, $lp;
}
+ $localrev{$lp} = $lrev;
+ $remoterev{$lp} = $urev;
}
}
foreach my $p (@archret) {
@@ -598,6 +612,11 @@
}
push @ret, $p unless $foundparent;
}
+ my @realret = ();
+ for my $p (@ret) {
+ push @realret, "$p ($localrev{$p} -> $remoterev{$p})";
+ }
+ @ret = @realret;
# issue a warning if no updates are available, the tlmediatlpdb is loaded
# and is not from the net
if ($#ret < 0) {
|