# $Id$ # TeXLive::TLConfig.pm - module exporting configuration stuff # Copyright 2007, 2008, 2009 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. package TeXLive::TLConfig; BEGIN { use Exporter (); use vars qw( @ISA @EXPORT_OK @EXPORT ); @ISA = qw(Exporter); @EXPORT_OK = qw( $ReleaseYear @MetaCategories @NormalCategories @Categories $MetaCategoriesRegexp $CategoriesRegexp $DefaultCategory $DefaultContainerExtension $InfraLocation $DatabaseName $BlockSize $Archive $TeXLiveServerURL $TeXLiveServerPath $TeXLiveURL $WinSpecialUpdatePackagesRegexp @CriticalPackagesList @AllowedConfigOptions $WindowsMainMenuName $RelocPrefix $RelocTree ); @EXPORT = @EXPORT_OK; } # the year of our release, will be used in the location of the # network packges, and in menu names, and probably many other places $ReleaseYear = 2009; # Meta Categories do not ship files, but call only for other packages our @MetaCategories = qw/Collection Scheme/; our $MetaCategoriesRegexp = '(Collection|Scheme)'; # Normal Categories contain actial files and do not depend on other things. our @NormalCategories = qw/Package TLCore Documentation/; # list of all Categories our @Categories = (@MetaCategories, @NormalCategories); our $CategoriesRegexp = '(Collection|Scheme|Package|TLCore|Documentation)'; our $DefaultCategory = "Package"; # location of various infra files (texlive.tlpdb, .tlpobj etc) # relative to a root (e.g., the Master/, or the installation path) our $InfraLocation = "tlpkg"; our $DatabaseName = "texlive.tlpdb"; our $BlockSize = 4096; # the way we package things on the web our $DefaultContainerExtension = "tar.xz"; our $Archive = "archive"; our $TeXLiveServerURL = "http://mirror.ctan.org"; # from 2009 on we try to put them all into tlnet directly without any # release year since we hope that we can switch over to 2010 on the fly # our $TeXLiveServerPath = "systems/texlive/tlnet/$ReleaseYear"; our $TeXLiveServerPath = "systems/texlive/tlnet"; our $TeXLiveURL = "$TeXLiveServerURL/$TeXLiveServerPath"; our $RelocTree = "texmf-dist"; our $RelocPrefix = "RELOC"; our $WinSpecialUpdatePackagesRegexp = '^(texlive\.infra|tlperl\.win32$)'; our @CriticalPackagesList = qw/texlive.infra/; push(@CriticalPackagesList, "tlperl.win32") if ($^O=~/^MSWin(32|64)$/i); our @AllowedConfigOptions = qw/ available_architectures opt_create_symlinks opt_create_formats opt_paper opt_sys_bin opt_sys_info opt_sys_man opt_install_docfiles opt_install_srcfiles platform location backupdir autobackup /; our $WindowsMainMenuName = "TeX Live $ReleaseYear"; 1; =head1 NAME C -- TeX Live Configurations =head1 SYNOPSIS use TeXLive::TLConfig; =head1 DESCRIPTION The L module contains definitions of variables configuring all of TeX Live. =over 4 =head1 EXPORTED VARIABLES All of the following variables are pulled into the callers namespace, i.e., are declared with C (and C). =item C<@TeXLive::TLConfig::MetaCategories> The list of meta categories, i.e., those categories whose packages only depend on other packages, but don't ship any files. Currently C and . =item C<@TeXLive::TLConfig::NormalCategories> The list of normal categories, i.e., those categories whose packages do ship files. Currently C, C, C. =item C<@TeXLive::TLConfig::Categories> The list of all categories, i.e., the union of the above. =item C<$TeXLive::TLConfig::CategoriesRegexp> A regexp matching any category. =item C<$TeXLive::TLConfig::DefaultCategory> The default category used when creating new packages. =item C<$TeXLive::TLConfig::InfraLocation> The subdirectory with various infrastructure files (C, tlpobj files, ...) relative to the root of the installation; currently C. =item C<$TeXLive::TLConfig::BlockSize> The assumed block size, currently 4k. =item C<$TeXLive::TLConfig::Archive> =item C<$TeXLive::TLConfig::TeXLiveURL> These values specify where to find packages. =item C<$TeXLive::TLConfig::TeXLiveServerURL> =item C<$TeXLive::TLConfig::TeXLiveServerPath> C is concatencated from these values, with a string between. The defaults are respectively, C and CI, where I specifies the TeX Live release version, such as C or C<2008>. =item C<$TeXLive::TLConfig::WinSpecialUpdatePackagesRegexp> A regexp matching all those packages which cannot be normally updated because they contain files which are open during the update process. =item C<@TeXLive::TLConfig::CriticalPackagesList> A list of all those packages which we do not update regularly since they are too central, currently only texlive.infra. =item C<@TeXLive::TLConfig::AllowedConfigOptions> A list of a config options that can be set in 00texlive.installation. =item C<$TeXLive::TLConfig::RelocTree> the texmf-tree name that can be relocated, defaults to "texmf-dist" =item C<$TeXLive::TLConfig::RelocPrefix> The string that replaces the RelocTree in the tlpdb if a package is reloaced, defaults to "RELOC". =back =head1 SEE ALSO The modules L, L, L, L, L. =head1 AUTHORS AND COPYRIGHT This script and its documentation were written for the TeX Live distribution (L) and both are licensed under the GNU General Public License Version 2 or later. =cut ### Local Variables: ### perl-indent-level: 2 ### tab-width: 2 ### indent-tabs-mode: nil ### End: # vim:set tabstop=2 expandtab: #