Update to TeXLive 2020

OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive?expand=0&rev=356
This commit is contained in:
Dr. Werner Fink 2020-04-21 14:23:53 +00:00 committed by Git OBS Bridge
parent 41d895c2fc
commit 26c5b4cb53
25 changed files with 589 additions and 3325 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:24f95d778ed4278c936f58c32508b9a74927da8061f57affa09f9b956a81c42b
size 795988

3
biber-2.14.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:28e0a2780511c906f9c4554b2226acb50840c93cf73e579e1f2d05ea9e4c6736
size 994392

View File

@ -4,18 +4,18 @@
2 files changed, 2 insertions(+), 1 deletion(-)
--- Build.PL
+++ Build.PL 2018-04-12 12:07:59.531719830 +0000
@@ -54,7 +54,6 @@ my $builder = $class->new(
+++ Build.PL 2020-03-20 11:01:12.391105105 +0100
@@ -55,7 +55,6 @@ my $builder = $class->new(
'List::AllUtils' => 0,
'List::MoreUtils' => 0,
'List::MoreUtils::XS' => 0,
- 'Mozilla::CA' => '20160104',
'Regexp::Common' => 0,
'Log::Log4perl' => 0,
'Unicode::Collate' => '1.25',
'Unicode::Collate' => '1.27',
--- bin/biber
+++ bin/biber 2018-04-12 12:06:39.913188617 +0000
@@ -116,6 +116,8 @@ GetOptions(
@@ -123,6 +123,8 @@ GetOptions(
) or pod2usage(-verbose => 0,
-exitval => EXIT_ERROR);

View File

@ -5,7 +5,7 @@
--- configure
+++ configure 2018-04-10 08:58:00.463820598 +0000
@@ -20674,6 +20674,10 @@ fi
@@ -20747,6 +20747,10 @@ fi
# most powerpc-linux boxes support dynamic linking these days and
# people can always --disable-shared, the test was removed, and we
# assume the GNU/Linux dynamic linker is in use.

View File

@ -4,7 +4,7 @@
--- texk/texlive/linked_scripts/a2ping/a2ping.pl
+++ texk/texlive/linked_scripts/a2ping/a2ping.pl 2018-04-10 09:00:52.856579965 +0000
@@ -1676,7 +1676,7 @@ showpage quit
@@ -1677,7 +1677,7 @@ showpage quit
## print STDERR $res;
error $?==11 ? "segmentation fault in $GS" : "not a GS output from $GS ($?)"
if !defined $res # BUGFIX at Sun Mar 7 18:51:34 CET 2004

View File

@ -1,25 +0,0 @@
---
utils/autosp/autosp-src/utils.c | 1 +
utils/autosp/autosp-src/utils.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
--- utils/autosp/autosp-src/utils.c
+++ utils/autosp/autosp-src/utils.c 2020-01-09 11:48:29.954763221 +0000
@@ -23,6 +23,7 @@
*/
# include "utils.h"
+int lineno;
void
warning (const char msg[]) /* output warning message msg to stderr */
--- utils/autosp/autosp-src/utils.h
+++ utils/autosp/autosp-src/utils.h 2020-01-09 11:48:01.819295851 +0000
@@ -61,6 +61,6 @@ extern size_t append (char *dst, char **
extern bool prefix (const char *cs, const char *ct); /* is string cs[] a prefix of ct[]? */
extern bool suffix (const char *cs, const char *ct); /* is string cs[] a suffix of ct[]? */
-int lineno;
+extern int lineno;
extern void error (const char msg[]); /* abort with stderr message msg */
extern void warning (const char msg[]); /* output warning message msg to stderr */

View File

@ -30,13 +30,13 @@
ac_configure_args="$ac_configure_args '--enable-native-texlive-build'"])
AS_CASE([$enable_largefile],
--- texk/dvipdfm-x/configure.ac
+++ texk/dvipdfm-x/configure.ac 2019-05-13 10:27:04.041797653 +0000
@@ -7,7 +7,7 @@ dnl This file is free software; the co
+++ texk/dvipdfm-x/configure.ac 2020-03-19 13:15:34.631031066 +0000
@@ -8,7 +8,7 @@ dnl This file is free software; the co
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
-AC_INIT([dvipdfm-x (TeX Live)], [20190225], [tex-k@tug.org])
+AC_INIT([dvipdfmx (TeX Live)], [20190225], [tex-k@tug.org])
-AC_INIT([dvipdfm-x (TeX Live)], [20200315], [dvipdfmx@tug.org])
+AC_INIT([dvipdfm (TeX Live)], [20200315], [dvipdfmx@tug.org])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([agl.c])
AC_CONFIG_AUX_DIR([../../build-aux])

View File

@ -1,550 +0,0 @@
Part of 9216833a3888a4105a18e8c349f65b045ddb1079 Mon Sep 17 00:00:00 2001
From: Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Date: Fri, 6 Sep 2019 22:26:30 +0000
Subject: [PATCH] axohelp 1.3
---
utils/axodraw2/axodraw2-src/axohelp.c | 233 ++++++++++++++++++++--------------
1 file changed, 142 insertions(+), 91 deletions(-)
--- utils/axodraw2/axodraw2-src/axohelp.c
+++ utils/axodraw2/axodraw2-src/axohelp.c 2019-10-31 12:23:51.285129661 +0000
@@ -1,7 +1,12 @@
/*
+
+ Need to do:
+ 1. Fix reporting of number of object to in-file number
+ 2. Or Don't require object 0 for ID line
+
#[ License :
- (C) 2016-2018 by authors:
+ (C) 2016-2019 by authors:
John Collins (jcc8 at psu dot edu)
Jos Vermaseren (t68 at nikhef dot nl)
@@ -60,6 +65,7 @@
#include <stdlib.h>
#include <math.h>
#include <string.h>
+#include <ctype.h>
/*
#] Includes :
@@ -67,9 +73,9 @@
*/
#define NAME "axohelp"
-#define VERSIONDATE "2018 Feb 20"
+#define VERSIONDATE "2019 Aug 28"
#define VERSION 1
-#define SUBVERSION 2
+#define SUBVERSION 3
#define COMMENTCHAR '%'
#define TERMCHAR ';'
@@ -110,7 +116,10 @@ double linesep = 0;
int flip = 0;
int clockwise = 0;
-void OutputString(char *);
+void CleanupOutput(char *str);
+void send( char* str );
+void sendClean( char* str );
+
void ArrowHead();
void GetArrow(double *);
void BezierArrow(double *);
@@ -329,40 +338,43 @@ double mod( double x, int n ) {
#[ PDF utilities :
These routines are included to make the program more readable and easier
- to write. It also allows the easy use of the OutputString routine that
+ to write. It also allows the easy use of the OutputString?? OLD name routine that
compactifies the output.
*/
-#define Stroke outpos += sprintf(outpos," S")
-#define CloseAndStroke outpos += sprintf(outpos," h S")
-#define Fill outpos += sprintf(outpos," f")
-#define CloseAndFill outpos += sprintf(outpos," h f")
-#define SaveGraphicsState outpos += sprintf(outpos," q")
-#define RestoreGraphicsState outpos += sprintf(outpos," Q")
+#define Stroke send(" S")
+#define CloseAndStroke send(" h S")
+#define Fill send(" f")
+#define CloseAndFill send(" h f")
+#define SaveGraphicsState send(" q")
+#define RestoreGraphicsState send(" Q")
void Bezier(double x1,double y1,double x2,double y2,double x3,double y3) {
- outpos +=
- sprintf(outpos,"\n %12.3f %12.3f %12.3f %12.3f %12.3f %12.3f c",x1,y1,x2,y2,x3,y3);
+ sprintf(outputbuffer,"\n %12.3f %12.3f %12.3f %12.3f %12.3f %12.3f c",x1,y1,x2,y2,x3,y3);
+ sendClean(outputbuffer);
}
void LineTo(double x1,double y1) {
- outpos +=
- sprintf(outpos,"\n %12.3f %12.3f l",x1,y1);
+ sprintf(outputbuffer,"\n %12.3f %12.3f l",x1,y1);
+ sendClean(outputbuffer);
}
void MoveTo(double x1,double y1) {
- outpos +=
- sprintf(outpos,"\n %12.3f %12.3f m",x1,y1);
+ sprintf(outputbuffer,"\n %12.3f %12.3f m",x1,y1);
+ sendClean(outputbuffer);
}
void SetLineWidth(double w) {
- outpos +=
- sprintf(outpos," %12.3f w",w);
+ sprintf(outputbuffer," %12.3f w",w);
+ sendClean(outputbuffer);
}
void SetDashSize(double dashsize,double phase) {
- if ( dashsize ) outpos += sprintf(outpos," [%12.3f] %12.3f d",dashsize,phase);
- else outpos += sprintf(outpos," [] 0 d");
+ if ( dashsize ) {
+ sprintf(outputbuffer," [%12.3f] %12.3f d",dashsize,phase);
+ sendClean(outputbuffer);
+ }
+ else send(" [] 0 d");
}
void SetTransferMatrix(double x11,double x12,double x21,double x22,double x,double y)
@@ -370,8 +382,8 @@ void SetTransferMatrix(double x11,double
if ( ( fabs(x11-1.) > 0.001 ) || ( fabs(x22-1.) > 0.001 )
|| ( fabs(x12) > 0.001 ) || ( fabs(x21) > 0.001 )
|| ( fabs(x) > 0.001 ) || ( fabs(y) > 0.001 ) ) {
- outpos +=
- sprintf(outpos,"%12.3f %12.3f %12.3f %12.3f %12.3f %12.3f cm\n",x11,x12,x21,x22,x,y);
+ sprintf(outputbuffer,"%12.3f %12.3f %12.3f %12.3f %12.3f %12.3f cm\n",x11,x12,x21,x22,x,y);
+ sendClean(outputbuffer);
}
}
@@ -379,6 +391,7 @@ static double BzK;
void BezierCircle(double r,char *action)
{
+ char *outpos = outputbuffer;
outpos +=
sprintf(outpos," %12.3f 0 m %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",-r,-r,r*BzK,-r*BzK,r,r);
outpos +=
@@ -387,10 +400,12 @@ void BezierCircle(double r,char *action)
sprintf(outpos," %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",r,-r*BzK,r*BzK,-r,-r);
outpos +=
sprintf(outpos," %12.3f %12.3f %12.3f %12.3f %12.3f 0 c %s\n",-r*BzK,-r,-r,-r*BzK,-r,action);
+ sendClean(outputbuffer);
}
void BezierOval(double w, double h, char *action)
{
+ char *outpos = outputbuffer;
outpos +=
sprintf(outpos," %12.3f 0 m %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",-w,-w,h*BzK,-w*BzK,h,h);
outpos +=
@@ -399,41 +414,45 @@ void BezierOval(double w, double h, char
sprintf(outpos," %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",w,-h*BzK,w*BzK,-h,-h);
outpos +=
sprintf(outpos," %12.3f %12.3f %12.3f %12.3f %12.3f 0 c %s\n",-w*BzK,-h,-w,-h*BzK,-w,action);
+ sendClean(outputbuffer);
}
void SetGray(double grayscale,int par)
{
if ( par == STROKING ) {
- outpos += sprintf(outpos," %12.3f G",grayscale);
+ sprintf(outputbuffer," %12.3f G",grayscale);
}
else {
- outpos += sprintf(outpos," %12.3f g",grayscale);
+ sprintf(outputbuffer," %12.3f g",grayscale);
}
+ sendClean(outputbuffer);
}
void SetColor(double c, double m, double y, double k,int par)
{
if ( par == STROKING ) {
- outpos += sprintf(outpos," %12.3f %12.3f %12.3f %12.3f K",c,m,y,k);
+ sprintf(outputbuffer," %12.3f %12.3f %12.3f %12.3f K",c,m,y,k);
}
else {
- outpos += sprintf(outpos," %12.3f %12.3f %12.3f %12.3f k",c,m,y,k);
+ sprintf(outputbuffer," %12.3f %12.3f %12.3f %12.3f k",c,m,y,k);
}
+ sendClean(outputbuffer);
}
void SetBackgroundColor(int par)
{
- if ( par == STROKING ) { outpos += sprintf(outpos," 0 0 0 0 K"); }
- else { outpos += sprintf(outpos," 0 0 0 0 k"); }
+ if ( par == STROKING ) { send(" 0 0 0 0 K"); }
+ else { send(" 0 0 0 0 k"); }
}
void Rectangle(double x,double y,double w,double h) {
- outpos += sprintf(outpos,"\n %12.3f %12.3f %12.3f %12.3f re",x,y,w,h);
+ sprintf(outputbuffer,"\n %12.3f %12.3f %12.3f %12.3f re",x,y,w,h);
+ sendClean(outputbuffer);
}
void Triangle(double x1,double y1,double x2,double y2,double x3,double y3) {
- outpos +=
- sprintf(outpos,"\n %12.3f %12.3f m %12.3f %12.3f l %12.3f %12.3f l h",x1,y1,x2,y2,x3,y3);
+ sprintf(outputbuffer,"\n %12.3f %12.3f m %12.3f %12.3f l %12.3f %12.3f l h",x1,y1,x2,y2,x3,y3);
+ sendClean(outputbuffer);
}
/*
@@ -503,10 +522,10 @@ void ArrowHead()
LineTo(-length*0.5,-arrow.width);
if (k == 1) {
SetBackgroundColor(NONSTROKING);
- outpos += sprintf(outpos," h f");
+ send(" h f");
}
else {
- outpos += sprintf(outpos," s");
+ send(" s");
}
RestoreGraphicsState;
}
@@ -516,7 +535,7 @@ void ArrowHead()
LineTo(-length*0.5,arrow.width);
LineTo(-length*0.5+length*arrow.inset,0);
LineTo(-length*0.5,-arrow.width);
- outpos += sprintf(outpos," h f");
+ send(" h f");
}
RestoreGraphicsState;
}
@@ -928,17 +947,17 @@ char *ReadInput(char *filename)
char *buffer;
if ( ( finput = fopen(filename,"r") ) == 0 ) {
fprintf(stderr,"%s: Cannot open file %s\n",axohelp,filename);
- exit(-1);
+ exit(1);
}
if ( ( fseek(finput,0,SEEK_END) != 0 )
|| ( ( filesize = ftell(finput) ) < 0 )
|| ( fseek(finput,0,SEEK_SET) != 0 ) ) {
fprintf(stderr,"%s: File error in file %s\n",axohelp,filename);
- exit(-1);
+ exit(1);
}
if ( ( buffer = malloc((filesize+1)*sizeof(char)) ) == 0 ) {
fprintf(stderr,"%s: Error allocating %ld bytes of memory",axohelp,filesize+1);
- exit(-1);
+ exit(1);
}
/*
Assume character in file is 1 byte, which is true for all cases
@@ -947,7 +966,7 @@ char *ReadInput(char *filename)
num = fread( buffer, 1, filesize, finput );
if ( ferror(finput) ) {
fprintf(stderr,"%s: Error reading file %s\n",axohelp,filename);
- exit(-1);
+ exit(1);
}
/*
By definition, fread reads ALL the items specified, or it gets to
@@ -974,31 +993,37 @@ void CleanupOutput(char *str)
char *s, *t;
int period = 0;
s = t = str;
- while ( *s && *s != '}' ) {
- if ( *s == '\n' ) *s = ' ';
- if ( ( *s == ' ' || *s == '\n' ) && ( s[1] == ' ' || s[1] == '\n' ) ) s++;
- else *t++ = *s++;
+ // Collapse multiple white space (' ' and '\n') to one. Remove trailing space.
+ while ( *s ) {
+ if ( *s == '\n' ) {*s = ' '; }
+ if ( (*s == ' ') && ( s[1] == ' ' || s[1] == '\n' || s[1] == 0 ) ) { s++;}
+ else { *t++ = *s++; }
}
- while ( *s ) *t++ = *s++;
*t = 0;
+
+ // Optimize format of numbers:
s = t = str;
while ( *s ) {
if ( *s == '.' ) { period = 1; *t++ = *s++; }
- else if ( *s == '-' && s[1] == '0' && s[2] == ' ' ) { s++; }
- else if ( *s <= '9' && *s >= '0' ) { *t++ = *s++; }
- else if ( *s == '\n' && ( t > str && t[-1] == '\n' ) ) { s++; }
+ else if ( isdigit(*s) ) { *t++ = *s++; }
else if ( period ) {
- while ( t > str && t[-1] == '0' ) t--;
- if ( t > str && t[-1] == '.' ) t--;
- while ( *s == ' ' && s[1] == ' ' ) s++;
+ while ( t > str && t[-1] == '0' ) { t--; }
+ if ( t > str && t[-1] == '.' ) {
+ t--;
+ // Handle case that number is .000, not e.g. 9.000
+ if (t > str && ! isdigit(t[-1]) ) {
+ *t++ = '0';
+ }
+ }
period = 0; *t++ = *s++;
}
- else if ( *s == ' ' && s[1] == ' ' ) s++;
else {
period = 0; *t++ = *s++;
}
}
*t = 0;
+
+ // Collapse '-0' to '0'
s = t = str;
while ( *s ) {
if ( *s == '-' && s[1] == '0' && s[2] == ' ' ) { s++; }
@@ -1008,65 +1033,87 @@ void CleanupOutput(char *str)
}
/*
- #] CleanupOutput :
+ #] CleanupOutput :
+ #[ send :
+*/
+
+void send( char* str ) {
+ fprintf(outfile, "%s",str);
+}
+
+/*
+ #] CleanupOutput :
+ #[ sendClean :
+*/
+
+void sendClean( char* str ) {
+ CleanupOutput(str);
+ send(str);
+}
+
+/*
+ #] sendClean :
#[ DoOneObject :
*/
int DoOneObject(char *cinput)
{
- int num, i, num1, num2;
- char *s, *t, *StartClean;
+ // Single point for exit, to ensure proper clean up.
+ int num, i, num1, num2, retcode;
+ char *s, *t;
double *argbuf = 0;
+ retcode = -1;
SetDefaults();
+
+ // Locate number of object:
s = cinput; while ( *s != '[' ) s++;
s++; t = s; while ( *t != ']' ) t++;
*t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
+
+ fprintf(outfile,"\\axo@setObject{%s}%%\n{%s%c}%%\n{",s,t,TERMCHAR);
outpos = outputbuffer;
- outpos += sprintf(outpos,"\\axo@setObject{%s}%%\n{%s%c}%%\n{",s,t,TERMCHAR);
- if ( *s == '0' && s[1] == ']' ) {
+
+ nameobject = t; while ( *t != ' ' && *t != '\t' && *t != '\n' && *t ) t++;
+ *t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
+/*
+ Now nameobject is the name of the command and t points at the first parameter.
+*/
+
+ if ( *s == '0' && s[1] == 0 ) {
/*
The identification line.
In due time we might add more options here.
*/
if ( strcmp(nameobject,"AxodrawWantsPDF") == 0 ) {
identification = 1;
- outpos += sprintf(outpos,"Axohelp version %d.%d. PDF output.}",VERSION,SUBVERSION);
- fprintf(outfile,"%s",outputbuffer);
- return(0);
+ fprintf(outfile,"Axohelp version %d.%d. PDF output.",VERSION,SUBVERSION);
+ goto SUCCESS;
}
else {
fprintf(stderr,"%s: Illegal request in identification string [0]: %s\n"
,axohelp,nameobject);
- if ( argbuf ) free(argbuf);
- return(-1);
+ goto EXIT;
}
}
/*
if ( identification == 0 ) {
fprintf(stderr,"%s: No identification string. Check versions.\n",axohelp);
- if ( argbuf ) free(argbuf);
- return(-1);
+ goto EXIT;
}
*/
- StartClean = outpos;
- nameobject = t; while ( *t != ' ' && *t != '\t' && *t != '\n' && *t ) t++;
- *t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
-/*
- Now nameobject is the name of the command and t points at the first parameter.
-*/
if ( ( strcmp(nameobject,"Curve") == 0 )
|| ( strcmp(nameobject,"Polygon") == 0 )
|| ( strcmp(nameobject,"FilledPolygon") == 0 ) ) {
/*
#[ Curve,Polygons :
*/
- if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 ) return(-1);
+ if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 )
+ goto EXIT;
if ( num2-1 != 0 ) {
fprintf(stderr,"%s: Command %s should have no extra numbers in %s.\n",
axohelp,nameobject,inname);
- free(argbuf);
- return(-1);
+ goto EXIT;
}
else {
/*
@@ -1087,6 +1134,7 @@ int DoOneObject(char *cinput)
Polygon(argbuf,num1,1);
}
free(argbuf);
+ argbuf = 0;
}
/*
#] Curve,Polygons :
@@ -1096,12 +1144,12 @@ int DoOneObject(char *cinput)
/*
#[ DashCurve :
*/
- if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 ) return(-1);
+ if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 )
+ goto EXIT;
if ( num2 != 2 ) {
fprintf(stderr,"%s: Command %s does not have two numbers after the coordinates\n in file %s.\n",
axohelp,nameobject,inname);
- free(argbuf);
- return(-1);
+ goto EXIT;
}
else {
/*
@@ -1114,6 +1162,7 @@ int DoOneObject(char *cinput)
SetLineWidth(axolinewidth);
DashCurve(argbuf,num1);
free(argbuf);
+ argbuf = 0;
}
/*
#] DashCurve :
@@ -1123,7 +1172,8 @@ int DoOneObject(char *cinput)
/*
#[ Regular command :
*/
- if ( ( argbuf = ReadTail(t,&num) ) == 0 ) return(-1);
+ if ( ( argbuf = ReadTail(t,&num) ) == 0 )
+ goto EXIT;
for ( i = 0; i < sizeof(commands)/sizeof(KEYWORD); i++ ) {
if ( strcmp(nameobject,commands[i].name) == 0 ) {
if ( num == commands[i].numargs+1 ) {
@@ -1137,13 +1187,13 @@ int DoOneObject(char *cinput)
SetLineWidth(axolinewidth);
(*(commands[i].func))(argbuf);
free(argbuf);
+ argbuf = 0;
break;
}
else {
fprintf(stderr,"%s: Command %s should have %d(+1) arguments in %s.\n"
,axohelp,nameobject,commands[i].numargs,inname);
- free(argbuf);
- return(-1);
+ goto EXIT;
}
}
}
@@ -1153,14 +1203,15 @@ int DoOneObject(char *cinput)
if ( i >= sizeof(commands)/sizeof(KEYWORD) ) {
fprintf(stderr,"%s: Command %s not recognized in file %s.\n",
axohelp,nameobject,inname);
- free(argbuf);
- return(-1);
+ goto EXIT;
}
}
- outpos += sprintf(outpos,"}\n");
- CleanupOutput(StartClean);
- fprintf(outfile,"%s",outputbuffer);
- return(0);
+ SUCCESS:
+ retcode = 0;
+ EXIT:
+ if (argbuf) { free(argbuf); }
+ fprintf(outfile,"}\n");
+ return(retcode);
}
/*
@@ -1219,7 +1270,7 @@ int main(int argc,char **argv)
axohelp = *argv++;
if ( argc <= 0 ) {
PrintHelp(axohelp);
- return -1;
+ return 1;
}
while ( (*argv)[0] == '-' ) { /* we have options */
s = *argv;
@@ -1246,19 +1297,19 @@ int main(int argc,char **argv)
else {
fprintf(stderr,"%s: Illegal option %s\n", axohelp, *argv);
PrintHelpPrompt(axohelp);
- return -1;
+ return 1;
}
argc--; argv++;
if ( argc <= 0 ) {
fprintf(stderr,"%s: Not enough arguments\n",axohelp);
PrintHelpPrompt(axohelp);
- return -1;
+ return 1;
}
}
if ( argc != 1 ) {
fprintf(stderr,"%s: Too many arguments\n",axohelp);
PrintHelpPrompt(axohelp);
- return -1;
+ return 1;
}
/*
The filename is now in s. We copy it to a separate string and
@@ -1276,10 +1327,10 @@ int main(int argc,char **argv)
strcpy( inname+length, ".ax1" );
strcpy( outname+length, ".ax2" );
}
- if ( ( inbuffer = ReadInput(inname) ) == 0 ) return(-1);
+ if ( ( inbuffer = ReadInput(inname) ) == 0 ) return(1);
if ( ( outfile = fopen(outname,"w") ) == 0 ) {
fprintf(stderr,"%s: Cannot create file %s\n",axohelp,outname);
- exit(-1);
+ exit(1);
}
num = ScanForObjects(inbuffer);
for ( i = 0; i < num; i++ ) {
@@ -1290,7 +1341,7 @@ int main(int argc,char **argv)
if ( error > 0 ) {
fprintf(stderr,"%s: %d objects in %s were not translated correctly.\n",
axohelp,error,inname);
- return(-1);
+ return(1);
}
return(0);
}

View File

@ -80,7 +80,7 @@ diff --git a/texk/web2c/pdftexdir/pdftosrc.cc b/texk/web2c/pdftexdir/pdftosrc.cc
index 3b1d250..7dbee00 100644
--- a/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
+++ b/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
@@ -178,9 +178,9 @@ int main(int argc, char *argv[])
@@ -174,9 +174,9 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();

View File

@ -16,7 +16,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
===================================================================
--- texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
+++ texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
@@ -69,7 +69,7 @@ int main(int argc, char *argv[])
Stream *s;
Object srcStream, srcName, catalogDict;
FILE *outfile;
@ -437,7 +437,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
int rotate;
--- texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc
+++ texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc 2019-05-13 08:38:55.432114555 +0000
@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref)
@@ -276,7 +276,7 @@ static int getNewObjectNumber(Ref ref)
static void copyObject(Object *);
@ -446,7 +446,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
{
pdf_puts("/");
for (; *s != 0; s++) {
@@ -287,7 +287,7 @@ static void copyName(char *s)
@@ -288,7 +288,7 @@ static void copyName(char *s)
}
}
@ -455,7 +455,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
{
Object obj1;
copyName((char *)obj->dictGetKey(i));
@@ -297,7 +297,7 @@ static void copyDictEntry(Object * obj,
@@ -298,7 +298,7 @@ static void copyDictEntry(Object * obj,
pdf_puts("\n");
}
@ -464,7 +464,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
{
int i, l;
if (!obj->isDict())
@@ -307,10 +307,10 @@ static void copyDict(Object * obj)
@@ -308,10 +308,10 @@ static void copyDict(Object * obj)
copyDictEntry(obj, i);
}
@ -477,7 +477,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid dict type <%s>",
obj->getTypeName());
@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font
@@ -383,7 +383,7 @@ static bool embeddableFont(Object * font
return false;
}
@ -486,7 +486,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
{
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
stemV;
@@ -467,7 +467,7 @@ static void copyFontResources(Object * o
@@ -468,7 +468,7 @@ static void copyFontResources(Object * o
pdf_puts(">>\n");
}
@ -495,7 +495,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
{
// copies all other resources (write_epdf handles Fonts and ProcSets),
@@ -554,8 +554,8 @@ static void copyObject(Object * obj)
@@ -555,8 +555,8 @@ static void copyObject(Object * obj)
Object obj1;
int i, l, c;
Ref ref;
@ -506,7 +506,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
if (obj->isBool()) {
pdf_printf("%s", obj->getBool()? "true" : "false");
} else if (obj->isInt()) {
@@ -655,7 +655,7 @@ static void writeRefs()
@@ -656,7 +656,7 @@ static void writeRefs()
static void writeEncodings()
{
UsedEncoding *r, *n;
@ -515,7 +515,7 @@ Index: texk/web2c/pdftexdir/pdftosrc.cc
int i;
for (r = encodingList; r != 0; r = r->next) {
for (i = 0; i < 256; i++) {
@@ -822,7 +822,7 @@ void write_epdf(void)
@@ -823,7 +823,7 @@ void write_epdf(void)
Object groupDict;
bool writeSepGroup = false;
Object info;

View File

@ -4,7 +4,7 @@
--- utils/lacheck/lacheck.l
+++ utils/lacheck/lacheck.l 2016-01-28 12:07:17.472961598 +0000
@@ -119,6 +119,7 @@
@@ -121,6 +121,7 @@
#include <stdio.h>
#include <string.h>

View File

@ -50,7 +50,7 @@ diff --git a/texk/web2c/pdftexdir/pdftoepdf-poppler0.71.0.cc b/texk/web2c/pdftex
diff --git a/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc b/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc
--- a/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc
+++ b/texk/web2c/pdftexdir/pdftoepdf-poppler0.72.0.cc
@@ -977,7 +977,7 @@ The changes below seem to work fine.
@@ -978,7 +978,7 @@ The changes below seem to work fine.
}
l = dic1.getLength();
for (i = 0; i < l; i++) {

View File

@ -11,7 +11,7 @@ diff --git a/texk/web2c/pdftexdir/pdftosrc.cc b/texk/web2c/pdftexdir/pdftosrc.cc
index 7dbee00..cc44daf 100644
--- a/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
+++ b/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc
@@ -114,7 +114,7 @@ int main(int argc, char *argv[])
@@ -110,7 +110,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "No SourceName found\n");
exit(1);
}
@ -20,7 +20,7 @@ index 7dbee00..cc44daf 100644
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
@@ -123,7 +123,7 @@ int main(int argc, char *argv[])
@@ -119,7 +119,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
@ -29,7 +29,7 @@ index 7dbee00..cc44daf 100644
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -133,7 +133,7 @@ int main(int argc, char *argv[])
@@ -129,7 +129,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;

View File

@ -1,31 +0,0 @@
pdfTeX 3.14159265-2.6-1.40.18 (TeX Live 2017) (April 27, 2017)
diff --git a/texk/web2c/pdftexdir/utils.c b/texk/web2c/pdftexdir/utils.c
index c93a87819..7f5e50416 100644
--- a/texk/web2c/pdftexdir/utils.c
+++ b/texk/web2c/pdftexdir/utils.c
@@ -33,7 +33,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#include "ptexlib.h"
#include <png.h>
#ifdef POPPLER_VERSION
-#include <poppler-config.h>
+/* POPPLER_VERSION should be a proper version string */
#define xpdfVersion POPPLER_VERSION
#define xpdfString "poppler"
#else
diff --git a/texk/web2c/xetexdir/XeTeX_ext.c b/texk/web2c/xetexdir/XeTeX_ext.c
index 4968ee41e..0aee4ee38 100644
--- a/texk/web2c/xetexdir/XeTeX_ext.c
+++ b/texk/web2c/xetexdir/XeTeX_ext.c
@@ -38,7 +38,10 @@ authorization from the copyright holders.
#include <w2c/config.h>
+#ifndef POPPLER_VERSION
#include <poppler-config.h>
+#endif
+
#include <png.h>
#include <zlib.h>
#include <graphite2/Font.h>

View File

@ -0,0 +1,42 @@
---
texk/psutils/tests/playnup.2 | 8 ++++++++
texk/psutils/tests/playnup1.2 | 8 ++++++++
texk/psutils/tests/playps.2 | 8 ++++++++
3 files changed, 24 insertions(+)
--- texk/psutils/tests/playnup.2
+++ texk/psutils/tests/playnup.2 2020-03-20 12:06:37.965805617 +0000
@@ -1 +1,9 @@
+warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /usr/share/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /var/cache/texmf/fonts/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
[1] [2] [3] [4] [5] [6] Wrote 6 pages, 16644 bytes
--- texk/psutils/tests/playnup1.2
+++ texk/psutils/tests/playnup1.2 2020-03-20 12:07:21.136995637 +0000
@@ -1 +1,9 @@
+warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /usr/share/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /var/cache/texmf/fonts/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
[1] Wrote 1 pages, 19503 bytes
--- texk/psutils/tests/playps.2
+++ texk/psutils/tests/playps.2 2020-03-20 12:08:02.816213645 +0000
@@ -1 +1,9 @@
+warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /usr/share/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
+warning: kpathsea: /var/cache/texmf/fonts/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
[1] [2] [3] [4] [5] [6] Wrote 6 pages, 16696 bytes

View File

@ -1,9 +1,9 @@
---
texk/psutils/psutils-1.23/epsffit.c | 13 +++++++++----
texk/psutils/psutils-src/epsffit.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
--- texk/psutils/psutils-1.23/epsffit.c
+++ texk/psutils/psutils-1.23/epsffit.c 2009-08-28 14:47:37.000000000 +0000
--- texk/psutils/psutils-src/epsffit.c
+++ texk/psutils/psutils-src/epsffit.c 2009-08-28 14:47:37.000000000 +0000
@@ -147,9 +147,14 @@ main(int argc, char **argv)
yoffset -= lly * yscale;
}

View File

@ -1,20 +0,0 @@
---
texk/web2c/synctexdir/ac/synctex.ac | 2 +-
texk/web2c/synctexdir/synctex_parser_api_level | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
--- texk/web2c/synctexdir/ac/synctex.ac
+++ texk/web2c/synctexdir/ac/synctex.ac 2019-04-18 07:52:09.402744074 +0000
@@ -6,7 +6,7 @@ dnl
dnl Additional code for synctex
dnl
m4_define([synctex_version],
- m4_chomp(m4_include([synctexdir/synctex_parser_api_level.txt])))
+ m4_chomp(m4_include([synctexdir/synctex_parser_api_level])))
AC_SUBST([SYNCTEXVERSION], [synctex_version])
KPSE_LT_VERSION([synctex])
--- texk/web2c/synctexdir/synctex_parser_api_level
+++ texk/web2c/synctexdir/synctex_parser_api_level 2018-04-23 11:57:26.371746955 +0000
@@ -0,0 +1 @@
+2.0

View File

@ -1,19 +1,18 @@
---
libs/gmp/Makefile.in | 2 +-
libs/icu/icu-src/source/i18n/decNumber.h | 22 +++++++++++++---------
libs/lua52/Makefile.in | 4 ++--
libs/lua53/Makefile.in | 4 ++--
libs/mpfr/Makefile.in | 2 +-
libs/teckit/TECkit-src/source/Compiler.cpp | 17 ++++++++++-------
libs/teckit/TECkit-src/source/Compiler.cpp | 12 +++++++-----
texk/makeindexk/genind.h | 16 +++++++++++++++-
texk/makeindexk/mkind.h | 20 +++++++++++++++++---
texk/makeindexk/scanid.h | 16 +++++++++++++++-
texk/makeindexk/scanst.h | 16 +++++++++++++++-
10 files changed, 93 insertions(+), 32 deletions(-)
9 files changed, 86 insertions(+), 24 deletions(-)
--- libs/gmp/Makefile.in
+++ libs/gmp/Makefile.in 2016-06-07 13:29:33.925651292 +0000
@@ -480,7 +480,7 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -484,7 +484,7 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@ -66,7 +65,7 @@
--- libs/lua53/Makefile.in
+++ libs/lua53/Makefile.in 2016-06-07 13:29:33.925651292 +0000
@@ -238,11 +238,11 @@ depcomp = $(SHELL) $(top_srcdir)/../../b
@@ -238,11 +238,11 @@ am__depfiles_remade = ./$(DEPDIR)/luates
@LUA53_TREE@/src/$(DEPDIR)/lzio.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@ -92,28 +91,23 @@
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
--- libs/teckit/TECkit-src/source/Compiler.cpp
+++ libs/teckit/TECkit-src/source/Compiler.cpp 2016-06-07 13:29:51.653318024 +0000
@@ -1449,13 +1449,16 @@ Compiler::Compiler(const char* txt, UInt
if (dest != 0) {
int result = compress2(dest + 8, &destLen, compiledTable, compiledSize, Z_BEST_COMPRESSION);
+++ libs/teckit/TECkit-src/source/Compiler.cpp 2020-03-19 13:42:03.021195717 +0000
@@ -1451,11 +1451,13 @@ Compiler::Compiler(const char* txt, UInt
if (result == Z_OK) {
- destLen += 8;
- dest = (Byte*)realloc(dest, destLen); // shrink dest to fit
- WRITE(((FileHeader*)dest)->type, kMagicNumberCmp);
- WRITE(((FileHeader*)dest)->version, compiledSize);
destLen += 8;
dest = static_cast<Byte*>(realloc(dest, destLen)); // shrink dest to fit
- WRITE(reinterpret_cast<FileHeader*>(dest)->type, kMagicNumberCmp);
- WRITE(reinterpret_cast<FileHeader*>(dest)->version, compiledSize);
- free(compiledTable);
- compiledTable = dest;
- compiledSize = destLen;
+ if ((dest = (Byte*)realloc(dest, destLen+8)) != NULL) {
+ destLen += 8;
+ WRITE(((FileHeader*)dest)->type, kMagicNumberCmp);
+ WRITE(((FileHeader*)dest)->version, compiledSize);
+ if (dest != NULL) {
+ WRITE(reinterpret_cast<FileHeader*>(dest)->type, kMagicNumberCmp);
+ WRITE(reinterpret_cast<FileHeader*>(dest)->version, compiledSize);
+ free(compiledTable);
+ compiledTable = dest;
+ compiledSize = destLen;
+ }
+ else
+ free(dest);
}
else
free(dest);

View File

@ -4,7 +4,7 @@
--- texk/xdvik/xdvi.h
+++ texk/xdvik/xdvi.h 2016-01-28 12:20:33.976881969 +0000
@@ -194,6 +194,12 @@ extern unsigned long time_start, time_en
@@ -182,6 +182,12 @@ extern unsigned long time_start, time_en
#include <inttypes.h>
#endif

View File

@ -6,8 +6,6 @@
texk/kpathsea/c-memstr.h | 3
texk/kpathsea/cnf-to-paths.awk | 2
texk/kpathsea/db.c | 13 -
texk/kpathsea/mktex.opt | 39 ++-
texk/kpathsea/mktexlsr | 52 +++-
texk/kpathsea/progname.c | 4
texk/kpathsea/texmf.cnf | 140 +++++++-----
texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc | 3
@ -16,33 +14,15 @@
texk/texlive/linked_scripts/texlive/fmtutil-sys.sh | 1
texk/texlive/linked_scripts/texlive/fmtutil.pl | 24 +-
texk/texlive/linked_scripts/texlive/updmap-sys.sh | 1
texk/texlive/tl_scripts/fmtutil.cnf | 17 -
texk/texlive/tl_scripts/texconfig-dialog.sh | 14 -
texk/texlive/tl_scripts/texconfig-sys.sh | 1
texk/texlive/tl_scripts/texconfig.sh | 35 ---
texk/texlive/tl_scripts/texlinks.sh | 53 +++-
texk/web2c/Makefile.in | 7
texk/web2c/luatexdir/luapplib/ppheap.c | 61 ++---
texk/web2c/luatexdir/luapplib/ppload.c | 4
texk/web2c/uptexdir/tests/gkhugeng.err | 8
texk/web2c/window/regis.c | 8
texk/web2c/window/x11-Xlib.c | 8
texk/web2c/window/x11-Xt.c | 4
texk/xdvik/psgs.c | 22 +
texk/xdvik/xdvi-sh.in | 19 +
31 files changed, 393 insertions(+), 190 deletions(-)
22 files changed, 224 insertions(+), 83 deletions(-)
--- libs/icu/icu-src/source/common/Makefile.in
+++ libs/icu/icu-src/source/common/Makefile.in 2018-04-10 09:02:17.774983801 +0000
@@ -69,7 +69,7 @@ DEFS += -DU_COMMON_IMPLEMENTATION
LDFLAGS += $(LDFLAGSICUUC)
# for plugin configuration
-CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"$(libdir)/icu\" "
+CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"/usr/lib/icu\" "
# for icu data location
ifeq ($(PKGDATA_MODE),common)
--- reautoconf
+++ reautoconf 2018-04-10 09:02:17.774983801 +0000
@@ -83,7 +83,7 @@ echo "$0: TL_AUTOHEADER, T
@ -54,6 +34,17 @@
AUTOCONF=$TL_AUTOCONF
AUTOHEADER=$TL_AUTOHEADER
--- libs/icu/icu-src/source/common/Makefile.in
+++ libs/icu/icu-src/source/common/Makefile.in 2018-04-10 09:02:17.774983801 +0000
@@ -69,7 +69,7 @@ DEFS += -DU_COMMON_IMPLEMENTATION
LDFLAGS += $(LDFLAGSICUUC)
# for plugin configuration
-CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"$(libdir)/icu\" "
+CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"/usr/lib/icu\" "
# for icu data location
ifeq ($(PKGDATA_MODE),common)
--- texk/dviljk/dvi2xx.c
+++ texk/dviljk/dvi2xx.c 2018-04-10 09:02:17.858982223 +0000
@@ -168,7 +168,18 @@ main(int argc, char *argv[])
@ -155,190 +146,6 @@
while ((line = read_line (db_file)) != NULL) {
len = strlen (line);
--- texk/kpathsea/mktex.opt
+++ texk/kpathsea/mktex.opt 2018-04-10 09:02:17.858982223 +0000
@@ -38,10 +38,11 @@ if test "$DOSISH" = "no"; then SEP=':';
# TEMPDIR needs to be unique to each process because of the possibility of two
# people running dvips (or whatever) simultaneously.
if test -n "$TMPDIR"; then
- TEMPDIR="${TMPDIR}/mt$$.tmp"
+ TEMPDIR="${TMPDIR}/.mtXXXXXXXXXX"
else
- TEMPDIR="/tmp/mt$$.tmp"
+ TEMPDIR="/tmp/.mtXXXXXXXXXX"
fi
+TEMPDIR=$(mktemp -d "$TEMPDIR") || exit 1
# We want to output only filenames to standard output, but it's too
# error-prone to write the scripts that way, so we direct stdout here.
@@ -49,17 +50,23 @@ STDOUT="$TEMPDIR/mt$$.out"
# We will change search paths to include $KPSE_DOT. This is necessary
# since we cd to $TEMPDIR.
-: ${KPSE_DOT=`pwd`}; export KPSE_DOT
+: ${KPSE_DOT=${PWD}}; export KPSE_DOT
# Clean up on normal or abnormal exit.
# The "cd /" is for MS-DOS and MS-Windows, where there is a separate
# current directory on each drive, and therefore "cd $KPSE_DOT" might
# still leave $TMPDIR current directory on its drive, in which case it
# cannot be removed.
-trap 'rc=$?; cd /; cd "$KPSE_DOT"; test -f "$STDOUT" && cat "$STDOUT"; rm -rf "$TEMPDIR"; exit $rc' \
- 0 1 2 3 7 13 15
+atexit ()
+{
+ local rc=$?
+ cd "$KPSE_DOT"
+ test -n "$STDOUT" -a -f "$STDOUT" && cat "$STDOUT"
+ test -n "$TEMPDIR" -a -d "$TEMPDIR" && rm -rf "$TEMPDIR"
+ exit $rc
+}
+trap 'atexit' EXIT SIGHUP SIGINT SIGQUIT SIGBUS SIGPIPE SIGTERM
-(umask 077 && mkdir "$TEMPDIR") || exit 1
cd "$TEMPDIR" || exit 1
# The alternative location for fonts. The directory need not exist,
@@ -69,6 +76,11 @@ if test -z "$MT_VARTEXFONTS"; then
echo "$0: VARTEXFONTS is not defined. Defaulting to \`$KPSE_DOT'." >&2
MT_VARTEXFONTS='$KPSE_DOT'
fi
+: ${MT_TEXMFVAR=`kpsewhich --expand-var='$TEXMFVAR' | sed 's%^!!%%'`}
+if test -z "$MT_TEXMFVAR"; then
+ echo "$0: TEXMFVAR is not defined. Defaulting to \`$KPSE_DOT'." >&2
+ MT_TEXMFVAR='$KPSE_DOT'
+fi
# The supporting scripts:
: ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
@@ -109,9 +121,18 @@ fi
: ${MAG=1.0}
: ${ps_to_pk=gsftopk} # some prefer ps2pk
-# Allow fonts to be read and written (especially in case we make
-# directories) by everyone.
-umask 0
+case ":${MT_FEATURES}:" in
+*:varfonts:*)
+ if test -w "$MT_VARTEXFONTS" ; then
+ # Allow fonts to be read and written (especially in case we make
+ # directories) by everyone.
+ umask 0
+ else
+ umask 022
+ MT_VARTEXFONTS=$HOME/.cache/texmf/fonts
+ test -d $MT_VARTEXFONTS || mkdir -p $MT_VARTEXFONTS
+ fi
+esac
# Cache values that may be useful for recursive calls.
export MT_MKTEX_OPT MT_MKTEX_CNF
--- texk/kpathsea/mktexlsr
+++ texk/kpathsea/mktexlsr 2018-04-10 09:02:17.858982223 +0000
@@ -58,6 +58,9 @@ if test "$DOSISH" = "no"; then SEP=':';
# be done before kpsewhich can be called, and thus cannot be put into
# mktex.opt.
dirname=`echo $0 | sed 's%/*[^/][^/]*$%%'`
+case "$SEP$PATH$SEP" in
+ *$SEP$dirname$SEP*) dirname="" ;;
+esac
case $dirname in
"") # Do nothing
;;
@@ -152,6 +155,16 @@ old_ls_R_magic='% ls-R -- maintained by
shift
}
+cache="`kpsewhich --expand-var='$VARTEXFONTS'`"
+{
+ saveIFS=$IFS
+ IFS=:
+ for c in ${cache}; do
+ test -w "$c" || continue
+ cache=$c
+ done
+ IFS=$saveIFS
+}
for TEXMFLS_R in "$@"; do
# Prepend cwd if the directory was relative.
case "$TEXMFLS_R" in
@@ -181,12 +194,23 @@ for TEXMFLS_R in "$@"; do
# want to be silent if the directory doesn't exist, since the ls-R
# path ordinarily contains many nonexistent directories.
test -d "$db_dir" || continue
- test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
+ if test -w "$db_dir" ; then
+ # default
+ db_dir_tmp="$db_dir/.lsR.XXXXXX"
+ else
+ # Escape to writable cache directory
+ test -w "$cache" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
+ db_dir_tmp="$cache/.lsR.XXXXXX"
+ fi
if test ! -f "$db_file"; then
- cp /dev/null "$db_file"
+ # Note: this script has set the noclobber option at line 40
+ > "$db_file" \
+ || { echo "$progname: could not create file '$db_file'. Skipping..." >&2; continue; }
# Use same permissions as parent directory, minus x,s, or t bits.
chmod `kpsestat -xst "$db_dir"` "$db_file"
+ elif test -w $db_file -a ! -s $db_file ; then
+ : Is writable but empty
elif test -s "$db_file" \
&& test "x`sed '1s/ $//;1q' \"$db_file\"`" != "x$ls_R_magic" \
&& test "x`sed '1s/ $//;1q' \"$db_file\"`" != "x$old_ls_R_magic"; then
@@ -197,8 +221,13 @@ for TEXMFLS_R in "$@"; do
# Skip if we cannot write the file:
kpseaccess -w "$db_file" || { echo "$progname: $db_file: no write permission, skipping..." >&2; continue; }
- db_dir_tmp="$db_dir/lsR$$.tmp"
- (umask 077 && mkdir "$db_dir_tmp" ) \
+ until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
+ if test "$PERMS" = "666" -a ! -k "$db_dir" ; then
+ echo "$progname: $db_file: world writable but '$db_dir' not sticky, skipping..." >&2
+ continue
+ fi
+
+ db_dir_tmp=$(mktemp -d "$db_dir_tmp") \
|| { echo "$progname: $db_dir_tmp: could not create directory, skipping..." >&2; continue; }
db_file_tmp="$db_dir_tmp/lsR$$.tmp"
rm -f "$db_file_tmp"
@@ -206,7 +235,9 @@ for TEXMFLS_R in "$@"; do
$verbose && echo "$progname: Updating $db_file... "
$dry_run && continue
- echo "$ls_R_magic" >"$db_file_tmp"
+ # Note: this script has set the noclobber option at line 40
+ echo "$ls_R_magic" >"$db_file_tmp" \
+ || { echo "$progname: $db_file_tmp: could not create file, skipping..." >&2; continue; }
# The main task. We put ./: in the output, so top-level files can be
# found via ls-R. Probably irrelevant in practice. The sed command
@@ -220,15 +251,20 @@ for TEXMFLS_R in "$@"; do
vc_dirs='\.\(bzr\|git\|hg\|svn\)\|_darcs'
(cd "$TEXMFLS_R" && \ls -LRa 2>/dev/null) \
| sed -e '/^$/{n;s%^\./%%;s%^%./%;}; /^\.$/d; /^\.\.$/d; /^'$vc_dirs'$/d;' \
- -e '/^[\.\/]*lsR[0-9]*\.tmp:*$/d' \
+ -e '/^[\.\/]*lsR[0-9]*\.tmp:*$/d;/^[\.\/]*'${db_dir_tmp##*/}':*$/d' \
| sed -e /$vc_dirs'.*:$/,/^$/d' \
>>"$db_file_tmp"
# To be really safe, a loop.
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
- rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+ if test -w "$db_file" ; then
+ # Sticky bit is set see line 200
+ # Temporary unset the noclobber option at line 40
+ set +o noclobber
+ cat "$db_file_tmp" > "$db_file"
+ set -o noclobber
+ fi
rm -rf "$db_dir_tmp"
done
--- texk/kpathsea/progname.c
+++ texk/kpathsea/progname.c 2018-04-10 09:02:17.862982147 +0000
@@ -662,9 +662,9 @@ kpathsea_set_program_name (kpathsea kpse
@ -354,8 +161,8 @@
sdir_greatgrandparent = xdirname (sdir_grandparent);
kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent));
--- texk/kpathsea/texmf.cnf
+++ texk/kpathsea/texmf.cnf 2019-05-29 06:12:28.489081219 +0000
@@ -61,20 +61,20 @@
+++ texk/kpathsea/texmf.cnf 2020-03-20 09:47:16.242820144 +0000
@@ -62,20 +62,20 @@
TEXMFROOT = $SELFAUTOPARENT
% The main tree of distributed packages and programs:
@ -380,20 +187,20 @@
% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
% more than one per-user tree, set this to a list of directories in
@@ -83,10 +83,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
@@ -84,10 +84,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
-TEXMFVAR = ~/.texlive2019/texmf-var
-TEXMFVAR = ~/.texlive2020/texmf-var
+TEXMFVAR = ${TEXMFSYSVAR}
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
-TEXMFCONFIG = ~/.texlive2019/texmf-config
-TEXMFCONFIG = ~/.texlive2020/texmf-config
+TEXMFCONFIG = ${TEXMFSYSCONFIG}
% This is the value manipulated by tlmgr's auxtrees subcommand in the
% root texmf.cnf. Kpathsea warns about a literally empty string for a
@@ -107,7 +107,7 @@ TEXMFAUXTREES = {}
@@ -108,7 +108,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
@ -402,7 +209,7 @@
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not
@@ -115,24 +115,23 @@ TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEX
@@ -116,24 +116,23 @@ TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEX
% present, it will be used, and the disk will not (usually) be searched,
% regardless of !!. Although in principle a directory listed here need
% not contain an ls-R file, in practice they all should.
@ -430,7 +237,7 @@
% On some systems, there will be a system tree which contains all the font
% files that may be created as well as the formats. For example
@@ -143,7 +142,8 @@ VARTEXFONTS = $TEXMFVAR/fonts
@@ -144,7 +143,8 @@ VARTEXFONTS = $TEXMFVAR/fonts
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).
@ -440,7 +247,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Usually you will not need to edit any of the following variables.
@@ -151,7 +151,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
@@ -152,7 +152,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
% WEB2C is for Web2C specific files. The current directory may not be
% a good place to look for them.
@ -449,7 +256,7 @@
% This variable exists only to be redefined; it is used in nearly all
% search paths. If a document has source files not only in the current
@@ -285,7 +285,7 @@ TEXINPUTS = $TEXMFDOTDIR;$
@@ -307,7 +307,7 @@ TEXINPUTS = $TEXMFDOTDIR;$
TTF2TFMINPUTS = $TEXMFDOTDIR;$TEXMF/ttf2pk//
% Metafont, MetaPost inputs.
@ -458,7 +265,7 @@
MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost//
% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
@@ -295,31 +295,31 @@ MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost/
@@ -317,31 +317,31 @@ MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost/
% We repeat the same definition three times because of the way fmtutil
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
% will not be found.
@ -497,7 +304,7 @@
% Similarly for the GF format, which only remains in existence because
% Metafont outputs it (and MF isn't going to change).
@@ -415,8 +415,8 @@ MPSUPPORT = $TEXMFDOTDIR;$TEXMF/metapost
@@ -437,8 +437,8 @@ MPSUPPORT = $TEXMFDOTDIR;$TEXMF/metapost
% For xdvi to find mime.types and .mailcap, if they do not exist in
% ~. These are single directories, not paths.
% (But the default mime.types, at least, may well suffice.)
@ -508,7 +315,7 @@
% Default settings for the fontconfig library as used by the Windows
% versions of xetex/xdvipdfmx. Not used by xetex on Unixish systems.
@@ -440,10 +440,10 @@ WEBINPUTS = $TEXMFDOTDIR;$TEXMF/web//
@@ -462,10 +462,10 @@ WEBINPUTS = $TEXMFDOTDIR;$TEXMF/web//
CWEBINPUTS = $TEXMFDOTDIR;$TEXMF/cweb//
% Omega-related fonts and other files.
@ -523,7 +330,7 @@
OTPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/otp//
OCPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/ocp//
@@ -526,32 +526,38 @@ RUBYINPUTS = $TEXMFDOTDIR;$TEXMF/scrip
@@ -558,32 +558,38 @@ RUBYINPUTS = $TEXMFDOTDIR;$TEXMF/scrip
% explicitly list every directory. Arguably more understandable anyway.
%
TEXMFCNF = {\
@ -587,10 +394,10 @@
%
% For reference, here is the old brace-using definition:
%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
@@ -836,3 +842,33 @@ max_cols.gftype = 8191
% Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends?
% Default is 1, to guess. Used on Windows only.
guess_input_kanji_encoding = 1
@@ -894,3 +900,33 @@ guess_input_kanji_encoding = 1
% command_line_encoding = none
% in a texmf.cnf prefered, for example $TEXMFLOCAL/web2c/texmf.cnf.
command_line_encoding = utf-8
+
+% These are xmltex specific
+main_memory.xmltex = 1500000
@ -635,7 +442,7 @@
#define VERSION_OPT 301
--- texk/ps2pk/pk2bm.c
+++ texk/ps2pk/pk2bm.c 2018-04-10 09:02:17.862982147 +0000
@@ -103,7 +102,7 @@ int main(int argc, char *argv[])
@@ -103,7 +103,7 @@ invalid:
}
}
@ -685,7 +492,7 @@
+umask 022
exec fmtutil --sys ${1+"$@"}
--- texk/texlive/linked_scripts/texlive/fmtutil.pl
+++ texk/texlive/linked_scripts/texlive/fmtutil.pl 2018-04-10 09:02:17.862982147 +0000
+++ texk/texlive/linked_scripts/texlive/fmtutil.pl 2020-03-20 09:50:01.803710617 +0000
@@ -10,16 +10,16 @@
# History:
# Original shell script (C) 2001 Thomas Esser, public domain
@ -732,7 +539,7 @@
}
# set up destination directory
$opts{'fmtdir'} ||= "$texmfvar/web2c";
@@ -597,6 +604,7 @@ sub rebuild_one_format {
@@ -599,6 +606,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
@ -740,12 +547,12 @@
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 {
@@ -658,11 +666,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");
print_deferred_error("not building $fmt due to missing engine: $eng\n");
return $FMT_FAILURE;
}
}
@ -764,248 +571,9 @@
+umask 022
exec updmap --sys ${1+"$@"}
--- texk/texlive/tl_scripts/fmtutil.cnf
+++ texk/texlive/tl_scripts/fmtutil.cnf 2018-04-10 09:02:17.862982147 +0000
@@ -46,10 +46,11 @@ amstex pdftex - -translate-file=cp227.tc
# from context:
cont-en pdftex cont-usr.tex -8bit *cont-en.mkii
cont-en xetex cont-usr.tex -8bit *cont-en.mkii
-#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
-#! cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
-#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
-#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
+cont-de pdftex cont-usr.tex -8bit *cont-fr.mkii
+cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
+cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
+cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
+cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
#
# from cslatex:
cslatex pdftex - -etex cslatex.ini
@@ -66,8 +67,8 @@ pdfcsplain luatex - -etex csplain.ini
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
#
# from jadetex:
-jadetex pdftex language.dat *jadetex.ini
-pdfjadetex pdftex language.dat *pdfjadetex.ini
+jadetex pdftex language.dat -translate-file=cp227.tcx *jadetex.ini
+pdfjadetex pdftex language.dat -translate-file=cp227.tcx *pdfjadetex.ini
#
# from latex-bin:
latex pdftex language.dat -translate-file=cp227.tcx *latex.ini
@@ -132,5 +133,5 @@ xetex xetex language.def -etex xetex.ini
xelatex xetex language.dat -etex xelatex.ini
#
# from xmltex:
-xmltex pdftex language.dat *xmltex.ini
-pdfxmltex pdftex language.dat *pdfxmltex.ini
+xmltex pdftex language.dat -translate-file=cp227.tcx *xmltex.ini
+pdfxmltex pdftex language.dat -translate-file=cp227.tcx *pdfxmltex.ini
--- texk/texlive/tl_scripts/texconfig-dialog.sh
+++ texk/texlive/tl_scripts/texconfig-dialog.sh 2018-04-10 09:02:17.862982147 +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'
--- texk/texlive/tl_scripts/texconfig-sys.sh
+++ texk/texlive/tl_scripts/texconfig-sys.sh 2018-04-10 09:02:17.862982147 +0000
@@ -30,4 +30,5 @@ TEXMFVAR="$v"
TEXMFCONFIG="$c"
export TEXMFVAR TEXMFCONFIG
+umask 022
exec texconfig ${1+"$@"}
--- texk/texlive/tl_scripts/texconfig.sh
+++ texk/texlive/tl_scripts/texconfig.sh 2018-04-10 09:02:17.862982147 +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 )
;;
#
--- texk/texlive/tl_scripts/texlinks.sh
+++ texk/texlive/tl_scripts/texlinks.sh 2018-04-10 09:02:17.862982147 +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
--- texk/web2c/Makefile.in
+++ texk/web2c/Makefile.in 2018-04-10 09:02:17.870981997 +0000
@@ -4947,7 +4947,7 @@ libmd5_a_SOURCES = libmd5/md5.c libmd5/m
@@ -5085,7 +5085,7 @@ libmd5_a_SOURCES = libmd5/md5.c libmd5/m
md5main_CPPFLAGS = -I$(srcdir)/libmd5
md5main_SOURCES = libmd5/md5main.c
md5main_LDADD = libmd5.a
@ -1014,7 +582,7 @@
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
@@ -4994,6 +4994,11 @@ w2c/c-auto.h: w2c/stamp-h1
@@ -5132,6 +5132,11 @@ w2c/c-auto.h: w2c/stamp-h1
w2c/stamp-h1: $(srcdir)/c-auto.in $(top_builddir)/config.status
@rm -f w2c/stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status w2c/c-auto.h
@ -1026,165 +594,8 @@
$(srcdir)/c-auto.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f w2c/stamp-h1
--- texk/web2c/luatexdir/luapplib/ppheap.c
+++ texk/web2c/luatexdir/luapplib/ppheap.c 2019-05-20 12:04:35.067508800 +0000
@@ -101,21 +101,25 @@
#endif
typedef struct _simplereg {
- size_t bucket_pos;
+ int heap_instance;
+ int bucket_pos;
size_t bucket_size;
- size_t heap_instance;
- aligned_data **align_data_set ;
-} simplereg;
+ union {
+ void *_area;
+ aligned_data **_set;
+ } align_data __attribute__ ((aligned(__alignof__(void*))));
+} simplereg __attribute__ ((aligned(__alignof__(void*))));
/* By default static vars are initialized to NULL, but to be clear.. */
static simplereg *align_set = NULL ;
static void align_init_set(void){
size_t size ;
+ int p;
if (align_set) {
align_set->heap_instance++;
- return ;
+ return;
}
align_set = malloc(sizeof(simplereg));
@@ -125,8 +129,8 @@
}
size = SIZE_OF_POINTER*ALIGN_BUFF_BUCKET_SIZE;
- align_set->align_data_set = malloc(size);
- if (!align_set->align_data_set) {
+ align_set->align_data._area = malloc(size);
+ if (!align_set->align_data._area) {
fprintf(stderr,"! fatal error: unable to setup register for aligned pointers\n");
exit(EXIT_FAILURE);
}
@@ -134,37 +138,40 @@
align_set->bucket_pos = 0;
align_set->bucket_size = ALIGN_BUFF_BUCKET_SIZE;
align_set->heap_instance = 1;
- memset(align_set->align_data_set, 0UL,size);
+ memset(align_set->align_data._area, 0, size);
+ p = align_set->bucket_size;
+ while (p-- > 0){
+ align_set->align_data._set[p] = NULL;
+ }
}
static void align_save_into_set(aligned_data *p){
if (align_set->bucket_pos >= align_set->bucket_size) {
size_t new_size;
- aligned_data **align_data_set_new;
+ void *align_data_area_new;
- if(!align_set->align_data_set){
+ if(!align_set->align_data._area){
fprintf(stderr,"! fatal error: unable to save aligned pointer,corrupted set\n");
exit(EXIT_FAILURE);
}
new_size = (ALIGN_BUFF_BUCKET_SIZE+align_set->bucket_size)*SIZE_OF_POINTER;
- align_data_set_new = malloc(new_size);
- if (!align_data_set_new) {
+ align_data_area_new = malloc(new_size);
+ if (!align_data_area_new) {
fprintf(stderr,"! fatal error: unable to save aligned pointer\n");
exit(EXIT_FAILURE);
}
- memset(align_data_set_new,0,new_size);
- memcpy(align_data_set_new, align_set->align_data_set, align_set->bucket_size*SIZE_OF_POINTER);
- free(align_set->align_data_set);
- align_set->align_data_set = align_data_set_new ;
+ memset(align_data_area_new,0,new_size);
+ memcpy(align_data_area_new, align_set->align_data._area, align_set->bucket_size*SIZE_OF_POINTER);
+ free(align_set->align_data._area);
+ align_set->align_data._area = align_data_area_new ;
align_set->bucket_size += ALIGN_BUFF_BUCKET_SIZE;
}
if (align_set->bucket_pos>align_set->bucket_size){
fprintf(stderr,"! fatal error: unable to save aligned pointer, wrong position\n");
exit(EXIT_FAILURE);
}
- align_set->align_data_set[align_set->bucket_pos] = p ;
+ align_set->align_data._set[align_set->bucket_pos] = p ;
align_set->bucket_pos++;
-
}
static void align_free_set(void){
@@ -174,15 +181,16 @@
if (align_set->heap_instance>1) {
align_set->heap_instance--;
} else if (align_set->heap_instance ==1) {
- if (align_set->align_data_set){
- size_t p;
- for(p=1;p<align_set->bucket_pos;p++){
- if (align_set->align_data_set[p]) {
- free(align_set->align_data_set[p]);
+ if (align_set->align_data._area){
+ int p = align_set->bucket_pos;
+ while (p-- > 0){
+ if (align_set->align_data._set[p]) {
+ free(align_set->align_data._set[p]);
+ align_set->align_data._set[p] = NULL;
}
}
- free(align_set->align_data_set);
- align_set->align_data_set = NULL;
+ free(align_set->align_data._area);
+ align_set->align_data._area = NULL;
}
align_set->heap_instance=0;
free(align_set);
@@ -225,7 +233,6 @@
#ifdef PPHEAP_NEED_ALIGNMENT
align_free_set();
#endif
-
}
void ppheap_renew (ppheap *heap)
@@ -415,7 +422,7 @@
// iof_close(O);
#ifdef PPHEAP_NEED_ALIGNMENT
/* Todo: only if data%sizeof(aligned_data) != 0 */
- p_aligned_data = malloc(size);
+ p_aligned_data = (aligned_data*)malloc(size);
if (!p_aligned_data) {
fprintf(stderr,"! fatal error: unable to setup aligned pointer for ppheap_flush\n");
exit(EXIT_FAILURE);
--- texk/web2c/luatexdir/luapplib/ppload.c
+++ texk/web2c/luatexdir/luapplib/ppload.c 2019-05-20 11:59:47.417508800 +0000
@@ -60,7 +60,7 @@
ghost->size = siz - sizeof(_ppname) - 1, \
(ppname)(ghost + 1))
-#if ARM_COMPLAINT
+#if ARM_COMPLIANT
#define ppname_flush_with_ego(O, ghost, siz, flgs) \
(iof_put(O, '\0'), \
pad=(O->pos - pos_begin)%(sizeof(ppname*)), \
@@ -270,7 +270,7 @@
-#if ARM_COMPLIANT
+#if 0 // ARM_COMPLIANT /* Invalid write of size 8 */
#define ppstring_set_alter_ego(string, ghost, ego) do{ \
size_t t = ((ghost)->size + 1); \
t = (t%sizeof(ppstring *))==0?t: (t/sizeof(ppstring *)+1)*sizeof(ppstring *); \
--- texk/web2c/uptexdir/tests/gkhugeng.err
+++ texk/web2c/uptexdir/tests/gkhugeng.err 2019-05-13 11:22:35.158192154 +0000
+++ texk/web2c/uptexdir/tests/gkhugeng.err 2019-05-13 11:22:35.158192154 +0000
@@ -1,3 +1,11 @@
+warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
+warning: kpathsea: See the manual for how to generate ls-R.
@ -1268,7 +679,7 @@
/* Condition for retrying a write */
#include <errno.h>
@@ -625,6 +627,26 @@ initGS(void)
@@ -619,6 +621,26 @@ initGS(void)
perror("[xdvik] pipe");
return False;
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:78d4810ab8acf4bd2cd2899b8fc4a263b7c54e556c49da7349eb3bcd1607608e
size 44061908

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:08101d413463d361bc07678ecad2bafe767c3a2f20df259d7e011a7b25b8839b
size 55412152

View File

@ -1,8 +1,42 @@
-------------------------------------------------------------------
Mon Apr 20 07:02:13 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Update to TeXLive 2020
* Version based on texlive-20200327-source and biber-2.14
* Remove patches now fixed upstream
0001-Updated-tests-after-U-C-upgrade-changed-sortinit-hashes.patch
source-poppler0.84.0.patch
source-common.patch
source-fix-axohelp.patch
source-synctex-bump-soname.dif
* Ported patches
biber-certs.dif
source-64.dif
source-a2ping.dif
source-configure.dif
source-fix-bool-poppler.patch
source-fix-const-poppler0.66.0.patch
source-lacheck.dif
source-poppler-fix-dict-memleak.patch
source-poppler-use-std_string.patch
source-psutils-kpathsea.dif
source-psutils.dif
source-warns.dif
source-x11r7.dif
source.dif
* New patch source-psutils-kpathsea.dif to avoid false positiv
-------------------------------------------------------------------
Fri Mar 27 01:39:45 UTC 2020 - Michael Gorse <mgorse@suse.com>
- Add source-poppler0.86.0.patch: fix build with poppler 0.86.0.
-------------------------------------------------------------------
Fri Mar 20 12:12:25 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add patch source-psutils-kpathsea.dif to ignore warning from
kpathsea due missing ls-R files
-------------------------------------------------------------------
Wed Mar 11 16:16:55 UTC 2020 - Dr. Werner Fink <werner@suse.de>

File diff suppressed because it is too large Load Diff