diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-19 21:36:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-19 21:36:08 +0000 |
commit | adbe3eb411d50490f1c17e55c82e29d63a1ecfe5 (patch) | |
tree | 0d7e9190324abe9ee2d3ef2c456c10065651c8bc | |
parent | ed28050639de6674b72251ecd15b4cce0133cb83 (diff) |
doc,sync,consistency
git-svn-id: svn://tug.org/texlive/trunk@40622 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/texk/tests/TeXLive/TLConfig.pm | 4 | ||||
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl | 22 | ||||
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl | 94 | ||||
-rw-r--r-- | Build/source/texk/texlive/tl_scripts/fmtutil.cnf | 7 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 6 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-images | 71 | ||||
-rw-r--r-- | Master/tlpkg/doc/packages.txt | 1 | ||||
-rw-r--r-- | Master/tlpkg/doc/releng.txt | 5 |
8 files changed, 141 insertions, 69 deletions
diff --git a/Build/source/texk/tests/TeXLive/TLConfig.pm b/Build/source/texk/tests/TeXLive/TLConfig.pm index 972f708f893..1435bbbf003 100644 --- a/Build/source/texk/tests/TeXLive/TLConfig.pm +++ b/Build/source/texk/tests/TeXLive/TLConfig.pm @@ -5,7 +5,7 @@ package TeXLive::TLConfig; -my $svnrev = '$Revision: 40475 $'; +my $svnrev = '$Revision: 40600 $'; my $_modulerevision; if ($svnrev =~ m/: ([0-9]+) /) { $_modulerevision = $1; @@ -107,7 +107,7 @@ our $RelocPrefix = "RELOC"; our @CriticalPackagesList = qw/texlive.infra/; our $CriticalPackagesRegexp = '^(texlive\.infra)'; -if ($^O =~ /^MSWin(32|64)$/i) { +if ($^O =~ /^MSWin/i) { push (@CriticalPackagesList, "tlperl.win32"); $CriticalPackagesRegexp = '^(texlive\.infra|tlperl\.win32$)'; } diff --git a/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl b/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl index 05b9022488b..33d72693f4b 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# $Id: fmtutil.pl 40475 2016-04-12 20:56:58Z karl $ +# $Id: fmtutil.pl 40581 2016-04-17 21:37:08Z siepo $ # fmtutil - utility to maintain format files. # (Maintained in TeX Live:Master/texmf-dist/scripts/texlive.) # @@ -24,11 +24,11 @@ BEGIN { TeX::Update->import(); } -my $svnid = '$Id: fmtutil.pl 40475 2016-04-12 20:56:58Z karl $'; -my $lastchdate = '$Date: 2016-04-12 22:56:58 +0200 (Tue, 12 Apr 2016) $'; +my $svnid = '$Id: fmtutil.pl 40581 2016-04-17 21:37:08Z siepo $'; +my $lastchdate = '$Date: 2016-04-17 23:37:08 +0200 (Sun, 17 Apr 2016) $'; $lastchdate =~ s/^\$Date:\s*//; $lastchdate =~ s/ \(.*$//; -my $svnrev = '$Revision: 40475 $'; +my $svnrev = '$Revision: 40581 $'; $svnrev =~ s/^\$Revision:\s*//; $svnrev =~ s/\s*\$$//; my $version = "r$svnrev ($lastchdate)"; @@ -37,6 +37,7 @@ use strict; use Getopt::Long qw(:config no_autoabbrev ignore_case_always); use File::Basename; use File::Copy; +use File::Spec; use Cwd; # don't import anything automatically, this requires us to explicitly @@ -44,6 +45,8 @@ use Cwd; # find and if necessary remove references to TLUtils use TeXLive::TLUtils qw(); +require TeXLive::TLWinGoo if TeXLive::TLUtils::win32; + # numerical constants my $FMT_NOTSELECTED = 0; my $FMT_DISABLED = 1; @@ -321,8 +324,11 @@ sub callback_build_formats { my $tmpdir; if (win32()) { my $foo; + my $tmp_deflt = File::Spec->tmpdir; for my $i (1..5) { - $foo = "$texmfvar/temp.$$." . int(rand(1000000)); + # $foo = "$texmfvar/temp.$$." . int(rand(1000000)); + $foo = (($texmfvar =~ m!^//!) ? $tmp_deflt : $texmfvar) + . "/temp.$$." . int(rand(1000000)); if (! -d $foo) { if (mkdir($foo)) { $tmpdir = $foo; @@ -333,6 +339,10 @@ sub callback_build_formats { if (! $tmpdir) { die "Cannot get a temporary directory after five iterations ... sorry!"; } + if ($texmfvar =~ m!^//!) { + # used File::Spec->tmpdir; fix permissions + TeXLive::TLWinGoo::maybe_make_ro ($tmpdir); + } } else { $tmpdir = File::Temp::tempdir(CLEANUP => 1); } @@ -349,7 +359,7 @@ sub callback_build_formats { # for safety, check again die "abs_path failed, strange: $!" if !$opts{'fmtdir'}; print_info("writing formats under $opts{fmtdir}\n"); # report - + # code taken over from the original shell script for KPSE_DOT etc my $thisdir = cwd(); $ENV{'KPSE_DOT'} = $thisdir; diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index 4acb2998709..66ed99bd78b 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl @@ -1,13 +1,13 @@ #!/usr/bin/env perl -# $Id: tlmgr.pl 40467 2016-04-12 06:14:51Z preining $ +# $Id: tlmgr.pl 40615 2016-04-19 07:41:55Z preining $ # # Copyright 2008-2016 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. # -my $svnrev = '$Revision: 40467 $'; -my $datrev = '$Date: 2016-04-12 08:14:51 +0200 (Tue, 12 Apr 2016) $'; +my $svnrev = '$Revision: 40615 $'; +my $datrev = '$Date: 2016-04-19 09:41:55 +0200 (Tue, 19 Apr 2016) $'; my $tlmgrrevision; my $prg; if ($svnrev =~ m/: ([0-9]+) /) { @@ -622,21 +622,6 @@ for the full story.\n"; } } - # - # setup gpg if available - # first line: --(no-)verify-downloads was passed in (opts defined) - # second line: not passed in but in config - if ((defined($opts{"verify-downloads"}) && $opts{"verify-downloads"}) - || - (!defined($opts{"verify-downloads"}) && $config{"verify-downloads"})) { - if (TeXLive::TLUtils::setup_gpg($Master)) { - log("Trying to verify cryptographic signatures!\n") - } else { - tlwarn("Setting up gpg did not succeed!\n"); - } - } - - my $ret = execute_action($action, @ARGV); # F_ERROR stops processing immediately, and prevents postactions from @@ -4323,7 +4308,7 @@ sub action_platform { my @extra_w32_packs = qw/tlperl.win32 tlgs.win32 tlpsv.win32 collection-wintools dviout.win32 wintools.win32/; - if ($^O=~/^MSWin(32|64)$/i) { + if ($^O =~ /^MSWin/i) { warn("action `platform' not supported on Windows\n"); return ($F_WARNING); } @@ -4637,7 +4622,7 @@ sub action_gui { $tkmissing = 1; } if ($tkmissing) { - if ($^O=~/^MSWin(32|64)$/i) { + if ($^O =~ /^MSWin/i) { # that should not happen, we are shipping Tk!! require Win32; my $msg = "Cannot load Tk, that should not happen as we ship it!\nHow did you start tlmgrgui??\n(Error message: $@)\n"; @@ -5709,6 +5694,53 @@ sub init_local_db { } } +sub handle_gpg_config_settings { + # setup gpg if available + # by default we setup gpg + # default value + my $do_setup_gpg = 1; + # the value is set in the config file + if (defined($config{'verify-downloads'})) { + $do_setup_gpg = $config{'verify-downloads'}; + } + # command line + if (defined($opts{'verify-downloads'})) { + $do_setup_gpg = $opts{'verify-downloads'}; + } + # now we know whether we setup gpg or not + if ($do_setup_gpg) { + if (TeXLive::TLUtils::setup_gpg($Master)) { + log("will verify cryptographic signatures\n") + } else { + my $prefix = "$prg: No gpg found"; # just to shorten the strings + if ($opts{'verify-downloads'}) { + # verification was requested on the command line, but did not succeed, die + tldie("$prefix, verification explicitly requested on command line, quitting.\n"); + } + if ($config{'verify-downloads'}) { + # verification explicitely requested in config file, but not gpg, die + tldie("$prefix, verification explicitly requested in config file, quitting.\n"); + } + # it was requested via the default setting, so just warn + info ("$prefix, verification implicitly requested, " + . "continuing without verification\n"); + } + } else { + # we do not setup gpg: when explicitly requested, be silent, otherwise info + my $prefix = "$prg: not setting up gpg"; + if (defined($opts{'verify-downloads'})) { + # log normally is *NOT* logged to a file + # tlmgr does by default *NOT* set up a log file (cmd line option) + # user requested it, so don't bother with output + log("$prefix, requested on command line\n"); + } elsif (defined($config{'verify-downloads'})) { + log("$prefix, requested in config file\n"); + } else { + tldie("$prg: how could this happen? gpg setup.\n"); + } + } +} + # initialize the global $remotetlpdb object, or die. # uses the global $location. @@ -5734,6 +5766,9 @@ sub init_tlmedia { $localtlpdb->save; %repos = repository_to_array($location); } + # do the gpg stuff only when loading the remote tlpdb + handle_gpg_config_settings(); + # check if we are only one tag/repo if ($#tags == 0) { # go to normal mode @@ -6025,7 +6060,9 @@ sub load_config_file { # by default we remove packages $config{"auto-remove"} = 1; # - $config{"verify-downloads"} = 1; + # do NOT set this here, we distinguish between explicitly set in the config file + # or implicitly true + # $config{"verify-downloads"} = 1; # loads system config file, this cannot be changes with tlmgr chomp (my $TEXMFSYSCONFIG = `kpsewhich -var-value=TEXMFSYSCONFIG`); @@ -7520,7 +7557,8 @@ a different hash), it's harmless to delete them. =head1 CRYPTOGRAPHIC VERIFICATION -If a working GnuPG binary (C<gpg>) is found, by default verification of +If a working GnuPG binary (C<gpg>) is found (see below for how it is +searched), by default verification of downloaded files is performed. This can be supressed by specifying C<--no-verify-downloads> on the command line, or adding an entry C<verify-downloads = 0> to a tlmgr config file. @@ -7537,6 +7575,18 @@ the TeX Live Distribution GPG key 0x06BAB6BC, which in turn is signed by Karl Berry's key 0x9DEB46C0 and Norbert Preining's key 0x6CACA448. All of these keys are obtainable from the standard key servers. +=head2 Configuration of GnuPG invocation + +The executable used for GnuPG is searched as follows: If the environment +variable C<TL_GNUPG> is set, it is tested and used. Otherwise C<gpg> is +checked, and finally C<gpg2>. + +Further adaption of the invocation of C<gpg> can be done using the +two enviroment variables C<TL_GNUPGHOME>, which is passed to +C<gpg> with C<--homedir>, and C<TL_GNUPGARGS>, which replaces the +default arguments C<--no-secmem-warning --no-permission-warning>. + + =head1 USER MODE C<tlmgr> provides a restricted way, called ``user mode'', to manage diff --git a/Build/source/texk/texlive/tl_scripts/fmtutil.cnf b/Build/source/texk/texlive/tl_scripts/fmtutil.cnf index c8a809eaf4a..885096479d7 100644 --- a/Build/source/texk/texlive/tl_scripts/fmtutil.cnf +++ b/Build/source/texk/texlive/tl_scripts/fmtutil.cnf @@ -1,4 +1,4 @@ -# Generated by /home/texlive/karl/Master/bin/i386-linux/tlmgr on Thu Apr 7 00:50:35 2016 +# Generated by /home/texlive/karl/Master/bin/i386-linux/tlmgr on Tue Apr 19 03:16:09 2016 # Originally written by Thomas Esser, 1998. Public domain. # # As of TeX Live 2015, fmtutil reads *all* fmtutil.cnf files found. @@ -77,8 +77,8 @@ lualatex luatex language.dat,language.dat.lua lualatex.ini # # from lollipop: lollipop pdftex - -translate-file=cp227.tcx *lollipop.ini +lualollipop luatex - lualollipop.ini xelollipop xetex - -etex xelollipop.ini -#! dvilollipop pdftex - -translate-file=cp227.tcx *lollipop.ini # # from luatex: luatex luatex language.def,language.dat.lua luatex.ini @@ -93,6 +93,9 @@ mex pdftex mexconf.tex -translate-file=cp227.tcx *mex.ini pdfmex pdftex mexconf.tex -translate-file=cp227.tcx *pdfmex.ini utf8mex pdftex mexconf.tex -enc *utf8mex.ini # +# from mflua: +#! mflua mflua-nowin - mf.ini +# # from mltex: mllatex pdftex language.dat -translate-file=cp227.tcx -mltex *mllatex.ini mltex pdftex - -translate-file=cp227.tcx -mltex mltex.ini diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 2db7533b0c1..c4308c4007f 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -3156,11 +3156,12 @@ sub dddebug { } } - =item C<log ($str1, $str2, ...)> Write a message to the log file (and nowhere else), the concatenation of -the argument strings. +the argument strings. The log file may not ever be defined (e.g., the +C<-logfile> option isn't given), in which case the message will never be +written anywhere. =cut @@ -3171,7 +3172,6 @@ sub log { $::opt_quiet = $savequiet; } - =item C<tlwarn ($str1, $str2, ...)> Write a warning message, the concatenation of the argument strings. diff --git a/Master/tlpkg/bin/tl-update-images b/Master/tlpkg/bin/tl-update-images index 56331ec8a82..e29d7bf6189 100755 --- a/Master/tlpkg/bin/tl-update-images +++ b/Master/tlpkg/bin/tl-update-images @@ -71,9 +71,10 @@ common_mkisofs_options="$quiet -pad -J -dir-mode 0755 -r -x .svn" # MAKEINST () { + origdir=`pwd` prefix=$target/$NAME$V # directory and prefix for our files within iso=$prefix-$D.iso - echo "-- `date` Writing image to $iso" + echo; echo "-- `date` writing image to $iso" # remove old images and checksums. rm -f $prefix-*.iso* $prefix-*.md5 $prefix-*.sha256 $prefix-*.sha512 @@ -95,8 +96,8 @@ MAKEINST () index.html */*.html */*.pdf */*.png \ | (cd $imgdir/texlive-doc && tar xf -)) - # files from tlnet. - cd /home/ftp/texlive/tlpretest + # files from network dist. + cd /home/ftp/texlive/tlpretest || exit 1 if $debug; then echo "source = `pwd`" fi @@ -106,8 +107,8 @@ MAKEINST () # do this here so that they can be kept in the tree, # and thus installed normally over the net. # keep in sync with info on http://tug.org/texlive/doc.html. - prune="alpha-linux armel-linux armhf-linux mipsel-linux powerpc-linux" - echo "-- pruning platforms $prune..." + prune="armel-linux armhf-linux powerpc-linux" + echo "-- pruning platforms: $prune..." mkdir $imgdir/tlpkg/bin cp $mydir/tl-prune-platforms $imgdir/tlpkg/bin $imgdir/tlpkg/bin/tl-prune-platforms $prune >/tmp/imgprune @@ -126,31 +127,30 @@ MAKEINST () fi chmod a+rw $iso + cd $target || exit 1 rm -rf $imgdir # make checksums - # and symlinks with short names (potentially used in /etc/fstab). - for ext in ""; do # used to do .xz here too - rm -f $prefix.iso$ext $prefix.iso$ext.md5 $prefix.iso$ext.sha256 $prefix.iso$ext.sha512 - - (cd $target && md5sum `basename $iso$ext`) >$iso$ext.md5 - (cd $target && sha512sum `basename $iso$ext`) >$iso$ext.sha512 - (cd $target && rm -f $iso$ext.sha512.asc) - (cd $target && $master/tlpkg/bin/tl-sign-file $iso$ext.sha512) + rm -f $prefix.iso.md5; md5sum `basename $iso` >$iso.md5 + rm -f $prefix.iso.sha512; sha512sum `basename $iso` >$iso.sha512 - ln -s `basename $iso$ext` $prefix.iso$ext - - # for md5 and sha512, have to adjust the filename embedded in the file. - sed s,-$D,, $iso$ext.md5 >$prefix.iso$ext.md5 - sed s,-$D,, $iso$ext.sha512 >$prefix.iso$ext.sha512 - #ln -s `basename $iso`$ext.md5 $prefix.iso$ext.md5 - #ln -s `basename $iso`$ext.sha256 $prefix.iso$ext.sha256 + # for md5 and sha512, have to adjust the embedded filename for generic files. + rm -f $prefix.iso.md5; sed "s,-$D,," $iso.md5 >$prefix.iso.md5 + rm -f $prefix.iso.sha512; sed "s,-$D,," $iso.sha512 >$prefix.iso.sha512 - rm -f $prefix.iso$ext.sha512.asc - $master/tlpkg/bin/tl-sign-file $prefix.iso$ext.sha512 - - ls -l $iso$ext - done + # signed versioned and generic files. + rm -f $iso.sha512.asc + $master/tlpkg/bin/tl-sign-file $iso.sha512 + # + rm -f $prefix.iso.sha512.asc + $master/tlpkg/bin/tl-sign-file $prefix.iso.sha512 + + # symlink with short name (potentially used in /etc/fstab). + ln -s `basename $iso` $prefix.iso + + cd $origdir || exit 1 + echo "-- `date` iso files:" + ls -l $iso $iso.sha512 $iso.sha512.asc } @@ -175,7 +175,7 @@ do_tar () compress=--xz # excludes=--exclude-vcs - for e in bibtex epstopdf jfontmaps; do # "upstream" sources + for e in bibtex epstopdf jfontmaps; do # exclude "upstream" sources excludes="$excludes --exclude=extra/$e" done # @@ -188,17 +188,24 @@ do_tar () if test $? -ne 0; then echo "$0: tar failed, goodbye." >&2 fi - (cd $target && sha512sum `basename $tarfile`) >$tarfile.sha512 - (cd $target && rm -f $tarfile.sha512.asc) - (cd $target && $master/tlpkg/bin/tl-sign-file $tarfile.sha512) + + origdir=`pwd` + cd $target || exit 1 + # + rm -f $tarfile.sha512 + sha512sum `basename $tarfile` >$tarfile.sha512 + # + rm -f $tarfile.sha512.asc + $master/tlpkg/bin/tl-sign-file $tarfile.sha512 + # + cd $origdir || exit 1 - ls -l $tarfile + ls -l $tarfile $tarfile.sha512 $tarfile.sha512.asc } MAKETAR () { - echo - echo "-- `date` Writing tars to $target" + echo; echo "-- `date` writing tars to $target" # remove old tarballs and checksums. rm -f $target/$NAME-*.tar.* diff --git a/Master/tlpkg/doc/packages.txt b/Master/tlpkg/doc/packages.txt index 36e3bf1beb1..42a8722ecae 100644 --- a/Master/tlpkg/doc/packages.txt +++ b/Master/tlpkg/doc/packages.txt @@ -23,6 +23,7 @@ To remove a platform: - remove directory in Master/bin. - remove xz, xzdec, maybe wget binaries in Master/tlpkg/installer. - remove any special cases in Master/tlpkg/tlpsrc. +- remove from prune list in tl-update-images, if present. - remove entry in source/README, if there is one. - rebuild. diff --git a/Master/tlpkg/doc/releng.txt b/Master/tlpkg/doc/releng.txt index c066e1ed3af..13605ffd75d 100644 --- a/Master/tlpkg/doc/releng.txt +++ b/Master/tlpkg/doc/releng.txt @@ -30,7 +30,8 @@ cd /home/ftp/texlive/tlnet cp -ar ../tlnet /home/ftp/historic/systems/texlive/YYYY/tlnet-final 1b. Set up tlpretest: -tar cf - [a-u]* | (cd ../tlpretest && tar xf -) # do not copy README +#old: tar cf - [a-u]* | (cd ../tlpretest && tar xf -) # do not copy README +Better to empty tlpretest, touch texlive.tlpdb; then --recreate should suffice. Update /home/ftp/texlive/tlpretest/README. Update pretest.html, notably including major changes this year. diff new and old bindirs to see if there are interesting new programs: @@ -112,7 +113,7 @@ A.0. Specifics for tlperl update: M. As work proceeds, update the doc: Update texlive-en.tex (+ .pdf, .html), tell tldoc to translate. Consider updates of core man pages in Build/source/texk/web2c/man. - Remake updmap,fmtutil man pages with help2man (and reread and update Master): + Remake updmap,fmtutil man pages with help2man (and reread and update Build): make -C Build/source/Work/texk/texlive/tl_scripts xupdmap.1 Texinfo manuals from Build to Master: tl-update-txi # then commit in texmf-dist/doc |