import texlive-extension-20240311-6.el10

i10ce changed/i10ce/texlive-extension-20240311-6.el10
Arkady L. Shane 1 month ago
commit 736afff555
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

150
.gitignore vendored

@ -0,0 +1,150 @@
SOURCES/cjk.tar.xz
SOURCES/standalone.tar.xz
SOURCES/glossaries-german.tar.xz
SOURCES/zhnumber.doc.tar.xz
SOURCES/texlive-licenses.tar.xz
SOURCES/ntheorem.doc.tar.xz
SOURCES/ctex.doc.tar.xz
SOURCES/revtex4.tar.xz
SOURCES/ttfutils.doc.tar.xz
SOURCES/units.doc.tar.xz
SOURCES/chemformula.doc.tar.xz
SOURCES/revtex4.doc.tar.xz
SOURCES/ascmac.tar.xz
SOURCES/convbkmk.tar.xz
SOURCES/tie.tar.xz
SOURCES/tcolorbox.doc.tar.xz
SOURCES/platex-tools.doc.tar.xz
SOURCES/pgfplots.doc.tar.xz
SOURCES/sttools.tar.xz
SOURCES/cweb.tar.xz
SOURCES/sttools.doc.tar.xz
SOURCES/ttfutils.tar.xz
SOURCES/newtx.tar.xz
SOURCES/tcolorbox.tar.xz
SOURCES/latex-firstaid-dev.tar.xz
SOURCES/texlive-20240311-source-clean.tar.xz
SOURCES/babel-french.doc.tar.xz
SOURCES/ps2eps.doc.tar.xz
SOURCES/sidecap.doc.tar.xz
SOURCES/media9.tar.xz
SOURCES/ieeetran.tar.xz
SOURCES/xecjk.tar.xz
SOURCES/latex-base-dev.tar.xz
SOURCES/ctex.tar.xz
SOURCES/nomencl.tar.xz
SOURCES/siunitx.tar.xz
SOURCES/latex-base-dev.doc.tar.xz
SOURCES/boondox.doc.tar.xz
SOURCES/supertabular.doc.tar.xz
SOURCES/selinput.tar.xz
SOURCES/ieeetran.doc.tar.xz
SOURCES/bibunits.doc.tar.xz
SOURCES/convbkmk.doc.tar.xz
SOURCES/zhmetrics.tar.xz
SOURCES/units.tar.xz
SOURCES/kantlipsum.tar.xz
SOURCES/tie.doc.tar.xz
SOURCES/lipsum.tar.xz
SOURCES/ptex-fonts.doc.tar.xz
SOURCES/ptex-fonts.tar.xz
SOURCES/ctie.doc.tar.xz
SOURCES/auto-pst-pdf.tar.xz
SOURCES/japanese-otf.tar.xz
SOURCES/fltpoint.doc.tar.xz
SOURCES/zhmetrics.doc.tar.xz
SOURCES/pgfplots.tar.xz
SOURCES/ptex-base.tar.xz
SOURCES/luatexja.tar.xz
SOURCES/chemformula.tar.xz
SOURCES/glossaries-french.tar.xz
SOURCES/ctex-faq.doc.tar.xz
SOURCES/ptex-base.doc.tar.xz
SOURCES/glossaries-french.doc.tar.xz
SOURCES/babel-french.tar.xz
SOURCES/ntheorem.tar.xz
SOURCES/uptex.doc.tar.xz
SOURCES/media9.doc.tar.xz
SOURCES/chktex.doc.tar.xz
SOURCES/gincltex.tar.xz
SOURCES/ocgx2.tar.xz
SOURCES/web.tar.xz
SOURCES/xcjk2uni.tar.xz
SOURCES/filemod.tar.xz
SOURCES/german.tar.xz
SOURCES/bibunits.tar.xz
SOURCES/uptex-base.tar.xz
SOURCES/glossaries-german.doc.tar.xz
SOURCES/adobemapping.tar.xz
SOURCES/fltpoint.tar.xz
SOURCES/everyhook.doc.tar.xz
SOURCES/germbib.doc.tar.xz
SOURCES/zhmetrics-uptex.doc.tar.xz
SOURCES/ptex.tar.xz
SOURCES/cjk.doc.tar.xz
SOURCES/everyhook.tar.xz
SOURCES/web.doc.tar.xz
SOURCES/zhnumber.tar.xz
SOURCES/uptex-fonts.doc.tar.xz
SOURCES/kantlipsum.doc.tar.xz
SOURCES/platex.doc.tar.xz
SOURCES/babel-german.tar.xz
SOURCES/chktex.tar.xz
SOURCES/supertabular.tar.xz
SOURCES/auto-pst-pdf.doc.tar.xz
SOURCES/fandol.doc.tar.xz
SOURCES/cweb.doc.tar.xz
SOURCES/siunitx.doc.tar.xz
SOURCES/xpinyin.tar.xz
SOURCES/mdframed.tar.xz
SOURCES/picinpar.doc.tar.xz
SOURCES/selinput.doc.tar.xz
SOURCES/newtx.doc.tar.xz
SOURCES/luatexja.doc.tar.xz
SOURCES/chemgreek.tar.xz
SOURCES/picture.doc.tar.xz
SOURCES/uplatex.tar.xz
SOURCES/nomencl.doc.tar.xz
SOURCES/sidecap.tar.xz
SOURCES/filemod.doc.tar.xz
SOURCES/xcjk2uni.doc.tar.xz
SOURCES/standalone.doc.tar.xz
SOURCES/babel-german.doc.tar.xz
SOURCES/glossaries-english.doc.tar.xz
SOURCES/mhchem.doc.tar.xz
SOURCES/uptex-base.doc.tar.xz
SOURCES/ps2eps.tar.xz
SOURCES/boondox.tar.xz
SOURCES/hyphen-german.tar.xz
SOURCES/ipaex.doc.tar.xz
SOURCES/germbib.tar.xz
SOURCES/emulateapj.tar.xz
SOURCES/ipaex.tar.xz
SOURCES/ptex.doc.tar.xz
SOURCES/cjkpunct.doc.tar.xz
SOURCES/picture.tar.xz
SOURCES/japanese-otf.doc.tar.xz
SOURCES/picinpar.tar.xz
SOURCES/uptex-fonts.tar.xz
SOURCES/fandol.tar.xz
SOURCES/emulateapj.doc.tar.xz
SOURCES/mdframed.doc.tar.xz
SOURCES/cjkpunct.tar.xz
SOURCES/atenddvi.tar.xz
SOURCES/zhmetrics-uptex.tar.xz
SOURCES/gincltex.doc.tar.xz
SOURCES/xpinyin.doc.tar.xz
SOURCES/fontaxes.tar.xz
SOURCES/lipsum.doc.tar.xz
SOURCES/ascmac.doc.tar.xz
SOURCES/ocgx2.doc.tar.xz
SOURCES/glossaries-english.tar.xz
SOURCES/mhchem.tar.xz
SOURCES/german.doc.tar.xz
SOURCES/chemgreek.doc.tar.xz
SOURCES/atenddvi.doc.tar.xz
SOURCES/fontaxes.doc.tar.xz
SOURCES/latex-firstaid-dev.doc.tar.xz
SOURCES/platex.tar.xz
SOURCES/xecjk.doc.tar.xz
SOURCES/platex-tools.tar.xz

@ -0,0 +1,150 @@
e61baab8b3e0d2748763ff53f507e45b2ac2461d SOURCES/cjk.tar.xz
8ae60d6dc48095859cc26a69aa3879c3ff78ef9c SOURCES/standalone.tar.xz
0c3d162d6fe66994ce9709cb33324adc564b7fe9 SOURCES/glossaries-german.tar.xz
c276fe18af53b34e5b610251203ca92477798f83 SOURCES/zhnumber.doc.tar.xz
99312499608e3e74c704450e9d374dbbeb702797 SOURCES/texlive-licenses.tar.xz
796d2922e01d12586a3d61ebd406e84c71be44aa SOURCES/ntheorem.doc.tar.xz
b8c1ed86746c511c10075d886b0f469bc70c4481 SOURCES/ctex.doc.tar.xz
11b5e5fc1850326be1ca25cf0218fb99309f9252 SOURCES/revtex4.tar.xz
ebe94587dc40851fa4d8c2ab06cdb08896c1fb0d SOURCES/ttfutils.doc.tar.xz
0d441a90760da6b810fc6a37af419472779599d6 SOURCES/units.doc.tar.xz
61b1cac1a56cfec6227fa0db0af3eeffd6d25278 SOURCES/chemformula.doc.tar.xz
2cae55ce1a1a445a553c8904efa6f3d59d5834b0 SOURCES/revtex4.doc.tar.xz
cb00ab8dfce853228bdb8b501855fa6eeead1856 SOURCES/ascmac.tar.xz
9df08e1ea9e7467bcc1badc08b513a5258f1ba37 SOURCES/convbkmk.tar.xz
b632bf1a5622bafb80a2cff87221ef3c17b8a3ac SOURCES/tie.tar.xz
1465a2c31ceefd2640975dd4f0dbedcec561732a SOURCES/tcolorbox.doc.tar.xz
a84ef24db04130cfe1c72bb0f0610a626e7d5c49 SOURCES/platex-tools.doc.tar.xz
49c4d30a6a6e9e02d9d5a4496cbdf080f9782de9 SOURCES/pgfplots.doc.tar.xz
6200ed6d8787d64ed731bf664bc7a1cf8268b4f6 SOURCES/sttools.tar.xz
ccc2a90872b3937e9a49eb9c6fc81840b5b78909 SOURCES/cweb.tar.xz
0d603191e8c0e700f442f41a35983794c4e77131 SOURCES/sttools.doc.tar.xz
44a44bd18f9878cb52c64bc03b99b665ee15713a SOURCES/ttfutils.tar.xz
ef49db8506cd1b0e7e7f000815b235047a1fefc0 SOURCES/newtx.tar.xz
564970f34e8fadb9a3ef08188672be981615cf5f SOURCES/tcolorbox.tar.xz
989709ed0ba8079fe04e62c158a75e3f67f93c1e SOURCES/latex-firstaid-dev.tar.xz
51ddf19262faee13e04bb2d54583c446d02913dd SOURCES/texlive-20240311-source-clean.tar.xz
c1bacfae32d28b97d9abd68802793b8cce14e7c9 SOURCES/babel-french.doc.tar.xz
ba24794be626c947642d24c1cc73deb0aa2b0a1c SOURCES/ps2eps.doc.tar.xz
807f65554db6bd3c809bbcaa164faff5bdee5962 SOURCES/sidecap.doc.tar.xz
826720115ea39445888ba29024149179f71c32e7 SOURCES/media9.tar.xz
7c81362c97e2d739078e5645a95c7937bed9b1f6 SOURCES/ieeetran.tar.xz
b6ea36bfbfc8bc54580bcbb207f1352748ce4a05 SOURCES/xecjk.tar.xz
5208c9d039a82fdbb697069cc0a2c654621bd60e SOURCES/latex-base-dev.tar.xz
eadab782f6f2ef5c79109af122a923c9053f4446 SOURCES/ctex.tar.xz
f73046dd064f80a38838b8a4a17c05fb6f3d64c4 SOURCES/nomencl.tar.xz
c9751105292feae0d5a28efafe15c2eb10b69b93 SOURCES/siunitx.tar.xz
53084a5e489b96937ea69b12acddbfab929ba4b4 SOURCES/latex-base-dev.doc.tar.xz
5e6c4f3fc5a47fb6f9983f089b5befba6fb6a7cf SOURCES/boondox.doc.tar.xz
14f2b1fbf00e67922640cc2f8a2da458ef35de85 SOURCES/supertabular.doc.tar.xz
846410f7de1ccf1cca6455c558d230e144584ad3 SOURCES/selinput.tar.xz
ea0d3267425c42343b6a2225220aa29106814e2b SOURCES/ieeetran.doc.tar.xz
b55aceb023bb4d4c43f09504f111a519b4e8f9a9 SOURCES/bibunits.doc.tar.xz
080fb25ba93178db53d55e81b41f52015b52cf4a SOURCES/convbkmk.doc.tar.xz
d526fa40860e4dff1b879512ad85fb3199670c04 SOURCES/zhmetrics.tar.xz
93907d40fed1794afcf0ab0ca94710f201c615ee SOURCES/units.tar.xz
94bffefe52fb3fba7f977a804df9cc14ff937d2c SOURCES/kantlipsum.tar.xz
c79342de95556740381aae276c05b6b2777b65b9 SOURCES/tie.doc.tar.xz
bbc94cff3481e5c92baa29c877da01e8db1d7f9e SOURCES/lipsum.tar.xz
743ba63b34bea97dd0832a57937fb4d35488da34 SOURCES/ptex-fonts.doc.tar.xz
d492e4b9c17956f974ca1863e91be5ed615d753c SOURCES/ptex-fonts.tar.xz
187d7557aa6d3e2eccefd7e4eb97132cf273bfdd SOURCES/ctie.doc.tar.xz
db9cdc9e7cbc3de048501e60f2a6c97ee477e707 SOURCES/auto-pst-pdf.tar.xz
1bd98659926a657db4ad6fae7f475d43c6db6c8c SOURCES/japanese-otf.tar.xz
c98b66473138e7eb0354c5bb8aae46036a27d2dd SOURCES/fltpoint.doc.tar.xz
8879300059fd4e3a810f93715dc62a0da14eda9c SOURCES/zhmetrics.doc.tar.xz
07b14be647c896879ca8673352f185166fdb57ea SOURCES/pgfplots.tar.xz
73fda85a8698883501a919d308385a0f91d78ded SOURCES/ptex-base.tar.xz
9d5fed84b40487d2f8940792efae07368b1724cb SOURCES/luatexja.tar.xz
b13743468d7a5d5ac362a1a683ff7bfa5bcee18b SOURCES/chemformula.tar.xz
07b674b493523da617a027de68ce85a4eea3a57d SOURCES/glossaries-french.tar.xz
6b5642e366575cb4fc35d233856bb00f7e80f859 SOURCES/ctex-faq.doc.tar.xz
3fc9d55574c209cd9ed8a05da9a53cbb1399c990 SOURCES/ptex-base.doc.tar.xz
5db11e883e948cfc8b38f2e7f53ad16661eabf67 SOURCES/glossaries-french.doc.tar.xz
6ea2d74506db8e80a95b8c81abbf9fa08aa943c2 SOURCES/babel-french.tar.xz
858cbf0f2437d35b839878bd9fe57abb10a3af2c SOURCES/ntheorem.tar.xz
1cae04b7e014cfb5757259ef83e9f8d1b9c45eeb SOURCES/uptex.doc.tar.xz
f33cb9f48926cbbeecb511beb48e5801a4e16c1a SOURCES/media9.doc.tar.xz
ae75dd7130da7163725d4b088e4c54a848aede35 SOURCES/chktex.doc.tar.xz
6f67f65e642a521f54ae0bfb856633da64ba1a72 SOURCES/gincltex.tar.xz
54362360165ad3db9da0078a1f3957d7777bde01 SOURCES/ocgx2.tar.xz
baaf8201a517235aa9aaf8dc9f3cdf63d2848770 SOURCES/web.tar.xz
33667686e69a20f476d6641e0c4863b1d7935f2c SOURCES/xcjk2uni.tar.xz
5259c0a0ec7972ec1f6b27489380974865bd7136 SOURCES/filemod.tar.xz
fa463e451f271d3a8e14e21d3c17be31655c6d8b SOURCES/german.tar.xz
c7cac11a5c8e29d9cbf901783246e030ad4465d6 SOURCES/bibunits.tar.xz
0706059cab269640587be4eaabc825c6b0b23565 SOURCES/uptex-base.tar.xz
a14ffa566a97e1b9e2d990c6a65289dff9d7b5bf SOURCES/glossaries-german.doc.tar.xz
af17558956e77b57026dd3d60858c365d944576e SOURCES/adobemapping.tar.xz
43e404f9451bb488db3ce7179ef3931d16569f0a SOURCES/fltpoint.tar.xz
22cfd34e8d2bec7dbc2e3534ff99fb0fd35f0167 SOURCES/everyhook.doc.tar.xz
098adc24460fd031400bc688fe51635f22ee06bb SOURCES/germbib.doc.tar.xz
0871b30f0a8920587705ce808777d80127d19aa8 SOURCES/zhmetrics-uptex.doc.tar.xz
726cbd3eaaed05a558134740009e960ceb8141cd SOURCES/ptex.tar.xz
8ab4bf2f7c05900c3d2006e6aafd24bf6c818a14 SOURCES/cjk.doc.tar.xz
25e760a2349860f18a60804f66038ba762d0c816 SOURCES/everyhook.tar.xz
bd7744bfb52726e60da70b0bd75035b0fad2074a SOURCES/web.doc.tar.xz
11c23930dd0878e7628e8bf49dece9353ee2a4d8 SOURCES/zhnumber.tar.xz
dd904edcea8eb6af88aba2565182a4ee10b6ef15 SOURCES/uptex-fonts.doc.tar.xz
063d8d10625e03ead4ea79739caafcdbd769e4c3 SOURCES/kantlipsum.doc.tar.xz
4ccf76ecdecd243c68bfd1c43bf290f5a39bbeb9 SOURCES/platex.doc.tar.xz
8d4bbf226f6dde66172652090a6b4e737c5f6b72 SOURCES/babel-german.tar.xz
605ed2d2d827c12a74563d34d1bd5a9794fca746 SOURCES/chktex.tar.xz
3b844590e3a54050400f525f133dbe607b0a619d SOURCES/supertabular.tar.xz
ec282bdb7209baa84c1e4540b58faa931b7a153b SOURCES/auto-pst-pdf.doc.tar.xz
1b680dd6c4251f2f25c9e9d76a9546b5f595cb5b SOURCES/fandol.doc.tar.xz
6ddb34f82ff72b1b9c26c940b7ee91cddf24fde4 SOURCES/cweb.doc.tar.xz
73ad9860b6c44fb5948af73fd659f6eeaed2f825 SOURCES/siunitx.doc.tar.xz
ed9b332be4e1b1b1e70aa5c80f20634d9f151a0f SOURCES/xpinyin.tar.xz
030790ca069ca9066bd5f38575d8cbfa75f601cf SOURCES/mdframed.tar.xz
b4ac2d9b17c67e03f362b529f86eaade88e58c29 SOURCES/picinpar.doc.tar.xz
5c86097c60bfbea12c71417be0a7c6ead570fb1f SOURCES/selinput.doc.tar.xz
eeb935f5df8ce3e63c85abf14f373c4ba47e9748 SOURCES/newtx.doc.tar.xz
9ffdb0878cbf949b54424b9f0b84385afdcd1435 SOURCES/luatexja.doc.tar.xz
c20de8a0762e3e7d8d4e0f4f0c0f56a5f5e5b670 SOURCES/chemgreek.tar.xz
55b3dc29e005ddd92a7aa83b12994a0b5d5f914f SOURCES/picture.doc.tar.xz
eb86f1e1e64fd8b130017530d00eb50460a752ef SOURCES/uplatex.tar.xz
26350d17457e75ee4831abdb105fd7f47eacd0dd SOURCES/nomencl.doc.tar.xz
e17b28b2a0fa11b3b890d1d81ddf7e5caa754ebc SOURCES/sidecap.tar.xz
c4551e52772327cee3b339413b238433c901792d SOURCES/filemod.doc.tar.xz
9e4f35af14f44b5fcb8ea23dde7ca3ab3c7f09aa SOURCES/xcjk2uni.doc.tar.xz
38ccb18b146ee0c90b8075cb8625edca17ba1242 SOURCES/standalone.doc.tar.xz
7757113793a7e51d66162254e7abf2091b9dd7ed SOURCES/babel-german.doc.tar.xz
6721a9615c9592eb4d6228bfc2bb26176d1b8ef7 SOURCES/glossaries-english.doc.tar.xz
85cf42d1239ab2213b1ba7f4a3fb34d32b1370f9 SOURCES/mhchem.doc.tar.xz
500665616674f5d9d84d28419c7db087ecd7e0ed SOURCES/uptex-base.doc.tar.xz
b7e1807d2eeabcbe845f81fd8110c65a00c7fab3 SOURCES/ps2eps.tar.xz
2eeb4d8e74dca31bce856315076cbb6975dd81be SOURCES/boondox.tar.xz
1b33d5378d794ac64548f46b86adb2150df52a43 SOURCES/hyphen-german.tar.xz
1a4758b695f441d595c8a41f8f5d93628761363c SOURCES/ipaex.doc.tar.xz
184663af513a3663fa9403d999646aebccb9275e SOURCES/germbib.tar.xz
003b2433473d363474355aa31d5afe184fcd2159 SOURCES/emulateapj.tar.xz
e4077253668504a69d69fbedf2bdecfcdca95356 SOURCES/ipaex.tar.xz
a51dc01318e04d585639c7d84315fc802d7b8e45 SOURCES/ptex.doc.tar.xz
250b27866c476d00dd6d9e17704cae44d5d44bfc SOURCES/cjkpunct.doc.tar.xz
d3ca7343f6ae13d848769c03e1a063e0d3994844 SOURCES/picture.tar.xz
121444a13b47908aa53d2106ef0ceffd6e5efdb8 SOURCES/japanese-otf.doc.tar.xz
b1e48cc7ee2f523f1f626dfec71ba6d4018a6963 SOURCES/picinpar.tar.xz
20ebd296b5f5f0e635a32d0456c3d1ca1bad2c45 SOURCES/uptex-fonts.tar.xz
95a15ca1befee042082c7e46428150b52d11c878 SOURCES/fandol.tar.xz
3f82de53856662ea33750ab35ce833e5fb302276 SOURCES/emulateapj.doc.tar.xz
3daf2fdaa8b61a5dffff148cdbaecfe842377425 SOURCES/mdframed.doc.tar.xz
11b885fe3ac4f1c8e91e68c805898feded8a13d4 SOURCES/cjkpunct.tar.xz
6d9deea282245bebd83e04d5dfe94876ccb7c780 SOURCES/atenddvi.tar.xz
52dea47b93a6c5b2499e5bb7ec6f2f433ac86a8e SOURCES/zhmetrics-uptex.tar.xz
31d69bf0bdbd004f5d883c7f0611929d5d06fb97 SOURCES/gincltex.doc.tar.xz
4930a54fc54ea7551165528c88d43cee8f3dd235 SOURCES/xpinyin.doc.tar.xz
b5ab2a0e60243872507119b7371847e4a0453ef6 SOURCES/fontaxes.tar.xz
ea249883befbbb15f5a52415fd58d06b107dd31e SOURCES/lipsum.doc.tar.xz
fa31fb8ece340e7cc4e6001ef7103fb22fb9f665 SOURCES/ascmac.doc.tar.xz
75f273b3207183130724d63e7e9b865de5b65eeb SOURCES/ocgx2.doc.tar.xz
5fedc248ad474f3ee2dc4f9bba78ca87e3c59d59 SOURCES/glossaries-english.tar.xz
85aef368e8f593a3c14ed18d1c603e2dbfc5cce5 SOURCES/mhchem.tar.xz
4a28813acdc2e01c947506b10d3f552eee31b982 SOURCES/german.doc.tar.xz
b725acb783ab584cee1d4c4c3834c58b16be0e59 SOURCES/chemgreek.doc.tar.xz
f70a0f755e5f212579b04064ca65eab538b9605a SOURCES/atenddvi.doc.tar.xz
3b21cfa14c8723ff5cf7f83b84a66bd3a25d2ba3 SOURCES/fontaxes.doc.tar.xz
4989bc50fd1530a53649902997e6ee8b957721fd SOURCES/latex-firstaid-dev.doc.tar.xz
a49990f18cf8e5ce05390620a7b87180b49dd641 SOURCES/platex.tar.xz
7c008e049c0a4f843015c70bb9744fd82a032c6e SOURCES/xecjk.doc.tar.xz
9a439874d37f6d21222980e9f1c60df1b570437f SOURCES/platex-tools.tar.xz

@ -0,0 +1,36 @@
#! /bin/sh
v=20240311
s=texlive-$v-source.tar.xz
p=${s%.tar.xz}
# get the texlive original source
if [ ! -f $s ] ; then
echo download $s, please wait...
wget https://ctan.math.illinois.edu/systems/texlive/Source/$s
if [ ! -f $s ] ; then
echo download $s failed!
exit 1
fi
fi
# remove old source
if [ -d $p ] ; then
rm -fr $p
fi
echo extracting the $s...
if ( ! tar Jxf $s ) ; then
echo $s failed, cannot be extracted
exit 1
fi
# remove files with bad licenses, don't embeded zziplib but build with system lib
rm -rf $p/libs/zziplib
rm -rf $p/texk/ps2pk
# create clean texlive source
echo create the clean texlive source, please wait...
if ( tar Jcf $p-clean.tar.xz $p) ; then
echo clean texlive source $p-clean.tar.xz is created.
else
echo failed, clean texlive source $p-clean.tar.xz cannot be created.
fi

@ -0,0 +1,25 @@
--- etex.src.orig 2015-09-16 14:17:48.263123165 -0400
+++ etex.src 2015-09-16 14:14:20.673610421 -0400
@@ -290,8 +290,10 @@
\def \addlanguage #1#2#3#4#5% language patterns exceptions lhm rhm
{\expandafter \et@xlang \csname lang@#1\endcsname
- \expandafter \chardef \csname lhm@#1\endcsname=#4 % V1.0-1
- \expandafter \chardef \csname rhm@#1\endcsname=#5 % V1.0-1
+ \def\paramD{#4}\ifx\paramD\empty\def\paramD{1}\fi % Default value lhm is 1 % V2.1-1
+ \def\paramE{#5}\ifx\paramD\empty\def\paramE{1}\fi % Default value rhm is 1 % V2.1-1
+ \expandafter \chardef \csname lhm@#1\endcsname=\paramD % V2.1-1
+ \expandafter \chardef \csname rhm@#1\endcsname=\paramE % V2.1-1
\uselanguage {#1}%
\input #2
\if *#3*\else \input #3 \fi
@@ -776,6 +778,9 @@
%% Revision-history:
+24-ARP-2015: 2.1;1 Allow empty values on \addlanguages for parameters 4 and 5
+ Changed by Edgar Hoch
+
01-FEB-1999: 2.1;0 Allow file to be used with e-TeX versions 2.0 and 2.1
25-MAR-1998: 2.0;19 Improved log message for \{glob|loc}{marks|box}vector (PEB)

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2020 Tom Callaway <spot AT fedoraproject DOT org> -->
<component type="font">
<id>newtx</id>
<metadata_license>CC-BY-3.0</metadata_license>
<name>Newtx Fonts</name>
<summary>Alternative uses of the TX fonts, with improved metrics</summary>
<description>
<p>
Improvements, fixes, and enhancements to the TX fonts.
</p>
</description>
<updatecontact>spotrh_at_gmail_dot_com</updatecontact>
<url type="homepage">https://ctan.org/pkg/newtx</url>
</component>

@ -0,0 +1,39 @@
--- tabu.sty.old 2019-01-14 17:10:48.000000000 -0500
+++ tabu.sty 2019-12-11 09:16:55.745034664 -0500
@@ -52,12 +52,12 @@
%% lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
%%
%% Updated 2019-01-11
-%% Copyright 2019 tabu-fixed github group (LaTeX3 Project members)
-%% Please report any issues at https://github.com/tabu-fixed/tabu
+%% Copyright 2019 tabu-issues-for-future-maintainer github group (LaTeX3 Project members)
+%% Please report any issues at https://github.com/tabu-issues-for-future-maintainer/tabu
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed)]
+\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-issues-for-future-maintainer) + intermediate FMi]
\RequirePackage{array}[2008/09/09]
\RequirePackage{varwidth}[2009/03/30]
\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
@@ -727,6 +727,10 @@
\tabu@currentgrouptype\expandafter{\the\currentgrouptype}}%
\fi
}% \tabu@init
+%%TABU-FIXED set up \tabu@currentgrouptype
+%FMi cancel for nested arrays ...
+\def\@tabarray{\m@th\def\tabu@currentgrouptype{\currentgrouptype}\@ifnextchar[\@array{\@array[c]}}
+
\def\tabu@indent{% correction for indentation
\ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget
\everypar\expandafter{%
@@ -1663,6 +1667,9 @@
\ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target
\tabu@target=\tabu@temp\tabucolX \fi\fi
\setbox\tabu@box \hbox \bgroup
+%%TABU-FIXED add \color@begingroup
+%%FMi not yet understood why this one is also needed ...
+ \color@begingroup
\begin{varwidth}\tabu@target
\let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width...
\narrowragged \arraybackslash \parfillskip \@flushglue

@ -0,0 +1,40 @@
diff -up source/texk/kpathsea/texmf.cnf.fixme source/texk/kpathsea/texmf.cnf
--- source/texk/kpathsea/texmf.cnf.fixme 2016-10-19 15:35:25.804218872 -0400
+++ source/texk/kpathsea/texmf.cnf 2016-10-19 15:37:19.308035612 -0400
@@ -491,17 +491,17 @@ RUBYINPUTS = .;$TEXMF/scripts/{$progna
%
TEXMFCNF = {\
$SELFAUTOLOC,\
-$SELFAUTOLOC/share/texmf-local/web2c,\
-$SELFAUTOLOC/share/texmf-dist/web2c,\
-$SELFAUTOLOC/share/texmf/web2c,\
+$SELFAUTOLOC/share/texlive/texmf-local/web2c,\
+$SELFAUTOLOC/share/texlive/texmf-dist/web2c,\
+$SELFAUTOLOC/share/texlive/texmf/web2c,\
$SELFAUTOLOC/texmf-local/web2c,\
$SELFAUTOLOC/texmf-dist/web2c,\
$SELFAUTOLOC/texmf/web2c,\
\
$SELFAUTODIR,\
-$SELFAUTODIR/share/texmf-local/web2c,\
-$SELFAUTODIR/share/texmf-dist/web2c,\
-$SELFAUTODIR/share/texmf/web2c,\
+$SELFAUTODIR/share/texlive/texmf-local/web2c,\
+$SELFAUTODIR/share/texlive/texmf-dist/web2c,\
+$SELFAUTODIR/share/texlive/texmf/web2c,\
$SELFAUTODIR/texmf-local/web2c,\
$SELFAUTODIR/texmf-dist/web2c,\
$SELFAUTODIR/texmf/web2c,\
@@ -509,9 +509,9 @@ $SELFAUTODIR/texmf/web2c,\
$SELFAUTOGRANDPARENT/texmf-local/web2c,\
$SELFAUTOPARENT,\
\
-$SELFAUTOPARENT/share/texmf-local/web2c,\
-$SELFAUTOPARENT/share/texmf-dist/web2c,\
-$SELFAUTOPARENT/share/texmf/web2c,\
+$SELFAUTOPARENT/share/texlive/texmf-local/web2c,\
+$SELFAUTOPARENT/share/texlive/texmf-dist/web2c,\
+$SELFAUTOPARENT/share/texlive/texmf/web2c,\
$SELFAUTOPARENT/texmf-local/web2c,\
$SELFAUTOPARENT/texmf-dist/web2c,\
$SELFAUTOPARENT/texmf/web2c\

@ -0,0 +1,282 @@
diff -up doc/xelatex/xepersian/dkun-0.3.py.than doc/xelatex/xepersian/dkun-0.3.py
--- doc/xelatex/xepersian/dkun-0.3.py.than 2018-05-07 11:52:01.795308478 +0200
+++ doc/xelatex/xepersian/dkun-0.3.py 2018-05-07 11:53:32.984620222 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
#########################################
# General Public License #
@@ -311,7 +311,7 @@ def dk_adjust_shaping(text, i):
try:
u = table_DK_UN[current][0]
except KeyError:
- print 'ERROR: unmapped character'
+ print('ERROR: unmapped character')
return u''
#if you don't want shaping remove the following comment
@@ -407,7 +407,7 @@ def needs_english_wrapper(part):
# Main body of the program
if len(sys.argv) <= 2:
- print 'usage: python dkun in_filename out_filename'
+ print('usage: python dkun in_filename out_filename')
exit(0)
filename = sys.argv[1]
@@ -416,13 +416,13 @@ outfile = sys.argv[2]
try:
f = open(filename, 'r')
except IOError:
- print "Can not open the input file: " + filename
+ print("Can not open the input file: " + filename)
exit(0)
try:
of = codecs.open(outfile, encoding='utf-8', mode='w')
except IOError:
- print "Can not open the output file: " + outfile
+ print("Can not open the output file: " + outfile)
exit(0)
line_number = 0
diff -up doc/xelatex/xepersian/dkun-0.4.py.than doc/xelatex/xepersian/dkun-0.4.py
--- doc/xelatex/xepersian/dkun-0.4.py.than 2018-05-07 11:53:54.187692708 +0200
+++ doc/xelatex/xepersian/dkun-0.4.py 2018-05-07 11:54:32.272822907 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
#########################################
# General Public License #
@@ -311,7 +311,7 @@ def dk_adjust_shaping(text, i):
try:
u = table_DK_UN[current][0]
except KeyError:
- print 'ERROR: unmapped character'
+ print('ERROR: unmapped character')
return u''
#if you don't want shaping remove the following comment
@@ -407,7 +407,7 @@ def needs_english_wrapper(part):
# Main body of the program
if len(sys.argv) <= 2:
- print 'usage: python dkun in_filename out_filename'
+ print('usage: python dkun in_filename out_filename')
exit(0)
filename = sys.argv[1]
@@ -416,13 +416,13 @@ outfile = sys.argv[2]
try:
f = open(filename, 'r')
except IOError:
- print "Can not open the input file: " + filename
+ print("Can not open the input file: " + filename)
exit(0)
try:
of = codecs.open(outfile, encoding='utf-8', mode='w')
except IOError:
- print "Can not open the output file: " + outfile
+ print("Can not open the output file: " + outfile)
exit(0)
line_number = 0
diff -up doc/xelatex/xepersian/ftxe-0.12.py.than doc/xelatex/xepersian/ftxe-0.12.py
--- doc/xelatex/xepersian/ftxe-0.12.py.than 2018-05-07 11:54:55.163901164 +0200
+++ doc/xelatex/xepersian/ftxe-0.12.py 2018-05-07 11:57:58.063526433 +0200
@@ -1,3 +1,5 @@
+#! /usr/bin/python
+
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
@@ -488,7 +490,7 @@ def read_size(input,index,last_index):
dim_index = pt_index
next_cmd = input.find(u'\\', index)
if (next_cmd == -1 and dim_index == -1):
- print "Error in parsing \epsfxsize command at " + str(line_number) + "\n"
+ print("Error in parsing \epsfxsize command at " + str(line_number) + "\n")
return -1
elif (next_cmd == -1 or (dim_index != -1 and next_cmd > dim_index)):
epsfxsize = input[index:dim_index+2]
@@ -499,7 +501,7 @@ def read_size(input,index,last_index):
end_cmd += 1
return end_cmd
else:
- print "Error in parsing \epsfxsize command at " + str(line_number) + "\n"
+ print("Error in parsing \epsfxsize command at " + str(line_number) + "\n")
return -1
@@ -567,7 +569,7 @@ def generate_farsitex_cmds_file(helper_f
try:
of = codecs.open(helper_filename, encoding='utf-8', mode='w')
except IOError:
- print "Can not open the output file: " + helper_filename
+ print("Can not open the output file: " + helper_filename)
exit(0)
of.write(preamble)
of.close
@@ -875,7 +877,7 @@ def convert_file(f, of, convert_cmds):
for line in f:
line_number += 1
- print line_number,
+ print (line_number)
output_line = u''
line_len = len(line)
@@ -888,7 +890,7 @@ def convert_file(f, of, convert_cmds):
# check line-direction character
line_direction_rtl = (line[0] == '<')
if (line[0] != '>') and (line[0] != '<'):
- print "FORMAT ERROR AT LINE: " + str(line_number)
+ print("FORMAT ERROR AT LINE: " + str(line_number))
exit(0)
i = 1
@@ -970,11 +972,11 @@ def convert_file(f, of, convert_cmds):
# end of file processing
def print_usage():
- print 'usage: python ftxe-0-11 [-r] [-s] [-x] [-u] in_filename1 in_filename2'
- print '-r: (DEFAULT) recursively consider files included in the given files'
- print '-s: do not recursively consider files'
- print '-x: (DEFAULT) insert xepersian related commands'
- print '-u: only convert to unicode'
+ print('usage: python ftxe-0-11 [-r] [-s] [-x] [-u] in_filename1 in_filename2')
+ print('-r: (DEFAULT) recursively consider files included in the given files')
+ print('-s: do not recursively consider files')
+ print('-x: (DEFAULT) insert xepersian related commands')
+ print('-u: only convert to unicode')
###################################
# Begin of main body of the program
@@ -1011,7 +1013,7 @@ while (options_index < len(sys.argv)):
options_index += 1
if (len(filenames) == 0):
- print 'error: no input filename is specified!'
+ print('error: no input filename is specified!')
print_usage()
exit(0)
@@ -1026,17 +1028,17 @@ while (index < len(filenames)):
else:
outfile = filename + '.tex'
- print '\n\nConverting "' + filename + '" into "' + outfile + '"'
+ print('\n\nConverting "' + filename + '" into "' + outfile + '"')
try:
f = open(filename, 'r')
except IOError:
- print "Can not open the input file: " + filename
+ print("Can not open the input file: " + filename)
exit(0)
try:
of = codecs.open(outfile, encoding='utf-8', mode='w')
except IOError:
- print "Can not open the output file: " + outfile
+ print("Can not open the output file: " + outfile)
exit(0)
convert_file(f, of, convert_xepersian)
diff -up doc/xelatex/xepersian/undk-0.6.py.than doc/xelatex/xepersian/undk-0.6.py
--- doc/xelatex/xepersian/undk-0.6.py.than 2018-05-07 11:58:18.706597005 +0200
+++ doc/xelatex/xepersian/undk-0.6.py 2018-05-07 11:59:18.079799981 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
#########################################
# General Public License #
# Author: Mostafa Vahedi #
@@ -328,7 +328,7 @@ def find_form(line, i):
def map_char_unicode_DK(c, form):
try:
n = table_UN_DK[c][0]
- except KeyError:
+ except KeyError:
return c.encode('latin-1')
if (n == 1):
return table_UN_DK[c][1]
@@ -371,7 +371,7 @@ def is_farsi_numerical(c):
# Main body of the program
if len(sys.argv) <= 2:
- print 'usage: python undk in_filename out_filename'
+ print('usage: python undk in_filename out_filename')
exit(0)
filename = sys.argv[1]
@@ -380,13 +380,13 @@ outfile = sys.argv[2]
try:
f = codecs.open(filename, 'r', 'utf-8')
except IOError:
- print "Can not open the input file: " + filename
+ print("Can not open the input file: " + filename)
exit(0)
try:
of = open(outfile, 'w')
except IOError:
- print "Can not open the output file: " + outfile
+ print("Can not open the output file: " + outfile)
exit(0)
# this is an option
@@ -425,7 +425,7 @@ for line in f:
this_line += auto_english_part[::-1]
auto_english_part = ''
inAutoEnglish = 0
- print 'Warning: mixed Auto-English and Forced-English'
+ print('Warning: mixed Auto-English and Forced-English')
if (inFarsiNumber == 1):
this_line += number_part[::-1]
number_part = ''
diff -up doc/xelatex/xepersian/unldk-0.2.py.than doc/xelatex/xepersian/unldk-0.2.py
--- doc/xelatex/xepersian/unldk-0.2.py.than 2018-05-07 11:59:41.522880125 +0200
+++ doc/xelatex/xepersian/unldk-0.2.py 2018-05-07 12:00:21.999018500 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python
#########################################
# General Public License #
# Author: Mostafa Vahedi #
@@ -328,7 +328,7 @@ def find_form(line, i):
def map_char_unicode_DK(c, form):
try:
n = table_UN_DK[c][0]
- except KeyError:
+ except KeyError:
return c.encode('latin-1')
if (n == 1):
return table_UN_DK[c][1]
@@ -364,7 +364,7 @@ def is_farsi_numerical(c):
# Main body of the program
if len(sys.argv) <= 2:
- print 'usage: python unldk in_filename out_filename'
+ print('usage: python unldk in_filename out_filename')
exit(0)
filename = sys.argv[1]
@@ -373,13 +373,13 @@ outfile = sys.argv[2]
try:
f = codecs.open(filename, 'r', 'utf-8')
except IOError:
- print "Can not open the input file: " + filename
+ print("Can not open the input file: " + filename)
exit(0)
try:
of = open(outfile, 'w')
except IOError:
- print "Can not open the output file: " + outfile
+ print("Can not open the output file: " + outfile)
exit(0)
inFarsi = 0

@ -0,0 +1,79 @@
diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
--- ./scripts/texlive/tlmgr.pl.ignore-warning 2019-05-24 21:35:57.384845754 -0400
+++ ./scripts/texlive/tlmgr.pl 2019-05-24 21:39:32.703577109 -0400
@@ -231,6 +231,7 @@ my %action_specification = (
"dry-run|n" => 1,
"file" => 1,
"force" => 1,
+ "ignore-warning" => 1,
"no-depends" => 1,
"no-depends-at-all" => 1,
"reinstall" => 1,
@@ -331,6 +332,7 @@ my %action_specification = (
"dry-run|n" => 1,
"exclude" => "=s@",
"force" => 1,
+ "ignore-warning" => 1,
"list" => 1,
"no-auto-install" => 1,
"no-auto-remove" => 1,
@@ -2613,6 +2615,15 @@ sub upd_info {
}
sub action_update {
+ if (!($opts{"ignore-warning"})) {
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n");
+ exit;
+ }
+
init_local_db(1);
$opts{"no-depends"} = 1 if $opts{"no-depends-at-all"};
@@ -3618,6 +3629,15 @@ sub check_announce_format_triggers {
# anymore! That has all to be done by the caller.
#
sub action_install {
+ if (!($opts{"ignore-warning"})) {
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n");
+ exit;
+ }
+
init_local_db(1);
my $ret = $F_OK;
return ($F_ERROR) if !check_on_writable();
@@ -8151,6 +8171,13 @@ If updates to C<tlmgr> itself (or other
infrastructure) are present, C<tlmgr> will bail out and not perform the
installation unless this option is given. Not recommended.
+=item B<--ignore-warning>
+
+The tlmgr tool can really ruin a Fedora install of TeXLive.
+We have added a warning check here to try to keep you from
+blindly following a tutorial and doing this. If you still want to
+proceed, just use this option.
+
=item B<--no-depends>
Do not install dependencies. (By default, installing a package ensures
@@ -8846,6 +8873,13 @@ In short:
Nothing is actually installed; instead, the actions to be performed are
written to the terminal. This is a more detailed report than C<--list>.
+=item B<--ignore-warning>
+
+The tlmgr tool can really ruin a Fedora install of TeXLive.
+We have added a warning check here to try to keep you from
+blindly following a tutorial and doing this. If you still want to
+proceed, just use this option.
+
=item B<--list> [I<pkg>]
Concisely list the packages which would be updated, newly installed, or

@ -0,0 +1,761 @@
diff -up ./doc/fonts/gnu-freefont/tools/report/kernclasses.py.py3 ./doc/fonts/gnu-freefont/tools/report/kernclasses.py
--- ./doc/fonts/gnu-freefont/tools/report/kernclasses.py.py3 2019-08-18 08:17:06.470597138 -0400
+++ ./doc/fonts/gnu-freefont/tools/report/kernclasses.py 2019-08-18 08:27:48.164149606 -0400
@@ -16,10 +16,10 @@ def get_kern_subtables( font ):
if font.isKerningClass( st ):
tables.append( st )
return tables
- except EnvironmentError, ( e ):
- print >> sys.stderr, 'EnvironmentError ' + str( e )
- except TypeError, ( t ):
- print >> sys.stderr, 'TypeError ' + str( t )
+ except EnvironmentError as e:
+ print('EnvironmentError ' + str( e ), file=sys.stderr)
+ except TypeError as t:
+ print('TypeError ' + str( t ), file=sys.stderr)
return None
preamble = """
<html>
@@ -46,20 +46,20 @@ postamble="""
def print_kerns( fontPath ):
font = fontforge.open( fontPath )
- print '<h2>Kerning classes in ' + font.fontname + '</h2>'
+ print('<h2>Kerning classes in ' + font.fontname + '</h2>')
weight = ''
if font.os2_weight > 500:
weight = 'B'
style = ''
if font.italicangle < 0.0:
style = 'I'
- print '<div style="font-family: ' + font.familyname + '" ' \
- + 'class="' + weight + style + '">'
+ print('<div style="font-family: ' + font.familyname + '" ' \
+ + 'class="' + weight + style + '">')
subtables = get_kern_subtables( font )
for st in subtables:
- print '<h3>Subtable ' + st + '</h3>'
+ print('<h3>Subtable ' + st + '</h3>')
printKernsOfSubtable( font, st )
- print '</div>'
+ print('</div>')
sys.stdout.flush()
def printKernsOfSubtable( font, subtable ):
@@ -69,38 +69,38 @@ def printKernsOfSubtable( font, subtable
rightclasses = kclass[1]
kerns = kclass[2]
nr = len( rightclasses )
- print '<table class="classes"><tr>'
- print '<th>left classes: </th>'
- print '<th>right classes: </th>'
- print '<tr><td>'
+ print('<table class="classes"><tr>')
+ print('<th>left classes: </th>')
+ print('<th>right classes: </th>')
+ print('<tr><td>')
for lc in leftclasses:
if lc:
for c in lc:
printentity( font, c )
- print "<br />"
- print "</td>"
- print "<td>"
+ print("<br />")
+ print("</td>")
+ print("<td>")
for rc in rightclasses:
if rc:
for c in rc:
printentity( font, c )
- print "<br />"
- print "</td>"
- print "</tr>"
- print "</table>"
- print "<table>"
- print "<tr>"
- print "<th></th>"
+ print("<br />")
+ print("</td>")
+ print("</tr>")
+ print("</table>")
+ print("<table>")
+ print("<tr>")
+ print("<th></th>")
for rc in rightclasses:
if rc:
sys.stdout.write( "<th>" )
printentity( font, rc[0] )
sys.stdout.write( "</th>" )
- print "</tr>"
+ print("</tr>")
for lc in leftclasses:
m = 0
if lc:
- print "<tr>"
+ print("<tr>")
sys.stdout.write( "<th>" )
printentity( font, lc[0] )
sys.stdout.write( "</th>" )
@@ -122,18 +122,18 @@ def printKernsOfSubtable( font, subtable
printpair( font, lc[0], rc[0] )
sys.stdout.write( '</td>' )
m += 1
- print "</tr>"
+ print("</tr>")
n += 1
- print "</table>"
+ print("</table>")
def printentity( font, a ):
s = font.findEncodingSlot( a )
v = formatted_hex_value( s )
if s == -1:
v = '<span class="nonexistent">&nbsp;</span>'
- print >> sys.stderr, font.fullname, 'Missing glyph: ' + a
+ print(font.fullname, 'Missing glyph: ' + a, file=sys.stderr)
elif not codepointIsInSomeRange( s ):
- print >> sys.stderr, font.fullname, 'Non-unicode: ' + v
+ print(font.fullname, 'Non-unicode: ' + v, file=sys.stderr)
sys.stdout.write( v )
def printpair( font, p, q ):
@@ -150,9 +150,9 @@ def printlist( lst ):
for m in lst:
s += delim + m
delim = ' '
- print s
+ print(s)
-print preamble
+print(preamble)
#print_kerns( '/home/swhite/font_stuff/urwsr-ttf/URWPalladioL-Roman-test.sfd' )
print_kerns( '../../sfd/FreeSerif.sfd' )
print_kerns( '../../sfd/FreeSerifItalic.sfd' )
@@ -166,4 +166,4 @@ print_kerns( '../../sfd/FreeMono.sfd' )
print_kerns( '../../sfd/FreeMonoOblique.sfd' )
print_kerns( '../../sfd/FreeMonoBold.sfd' )
print_kerns( '../../sfd/FreeMonoBoldOblique.sfd' )
-print postamble
+print(postamble)
diff -up ./doc/fonts/gnu-freefont/tools/report/ligatureLookups.py.py3 ./doc/fonts/gnu-freefont/tools/report/ligatureLookups.py
--- ./doc/fonts/gnu-freefont/tools/report/ligatureLookups.py.py3 2019-08-18 08:30:22.164442327 -0400
+++ ./doc/fonts/gnu-freefont/tools/report/ligatureLookups.py 2019-08-18 08:33:04.545533305 -0400
@@ -60,10 +60,10 @@ def get_ligature_lookups( font ):
for st in sts:
tables.append( st )
return tables
- except EnvironmentError, ( e ):
- print >> stderr, 'EnvironmentError ' + str( e )
- except TypeError, ( t ):
- print >> stderr, 'TypeError ' + str( t )
+ except EnvironmentError as e:
+ print('EnvironmentError ' + str( e ), file=stderr)
+ except TypeError as t:
+ print('TypeError ' + str( t ), file=stderr)
return None
_preamble= """<?xml version="1.0" encoding="utf-8"?>
@@ -105,8 +105,8 @@ def print_ligatures( fontPath ):
if font.weight == 'Bold':
weight = "font-weight: bold; "
- print _style_div_html % ( font.familyname, style, weight )
- print _lig_header_html % ( font.fontname )
+ print(_style_div_html % ( font.familyname, style, weight ))
+ print(_lig_header_html % ( font.fontname ))
subtable_names = get_ligature_lookups( font )
for subtable_name in subtable_names:
@@ -115,7 +115,7 @@ def print_ligatures( fontPath ):
out = htmlListOfLigSubtable( font, subtable, subtables )
stdout.writelines( out )
stdout.flush()
- print '</div>'
+ print('</div>')
class Ligature:
def __init__( self, glyph ):
@@ -184,7 +184,7 @@ def makeLigatureSubtable( font, subtable
ligature = Ligature( g )
for lr in ligs:
if len( lr ) < 3 or lr[1] != 'Ligature':
- print >> stderr, font.fullname, '- non-ligature: ', g.glyphname
+ print(font.fullname, '- non-ligature: ', g.glyphname, file=stderr)
break
i = 2
while i < len( lr ):
@@ -242,11 +242,11 @@ def nestedEntity( font, subtable, a, sub
if s >= 0xe000 and s <= 0xf8ff: # Unicode only
lig = findLigatureGlyph( s, subtables )
if lig:
- #print >> stderr, 'Nested glyph found: ' + a
+ #print('Nested glyph found: ' + a, file=stderr)
for p in lig.parts:
return nestedEntity( font, subtable, p, subtables )
else:
- print >> stderr, font.fullname, '- No nested glyph: ', a
+ print(font.fullname, '- No nested glyph: ', a, file=stderr)
return '<span class="nonchar">&nbsp;</span>'
else:
return entityHTML( font, a )
@@ -254,7 +254,7 @@ def nestedEntity( font, subtable, a, sub
def entityHTML( font, a ):
s = font.findEncodingSlot( a )
if s == -1:
- print >> stderr, font.fullname, '- Missing glyph: ', a
+ print(font.fullname, '- Missing glyph: ', a, file=stderr)
return '<span class="nonchar">&nbsp;</span>'
else:
return formatted_hex_value( s )
@@ -266,11 +266,11 @@ def formatted_hex_value( n ):
args = argv[1:]
if len( args ) < 1 or len( args[0].strip() ) == 0:
- print >> stderr, __usage
+ print(__usage, file=stderr)
exit( 0 )
-print _preamble
+print(_preamble)
for font_name in args:
print_ligatures( font_name )
-print _postamble
+print(_postamble)
diff -up ./doc/fonts/gnu-freefont/tools/report/private_use.py.py3 ./doc/fonts/gnu-freefont/tools/report/private_use.py
--- ./doc/fonts/gnu-freefont/tools/report/private_use.py.py3 2019-08-18 08:33:25.445030197 -0400
+++ ./doc/fonts/gnu-freefont/tools/report/private_use.py 2019-08-18 08:35:14.606402370 -0400
@@ -48,32 +48,32 @@ postamble="""
def print_private( fontPath ):
font = fontforge.open( fontPath )
- print '<div style="font-family: \'' + font.familyname + '\'; ' \
- '\">'
- print '<h2>Private Use Area in ' + font.fontname + '</h2>'
+ print('<div style="font-family: \'' + font.familyname + '\'; ' \
+ '\">')
+ print('<h2>Private Use Area in ' + font.fontname + '</h2>')
font.selection.select(("ranges",None),0xe000,0xf8ff)
- print '<table>'
+ print('<table>')
for g in font.selection.byGlyphs:
- print '<tr><td>'
- print '%s%0.4x%s' %( "0x", g.encoding, "" )
- print '</td><td>'
- print '' + g.glyphname
- print '</td><td>'
+ print('<tr><td>')
+ print('%s%0.4x%s' %( "0x", g.encoding, "" ))
+ print('</td><td>')
+ print('' + g.glyphname)
+ print('</td><td>')
if g.getPosSub( '*' ):
- print "is ligature"
+ print("is ligature")
if g.references:
- print "has references"
- print '</td><td>'
- print '</td></tr>'
+ print("has references")
+ print('</td><td>')
+ print('</td></tr>')
- print '</table>'
- print '</div>'
+ print('</table>')
+ print('</div>')
sys.stdout.flush()
def printentity( font, s ):
if s == -1:
- print >> sys.stderr, 'Missing glyph: ' + a
+ print('Missing glyph: ' + a, file=sys.stderr)
sys.stdout.write( '<span class="nonchar">&nbsp;</span>' )
else:
sys.stdout.write( formatted_hex_value( s ) )
@@ -86,7 +86,7 @@ args = sys.argv[1:]
if len( args ) < 1 or len( args[0].strip() ) == 0:
sys.exit( 0 )
-print makePreamble()
+print(makePreamble())
for font_name in args:
print_private( font_name )
-print postamble
+print(postamble)
diff -up ./doc/fonts/gnu-freefont/tools/report/range_report.py.py3 ./doc/fonts/gnu-freefont/tools/report/range_report.py
--- ./doc/fonts/gnu-freefont/tools/report/range_report.py.py3 2019-08-18 08:35:42.417732872 -0400
+++ ./doc/fonts/gnu-freefont/tools/report/range_report.py 2019-08-18 08:39:50.949749956 -0400
@@ -63,8 +63,8 @@ def count_glyphs_in_intervals( font, int
for e in g:
num += 1
except ValueError:
- print >> stderr, "interval " + str( r ) \
- + " not representable in " + font.fontname
+ print("interval " + str( r ) \
+ + " not representable in " + font.fontname, file=stderr)
exit( 1 )
return num
@@ -96,7 +96,7 @@ class FontSupport:
r = font.os2_unicoderanges
- # print >> stderr, font.fontname, hex( r[0] ), hex( r[1] ),hex( r[2] ),hex( r[3] );
+ # print(font.fontname, hex( r[0] ), hex( r[1] ),hex( r[2] ),hex( r[3] ), file=stderr);
nRanges = len( ulUnicodeRange )
@@ -111,16 +111,16 @@ class FontSupport:
cp = g.encoding
if ( not codepointIsInSomeRange( cp )
and not codepointIsSpecialTT( cp ) ):
- print >> stderr, font.fontname, \
- "no range for", hex( cp )
+ print(font.fontname, \
+ "no range for", hex( cp ), file=stderr)
""" '''Would like to check that special TT slots are
present, but don't know how...'''
for cp in special_TT_points:
font.selection.all()
if not cp in font.selection.byGlyphs:
- print >> stderr, font.fontname, \
- "special TT glyph missing", hex( cp )
+ print(font.fontname, \
+ "special TT glyph missing", hex( cp ), file=stderr)
"""
def collectRangeInfo( self, font, os2supportbyte, bit, index ):
@@ -135,13 +135,13 @@ class FontSupport:
def setRangeSupport( self, idx, supports, total ):
if self.myInfos.has_key( idx ):
- print >> stderr, "OS/2 index ", idx, " duplicated"
+ print("OS/2 index ", idx, " duplicated", file=stderr)
exit( 1 )
self.myInfos[idx] = SupportInfo( idx, supports, total )
def getInfo( self, idx ):
if not self.myInfos.has_key( idx ):
- print >> stderr, "OS/2 index ", idx, " not found"
+ print("OS/2 index ", idx, " not found", file=stderr)
exit( 1 )
return self.myInfos[ idx ]
@@ -177,7 +177,7 @@ def print_font_range_table( fontSupportL
headings = ''
for fsl in fontSupportList:
headings += '<th colspan="2">' + fsl.short + '</th>'
- print table_head % ( headings )
+ print(table_head % ( headings ))
for r in ulUnicodeRange:
idx = r[0]
@@ -190,10 +190,10 @@ def print_font_range_table( fontSupportL
if idx == 60 or idx == 90:
rowclass = ' class="private"'
- print '<tr%s><td>%s</td>' % ( rowclass, range_name )
- print '<td class="num">%i</td>' % (
- total_intervals( intervals ) )
- print '<td></td>'
+ print('<tr%s><td>%s</td>' % ( rowclass, range_name ))
+ print('<td class="num">%i</td>' % (
+ total_intervals( intervals ) ))
+ print('<td></td>')
for fsl in fontSupportList:
supportInfo = fsl.getInfo( idx )
supportString = ''
@@ -203,28 +203,28 @@ def print_font_range_table( fontSupportL
if supportInfo.total:
totalStr = str( supportInfo.total )
- print '<td class="num">%s</td><td>%s</td>' % (
- totalStr, supportString )
+ print('<td class="num">%s</td><td>%s</td>' % (
+ totalStr, supportString ))
- print '</tr>'
- print '<tr><th colspan="3">total in Unicode ranges</th>'
+ print('</tr>')
+ print('<tr><th colspan="3">total in Unicode ranges</th>')
for fsl in fontSupportList:
- print '<td class="num" colspan="2">%i&nbsp;</td>' % (
- fsl.totalGlyphs )
- print '</tr>'
- print '<tr><th colspan="3">total in font</th>'
+ print('<td class="num" colspan="2">%i&nbsp;</td>' % (
+ fsl.totalGlyphs ))
+ print('</tr>')
+ print('<tr><th colspan="3">total in font</th>')
for fsl in fontSupportList:
- print '<td class="num" colspan="2">%i&nbsp;</td>' % (
- fsl.fontTotalGlyphs )
- print '</tr>'
- print '<tr><th colspan="3">total in Private Use</th>'
+ print('<td class="num" colspan="2">%i&nbsp;</td>' % (
+ fsl.fontTotalGlyphs ))
+ print('</tr>')
+ print('<tr><th colspan="3">total in Private Use</th>')
for fsl in fontSupportList:
- print '<td class="num" colspan="2">%i&nbsp;</td>' % (
- fsl.privateUseGlyphs )
- print '</tr>'
+ print('<td class="num" colspan="2">%i&nbsp;</td>' % (
+ fsl.privateUseGlyphs ))
+ print('</tr>')
# Would also like to total glyphs in ranges for each font,
# and also print total glyphs in each font.
- print '</table>'
+ print('</table>')
table_introduction = """
For historical reasons, TrueType classifies Unicode ranges according to
@@ -286,25 +286,25 @@ Gnu FreeFont character range support
'''
def print_font_range_report( fontSupportList ):
- print html_heading
+ print(html_heading)
- print '<body>'
- print '<h1>'
- print 'Gnu FreeFont support for OpenType OS/2 character ranges'
- print '</h1>'
- print '<p>'
- print table_introduction
- print '</p>'
+ print('<body>')
+ print('<h1>')
+ print('Gnu FreeFont support for OpenType OS/2 character ranges')
+ print('</h1>')
+ print('<p>')
+ print(table_introduction)
+ print('</p>')
print_font_range_table( fontSupportList )
- print '<p>'
- print table_explanation
+ print('<p>')
+ print(table_explanation)
tzset()
- print 'Generated by <code>range_report.py</code> on %s.' % (
- strftime('%X %x %Z') )
- print '</p>'
- print '</body>'
+ print('Generated by <code>range_report.py</code> on %s.' % (
+ strftime('%X %x %Z') ))
+ print('</p>')
+ print('</body>')
- print '</html>'
+ print('</html>')
supportList = []
supportList.append( FontSupport( '../../sfd/FreeSerif.sfd', 'Srf' ) )
diff -up ./doc/fonts/gnu-freefont/tools/script-menu/nameBySlot.py.py3 ./doc/fonts/gnu-freefont/tools/script-menu/nameBySlot.py
--- ./doc/fonts/gnu-freefont/tools/script-menu/nameBySlot.py.py3 2019-08-18 08:40:25.964907029 -0400
+++ ./doc/fonts/gnu-freefont/tools/script-menu/nameBySlot.py 2019-08-18 08:41:02.911017630 -0400
@@ -38,7 +38,7 @@ import fontforge
def explain_error_and_quit( e ):
if e:
- print 'Error: ', e
+ print('Error: ', e)
exit( 1 )
try:
@@ -54,9 +54,9 @@ try:
newname = 'uni%0.7x' %( g.encoding )
elif g.encoding <= 0xFFFFFFFF:
newname = 'uni%0.8x' %( g.encoding )
- print "naming " + str( g.glyphname ) + ' as ' + newname
+ print("naming " + str( g.glyphname ) + ' as ' + newname)
g.glyphname = newname
g.unicode = g.encoding
-except ValueError, e:
+except ValueError as e:
explain_error_and_quit( e )
diff -up ./doc/fonts/gnu-freefont/tools/script-menu/unnameBySlot.py.py3 ./doc/fonts/gnu-freefont/tools/script-menu/unnameBySlot.py
--- ./doc/fonts/gnu-freefont/tools/script-menu/unnameBySlot.py.py3 2019-08-18 08:41:15.963703405 -0400
+++ ./doc/fonts/gnu-freefont/tools/script-menu/unnameBySlot.py 2019-08-18 08:42:15.186277750 -0400
@@ -39,16 +39,16 @@ import fontforge
def explain_error_and_quit( e ):
if e:
- print 'Error: ', e
+ print('Error: ', e)
exit( 1 )
try:
glyphs = fontforge.activeFont().selection.byGlyphs
for g in glyphs:
newname = 'NameMe.%s' %( str( g.encoding ) )
- print "naming " + str( g.glyphname ) + ' as ' + newname
+ print("naming " + str( g.glyphname ) + ' as ' + newname)
g.glyphname = newname
g.unicode = -1
-except ValueError, e:
+except ValueError as e:
explain_error_and_quit( e )
diff -up ./doc/fonts/gnu-freefont/tools/test/checkGlyphNumbers.py.py3 ./doc/fonts/gnu-freefont/tools/test/checkGlyphNumbers.py
--- ./doc/fonts/gnu-freefont/tools/test/checkGlyphNumbers.py.py3 2019-08-18 08:42:25.687024974 -0400
+++ ./doc/fonts/gnu-freefont/tools/test/checkGlyphNumbers.py 2019-08-18 08:43:16.562800246 -0400
@@ -53,12 +53,12 @@ def isSpecialTrueType( glyph ):
from os import path
def checkGlyphNumbers( fontDir, fontFile ):
if isinstance( fontFile, ( list, tuple ) ):
- print "In directory " + fontDir
+ print("In directory " + fontDir)
for fontName in fontFile:
checkGlyphNumbers( fontDir, fontName )
return
- print "Checking slot numbers in " + fontFile
+ print("Checking slot numbers in " + fontFile)
font = fontforge.open( path.join( fontDir, fontFile ) )
g = font.selection.all()
@@ -71,13 +71,13 @@ def checkGlyphNumbers( fontDir, fontFile
pass
elif inPrivateUseRange( glyph ):
if glyph.unicode != -1:
- print "Glyph at slot " + str( glyph.encoding ) \
- + " is Private Use but has Unicode"
+ print("Glyph at slot " + str( glyph.encoding ) \
+ + " is Private Use but has Unicode")
problem = True
else:
if glyph.encoding != glyph.unicode:
- print "Glyph at slot " + str( glyph.encoding ) \
- + " has wrong Unicode"
+ print("Glyph at slot " + str( glyph.encoding ) \
+ + " has wrong Unicode")
problem = True
# --------------------------------------------------------------------------
diff -up ./doc/fonts/gnu-freefont/tools/test/findBackLayers.py.py3 ./doc/fonts/gnu-freefont/tools/test/findBackLayers.py
--- ./doc/fonts/gnu-freefont/tools/test/findBackLayers.py.py3 2019-08-18 08:43:27.206544016 -0400
+++ ./doc/fonts/gnu-freefont/tools/test/findBackLayers.py 2019-08-18 08:44:00.456743596 -0400
@@ -32,7 +32,7 @@ from sys import exit
problem = False
def checkBackLayers( fontPath ):
- print "Checking " + fontPath
+ print("Checking " + fontPath)
font = fontforge.open( fontPath )
g = font.selection.all()
@@ -42,7 +42,7 @@ def checkBackLayers( fontPath ):
for e in g:
if e.layer_cnt != 2:
- print e
+ print(e)
checkBackLayers( '../sfd/FreeSerif.sfd' )
checkBackLayers( '../sfd/FreeSerifItalic.sfd' )
diff -up ./doc/fonts/gnu-freefont/tools/test/isMonoMono.py.py3 ./doc/fonts/gnu-freefont/tools/test/isMonoMono.py
--- ./doc/fonts/gnu-freefont/tools/test/isMonoMono.py.py3 2019-08-18 08:44:12.128462618 -0400
+++ ./doc/fonts/gnu-freefont/tools/test/isMonoMono.py 2019-08-18 08:44:55.105428039 -0400
@@ -35,7 +35,7 @@ import sys
problem = False
def ismonomono( fontfilename ):
- print "Checking character bounding boxes: " + fontfilename
+ print("Checking character bounding boxes: " + fontfilename)
font = fontforge.open( fontfilename )
g = font.selection.all()
@@ -49,16 +49,16 @@ def ismonomono( fontfilename ):
nonzero = e.width
else:
if e.width > 0 and e.width != nonzero:
- print ' ' + e.glyphname \
+ print(' ' + e.glyphname \
+ '(' + str( e.encoding ) \
+ ') width is ' + str( e.width ) \
- + ' not ' + str( nonzero )
+ + ' not ' + str( nonzero ))
problem = True
( xmin, ymin, xmax, ymax ) = e.boundingBox()
if ymin < -200 or ymax > 800:
- print ' ' + e.glyphname + ' goes between heights ' \
- + str( ymin ) + ' and ' + str( ymax )
+ print(' ' + e.glyphname + ' goes between heights ' \
+ + str( ymin ) + ' and ' + str( ymax ))
"""
For FontForge handling of TrueType/OpenType magic characters:
1) check that 0x0000 0x0001, 0x000D exist and have names
@@ -71,15 +71,15 @@ def ismonomono( fontfilename ):
if not font[0x0000] \
or font[0x0000].glyphname != '.notdef' \
or font[0x0000].width != nonzero:
- print 'Should be full-width ".notdef" glyph at 0x0000.'
+ print('Should be full-width ".notdef" glyph at 0x0000.')
if not font[0x0001] \
or font[0x0001].glyphname != '.null' \
or font[0x0001].width != 0:
- print 'Should be zero-width ".null" glyph at 0x0001.'
+ print('Should be zero-width ".null" glyph at 0x0001.')
if not font[0x000D] \
or font[0x000D].glyphname != 'nonmarkingreturn' \
or font[0x000D].width != nonzero:
- print 'Should be full-width "nonmarkingreturn" glyph at 0x000D.'
+ print('Should be full-width "nonmarkingreturn" glyph at 0x000D.')
scriptname = sys.argv[0];
argc = len( sys.argv )
diff -up ./doc/fonts/gnu-freefont/tools/test/validate.py.py3 ./doc/fonts/gnu-freefont/tools/test/validate.py
--- ./doc/fonts/gnu-freefont/tools/test/validate.py.py3 2019-08-18 08:45:06.988141993 -0400
+++ ./doc/fonts/gnu-freefont/tools/test/validate.py 2019-08-18 08:45:57.561924523 -0400
@@ -43,7 +43,7 @@ def countPointsInLayer( layer ):
return p
def printProblemLine( e, msg ):
- print "\t" + e.glyphname + msg
+ print("\t" + e.glyphname + msg)
def dealWithValidationState( state, e ):
if state & 0x2:
@@ -81,13 +81,13 @@ def dealWithValidationState( state, e ):
if state & 0x10000:
printProblemLine( e, " has references deeper than allowed" )
if state & 0x20000:
- print e.glyphname + " fpgm or prep tables longer than allowed" )
+ print(e.glyphname + " fpgm or prep tables longer than allowed" ))
"""
def validate( dir, fontFile ):
try:
font = fontforge.open( dir + fontFile )
- print "Validating " + fontFile
+ print("Validating " + fontFile)
g = font.selection.all()
g = font.selection.byGlyphs
@@ -98,9 +98,9 @@ def validate( dir, fontFile ):
if state != 0:
dealWithValidationState( state, e )
font.validate
- except Exception, e:
+ except Exception as e:
problem = True
- print >> sys.stderr, str( e )
+ print(str( e ), file=sys.stderr)
validate( '../sfd/', 'FreeSerif.sfd' )
validate( '../sfd/', 'FreeSerifItalic.sfd' )
diff -up ./doc/fonts/gnu-freefont/tools/utility/hex_range.py.py3 ./doc/fonts/gnu-freefont/tools/utility/hex_range.py
--- ./doc/fonts/gnu-freefont/tools/utility/hex_range.py.py3 2019-08-18 08:46:09.302641885 -0400
+++ ./doc/fonts/gnu-freefont/tools/utility/hex_range.py 2019-08-18 08:46:58.356461003 -0400
@@ -40,13 +40,13 @@ postfix = ';'
def explain_error_and_quit( e ):
if e:
- print 'Error: ', e
- print "Usage:"
- print " hex_range num1 [num2]"
+ print('Error: ', e)
+ print("Usage:")
+ print(" hex_range num1 [num2]")
exit( 1 )
def print_formatted_hex_value( n ):
- print '%s%0.4x%s' %( prefix, n, postfix )
+ print('%s%0.4x%s' %( prefix, n, postfix ))
if len( sys.argv ) == 3:
try:
@@ -54,13 +54,13 @@ if len( sys.argv ) == 3:
b = int( sys.argv[2], 0 )
for i in xrange( a, b + 1 ):
print_formatted_hex_value( i )
- except ValueError, e:
+ except ValueError as e:
explain_error_and_quit( e )
elif len( sys.argv ) == 2:
try:
a = int( sys.argv[1], 0 )
print_formatted_hex_value( a )
- except ValueError, e:
+ except ValueError as e:
explain_error_and_quit( e )
else:
explain_error_and_quit()
diff -up ./doc/fonts/gnu-freefont/tools/utility/metafont/bulk_eps_import.py.py3 ./doc/fonts/gnu-freefont/tools/utility/metafont/bulk_eps_import.py
--- ./doc/fonts/gnu-freefont/tools/utility/metafont/bulk_eps_import.py.py3 2019-08-18 08:47:10.751162633 -0400
+++ ./doc/fonts/gnu-freefont/tools/utility/metafont/bulk_eps_import.py 2019-08-18 08:47:43.083384292 -0400
@@ -35,11 +35,11 @@ import fnmatch, re
problem = False
def import_glyph( font, name, chrnum ):
- print "importing file: " + name + " to slot " + str( chrnum )
+ print("importing file: " + name + " to slot " + str( chrnum ))
g = font.createChar( chrnum )
- print "importing outlines " + name
+ print("importing outlines " + name)
g.importOutlines( name )
# The glyphs produced by MetaPost usually have a grid, whose
# right side seems to correspond to the proper right side bearing
@@ -56,7 +56,7 @@ re_file_pat = re.compile( file_pat )
if argc > 2:
fontfilename = sys.argv[1]
font = fontforge.open( fontfilename )
- print "bulk importing to font file: " + fontfilename
+ print("bulk importing to font file: " + fontfilename)
chrnum = 0
directories = os.listdir('.')
directories.sort()
diff -up ./doc/fonts/gnu-freefont/tools/utility/special-purpose/makeBraille.py.py3 ./doc/fonts/gnu-freefont/tools/utility/special-purpose/makeBraille.py
--- ./doc/fonts/gnu-freefont/tools/utility/special-purpose/makeBraille.py.py3 2019-08-18 08:49:05.631397114 -0400
+++ ./doc/fonts/gnu-freefont/tools/utility/special-purpose/makeBraille.py 2019-08-18 08:49:34.269707707 -0400
@@ -60,12 +60,12 @@ def createAndName( font, off ):
return font.createChar( 0x2800 + off, 'braille%0.2X' % off )
def drawtopsix( g, off ):
- print 'created', 'braille%0.2X' % off
+ print('created', 'braille%0.2X' % off)
g.clear()
g.right_side_bearing = glyphwidth
for col in range ( 0, 2 ):
for row in range ( 0, 3 ):
- print 'shift', ( 3 * col + row )
+ print('shift', ( 3 * col + row ))
state = ( 1 << ( 3 * col + row ) ) & off
drawdot( g, col, row, state )
diff -up ./doc/generic/enctex/unimap.py.py3 ./doc/generic/enctex/unimap.py
--- ./doc/generic/enctex/unimap.py.py3 2019-08-18 08:52:49.201015107 -0400
+++ ./doc/generic/enctex/unimap.py 2019-08-18 08:54:08.301110903 -0400
@@ -91,12 +91,12 @@ def linetype(line):
return LineType.Character, (int(line[:m.end()], 16),
line[m.end():].strip().lower())
if not line.startswith('\t'):
- raise ValueError, 'Queer line doesn\'t start with @ or Tab'
+ raise ValueError('Queer line doesn\'t start with @ or Tab')
line = line.strip()
if not line:
return LineType.Empty, None
if not LineType.map.has_key(line[0]):
- raise ValueError, 'Queer character info line (marker %s)' % line[0]
+ raise ValueError('Queer character info line (marker %s)' % line[0])
return line[0], line[1:].strip()
def utf8chars(u):
@@ -132,7 +132,7 @@ while typ:
char = val
elif typ == LineType.TeX:
if not val.startswith('\\'):
- raise ValueError, '%s is not a control seq (U%X)' % (val, char[0])
+ raise ValueError('%s is not a control seq (U%X)' % (val, char[0]))
if sect:
fw.write('\n%% %s\n' % sect)
sect = None

@ -0,0 +1,63 @@
diff -up web2c/texmfcnf.lua.orig web2c/texmfcnf.lua
--- ./web2c/texmfcnf.lua.orig 2024-03-30 11:39:30.000000000 -0400
+++ ./web2c/texmfcnf.lua 2024-05-02 23:15:08.737490409 -0400
@@ -11,6 +11,7 @@ return {
comment = "ConTeXt MkIV and LMTX configuration file",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
target = "texlive",
+ -- modified for Fedora, based on Preining Norbert's work in Debian
content = {
@@ -52,7 +53,7 @@ return {
TEXMFVAR = "home:" .. hiddentexlivepath .. "/texmf-var",
TEXMFCONFIG = "home:" .. hiddentexlivepath .. "/texmf-config",
- TEXMFSYSVAR = "selfautoparent:texmf-var",
+ TEXMFSYSVAR = "/var/lib/texmf",
TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
-- I don't like this texmf under home and texmf-home would make more sense. One never knows
@@ -62,7 +63,7 @@ return {
-- By using prefixes we don't get expanded paths in the cache __path__ entry. This makes the
-- tex root relocatable.
- TEXMFOS = "selfautodir:",
+ -- TEXMFOS = "selfautodir:",
-- standalone:
@@ -73,8 +74,9 @@ return {
-- texlive:
- TEXMFDIST = "selfautoparent:texmf-dist",
- TEXMFSYSCONFIG = "selfautoparent:texmf-config",
+ TEXMFDIST = "/usr/share/texlive/texmf-dist",
+ TEXMFFEDORA = "/usr/share/texmf",
+ TEXMFSYSCONFIG = "/usr/share/texlive/texmf-config",
-- The texmf-local path is only used for (maybe) some additional configuration file.
-- Changed texmf-local to use ../ per Bruno Voisin,
@@ -86,9 +88,9 @@ return {
-- More info:
-- https://wiki.contextgarden.net/Use_the_fonts_you_want
-- https://wiki.contextgarden.net/Mtxrun#base and #fontsa
- TEXMFLOCAL = "selfautoparent:../texmf-local",
- TEXMFFONTS = "selfautoparent:texmf-fonts",
- TEXMFPROJECT = "selfautoparent:texmf-project",
+ TEXMFLOCAL = "/usr/share/texlive/texmf-local",
+ -- TEXMFFONTS = "selfautoparent:texmf-fonts",
+ -- TEXMFPROJECT = "selfautoparent:texmf-project",
TEXMFHOME = "home:texmf",
-- TEXMFHOME = os.name == "macosx" and "home:Library/texmf" or "home:texmf",
@@ -102,7 +104,7 @@ return {
-- texlive:
- TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFPROJECT,!!$TEXMFFONTS,!!$TEXMFLOCAL,!!$TEXMFDIST}",
+ TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFFEDORA,!!$TEXMFDIST}",
TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//",
ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//",

@ -0,0 +1,48 @@
diff -up texlive-20240311/source/texk/tex4htk/java/xtpipes/InputObject.java.me texlive-20240311/source/texk/tex4htk/java/xtpipes/InputObject.java
diff -up texlive-20240311/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java.me texlive-20240311/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java
--- texlive-20240311/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java.me 2024-08-08 17:31:10.121875390 +0200
+++ texlive-20240311/source/texk/tex4htk/java/xtpipes/util/ScriptsManager.java 2024-08-08 17:32:03.258933555 +0200
@@ -37,7 +37,7 @@ Stack<Integer> nsStack = new Stack<Integ
public void startElement(String ns, String sName,
String qName, Attributes atts) {
int top = nsName.size();
-nsStack.push( new Integer(top) );
+nsStack.push( top );
String key = (atts==null)?
null
@@ -87,11 +87,11 @@ for(int i=top; i>0; ){
}
s += ">" ;
if( flag ){
- Object [] state = { new Boolean(savemode), code, match };
+ Object [] state = { savemode, code, match };
stack.push( state );
savemode=true; code=""; match= key;
} else {
- Object [] state = { new Boolean(savemode), null, null };
+ Object [] state = { savemode, null, null };
stack.push( state );
}
add( s );
diff -up texlive-20240311/source/texk/tex4htk/java/xtpipes/Xtpipes.java.me texlive-20240311/source/texk/tex4htk/java/xtpipes/Xtpipes.java
--- texlive-20240311/source/texk/tex4htk/java/xtpipes/Xtpipes.java.me 2024-08-08 17:29:42.138123299 +0200
+++ texlive-20240311/source/texk/tex4htk/java/xtpipes/Xtpipes.java 2024-08-08 17:31:06.075794819 +0200
@@ -517,7 +517,7 @@ if( saxReaderStack.empty() ){
saxReader.setContentHandler( new DefaultHandler(){
private Stack <Boolean> condition = new Stack <Boolean> ();
public void startDocument () {
- condition.push( new Boolean(true) );
+ condition.push( true );
}
public void startElement(String ns, String sName,
String qName, Attributes atts) {
@@ -616,7 +616,7 @@ if( name.equals("content-type") ){
condition = null;
return;
} }
- condition.push( new Boolean(cond) );
+ condition.push( cond );
}
public void endElement(String ns, String sName, String qName) {
if( condition == null ){ return; }

@ -0,0 +1,21 @@
diff -up texlive-20240311/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-20240311/source/texk/kpathsea/texmf.cnf
--- texlive-20240311/source/texk/kpathsea/texmf.cnf.texinfo-fix 2024-07-04 17:20:11.637094256 +0200
+++ texlive-20240311/source/texk/kpathsea/texmf.cnf 2024-07-04 17:29:01.466765113 +0200
@@ -86,6 +86,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
+% Texinfo on Fedora lives out of $TEXMFROOT
+TEXINFOHOME = $SELFAUTODIR/share/texmf
+
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive2024/texmf-var
@@ -112,6 +115,7 @@ TEXMFAUXTREES = {}
% is defined (99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% 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

@ -0,0 +1,12 @@
diff -up texlive-base-20220321/source/texk/kpathsea/texmf.cnf.out_of_memory texlive-base-20220321/source/texk/kpathsea/texmf.cnf
--- texlive-base-20220321/source/texk/kpathsea/texmf.cnf.out_of_memory 2022-04-24 15:50:46.472711270 -0400
+++ texlive-base-20220321/source/texk/kpathsea/texmf.cnf 2022-04-24 15:51:47.213026575 -0400
@@ -789,7 +789,7 @@ texmf_casefold_search = 1
% To increase space for boxes (as might be needed by, e.g., PiCTeX),
% increase extra_mem_bot.
%
-main_memory = 5000000 % words of inimemory available; also applies to inimf&mp
+main_memory = 6000000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 0 % extra high memory for chars, tokens, etc.
extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.

@ -0,0 +1,47 @@
diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.header-order-fix texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.header-order-fix 2023-01-31 12:53:39.214112015 -0500
+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc 2023-01-31 12:54:07.175413160 -0500
@@ -17,6 +17,11 @@ You should have received a copy of the G
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/*
+Load aconf.h first to ensure _FILE_OFFSET_BITS is factored in.
+*/
+#include <aconf.h>
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -31,7 +36,6 @@ with this program. If not, see <http://
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
#include <GString.h>
#include <gmem.h>
#include <gfile.h>
diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.header-order-fix texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.header-order-fix 2023-01-31 12:41:21.483166562 -0500
+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc 2023-01-31 12:53:15.185853229 -0500
@@ -16,6 +16,12 @@ GNU General Public License for more deta
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+/*
+Load aconf.h first to ensure _FILE_OFFSET_BITS is factored in.
+*/
+#include <aconf.h>
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -24,7 +30,6 @@ with this program. If not, see <http://
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
#include <GString.h>
#include <gmem.h>
#include <gfile.h>

@ -0,0 +1,12 @@
diff -up texlive-base-20220321/source/configure.poppler-22.08.0 texlive-base-20220321/source/configure
--- texlive-base-20220321/source/configure.poppler-22.08.0 2022-10-31 09:48:21.875540925 -0400
+++ texlive-base-20220321/source/configure 2022-10-31 09:50:13.731220862 -0400
@@ -23545,7 +23545,7 @@ printf %s "checking requested system \`x
int
main (void)
{
-GfxFont *gfxFont; gfxFont->decRefCnt();
+GfxFont *gfxFont; gfxFont->getFlags();
;
return 0;
}

@ -0,0 +1,20 @@
diff -up ./scripts/context/perl/mptopdf.pl.fix-scripts ./scripts/context/perl/mptopdf.pl
--- ./scripts/context/perl/mptopdf.pl.fix-scripts 2023-05-25 11:52:19.149713294 -0400
+++ ./scripts/context/perl/mptopdf.pl 2023-05-25 11:53:05.379317240 -0400
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#! /usr/bin/perl -w
# MikTeX users can set environment variable TEXSYSTEM to "miktex".
diff -up ./scripts/thumbpdf/thumbpdf.pl.fix-scripts ./scripts/thumbpdf/thumbpdf.pl
--- ./scripts/thumbpdf/thumbpdf.pl.fix-scripts 2023-05-25 11:53:23.018547680 -0400
+++ ./scripts/thumbpdf/thumbpdf.pl 2023-05-25 11:53:44.086822918 -0400
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#! /usr/bin/perl -w
use strict;
$^W=1; # turn warning on
#

@ -0,0 +1,12 @@
diff -up texlive-base-20230311/source/texk/xdvik/gui/pagesel.c.me texlive-base-20230311/source/texk/xdvik/gui/pagesel.c
--- texlive-base-20230311/source/texk/xdvik/gui/pagesel.c.me 2024-01-19 21:02:08.541378286 +0100
+++ texlive-base-20230311/source/texk/xdvik/gui/pagesel.c 2024-01-19 21:17:31.425443142 +0100
@@ -538,7 +538,7 @@ xaw_update_list(void)
button_width = get_panel_width() - 2 * (resource.btn_side_spacing + resource.btn_border_width);
/* delete and re-create list */
ASSERT(total_pages <= (int)page_info.index_size, "");
- XawListChange(LIST_WIDGET, page_info.page_labels, 0,
+ XawListChange(LIST_WIDGET,(const char **) page_info.page_labels, 0,
MAX(button_width, pagelist_width), False);
/* restore selected item */
if (idx != XAW_LIST_NONE) {

@ -0,0 +1,20 @@
--- texlive-base-20230311/source/texk/web2c/pdftexdir/pdftex.ch.orig 2023-05-02 17:26:43.000000000 +0200
+++ texlive-base-20230311/source/texk/web2c/pdftexdir/pdftex.ch 2024-01-20 21:59:58.382906926 +0100
@@ -179,7 +179,7 @@ pdf_font_type:=xmalloc_array(eight_bits,
pdf_font_attr:=xmalloc_array(str_number, font_max);
pdf_font_blink:=xmalloc_array(internal_font_number, font_max);
pdf_font_elink:=xmalloc_array(internal_font_number, font_max);
-pdf_font_has_space_char:=xmalloc_array(internal_font_number, font_max);
+pdf_font_has_space_char:=xmalloc_array(boolean, font_max);
pdf_font_stretch:=xmalloc_array(integer, font_max);
pdf_font_shrink:=xmalloc_array(integer, font_max);
pdf_font_step:=xmalloc_array(integer, font_max);
@@ -298,7 +298,7 @@ pdf_font_type:=xmalloc_array(eight_bits,
pdf_font_attr:=xmalloc_array(str_number,font_max);
pdf_font_blink:=xmalloc_array(internal_font_number,font_max);
pdf_font_elink:=xmalloc_array(internal_font_number,font_max);
-pdf_font_has_space_char:=xmalloc_array(internal_font_number,font_max);
+pdf_font_has_space_char:=xmalloc_array(boolean,font_max);
pdf_font_stretch:=xmalloc_array(integer,font_max);
pdf_font_shrink:=xmalloc_array(integer,font_max);
pdf_font_step:=xmalloc_array(integer,font_max);

@ -0,0 +1,102 @@
diff -up texlive-base-20220321/source/texk/psutils/tests/playres.ps.libpaper2 texlive-base-20220321/source/texk/psutils/tests/playres.ps
--- texlive-base-20220321/source/texk/psutils/tests/playres.ps.libpaper2 2023-01-08 23:22:46.519324804 -0500
+++ texlive-base-20220321/source/texk/psutils/tests/playres.ps 2023-01-08 23:22:56.824405896 -0500
@@ -280,7 +280,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 15 4 bop 330 423 a Fb(5)2834 b(5)1622 3275
@@ -293,7 +293,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 16 5 bop 330 419 a Fb(6)2834 b(6)1622 3264
@@ -306,7 +306,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 17 6 bop 330 419 a Fb(7)2834 b(7)1622 3266
@@ -319,7 +319,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 18 7 bop 330 419 a Fb(8)2834 b(8)1622 3264
@@ -332,7 +332,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 19 8 bop 330 419 a Fb(9)2834 b(9)1622 3261
@@ -345,7 +345,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 20 9 bop 330 419 a Fb(10)2668 b(10)1415
@@ -358,7 +358,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 21 10 bop 330 419 a Fb(11)2668 b(11)1415
@@ -371,7 +371,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 22 11 bop 330 419 a Fb(12)2668 b(12)1415
@@ -384,7 +384,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 23 12 bop 330 419 a Fb(13)2668 b(13)1415
@@ -397,7 +397,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 24 13 bop 330 419 a Fb(14)2668 b(14)1415
@@ -410,7 +410,7 @@ PStoPSmatrix setmatrix
0.704762 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto
+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 25 14 bop 330 423 a Fb(15)2668 b(15)1415

@ -0,0 +1,51 @@
diff -up texlive-base-20180414/source/texk/dvi2tty/dvi2tty-src/DVI.format texlive-base-20180414/source/texk/dvi2tty/dvi2tty-src/DVI
diff -up texlive-base-20180414/source/texk/dvidvi/dvidvi.c.format texlive-base-20180414/source/texk/dvidvi/dvidvi.c
--- texlive-base-20180414/source/texk/dvidvi/dvidvi.c.format 2017-06-23 10:55:46.000000000 -0400
+++ texlive-base-20180414/source/texk/dvidvi/dvidvi.c 2018-04-30 13:07:17.910020544 -0400
@@ -349,7 +349,7 @@ static void stringdvibuf(integer p, inte
* Print a usage error messsage, and quit.
*/
static void usage(void) {
- (void)fprintf(stderr,banner);
+ (void)fprintf(stderr,"%s",banner);
(void)fprintf(stderr,"Usage: dvidvi [options] input[.dvi] [output]\n");
(void)fprintf(stderr,"where options are:\n");
(void)fprintf(stderr," [-f n] first page printed [-l n] last page printed\n");
@@ -828,7 +828,7 @@ default:
} /* else argument with '-' */
} /* for */
if (*iname == 0) {
- (void)fprintf(stderr, banner) ;
+ (void)fprintf(stderr, "%s", banner) ;
error("! no input file specified");
}
/* Inserted by djc@dsmail.hmi.de 3.8.1994 */
@@ -839,7 +839,7 @@ default:
}
if (*oname != 0 && !quiet) {
- (void)fprintf(stderr, banner) ;
+ (void)fprintf(stderr, "%s", banner) ;
(void)fprintf(stderr, "%s -> %s\n",iname,oname);
temp = nextstring ;
}
diff -up texlive-base-20180414/source/texk/web2c/tiedir/tie.c.format texlive-base-20180414/source/texk/web2c/tiedir/tie.c
--- texlive-base-20180414/source/texk/web2c/tiedir/tie.c.format 2016-11-25 13:24:38.000000000 -0500
+++ texlive-base-20180414/source/texk/web2c/tiedir/tie.c 2018-04-30 13:07:27.792787747 -0400
@@ -27,14 +27,14 @@
\
#define term_out stdout
-#define print(a)fprintf(term_out,a)
+#define print(a)fprintf(term_out,"%s",a)
#define print2(a,b)fprintf(term_out,a,b)
#define print3(a,b,c)fprintf(term_out,a,b,c)
#define print_c(v)fputc(v,term_out);
#define new_line(v)fputc('\n',v)
#define term_new_line new_line(term_out) \
-#define print_ln(v){fprintf(term_out,v);term_new_line;} \
+#define print_ln(v){fprintf(term_out,"%s",v);term_new_line;} \
#define print2_ln(a,b){print2(a,b);term_new_line;}
#define print3_ln(a,b,c){print3(a,b,c);term_new_line;} \

@ -0,0 +1,12 @@
diff -up texlive-2013/source/texk/kpathsea/progname.c.kpfix texlive-2013/source/texk/kpathsea/progname.c
--- source/texk/kpathsea/progname.c.kpfix 2013-08-12 09:28:14.422522624 +0200
+++ source/texk/kpathsea/progname.c 2013-08-12 12:16:02.958132658 +0200
@@ -668,7 +668,7 @@ kpathsea_set_program_name (kpathsea kpse
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir));
sdir_parent = xdirname (sdir);
kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent));
- sdir_grandparent = xdirname (sdir_parent);
+ sdir_grandparent = strdup("/usr/share/texlive");
kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent));
sdir_greatgrandparent = xdirname (sdir_grandparent);
kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent));

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save