summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive/TLConfig.pm
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-07-03 15:27:37 +0000
committerNorbert Preining <preining@logic.at>2009-07-03 15:27:37 +0000
commit9167358afb2bd622448cf97615899cba00556bc5 (patch)
tree941e6c12cbc2bcfbc51f5097b67ac9e8d9ba7faf /Master/tlpkg/TeXLive/TLConfig.pm
parente14a9d60c5f2c2734d18d1d5e4f8464633ab9a60 (diff)
the "Tokyo-Vienna-cramped-flight-commit":
- unify installer keys of the %vars hash to always use option_ prefix if it is an option - unify the layout of things in 00texlive.installation so that user settable things look like opt_$key:vallue, and internal things setting_$key:vale - add list of supported options to TLConfig, with type definitions - use a unified option call $tlpdb->option($key [, $value, $value]) instead of many different $tlpdb->option_foo_bar - adapt install-tl, uninstall-w32, tlmgr, tlpkg/bin, TeXLive::*, installer plugins, to use this new function instead - make the setting_platform:XXXXX (formerly platform:XXXXX) in 00texlive.installation only optional. It is not saved into the TLPDB if the *default* platform as returned by TeXLive::TLUtils::platform() (thus calling config.guess on unix). Only if you override the platform in the installer with -force-arch then this value is set in the TLPDB - implement TLMedia->platform that checks first the included TLPDB for option("platform"), and if that is not given determines the platform using TLUtils::platform(). - move the add_symlinks and remove_symlinks from TLPDB to TLMedia - sanatize the installer modules: perltk is now equivalent to text - tlmgr: . output of tlmgr option [show] does now show all the set options, but ignores irrelevant ones for the respective platform (sys_bin/man/info for win32, desktop_integration etc for unix) . option handling rewritten in a general way so that we only have to add new options to TLConfig::%TLPDBOptionXXXXX . setting an option is verified against the types of the options . implement tlmgr option showall that shows also options that are currently not set/saved in the TLPDB - TLUtils: honor the w32_multi_user setting also for shortcuts and menu items - tlmgrgui: . implement support for most options that are set in the TLPDB . add buttons to remove/add symlinks git-svn-id: svn://tug.org/texlive/trunk@14083 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive/TLConfig.pm')
-rw-r--r--Master/tlpkg/TeXLive/TLConfig.pm73
1 files changed, 73 insertions, 0 deletions
diff --git a/Master/tlpkg/TeXLive/TLConfig.pm b/Master/tlpkg/TeXLive/TLConfig.pm
index eca234e5c96..536cbc33a50 100644
--- a/Master/tlpkg/TeXLive/TLConfig.pm
+++ b/Master/tlpkg/TeXLive/TLConfig.pm
@@ -32,6 +32,11 @@ BEGIN {
$WindowsMainMenuName
$RelocPrefix
$RelocTree
+ %TLPDBSettingType
+ %TLPDBSettingDesc
+ %TLPDBOptionType
+ %TLPDBOptionDesc
+ %TLPDBOptionTlmgrName
);
@EXPORT = @EXPORT_OK;
}
@@ -98,8 +103,76 @@ our @AllowedConfigOptions = qw/
autobackup
/;
+#
+# definition of the option strings and their value types
+# possible types are:
+# - u: url
+# - b: boolean, saved as 0/1
+# - p: path (local path)
+# - n: naturnal number
+# it allows n:[a]..[b]
+# if a is empty start at -infty
+# if b is empty end at +infty
+# so "n:.." is equivalent to "n"
+
+# WARNING: keep these in sync!
+#
+our %TLPDBOptionTlmgrName = (
+ "location" => "location",
+ "create_formats" => "formats",
+ "desktop_integration" => "deskint",
+ "file_assocs" => "fileassocs",
+ "post_code" => "postcode",
+ "sys_bin" => "sys_bin",
+ "sys_info" => "sys_info",
+ "sys_man" => "sys_man",
+ "install_docfiles" => "docfiles",
+ "install_srcfiles" => "srcfiles",
+ "w32_multi_user" => "multiuser",
+ "autobackup" => "autobackup",
+ "backupdir" => "backupdir");
+our %TLPDBOptionType = (
+ "location" => "u",
+ "create_formats" => "b",
+ "desktop_integration" => "b",
+ "file_assocs" => "b",
+ "post_code" => "b",
+ "sys_bin" => "p",
+ "sys_info" => "p",
+ "sys_man" => "p",
+ "install_docfiles" => "b",
+ "install_srcfiles" => "b",
+ "w32_multi_user" => "b",
+ "autobackup" => "n:-1..",
+ "backupdir" => "p");
+our %TLPDBOptionDesc = (
+ "location" => "Default installation location",
+ "create_formats" => "Create formats on installation",
+ "desktop_integration" => "Create shortcuts (menu and desktop) in postinst",
+ "file_assocs" => "Change file associations in postinst",
+ "post_code" => "Run postinst code blobs",
+ "sys_bin" => "Destination for symlinks for binaries",
+ "sys_info" => "Destination for symlinks for info docs",
+ "sys_man" => "Destination for symlinks for man pages",
+ "install_docfiles" => "Install documentation files",
+ "install_srcfiles" => "Install source files",
+ "w32_multi_user" => "Install for shortcuts/menu items for all users (w32)",
+ "autobackup" => "Number of backups to keep",
+ "backupdir" => "Directory for backups");
+
+our %TLPDBSettingType = (
+ "platform" => "s",
+ "available_architectures" => "l"
+);
+our %TLPDBSettingDesc = (
+ "platform" => "Main platform for this computer",
+ "available_architectures" => "All available/installed architectures"
+);
+
+
our $WindowsMainMenuName = "TeX Live $ReleaseYear";
+
1;