345 lines
12 KiB
Plaintext
345 lines
12 KiB
Plaintext
|
---
|
|||
|
texmf-dist/scripts/texlive/fmtutil-sys.sh | 1
|
|||
|
texmf-dist/scripts/texlive/fmtutil.pl | 24 ++++++++---
|
|||
|
texmf-dist/scripts/texlive/texconfig-dialog.sh | 14 +++++-
|
|||
|
texmf-dist/scripts/texlive/texconfig-sys.sh | 1
|
|||
|
texmf-dist/scripts/texlive/texconfig.sh | 35 ----------------
|
|||
|
texmf-dist/scripts/texlive/texlinks.sh | 53 ++++++++++++++++---------
|
|||
|
texmf-dist/scripts/texlive/updmap-sys.sh | 1
|
|||
|
texmf-dist/scripts/texlive/updmap.pl | 16 ++++---
|
|||
|
8 files changed, 80 insertions(+), 65 deletions(-)
|
|||
|
|
|||
|
--- texmf-dist/scripts/texlive/fmtutil-sys.sh
|
|||
|
+++ texmf-dist/scripts/texlive/fmtutil-sys.sh 2018-05-11 10:51:14.298775065 +0000
|
|||
|
@@ -22,4 +22,5 @@ PATH="$mydir:$PATH"; export PATH
|
|||
|
# hack around a bug in zsh:
|
|||
|
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
|
|||
|
|
|||
|
+umask 022
|
|||
|
exec fmtutil --sys ${1+"$@"}
|
|||
|
--- texmf-dist/scripts/texlive/fmtutil.pl
|
|||
|
+++ texmf-dist/scripts/texlive/fmtutil.pl 2018-05-11 10:51:51.546080553 +0000
|
|||
|
@@ -10,16 +10,16 @@
|
|||
|
# History:
|
|||
|
# Original shell script (C) 2001 Thomas Esser, public domain
|
|||
|
|
|||
|
-my $TEXMFROOT;
|
|||
|
+my $TEXMFDIST;
|
|||
|
|
|||
|
BEGIN {
|
|||
|
$^W = 1;
|
|||
|
- $TEXMFROOT = `kpsewhich -var-value=TEXMFROOT`;
|
|||
|
+ $TEXMFDIST = `kpsewhich -var-value=TEXMFDIST`;
|
|||
|
if ($?) {
|
|||
|
- die "$0: kpsewhich -var-value=TEXMFROOT failed, aborting early.\n";
|
|||
|
+ die "$0: kpsewhich -var-value=TEXMFDIST failed, aborting early.\n";
|
|||
|
}
|
|||
|
- chomp($TEXMFROOT);
|
|||
|
- unshift(@INC, "$TEXMFROOT/tlpkg", "$TEXMFROOT/texmf-dist/scripts/texlive");
|
|||
|
+ chomp($TEXMFDIST);
|
|||
|
+ unshift(@INC, "$TEXMFDIST/tlpkg", "$TEXMFDIST/scripts/texlive");
|
|||
|
require "mktexlsr.pl";
|
|||
|
TeX::Update->import();
|
|||
|
}
|
|||
|
@@ -70,7 +70,7 @@ TeXLive::TLUtils::prepend_own_path();
|
|||
|
# this function checks by itself whether it is running on windows or not
|
|||
|
reset_root_home();
|
|||
|
|
|||
|
-chomp(our $TEXMFDIST = `kpsewhich --var-value=TEXMFDIST`);
|
|||
|
+chomp(our $TEXMFROOT = `kpsewhich --var-value=TEXMFROOT`);
|
|||
|
chomp(our $TEXMFVAR = `kpsewhich -var-value=TEXMFVAR`);
|
|||
|
chomp(our $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`);
|
|||
|
chomp(our $TEXMFCONFIG = `kpsewhich -var-value=TEXMFCONFIG`);
|
|||
|
@@ -361,7 +361,14 @@ sub callback_build_formats {
|
|||
|
TeXLive::TLWinGoo::maybe_make_ro ($tmpdir);
|
|||
|
}
|
|||
|
} else {
|
|||
|
+ my ($uid, $gid);
|
|||
|
$tmpdir = File::Temp::tempdir(CLEANUP => 1);
|
|||
|
+ if ($> == 0 && ($uid=getpwnam("nobody")) && ($gid=getgrnam("mktex"))) {
|
|||
|
+ my $cnt = chown $uid, $gid, $tmpdir;
|
|||
|
+ die "could not create directory $tmpdir" if $cnt <= 0;
|
|||
|
+ $cnt = chmod 0770, $tmpdir;
|
|||
|
+ die "could not create directory $tmpdir" if $cnt <= 0;
|
|||
|
+ }
|
|||
|
}
|
|||
|
# set up destination directory
|
|||
|
$opts{'fmtdir'} ||= "$texmfvar/web2c";
|
|||
|
@@ -597,6 +604,7 @@ sub rebuild_one_format {
|
|||
|
# check for existence of ini file before doing anything else
|
|||
|
if (system("kpsewhich -progname=$fmt -format=$kpsefmt $inifile >$nul 2>&1") != 0) {
|
|||
|
# we didn't find the ini file, skip
|
|||
|
+ return $FMT_NOTAVAIL if (!$opts{'no-error-if-no-engine'});
|
|||
|
print_deferred_warning("inifile $inifile for $fmt/$eng not found.\n");
|
|||
|
# The original script just skipped it but in TeX Live we expect that
|
|||
|
# all activated formats are also buildable, thus return failure.
|
|||
|
@@ -656,11 +664,15 @@ sub rebuild_one_format {
|
|||
|
",$opts{'no-error-if-no-engine'}," =~ m/,$eng,/) {
|
|||
|
return $FMT_NOTAVAIL;
|
|||
|
} else {
|
|||
|
+ return $FMT_NOTAVAIL if (!$opts{'no-error-if-no-engine'});
|
|||
|
print_deferred_error("not building $fmt due to missing engine $eng.\n");
|
|||
|
return $FMT_FAILURE;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
+ if ($ENV{batchmode} and $ENV{batchmode} eq "yes") {
|
|||
|
+ $texargs="\\batchmode \\input $texargs" if $eng eq "tex" || $eng eq "ptex";
|
|||
|
+ }
|
|||
|
my $cmdline = "$eng -ini $tcxflag $recorderswitch $jobswitch "
|
|||
|
. "$prgswitch $texargs";
|
|||
|
print_verbose("running \`$cmdline' ...\n");
|
|||
|
--- texmf-dist/scripts/texlive/texconfig-dialog.sh
|
|||
|
+++ texmf-dist/scripts/texlive/texconfig-dialog.sh 2018-05-03 08:15:39.975645684 +0000
|
|||
|
@@ -157,7 +157,14 @@ termCtl()
|
|||
|
###############################################################################
|
|||
|
menuMain()
|
|||
|
{
|
|||
|
- cat <<-'eof'
|
|||
|
+ rows="$(stty size)"
|
|||
|
+ columns=${rows##* }
|
|||
|
+ rows=${rows%% *}
|
|||
|
+ test -n "$rows" || rows=0
|
|||
|
+ test -n "$columns" || columns=0
|
|||
|
+
|
|||
|
+ if test $rows -lt 24 -a $columns -lt 80 ; then
|
|||
|
+ cat <<-'eof'
|
|||
|
The interactive texconfig utility will be started now. Make sure
|
|||
|
your screen has at least 24 rows and 80 columns. If texconfig
|
|||
|
crashes now, you can still set up your TeX system using the
|
|||
|
@@ -169,8 +176,9 @@ menuMain()
|
|||
|
|
|||
|
More likely these days, you're better off using tlmgr.
|
|||
|
See http://tug.org/texlive/tlmgr.html.
|
|||
|
-eof
|
|||
|
- termCtl readln
|
|||
|
+ eof
|
|||
|
+ termCtl readln
|
|||
|
+ fi
|
|||
|
|
|||
|
while :; do
|
|||
|
logMessage='view logfile'
|
|||
|
--- texmf-dist/scripts/texlive/texconfig-sys.sh
|
|||
|
+++ texmf-dist/scripts/texlive/texconfig-sys.sh 2018-05-03 08:15:39.975645684 +0000
|
|||
|
@@ -30,4 +30,5 @@ TEXMFVAR="$v"
|
|||
|
TEXMFCONFIG="$c"
|
|||
|
export TEXMFVAR TEXMFCONFIG
|
|||
|
|
|||
|
+umask 022
|
|||
|
exec texconfig ${1+"$@"}
|
|||
|
--- texmf-dist/scripts/texlive/texconfig.sh
|
|||
|
+++ texmf-dist/scripts/texlive/texconfig.sh 2009-09-02 12:47:26.000000000 +0000
|
|||
|
@@ -40,7 +40,7 @@ envVars="
|
|||
|
TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
|
|||
|
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
|
|||
|
"
|
|||
|
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
|
|||
|
+tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$.$RANDOM
|
|||
|
needsCleanup=false
|
|||
|
lastUpdatedFile=
|
|||
|
|
|||
|
@@ -997,21 +997,6 @@ For more information about these \`featu
|
|||
|
;;
|
|||
|
|
|||
|
formats)
|
|||
|
- cat >&2 <<EOM
|
|||
|
-texconfig formats is no longer supported, because manual edits of
|
|||
|
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
|
|||
|
-tlmgr, which regenerates that file as needed upon package changes.
|
|||
|
-Thus, to add or remove formats, the recommended method is to use tlmgr
|
|||
|
-to add or remove the appropriate package.
|
|||
|
-
|
|||
|
-If you need to make manual additions, you can edit the file
|
|||
|
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
|
|||
|
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
|
|||
|
-
|
|||
|
-Exiting.
|
|||
|
-EOM
|
|||
|
- exit 1 # but leave the real code for posterity
|
|||
|
-
|
|||
|
setupTmpDir
|
|||
|
echo "$progname: analyzing old configuration..." >&2
|
|||
|
fmtutil --catcfg > $tmpdir/pre
|
|||
|
@@ -1037,22 +1022,6 @@ EOM
|
|||
|
|
|||
|
# "hyphen FORMAT"
|
|||
|
hyphen)
|
|||
|
- cat >&2 <<EOM
|
|||
|
-texconfig hyphen is no longer supported, because manual edits of
|
|||
|
-language.dat (or language.def) will be overwritten by the new TeX Live
|
|||
|
-package manager, tlmgr, which regenerates those configuration files as
|
|||
|
-needed upon package changes. Thus, to add or remove hyphenation
|
|||
|
-patterns, the recommended method is to use tlmgr to add or remove the
|
|||
|
-appropriate package.
|
|||
|
-
|
|||
|
-If you need to make manual additions, you can edit the files
|
|||
|
-language-local.dat and language-local.def under TEXMFLOCAL. Further
|
|||
|
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
|
|||
|
-
|
|||
|
-Exiting.
|
|||
|
-EOM
|
|||
|
- exit 1 # but leave the real code for posterity
|
|||
|
-
|
|||
|
tcBatchHyphenFormat=$2
|
|||
|
formatsForHyphen=`getFormatsForHyphen`
|
|||
|
formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
|
|||
|
@@ -1301,7 +1270,7 @@ Valid PAPER settings:
|
|||
|
;;
|
|||
|
|
|||
|
rehash)
|
|||
|
- mktexlsr
|
|||
|
+ ( unset KPSE_DOT; mktexlsr )
|
|||
|
;;
|
|||
|
|
|||
|
#
|
|||
|
--- texmf-dist/scripts/texlive/texlinks.sh
|
|||
|
+++ texmf-dist/scripts/texlive/texlinks.sh 2018-05-03 08:15:39.979645610 +0000
|
|||
|
@@ -100,7 +100,7 @@ setupTmpDir()
|
|||
|
|
|||
|
trap 'cleanup 1' 1 2 3 7 13 15
|
|||
|
needsCleanup=true
|
|||
|
- (umask 077; mkdir "$tmpdir") \
|
|||
|
+ (umask 077; mkdir -m 0700 "$tmpdir") \
|
|||
|
|| abort "could not create directory \`$tmpdir'"
|
|||
|
}
|
|||
|
|
|||
|
@@ -108,16 +108,18 @@ setupTmpDir()
|
|||
|
# search a binary along $PATH:
|
|||
|
check_for_binary()
|
|||
|
{
|
|||
|
- testbin=$1
|
|||
|
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
|
|||
|
- for i
|
|||
|
- do
|
|||
|
- if [ -x "$i/$testbin" ]; then
|
|||
|
- echo "$i/$testbin"
|
|||
|
- return 0
|
|||
|
- fi
|
|||
|
- done
|
|||
|
- return 1
|
|||
|
+# testbin=$1
|
|||
|
+# set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
|
|||
|
+# for i
|
|||
|
+# do
|
|||
|
+# if [ -x "$i/$testbin" ]; then
|
|||
|
+# echo "$i/$testbin"
|
|||
|
+# return 0
|
|||
|
+# fi
|
|||
|
+# done
|
|||
|
+# return 1
|
|||
|
+
|
|||
|
+ type -p $1
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
@@ -208,8 +210,22 @@ search_symlinkdir()
|
|||
|
upd_symlinkdir()
|
|||
|
{
|
|||
|
search_symlinkdir || return 0
|
|||
|
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
|
|||
|
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
|
|||
|
+ set x `cat cnf_file_ln.$$` ; shift
|
|||
|
+ while test $# != 0; do
|
|||
|
+ fmt=$1; ini=$3; shift; shift; shift
|
|||
|
+
|
|||
|
+ # Some broken shells destroy the positional arguments when calling a
|
|||
|
+ # shellfunction. Therefore, we save and restore them "by hand" in the
|
|||
|
+ # main_args_while variable.
|
|||
|
+ main_args_while="$@"
|
|||
|
+
|
|||
|
+ kpsewhich -progname=$fmt -format=tex $ini >/dev/null 2>&1
|
|||
|
+ test $? -ne 0 && continue
|
|||
|
+
|
|||
|
+ install_link "$selfautoloc/$fmt" "$symlinkdir/$fmt"
|
|||
|
+
|
|||
|
+ # restore positional arguments:
|
|||
|
+ set x $main_args_while; shift
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
@@ -274,12 +290,12 @@ main()
|
|||
|
test -f "$cnf_file" || abort "config file \`$cnf' not found"
|
|||
|
|
|||
|
|
|||
|
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
|
|||
|
+ tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$.$RANDOM
|
|||
|
setupTmpDir
|
|||
|
cd "$tmpdir" || cleanup 1
|
|||
|
|
|||
|
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
|
|||
|
- | awk '{print $1, $2}' > cnf_file_ln.$$
|
|||
|
+ sed '/^[ ]*#/d; /^[ ]*$/d; s%\*%%' $cnf_file \
|
|||
|
+ | awk '{print $1, $2, $NF}' > cnf_file_ln.$$
|
|||
|
|
|||
|
if test -z "$dirs"; then
|
|||
|
if test $multiplatform = true; then
|
|||
|
@@ -300,13 +316,16 @@ main()
|
|||
|
# cnf_file_ln.$$ has lines with "format engine" pairs
|
|||
|
set x `cat cnf_file_ln.$$`; shift
|
|||
|
while test $# != 0; do
|
|||
|
- fmt=$1; engine=$2; shift; shift
|
|||
|
+ fmt=$1; engine=$2; ini=$3; shift; shift; shift
|
|||
|
|
|||
|
# Some broken shells destroy the positional arguments when calling a
|
|||
|
# shellfunction. Therefore, we save and restore them "by hand" in the
|
|||
|
# main_args_while variable.
|
|||
|
main_args_while="$@"
|
|||
|
|
|||
|
+ kpsewhich -progname=$fmt -format=tex $ini >/dev/null 2>&1
|
|||
|
+ test $? -ne 0 && continue
|
|||
|
+
|
|||
|
test "x$fmt" = "x$engine" && continue
|
|||
|
if test -f "$d/$engine$exeext"; then
|
|||
|
case $unlink in
|
|||
|
--- texmf-dist/scripts/texlive/updmap-sys.sh
|
|||
|
+++ texmf-dist/scripts/texlive/updmap-sys.sh 2018-05-11 10:53:43.971984421 +0000
|
|||
|
@@ -22,4 +22,5 @@ PATH="$mydir:$PATH"; export PATH
|
|||
|
# hack around a bug in zsh:
|
|||
|
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
|
|||
|
|
|||
|
+umask 022
|
|||
|
exec updmap --sys ${1+"$@"}
|
|||
|
--- texmf-dist/scripts/texlive/updmap.pl
|
|||
|
+++ texmf-dist/scripts/texlive/updmap.pl 2018-06-19 08:49:26.931648791 +0000
|
|||
|
@@ -16,15 +16,17 @@
|
|||
|
|
|||
|
my $svnid = '$Id: updmap.pl 50442 2019-03-18 11:35:23Z hironobu $';
|
|||
|
|
|||
|
-my $TEXMFROOT;
|
|||
|
+my $TEXMFDIST;
|
|||
|
BEGIN {
|
|||
|
$^W = 1;
|
|||
|
- $TEXMFROOT = `kpsewhich -var-value=TEXMFROOT`;
|
|||
|
+ $TEXMFDIST = `kpsewhich -var-value=TEXMFDIST`;
|
|||
|
if ($?) {
|
|||
|
- die "$0: kpsewhich -var-value=TEXMFROOT failed, aborting early.\n";
|
|||
|
+ die "$0: kpsewhich -var-value=TEXMFDIST failed, aborting early.\n";
|
|||
|
}
|
|||
|
- chomp($TEXMFROOT);
|
|||
|
- unshift(@INC, "$TEXMFROOT/tlpkg");
|
|||
|
+ chomp($TEXMFDIST);
|
|||
|
+ unshift(@INC, "$TEXMFDIST/tlpkg", "$TEXMFDIST/scripts/texlive");
|
|||
|
+ require "mktexlsr.pl";
|
|||
|
+ TeX::Update->import();
|
|||
|
}
|
|||
|
|
|||
|
my $lastchdate = '$Date: 2019-03-18 12:35:23 +0100 (Mon, 18 Mar 2019) $';
|
|||
|
@@ -46,7 +48,7 @@ use TeXLive::TLUtils qw(mkdirhier mktexu
|
|||
|
# see more comments at the definition of this function.
|
|||
|
reset_root_home();
|
|||
|
|
|||
|
-chomp(my $TEXMFDIST = `kpsewhich --var-value=TEXMFDIST`);
|
|||
|
+chomp(my $TEXMFROOT = `kpsewhich --var-value=TEXMFROOT`);
|
|||
|
chomp(my $TEXMFVAR = `kpsewhich -var-value=TEXMFVAR`);
|
|||
|
chomp(my $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`);
|
|||
|
chomp(my $TEXMFCONFIG = `kpsewhich -var-value=TEXMFCONFIG`);
|
|||
|
@@ -398,6 +400,8 @@ sub main {
|
|||
|
print "in $changes_config_file\n";
|
|||
|
print "Do you really want to continue (y/N)? ";
|
|||
|
my $answer = <STDIN>;
|
|||
|
+ my $dosync = $ENV{'UPDMAPSYNC'};
|
|||
|
+ $answer = "y" if !defined($dosync);
|
|||
|
$answer = "n" if !defined($answer);
|
|||
|
chomp($answer);
|
|||
|
print "answer =$answer=\n";
|