texlive-specs-c/tetex_scripts.dif

345 lines
12 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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";