summaryrefslogtreecommitdiff
path: root/Master/tlpkg/dev
diff options
context:
space:
mode:
authorPiotr Strzelczyk <piotr@eps.gda.pl>2011-05-11 08:13:55 +0000
committerPiotr Strzelczyk <piotr@eps.gda.pl>2011-05-11 08:13:55 +0000
commitfe36a4e41443a7a51139235fdba8858145e0aef2 (patch)
tree458ad06ba91e99f757131ae0d5ca1d3fcf6a5c8b /Master/tlpkg/dev
parent59e21ae31739cf4bf7a5aa3f39426513eab200a9 (diff)
repository cloning not likely to be officially supported, move to archive
git-svn-id: svn://tug.org/texlive/trunk@22420 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/dev')
-rw-r--r--Master/tlpkg/dev/download-package-repository201
-rwxr-xr-xMaster/tlpkg/dev/download-package-repository.bat14
2 files changed, 0 insertions, 215 deletions
diff --git a/Master/tlpkg/dev/download-package-repository b/Master/tlpkg/dev/download-package-repository
deleted file mode 100644
index f2a9b057f35..00000000000
--- a/Master/tlpkg/dev/download-package-repository
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/usr/bin/env perl
-
-#
-# Originally written by T.M.Trzeciak in 2010
-#
-# Purpose: create/update a local package repository
-# How to use: place it tlpkg/installer and run
-#
-
-our $Master;
-our $location;
-
-BEGIN {
- $^W = 1;
- $Master = __FILE__;
- $Master =~ s;\\;/;g if ($^O =~ /^MSWin/i);
- $Master =~ s;[^/]*$;../..; unless ($Master =~ s;(/[^/]*){3,3}$;;);
- unshift (@INC, "$Master/tlpkg");
- $::installerdir = $Master;
- $::localrepo = $Master;
- # $::localrepo = '.';
- # $Master = $ENV{"TLINSTALLERDIR"};
- # print "$Master\n";
-}
-
-use TeXLive::TLPDB;
-use TeXLive::TLPOBJ;
-use TeXLive::TLConfig;
-use TeXLive::TLUtils;
-use TeXLive::TLDownload;
-use Getopt::Long;
-use Pod::Usage;
-use File::Path;
-use Cwd;
-
-TeXLive::TLUtils::process_logging_options();
-
-my $opt_location;
-my $opt_destination;
-my $opt_persistent_downloads = 1;
-my $opt_help = 0;
-
-GetOptions(
- "location|url|repository|repo=s" => \$opt_location,
- # "destination=s" => \$opt_destination,
- "persistent-downloads!" => \$opt_persistent_downloads,
- "h|help|?" => \$opt_help) or pod2usage(1);
-if ($opt_help) {
- my @noperldoc = ("-noperldoc", "1") if ($^O =~ /^MSWin/i);
- pod2usage(-exitstatus => 0, -verbose => 2, @noperldoc);
-}
-
-exit(&main());
-
-sub main {
- if ( !setup_programs( "$::installerdir/$InfraLocation/installer",
- TeXLive::TLUtils::platform() ) ) {
- die "$0: failed to set up necessary programs.\n";
- }
- if ($opt_persistent_downloads) {
- TeXLive::TLUtils::setup_persistent_downloads() ;
- }
- $location = defined($opt_location) ? $opt_location :
- TeXLive::TLUtils::give_ctan_mirror();
- if (!defined($location)) {
- die("$0: failed to obtain repository location.\n");
- }
- $::localrepo = $opt_destination if defined($opt_destination);
- if ( $location eq $::localrepo ) {
- die "destination and remote repository cannot be the same: $location";
- }
-
- info("Cloning package repository from $location\n");
- $::archivedir = "__ARCHIVE__";
- if (-d "$::localrepo/$Archive") {
- rename("$::localrepo/$Archive", "$::localrepo/$::archivedir") ||
- die "unable to rename $::localrepo/$Archive to $::archivedir: $!";
- }
- if (!-d "$::localrepo/$::archivedir") {
- mkdir("$::localrepo/$::archivedir") ||
- die "$0: could not create directory $::localrepo/$::archivedir: $!";
- }
- if (!-d "$::localrepo/$InfraLocation" ) {
- mkdir("$::localrepo/$InfraLocation") ||
- die "$0: cannot create directory $::localrepo/$InfraLocation: $!";
- }
- my $tlpdbfile = "$InfraLocation/$DatabaseName";
- my $tlpdbpacked = "$tlpdbfile.$DefaultContainerFormat";
- my $md5there;
- download_file("$location/$tlpdbfile.md5", "$::localrepo/$tlpdbfile.md5");
- open MD5FILE, "$::localrepo/$tlpdbfile.md5" or
- die "cannot open $::localrepo/$tlpdbfile.md5: $!";
- if (read (MD5FILE, $md5there, 32) != 32) {
- die "cannot download remote TeX Live database from $location.\n";
- }
- close MD5FILE;
- my $md5here = (!-r "$::localrepo/$tlpdbfile") ? "" :
- TeXLive::TLUtils::tlmd5("$::localrepo/$tlpdbfile");
- # debug("md5 hash mismatch\n") if ($md5there ne $md5here);
- if ($md5there ne $md5here) {
- download_file("$location/$tlpdbpacked", "$::localrepo/$tlpdbpacked");
- if ( system("$::progs{'xzdec'} <\"$::localrepo/$tlpdbpacked\" >\"$::localrepo/$tlpdbfile\"") ) {
- die "cannot decompress $::localrepo/$tlpdbpacked\n";
- }
- }
-
- my $tlpdb = TeXLive::TLPDB->new ("root" => $::localrepo);
- if ( !defined($tlpdb) ) {
- die "unusable repository database at $location\n";
- }
-
- my $error_count = 0;
- for my $pkgname ($tlpdb->list_packages) {
- next if $pkgname =~ /^00texlive/;
- my $tlp = $tlpdb->get_package($pkgname);
- $error_count += get_container("$pkgname", $tlp->containermd5() );
- $error_count += get_container("$pkgname.doc", $tlp->doccontainermd5() )
- if ($tlp->docfiles());
- $error_count += get_container("$pkgname.source", $tlp->srccontainermd5() )
- if ($tlp->srcfiles());
- }
- if ($error_count == 0) {
- rename("$::localrepo/$::archivedir", "$::localrepo/$Archive") ||
- die "unable to rename $::localrepo/$::archivedir to $Archive: $!";
- print("Pacakge repository cloning finished successfully.\n");
- return 0;
- } else {
- print("Pacakge repository cloning finished with errors.\n");
- print("Rerunning again might fix the problems.\n");
- return 1;
- }
-
- sub get_container {
- my ($pkgname, $md5there) = @_;
- my $pkgcontainerfile = "$pkgname.$DefaultContainerExtension";
- my $localfile = "$::localrepo/$::archivedir/$pkgcontainerfile";
- my $remotefile = "$location/$Archive/$pkgcontainerfile";
- if (!-r "$localfile" ||
- TeXLive::TLUtils::tlmd5("$localfile") ne $md5there ) {
- print("downloading $pkgname\n");
- download_file("$remotefile", "$localfile");
- # check downloaded file
- my $md5here = TeXLive::TLUtils::tlmd5("$localfile");
- if ($md5here ne $md5there) {
- warn("md5 sum mismatch for package $pkgname:
- database: $md5there
- dowloaded: $md5here\n");
- return 1;
- }
- return 0;
- }
- # info("package container up to date: $pkgcontainerfile\n");
- print("skipping $pkgname\n");
- return 0;
- }
-
-}
-
-__END__
-=head1 NAME
-
-download-package-repository - creates a local package repository
-
-=head1 SYNOPSIS
-
-download-package-repository [OPTION]...
-
-=head1 OPTIONS
-
-=item B<-repository> I<url|path>
-=item B<-persistent-downloads>
-=item B<-no-persistent-downloads>
-
-See the tlmgr documentation (L<http://tug.org/texlive/tlmgr.html>) for
-information.
-
-The standard options B<-help> and B<-q>, B<-v>, and
-B<-logfile>=I<file> are accepted too; see the C<process_logging_options>
-function in L<TeXLive::TLUtils> for details.
-
-=head1 DESCRIPTION
-
-This script is useful particularly on unstable Internet connections to
-pre-download all packages before doing an installation.
-
-In general,it creates or updates a local package repository (within the
-TL installer directories). The resulting local repository will be
-picked up automatically by the installer as a default one. The new
-repository is not enabled untill all packages have been downloaded and
-verified.
-
-If the download is interrupted for any reason, just rerun this script
-again to complete it. It will pick upwhere it left off.
-
-=head1 AUTHORS AND COPYRIGHT
-
-This script and its documentation were written for the TeX Live
-distribution (L<http://tug.org/texlive>) and both are licensed under the
-GNU General Public License Version 2 or later.
-
-=cut
diff --git a/Master/tlpkg/dev/download-package-repository.bat b/Master/tlpkg/dev/download-package-repository.bat
deleted file mode 100755
index c7fa272e111..00000000000
--- a/Master/tlpkg/dev/download-package-repository.bat
+++ /dev/null
@@ -1,14 +0,0 @@
-@echo off
-setlocal
-if exist "%~dpn0" (
- set TLROOT=%~dp0..\..
- set TLPROG=%~dpn0
-) else (
- set TLROOT=%~f0\..
- set TLPROG=%~dp0tlpkg\installer\%~n0
-)
-for %%I in ("%TLROOT%") do set TLROOT=%%~fI
-rem set TLINSTALLERDIR=%TLROOT%\install-tl-20100317
-rem set PERL5LIB=%TLROOT%\tlpkg
-"%TLROOT%\tlpkg\tlperl\bin\perl.exe" "%TLPROG%" %*
-pause