update to texlive-20200327

This commit is contained in:
Than Ngo 2020-11-18 16:29:19 +01:00
parent 6b70a0a955
commit ad2b3f165e
43 changed files with 25943 additions and 196024 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +0,0 @@
#!/bin/sh
#
# This script creates texlive.spec from generated specs by tl2rpm
# and generates local testing repository from built packages.
# Written by Jindrich Novy (novyjindrich@gmail.com).
#
gcc tl2rpm.c -o tl2rpm -O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=native -march=native
[ "$?" != "0" ] && exit 1
rm -f _mkdirs.spec _unpack.spec _sources.spec _remove.spec _packages.spec _font.spec _files.spec _dirs.spec
touch _mkdirs.spec
./tl2rpm
mv _mkdirs.spec _mkdirs.spec.tmp
sort _mkdirs.spec.tmp > _mkdirs.spec
rm -f _mkdirs.spec.tmp
mv _dirs.spec _dirs.spec.tmp
sort _dirs.spec.tmp > _dirs.spec
rm -f _dirs.spec.tmp
mv _sources.spec _sources.spec.tmp
sort _sources.spec.tmp > _sources.spec
rm -f _sources.spec.tmp
while read LINE; do
if [ "${LINE%% *}" = "%include" ]; then
cat ${LINE:9}
else
echo "$LINE"
fi
done < texlive.spec.template > texlive.spec
#exit 0
RPMBUILDDIR=`rpm --eval "%_topdir"`
rm -f $RPMBUILDDIR/RPMS/noarch/texlive*
rm -f $RPMBUILDDIR/RPMS/x86_64/texlive*
for i in `ls texlive/archive`; do
rm -f $RPMBUILDDIR/SOURCES/$i
done
ACTDIR=`pwd`
for i in `ls texlive/archive`; do
ln -s $ACTDIR/texlive/archive/$i $RPMBUILDDIR/SOURCES/$i
done
LANG=C time rpmbuild -bb texlive.spec > buildlog-srpm 2>&1
[ "$?" != "0" ] && exit 1
mv buildlog-srpm buildlog-srpm.full
rm -rf packages
mkdir packages
mv RPMS/noarch/texlive* packages
mv RPMS/x86_64/texlive* packages
createrepo packages

View File

@ -1,32 +0,0 @@
#!/bin/bash
# Probably should redo this in python ... but lazy
# Copyright 2020 Tom Callaway <spot@fedoraproject.org>
MIRROR="http://ctan.math.illinois.edu/systems/texlive/tlnet/archive/"
function validate_url(){
if [[ `wget -S --spider $1 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then
echo "true";
else
echo "false";
fi
}
for i in `grep "^%package" texlive.spec | cut -d " " -f 2-`; do
PACKAGENAME="$i";
COMPONENTNAME=`echo $i | sed 's|-doc$|.doc|g'`;
# Some of the older versions have trailing .NNN.NNN values. Strip em.
CURRVERSION=`grep -A10 "%package $i$" texlive.spec | grep -m 1 "^Version:" | cut -d " " -f 2- | cut -d "." -f 1 | sed 's|^svn|r|g'`;
# printf "$COMPONENTNAME "
# echo "$COMPONENTNAME @ $CURRVERSION";
MY_URL=`echo $MIRROR$COMPONENTNAME.$CURRVERSION.tar.xz`
# echo $MY_URL
OUTPUT=`validate_url $MY_URL`
# echo $OUTPUT
if $OUTPUT; then
# echo "[$PACKAGENAME] same as upstream"
continue
else
echo "$PACKAGENAME"
fi
done

View File

@ -1,123 +0,0 @@
#!/bin/sh
#
# This script checks out upstream archives from CTAN, removes unneeded files,
# expands files required for dependency resolution by tl2rpm.
# Written by Jindrich Novy (novyjindrich@gmail.com).
#
echo "Syncing with remote server..."
[ -e texlive/archive/asana-math.tar.xz ] && mv texlive/archive/asana-math.tar.xz texlive/archive/Asana-Math.tar.xz
[ -e texlive/archive/asana-math.doc.tar.xz ] && mv texlive/archive/asana-math.doc.tar.xz texlive/archive/Asana-Math.doc.tar.xz
[ -e texlive/archive/lineara.tar.xz ] && mv texlive/archive/lineara.tar.xz texlive/archive/linearA.tar.xz
[ -e texlive/archive/lineara.doc.tar.xz ] && mv texlive/archive/lineara.doc.tar.xz texlive/archive/linearA.doc.tar.xz
[ -e texlive/archive/lineara.source.tar.xz ] && mv texlive/archive/lineara.source.tar.xz texlive/archive/linearA.source.tar.xz
[ -e texlive/archive/musixtex-fnts.tar.xz ] && mv texlive/archive/musixtex-fnts.tar.xz texlive/archive/musixtex-fonts.tar.xz
[ -e texlive/archive/musixtex-fnts.doc.tar.xz ] && mv texlive/archive/musixtex-fnts.doc.tar.xz texlive/archive/musixtex-fonts.doc.tar.xz
#rsync -av --delete ftp.cstug.cz::pub/tex/local/tlpretest/archive texlive --delete-excluded \
#rsync -av --delete rsync://ftp.ctex.org/mirrors/texlive/tlpretest/ texlive --delete-excluded \
#rsync -av --delete ftp.cstug.cz::pub/tex/local/tlpretest/archive texlive --delete-excluded \
#rsync -av --delete rsync://ftp.fernuni-hagen.de/ctan/systems/texlive/tlnet/archive texlive --delete-excluded \
rsync -av --delete rsync://rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/archive texlive --delete-excluded \
--exclude '*mactex*' \
--exclude '*.win32*' \
--exclude '*.i386-freebsd*' \
--exclude '*.i386-cygwin*' \
--exclude '*.i386-solaris*' \
--exclude '*.i386-netbsd*' \
--exclude '*.i386-kfreebsd*' \
--exclude '*.armel-linux*' \
--exclude '*.mipsel-linux*' \
--exclude '*.mips-irix*' \
--exclude '*.powerpc-*' \
--exclude '*.sparc-*' \
--exclude '*.amd64-*' \
--exclude '*.alpha-*' \
--exclude '*.x86_64-*' \
--exclude '*.universal-darwin*' \
--exclude '*.armhf-linux*' \
--exclude '*.exe.*' \
--exclude '*.exe' \
--exclude 'install-tl*' \
--exclude 'breakcites*' \
--exclude 'psutils*' \
--exclude 'rst.*' \
--exclude 't1utils*' \
--exclude 'xindy*' \
--exclude 'asymptote*' \
--exclude 'tlpkg/*' \
--exclude 'update-tlmgr*' | tee /tmp/rsynclogCTAN
EXIT=$?
[ -e texlive/archive/Asana-Math.tar.xz ] && mv texlive/archive/Asana-Math.tar.xz texlive/archive/asana-math.tar.xz
[ -e texlive/archive/Asana-Math.doc.tar.xz ] && mv texlive/archive/Asana-Math.doc.tar.xz texlive/archive/asana-math.doc.tar.xz
[ -e texlive/archive/linearA.tar.xz ] && mv texlive/archive/linearA.tar.xz texlive/archive/lineara.tar.xz
[ -e texlive/archive/linearA.doc.tar.xz ] && mv texlive/archive/linearA.doc.tar.xz texlive/archive/lineara.doc.tar.xz
[ -e texlive/archive/linearA.source.tar.xz ] && mv texlive/archive/linearA.source.tar.xz texlive/archive/lineara.source.tar.xz
[ -e texlive/archive/musixtex-fonts.tar.xz ] && mv texlive/archive/musixtex-fonts.tar.xz texlive/archive/musixtex-fnts.tar.xz
[ -e texlive/archive/musixtex-fonts.doc.tar.xz ] && mv texlive/archive/musixtex-fonts.doc.tar.xz texlive/archive/musixtex-fnts.doc.tar.xz
UPDATES=`grep 'tar.xz$' /tmp/rsynclogCTAN`
if [ "$UPDATES" == "" ]; then
rm -f /tmp/rsynclogCTAN
exit 0
else
UPDATES=`grep 'tar.xz$' /tmp/rsynclogCTAN | grep -v 'deleting'`
for i in $UPDATES; do
echo "+ $i"
done
fi
rm -f /tmp/rsynclogCTAN
[ $EXIT != 0 ] && exit 1
echo "Creating symlinks..."
for i in `ls texlive/archive`; do
rm -f ~/rpmbuild/SOURCES/$i
done
RPMBUILDDIR=`rpm --eval "%_topdir"`
ACTDIR=`pwd`
for i in `ls texlive/archive`; do
ln -s $ACTDIR/texlive/archive/$i $RPMBUILDDIR/SOURCES/$i
done
echo "Expanding..."
rm -rf texlive.expanded.old
if [ -d texlive.expanded ]; then
mv texlive.expanded texlive.expanded.old
else
mkdir -p texlive.expanded.old
fi
mkdir texlive.expanded
for i in texlive/archive/*.tar.xz; do
tar xf $i -C texlive.expanded '*.sty' '*.tex' '*.cls' '*.ldf' '*.bbx' '*.cbx' '*.def' '*.tlpobj' '*.clo' '*.bug' '*.bg2' '*i386-linux*' '*texmf/scripts*' '*texmf-dist/scripts*' > /dev/null 2>&1
done
diff -ru texlive.expanded.old texlive.expanded > archive.diff
echo "Moving..."
pushd texlive.expanded
cp -pr doc source tex texmf-dist
rm -rf doc source tex
popd
echo "Generating tlpdb..."
pushd ./texlive.expanded/tlpkg/tlpobj
OUT=../../../texlive.tlpdb
mv $OUT $OUT.bck
for i in `ls *.tlpobj | grep -v '\.i386-linux.tlpobj$' | grep -v '\.doc.tlpobj$' | grep -v '\.source.tlpobj$'`; do
NAME=`echo $i | sed 's/.tlpobj$//g'`
grep -v '^catalogue-' $i >> $OUT
if [ -e $NAME.doc.tlpobj ]; then
grep '^docfiles' $NAME.doc.tlpobj >> $OUT
grep '^ ' $NAME.doc.tlpobj >> $OUT
fi
if [ -e $NAME.source.tlpobj ]; then
grep '^srcfiles' $NAME.source.tlpobj >> $OUT
grep '^ ' $NAME.source.tlpobj >> $OUT
fi
grep '^catalogue-' $i >> $OUT
echo >> $OUT
if [ -e $NAME.i386-linux.tlpobj ]; then
cat $NAME.i386-linux.tlpobj >> $OUT
echo >> $OUT
fi
done
popd
patch texlive.tlpdb < tlpdb.patch
[ "$?" = "1" ] && exit 1
diff -u texlive.tlpdb.orig texlive.tlpdb > tlpdb.patch

View File

@ -1,63 +0,0 @@
#!/bin/sh
#
# This script checks out TeX Live upstream sources to build binaries,
# removes unneeded files and generates a tarball used to build RPMs.
# Written by Jindrich Novy (novyjindrich@gmail.com)
#
svn co svn://tug.org/texlive/trunk/Build/source | tee /tmp/rsynclog
[ "$?" != "0" ] && exit 1
UPDATES=`grep -v '^Checked out revision' /tmp/rsynclog`
[ "$UPDATES" == "" ] && exit 0
cp -R source source.svn
for i in \
'.svn' \
'*.exe' \
'*.dsp' \
'*.dsw' \
'*.orig' \
'*vcproj*' \
'*vcxproj*' \
'*.vc' \
'*vc[678]*' \
; do
find source -name $i | tee | xargs rm -rf
done
#rm -rf source/utils/biber*
rm -rf \
source/libs/zlib* \
source/libs/libpng* \
source/libs/expat* \
source/libs/jpeg* \
source/libs/t1lib* \
source/libs/teckit* \
source/libs/gd* \
source/libs/freetype2* \
source/libs/zziplib* \
source/libs/poppler* \
source/libs/unzip* \
source/libs/xpdf* \
source/libs/cairo* \
source/libs/harfbuzz* \
source/libs/pixman* \
source/libs/libpaper* \
source/libs/icu* \
source/libs/graphite2* \
source/libs/potrace* \
source/libs/freetype/* \
source/texk/texlive/w32_wrapper \
source/utils/t1utils* \
source/utils/xindy* \
source/utils/asymptote* \
source/utils/psutils* \
source/utils/biber* \
source/utils/xz* \
source/extra*
#source/utils/asymptote*
DATE=`date +%Y%m%d`_r`grep Checked /tmp/rsynclog | cut -d" " -f4 | sed s/.$//`
sed -i s/global\ source_date.*$/global\ source_date\ $DATE/g texlive.spec.template
rm -f texlive-*-source.tar.xz
echo "Packing..."
time tar Oc source | xz -cv -T0 - > texlive-$DATE-source.tar.xz
rm -rf source
mv source.svn source
mv texlive*-source.tar.xz `rpm --eval "%_topdir"`/SOURCES

View File

@ -1,313 +0,0 @@
#!/usr/bin/python3
# makeTLspec: Take a CTAN component name and make spec snippets for it
#
# Copyright (c) 2020 Tom Callaway <spot@fedoraproject.org>
# Copyright (c) 2013-2016 Tomas Popela <tpopela@redhat.com> (from chromium-latest.py)
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
from datetime import datetime
from optparse import OptionParser
import os
import pathlib
import requests
import sys
import tarfile
import urllib.request, urllib.parse, urllib.error
def dlProgress(count, blockSize, totalSize):
if (totalSize <= blockSize):
percent = int(count * 100)
else:
percent = int(count * blockSize * 100 / totalSize)
sys.stdout.write("\r" + "Downloading ... %d%%" % percent)
sys.stdout.flush()
def license_to_fedora(argument):
switcher = {
'lppl1.3c': 'LPPL 1.3',
'lppl1.3': 'LPPL 1.3',
'lppl1.2': 'LPPL 1.2',
'lppl1.1': 'LPPL 1.1',
'lppl1': 'LPPL 1',
'lppl': 'LPPL',
'apache2': 'ASL 2.0',
'artistic2': 'Artistic 2.0',
'bsd': 'BSD',
'fdl': 'GFDL',
'fsl': 'GFSL',
'gpl2': 'GPLv2',
'gpl3': 'GPLv3',
'gpl': 'GPL+',
'knuth': 'Knuth',
'lgpl2.1': 'LGPLv2',
'lgpl': 'LGPLv2+',
'ofl': 'OFL',
'pd': 'Public Domain',
'other-free': 'UNKNOWN'
}
return switcher.get(argument, "UNKNOWN")
def remove_file_if_exists(filename):
if os.path.isfile("./%s" % filename):
try:
os.remove(filename)
except Exception:
pass
def downloadit(component):
mirror = "http://ctan.math.illinois.edu/systems/texlive/tlnet/archive/"
if options.verbose:
print("Downloading main tarball for %s..." % component)
componentfile = component + ".tar.xz"
componentdocfile = component + ".doc.tar.xz"
texlivegitdir = str(pathlib.Path.home()) + "/git/texlive"
try:
os.chdir(texlivegitdir)
except OSError:
print("Could not change to %s... bailing out" % texlivegitdir)
return
if (options.clean):
remove_file_if_exists(componentfile)
remove_file_if_exists(componentdocfile)
# Make sure we have not already downloaded the component bits
for item in [componentfile, componentdocfile]:
if os.path.isfile(item):
print("%s already exists!" % item)
else:
url = mirror + item
request = requests.get(url)
if request.status_code == 200:
print("Downloading %s" % url)
info = urllib.request.urlretrieve(url, item, reporthook=dlProgress)[1]
urllib.request.urlcleanup()
print("")
else:
print('Tarball for %s is not on this mirror.' % item)
remove_file_if_exists (item)
# sys.exit(1)
if __name__ == "__main__":
# We want to be in ~/git/texlive/
texlivegitdir = str(pathlib.Path.home()) + "/git/texlive"
sourceslistpath = texlivegitdir + "/sourceslistfile.txt"
packagespath = texlivegitdir + "/packagesfile.txt"
fileslistpath = texlivegitdir + "/fileslistfile.txt"
mirror = "http://ctan.math.illinois.edu/systems/texlive/tlnet/archive/"
usage = "usage: %prog [options] CTANcomponent"
parser = OptionParser(usage)
parser.add_option("-c", "--clean", action="store_true", help="Re-download sources")
parser.add_option("-d", "--download", action="store_true", help="Download files fresh")
parser.add_option("-s", "--startingsourcenum", default="1", help="Starting sourcenum for the sourceslist [default: %default]")
parser.add_option("-t", "--timestamp", action="store_true", help="add a timestamp to the output files (if any)")
parser.add_option("-v", "--verbose", action="store_true", help="Tell us what is happening")
parser.add_option("-w", "--write", action="store_true", help="Write output to files")
options, args = parser.parse_args()
if len(args) < 1:
parser.error("incorrect number of arguments found")
if options.timestamp:
now = datetime.now()
timestamp = now.strftime("%Y%m%d-%H%M%S")
sourceslistpath = texlivegitdir + "/sourceslistfile-{0:s}.txt".format(timestamp)
packagespath = texlivegitdir + "/packagesfile-{0:s}.txt".format(timestamp)
fileslistpath = texlivegitdir + "/fileslistfile-{0:s}.txt".format(timestamp)
if options.write:
# Probably want a warning if these are found since they'll be destroyed otherwise.
sourceslistfile = open(sourceslistpath, "w")
packagesfile = open(packagespath, "w")
fileslistfile = open(fileslistpath, "w")
counter = int(options.startingsourcenum)
sortedargs = sorted(args)
for component in sortedargs:
masterfilelist = []
masterdirlist = []
if options.verbose:
print("Starting SPEC generation for %s..." % component)
if options.download:
downloadit(component)
# Unpack tarballs if they exist
componentfile = component + ".tar.xz"
componentdocfile = component + ".doc.tar.xz"
sandboxdir = texlivegitdir + "/sandbox"
if not os.path.exists(sandboxdir):
os.makedirs(sandboxdir)
try:
os.chdir(sandboxdir)
except OSError:
print("Could not change to %s... bailing out" % sandboxdir)
else:
if os.path.isfile(texlivegitdir + "/{0:s}".format(componentfile)) or os.path.isfile(texlivegitdir + "/{0:s}".format(componentdocfile)):
for file in [componentfile, componentdocfile]:
if os.path.isfile(texlivegitdir + "/{0:s}".format(file)):
if options.write:
sourceslistfile.write("Source{0:d}: {1:s}{2:s}\n".format(counter, mirror, file))
counter += 1
else:
print("Source{0:d}: {1:s}{2:s}".format(counter, mirror, file))
counter += 1
if options.verbose:
print("Unpacking {0:s} ...".format(file), end="")
tar = tarfile.open(texlivegitdir + "/" + file)
filelist = tar.getnames()
justdirs = []
justfiles = []
for newfile in filelist:
mypath = pathlib.Path(newfile)
# we dont want to generate provides for files in doc packages
if file == componentfile:
justfiles.append(mypath.name)
justdirs.append(mypath.parent)
cleandirs = [str(x) for x in justdirs if not str(x).startswith('tlpkg')]
# Eliminate dupes
cleandirs = list( dict.fromkeys(cleandirs) )
masterdirlist = masterdirlist + cleandirs
masterfilelist = masterfilelist + justfiles
tar.extractall()
tar.close()
if options.verbose:
print(" done!")
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
if options.write:
packagesfile.write("%package {0:s}\n".format(component))
else:
print("%package {0:s}".format(component))
# Figure out the summary
for line in f:
if line.startswith('shortdesc'):
summarytxt = line.replace('shortdesc ', '')
if options.write:
packagesfile.write("Summary: {0:s}\n".format(summarytxt.rstrip()))
else:
print("Summary: {0:s}".format(summarytxt.rstrip()))
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
# Figure out the version
for line in f:
if line.startswith('revision'):
vernum = line.replace('revision ', '')
if options.write:
packagesfile.write("Version: svn{0:s}\n".format(vernum.rstrip()))
else:
print("Version: svn{0:s}".format(vernum.rstrip()))
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
# Figure out the license
license = ''
for line in f:
if line.startswith('catalogue-license'):
license = line.replace('catalogue-license ', '')
# print(license_to_fedora(license.rstrip()))
if options.write:
packagesfile.write("License: {0:s}\n".format(license_to_fedora(license.rstrip())))
else:
print("License: {0:s}".format(license_to_fedora(license.rstrip())))
# Print our universal requires
if options.write:
packagesfile.write("Requires: texlive-base texlive-kpathsea\n")
else:
print("Requires: texlive-base texlive-kpathsea")
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
# Print component specific requires ...
for line in f:
if line.startswith('depend'):
require = line.replace('depend ', '')
require = require.rstrip()
if not require.endswith('.ARCH'):
if options.write:
packagesfile.write("Requires: tex({0:s}.sty)\n".format(require))
else:
print("Requires: tex({0:s}.sty)".format(require))
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
# Package specific provides
for monkey in sorted(masterfilelist):
if str(monkey).rstrip().endswith('.sty') or str(monkey).rstrip().endswith('.tex') or str(monkey).rstrip().endswith('.bbx') or str(monkey).rstrip().endswith('.cbx') or str(monkey).rstrip().endswith('.fd') or str(monkey).rstrip().endswith('.cls') or str(monkey).rstrip().endswith('.def') or str(monkey).rstrip().endswith('.map') or str(monkey).rstrip().endswith('.enc') or str(monkey).rstrip().endswith('.bug') or str(monkey).rstrip().endswith('.bg2') or str(monkey).rstrip().endswith('.clo'):
if options.write:
packagesfile.write("Provides: tex(" + str(monkey) + ") = %{tl_version}\n")
else:
print("Provides: tex(" + str(monkey) + ") = %{tl_version}")
# spacer between %package and %description
if options.write:
packagesfile.write("\n")
else:
print("")
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
# Here is where we make the description section for the component.
if options.write:
packagesfile.write("%description {0:s}\n".format(component))
else:
print("%description {0:s}".format(component))
for line in f:
if line.startswith('longdesc'):
descline = line.replace('longdesc ', '')
if options.write:
packagesfile.write(descline.rstrip() + "\n")
else:
print(descline.rstrip())
if options.write:
packagesfile.write("\n")
else:
print("")
# Here is where we make the files section for the component.
if options.write:
fileslistfile.write("%files {0:s}\n".format(component))
fileslistfile.write("%license {0:s}.txt\n".format(license.rstrip()))
else:
print("%files {0:s}".format(component))
print("%license {0:s}.txt".format(license.rstrip()))
for x in sorted(masterdirlist):
if x.startswith('doc'):
if options.write:
fileslistfile.write('%doc %{{_texdir}}/texmf-dist/{0:s}\n'.format(x))
else:
print('%doc %{{_texdir}}/texmf-dist/{0:s}'.format(x))
else:
if options.write:
fileslistfile.write('%{{_texdir}}/texmf-dist/{0:s}\n'.format(x))
else:
print('%{{_texdir}}/texmf-dist/{0:s}'.format(x))
if options.write:
fileslistfile.write("\n")
else:
print("")
else:
print("Component {0:s} not found, maybe retired?".format(component))
sourceslistfile.close()
packagesfile.close()
fileslistfile.close()
print("That's all folks.")

6778
sources

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +0,0 @@
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
--- source/texk/kpathsea/mktexlsr.than 2015-06-10 17:43:50.012950721 +0200
+++ source/texk/kpathsea/mktexlsr 2015-06-10 17:48:11.452194948 +0200
@@ -210,7 +210,8 @@ for TEXMFLS_R in "$@"; do
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+ # selinux fix
+ cp "$db_file_tmp" "$db_file"
rm -rf "$db_dir_tmp"
done
diff -up source/texk/texlive/tl_scripts/fmtutil.sh.than source/texk/texlive/tl_scripts/fmtutil.sh
--- source/texk/texlive/tl_scripts/fmtutil.sh.than 2015-06-10 17:48:30.002070364 +0200
+++ source/texk/texlive/tl_scripts/fmtutil.sh 2015-06-10 17:49:11.923788832 +0200
@@ -796,10 +796,10 @@ run_initex()
log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
# We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
+ cp "$format.log" "$fulldestdir/$format.log" </dev/null
#
destfile=$fulldestdir/$fmtfile
- if mv "$fmtfile" "$destfile" </dev/null; then
+ if cp "$fmtfile" "$destfile" </dev/null; then
verboseMsg "$progname: $destfile installed."
#
# As a special special case, we create mplib-luatex.mem for use by

View File

@ -1,31 +0,0 @@
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
--- source/texk/kpathsea/mktexlsr.than 2015-07-28 21:31:52.595540260 -0400
+++ source/texk/kpathsea/mktexlsr 2015-07-28 21:32:12.347422108 -0400
@@ -217,7 +217,8 @@ for TEXMFLS_R in "$@"; do
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+ # selinux fix
+ cp "$db_file_tmp" "$db_file"
rm -rf "$db_dir_tmp"
done
diff -up source/texk/texlive/linked_scripts/texlive/fmtutil.pl.than source/texk/texlive/linked_scripts/texlive/fmtutil.pl
--- source/texk/texlive/linked_scripts/texlive/fmtutil.pl.than 2015-07-28 21:34:04.856749097 -0400
+++ source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2015-07-28 21:35:19.212304314 -0400
@@ -582,12 +582,12 @@ sub rebuild_one_format {
}
TeXLive::TLUtils::mkdirhier($fulldestdir);
- if (!File::Copy::move( "$fmt.log", "$fulldestdir/$fmt.log")) {
+ if (!File::Copy::copy( "$fmt.log", "$fulldestdir/$fmt.log")) {
print_deferred_error("Cannot move $fmt.log to $fulldestdir.\n");
}
my $destfile = "$fulldestdir/$fmtfile";
- if (File::Copy::move( $fmtfile, $destfile )) {
+ if (File::Copy::copy( $fmtfile, $destfile )) {
print_info("$destfile installed.\n");
#
# original fmtutil.sh did some magic trick for mplib-luatex.mem

View File

@ -1,134 +0,0 @@
diff -up ./latexdiff.pl.orig ./latexdiff.pl
--- ./latexdiff.pl.orig 2015-12-28 19:15:33.000000000 -0500
+++ ./latexdiff.pl 2016-06-22 15:46:24.444571914 -0400
@@ -1465,7 +1465,7 @@ sub flatten {
$bblfile=~s/\.tex$//;
$bblfile.=".bbl";
- if ( ($includeonly) = ($preamble =~ m/\\includeonly{(.*?)}/ ) ) {
+ if ( ($includeonly) = ($preamble =~ m/\\includeonly\{(.*?)}/ ) ) {
$includeonly =~ s/,/|/g;
} else {
$includeonly = '.*?';
@@ -1474,7 +1474,7 @@ sub flatten {
print STDERR "DEBUG: includeonly $includeonly\n" if $debug;
# recursively replace \\input and \\include files
- 1 while $text=~s/(^(?:[^%\n]|\\%)*)\\input{(.*?)}|\\include{(${includeonly}(?:\.tex)?)}/{
+ 1 while $text=~s/(^(?:[^%\n]|\\%)*)\\input\{(.*?)}|\\include\{(${includeonly}(?:\.tex)?)}/{
$begline=(defined($1)? $1 : "") ;
$fname = $2 if defined($2) ;
$fname = $3 if defined($3) ;
@@ -1491,7 +1491,7 @@ sub flatten {
"$begline$newpage$replacement$newpage";
}/exgm;
# replace bibliography with bbl file if it exists
- $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography{(.*?)}/{
+ $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography\{(.*?)}/{
if ( -f $bblfile ){
$replacement=read_file_with_encoding(File::Spec->catfile($bblfile), $encoding);
} else {
@@ -1502,7 +1502,7 @@ sub flatten {
"$begline$replacement";
}/exgm;
# replace subfile with contents (subfile package)
- $text=~s/(^(?:[^%\n]|\\%)*)\\subfile{(.*?)}/{
+ $text=~s/(^(?:[^%\n]|\\%)*)\\subfile\{(.*?)}/{
$begline=(defined($1)? $1 : "") ;
$fname = $2;
# # add tex extension unless there is a three letter extension already
@@ -2244,7 +2244,7 @@ sub take_comments_and_enter_from_frac()
sub preprocess {
for (@_) {
# Change \{ to \QLEFTBRACE, \} to \QRIGHTBRACE, and \& to \AMPERSAND
- s/(?<!\\)\\{/\\QLEFTBRACE /sg;
+ s/(?<!\\)\\\{/\\QLEFTBRACE /sg;
s/(?<!\\)\\}/\\QRIGHTBRACE /sg;
s/(?<!\\)\\&/\\AMPERSAND /sg;
# replace {,} in comments with \\CLEFTBRACE,\\CRIGHTBRACE
@@ -2258,29 +2258,29 @@ sub preprocess {
s/\\begin\{(verbatim\*?)\}(.*?)\\end\{\1\}/"\\${1}{". tohash(\%verbhash,"${2}") . "}"/esg;
# Convert _n or _\cmd into \SUBSCRIPTNB{n} or \SUBSCRIPTNB{\cmd} and _{nnn} into \SUBSCRIPT{nn}
1 while s/(?<!\\)_(\s*([^{\\\s]|\\\w+))/\\SUBSCRIPTNB{$1}/g ;
- 1 while s/(?<!\\)_(\s*{($pat_n)})/\\SUBSCRIPT$1/g ;
+ 1 while s/(?<!\\)_(\s*\{($pat_n)})/\\SUBSCRIPT$1/g ;
# Convert ^n into \SUPERSCRIPTNB{n} and ^{nnn} into \SUPERSCRIPT{nn}
1 while s/(?<!\\)\^(\s*([^{\\\s]|\\\w+))/\\SUPERSCRIPTNB{$1}/g ;
- 1 while s/(?<!\\)\^(\s*{($pat_n)})/\\SUPERSCRIPT$1/g ;
+ 1 while s/(?<!\\)\^(\s*\{($pat_n)})/\\SUPERSCRIPT$1/g ;
# Convert \sqrt{n} into \SQRT{n} and \sqrt nn into SQRTNB{nn}
1 while s/(?<!\\)\\sqrt(\s*([^{\\\s]|\\\w+))/\\SQRTNB{$1}/g ;
- 1 while s/(?<!\\)\\sqrt(\s*{($pat_n)})/\\SQRT$1/g ;
+ 1 while s/(?<!\\)\\sqrt(\s*\{($pat_n)})/\\SQRT$1/g ;
# Convert $$ $$ into \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR}
s/\$\$(.*?)\$\$/\\begin{DOLLARDOLLAR}$1\\end{DOLLARDOLLAR}/sg;
# Convert \[ \] into \begin{SQUAREBRACKET} \end{SQUAREBRACKET}
s/(?<!\\)\\\[/\\begin{SQUAREBRACKET}/sg;
s/\\\]/\\end{SQUAREBRACKET}/sg;
# Convert all picture environmentent (\begin{PICTUREENV} .. \end{PICTUREENV} \PICTUREBLOCKenv
- s/\\begin{($PICTUREENV)}(.*?)\\end{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
+ s/\\begin\{($PICTUREENV)}(.*?)\\end\{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
# For --block-math-markup option -convert all \begin{MATH} .. \end{MATH}
# into \MATHBLOCKMATH{...} commands, where MATH is any valid math environment
# Also convert all array environments into ARRAYBLOCK environments
if ( $mathmarkup != FINE ) {
- s/\\begin{($ARRENV)}(.*?)\\end{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
+ s/\\begin\{($ARRENV)}(.*?)\\end\{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
take_comments_and_enter_from_frac();
- s/\\begin{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end{\1}/\\MATHBLOCK$1\{$2\}/sg;
+ s/\\begin\{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end\{\1}/\\MATHBLOCK$1\{$2\}/sg;
}
# add final token " STOP"
$_ .= " STOP"
@@ -2566,15 +2566,15 @@ sub postprocess {
# environments) are between the \begin{$MATHENV} and \end{MATHMODE} commands. This is necessary as the minimal matching
# is not globally minimal but only 'locally' (matching is beginning from the left side of the string)
if ( $mathmarkup == FINE ) {
- 1 while s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin{MATHMODE})))*?)\\end{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
- 1 while s/\\begin{MATHMODE}((?:.(?!\\end{MATHMODE}))*?)\\end{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
- # convert remaining \begin{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
- s/\\begin{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
+ 1 while s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end\{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin\{MATHMODE})))*?)\\end\{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
+ 1 while s/\\begin\{MATHMODE}((?:.(?!\\end\{MATHMODE}))*?)\\end\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
+ # convert remaining \begin\{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
+ s/\\begin\{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end\{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
# others into MATHARRREPL
- s/\\begin{MATHMODE}(.*?)\\end{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
+ s/\\begin\{MATHMODE}(.*?)\\end\{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
# now look for AUXCMD math-mode pairs which have only comments (or empty lines between them), and remove the added commands
- s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
+ s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
} else {
# math modes OFF,WHOLE,COARSE: Convert \MATHBLOCKmath{..} commands back to environments
s/\\MATHBLOCK($MATHENV|$MATHARRENV|SQUAREBRACKET)\{($pat_n)\}/\\begin{$1}$2\\end{$1}/sg;
@@ -2652,19 +2652,19 @@ sub postprocess {
# undo renaming of the \begin and \end,{,} and dollars in comments
1 while s/(%.*)DOLLARDIF/$1\$/mg ;
# Convert \begin{SQUAREBRACKET} \end{SQUAREBRACKET} into \[ \]
- s/\\end{SQUAREBRACKET}/\\\]/sg;
- s/\\begin{SQUAREBRACKET}/\\\[/sg;
+ s/\\end\{SQUAREBRACKET}/\\\]/sg;
+ s/\\begin\{SQUAREBRACKET}/\\\[/sg;
# 4. Convert \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR} into $$ $$
s/\\begin\{DOLLARDOLLAR\}(.*?)\\end\{DOLLARDOLLAR\}/\$\$$1\$\$/sg;
# 5. Convert \SUPERSCRIPTNB{n} into ^n and \SUPERSCRIPT{nn} into ^{nnn}
- 1 while s/\\SUPERSCRIPT(\s*{($pat_n)})/^$1/g ;
- 1 while s/\\SUPERSCRIPTNB{(\s*$pat0)}/^$1/g ;
+ 1 while s/\\SUPERSCRIPT(\s*\{($pat_n)})/^$1/g ;
+ 1 while s/\\SUPERSCRIPTNB\{(\s*$pat0)}/^$1/g ;
# Convert \SUBSCRIPNB{n} into _n and \SUBCRIPT{nn} into _{nnn}
- 1 while s/\\SUBSCRIPT(\s*{($pat_n)})/_$1/g ;
- 1 while s/\\SUBSCRIPTNB{(\s*$pat0)}/_$1/g ;
+ 1 while s/\\SUBSCRIPT(\s*\{($pat_n)})/_$1/g ;
+ 1 while s/\\SUBSCRIPTNB\{(\s*$pat0)}/_$1/g ;
# Convert \SQRT{n} into \sqrt{n} and \SQRTNB{nn} into \sqrt nn
- 1 while s/\\SQRT(\s*{($pat_n)})/\\sqrt$1/g ;
- 1 while s/\\SQRTNB{(\s*$pat0)}/\\sqrt$1/g ;
+ 1 while s/\\SQRT(\s*\{($pat_n)})/\\sqrt$1/g ;
+ 1 while s/\\SQRTNB\{(\s*$pat0)}/\\sqrt$1/g ;
1 while s/(%.*)\\CRIGHTBRACE (.*)$/$1\}$2/mg ;
1 while s/(%.*)\\CLEFTBRACE (.*)$/$1\{$2/mg ;

View File

@ -1,121 +0,0 @@
diff -U0 texlive-2016/source/texk/upmendex/ChangeLog.than texlive-2016/source/texk/upmendex/ChangeLog
--- texlive-2016/source/texk/upmendex/ChangeLog.than 2017-03-08 15:14:32.529825017 +0100
+++ texlive-2016/source/texk/upmendex/ChangeLog 2017-03-08 15:17:34.235944067 +0100
@@ -0,0 +1,6 @@
+2016-06-19 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * version 0.51 Beta version.
+ * fwrite.c: Fix bug of option "hanzi_head" in style file.
+ Thanks to Dr. Werner Fink.
+
diff -up texlive-2016/source/texk/upmendex/fwrite.c.than texlive-2016/source/texk/upmendex/fwrite.c
--- texlive-2016/source/texk/upmendex/fwrite.c.than 2017-03-08 15:13:29.460213372 +0100
+++ texlive-2016/source/texk/upmendex/fwrite.c 2017-03-08 15:17:34.235944067 +0100
@@ -67,33 +67,38 @@ static inline int SAPPENDF(char *buf, co
static void fprint_uchar(FILE *fp, const UChar *a, const int mode, const int len)
{
- int k;
- char str[15], *ret;
- UChar istr[5];
+ char str[3*INITIALLENGTH+1];
+ UChar istr[INITIALLENGTH];
int olen, wclen;
UErrorCode perr;
if (len<0) {
- for (k=0; a[k] || k<4; k++) istr[k]=a[k];
- wclen=k;
+ u_strcpy(istr,a);
+ wclen=u_strlen(istr);
} else {
- wclen = is_surrogate_pair(a) ? 2 : 1;
+ wclen=is_surrogate_pair(a) ? 2 : 1;
istr[0]=a[0];
if (wclen==2) istr[1]=a[1];
+ istr[wclen]=L'\0';
}
- istr[wclen]=L'\0';
if (mode==M_TO_UPPER) {
- perr = U_ZERO_ERROR;
- u_strToUpper(istr,5,istr,wclen,"",&perr);
+ perr=U_ZERO_ERROR;
+ olen=u_strToUpper(istr,INITIALLENGTH,istr,wclen,"",&perr);
} else if (mode==M_TO_LOWER) {
- perr = U_ZERO_ERROR;
- u_strToLower(istr,5,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr);
+ perr=U_ZERO_ERROR;
+ olen=u_strToLower(istr,INITIALLENGTH,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr);
} else if (mode==M_TO_TITLE) {
- perr = U_ZERO_ERROR;
- u_strToTitle(istr,5,istr,wclen,NULL,"",&perr);
- }
- perr = U_ZERO_ERROR;
- ret = u_strToUTF8(str, 15, &olen, istr, wclen, &perr);
+ perr=U_ZERO_ERROR;
+ olen=u_strToTitle(istr,INITIALLENGTH,istr,wclen,NULL,"",&perr);
+ } else
+ olen=wclen;
+ if (olen>INITIALLENGTH) {
+ warn_printf(efp, "\nWarning, Too long (%d) header.\n", olen);
+ wclen=INITIALLENGTH;
+ } else
+ wclen=olen;
+ perr=U_ZERO_ERROR;
+ u_strToUTF8(str, 3*INITIALLENGTH+1, &olen, istr, wclen, &perr);
fprintf(fp,"%s",str);
}
@@ -844,7 +849,7 @@ static int initial_cmp_char(UChar *ini,
static int init_hanzi_header(void)
{
UChar strX[2],*pch0,*pch1;
- int k, hzmode;
+ int k, hzmode, len;
struct hanzi_index *hz_idx_init;
strX[0]=0x5B57; strX[1]=L'\0';
@@ -878,21 +883,18 @@ static int init_hanzi_header(void)
for (k=0;k<hz_index_len;k++) {
if (u_strlen(pch0)==0) break;
if ((pch1=u_strchr(pch0,L';'))>0) {
- if (pch1-pch0>=INITIALLENGTH) {
- warn_printf(efp, "\nWarning, Too long hanzi header.\n");
- break;
- }
- u_strncpy(hz_index[k].idx,pch0,pch1-pch0);
- hz_index[k].idx[pch1-pch0]=L'\0';
- pch0=pch1+1;
+ len=pch1-pch0;
} else {
- if (u_strlen(pch0)>=INITIALLENGTH) {
- warn_printf(efp, "\nWarning, Too long hanzi header.\n");
- break;
- }
- u_strcpy(hz_index[k].idx,pch0);
- break;
+ len=u_strlen(pch0);
}
+ if (len>=INITIALLENGTH) {
+ warn_printf(efp, "\nWarning, Too long (%d) hanzi header.\n", len);
+ len=INITIALLENGTH-1;
+ }
+ u_strncpy(hz_index[k].idx,pch0,len);
+ hz_index[k].idx[len]=L'\0';
+ if (pch1>0) pch0=pch1+1;
+ else break;
}
return hzmode;
diff -up texlive-2016/source/texk/upmendex/main.c.than texlive-2016/source/texk/upmendex/main.c
--- texlive-2016/source/texk/upmendex/main.c.than 2017-03-08 15:13:49.460455992 +0100
+++ texlive-2016/source/texk/upmendex/main.c 2017-03-08 15:17:34.236944029 +0100
@@ -19,7 +19,7 @@ char *styfile,*idxfile[256],*indfile,*di
#endif
KpathseaSupportInfo kp_ist,kp_dict;
-#define VERSION "version 0.50"
+#define VERSION "version 0.51"
int main(int argc, char **argv)
{

View File

@ -1,41 +0,0 @@
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
--- source/texk/kpathsea/mktexlsr.than 2015-07-28 21:31:52.595540260 -0400
+++ source/texk/kpathsea/mktexlsr 2015-07-28 21:32:12.347422108 -0400
@@ -217,7 +217,8 @@ for TEXMFLS_R in "$@"; do
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+ # selinux fix
+ cp "$db_file_tmp" "$db_file"
rm -rf "$db_dir_tmp"
done
diff -up source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig source/texk/texlive/linked_scripts/texlive/fmtutil.pl
--- source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig 2016-06-22 10:58:50.754708661 -0400
+++ source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2016-06-22 11:00:32.566943691 -0400
@@ -679,7 +679,7 @@ sub rebuild_one_format {
}
TeXLive::TLUtils::mkdirhier($fulldestdir);
- if (!File::Copy::move( "$fmt.log", "$fulldestdir/$fmt.log")) {
+ if (!File::Copy::copy( "$fmt.log", "$fulldestdir/$fmt.log")) {
print_deferred_error("Cannot move $fmt.log to $fulldestdir.\n");
}
if ($opts{'recorder'}) {
@@ -687,13 +687,13 @@ sub rebuild_one_format {
# package dependencies for each format. Unfortunately omega-based
# engines gratuitiously changed the extension from .fls to .ofl.
my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls");
- if (!File::Copy::move( $recfile, "$fulldestdir/$recfile")) {
+ if (!File::Copy::copy( $recfile, "$fulldestdir/$recfile")) {
print_deferred_error("Cannot move $recfile to $fulldestdir.\n");
}
}
my $destfile = "$fulldestdir/$fmtfile";
- if (File::Copy::move( $fmtfile, $destfile )) {
+ if (File::Copy::copy( $fmtfile, $destfile )) {
print_info("$destfile installed.\n");
#
# original fmtutil.sh did some magic trick for mplib-luatex.mem

View File

@ -1,40 +0,0 @@
diff -up ./source/libs/xpdf/xpdf-src/misc/xpdf.dt ./source/libs/xpdf/xpdf-src/misc/xpdf
diff -up ./source/texk/lcdf-typetools/tests/t1.test.dt ./source/texk/lcdf-typetools/tests/t1.test
--- ./source/texk/lcdf-typetools/tests/t1.test.dt 2018-02-11 10:47:00.407885931 +0100
+++ ./source/texk/lcdf-typetools/tests/t1.test 2018-02-11 10:47:47.274470298 +0100
@@ -17,10 +17,6 @@ cat $srcdir/tests/uhvrrc8a.pfb | $LCDF_T
&& echo "t1dotlessj/bin tests OK" \
|| failed="$failed t1dotlessj/bin"
-$LCDF_TYPETOOLS_TREE/t1lint/t1lint uhv_dl.pfa \
- && echo "t1lint/asc tests OK" \
- || failed="$failed t1lint/asc"
-
cat uhv_dl.pfb | $LCDF_TYPETOOLS_TREE/t1lint/t1lint \
&& echo "t1lint/bin tests OK" \
|| failed="$failed t1lint/bin"
@@ -30,24 +26,14 @@ $LCDF_TYPETOOLS_TREE/t1testpage/t1testpa
-$LCDF_TYPETOOLS_TREE/t1testpage/t1testpage -o uhv_dl_a.ps uhv_dl.pfa \
- && diff uhv_dl_a.ps $srcdir/tests/uhv_dl.ps \
- && echo "t1testpage/asc tests OK" \
- || failed="$failed t1testpage/asc"
-
cat uhv_dl.pfb | $LCDF_TYPETOOLS_TREE/t1testpage/t1testpage >uhv_dl_b.ps \
&& diff uhv_dl_b.ps $srcdir/tests/uhv_dl.ps \
&& echo "t1testpage/bin tests OK" \
|| failed="$failed t1testpage/bin"
$LCDF_TYPETOOLS_TREE/t1reencode/t1reencode -e $srcdir/tests/t2c.enc -a $srcdir/tests/uhvrrc8a.pfb uhv_re.tmp \
&& grep -v 'Created by t1reencode' uhv_re.tmp >uhv_re.pfa \
&& diff uhv_re.pfa $srcdir/tests/uhv_re.pfa \
&& echo "t1reencode/asc tests OK" \
|| failed="$failed t1reencode/asc"
-$LCDF_TYPETOOLS_TREE/t1rawafm/t1rawafm -o uhv_re_a.afm uhv_re.pfa \
- && diff uhv_re_a.afm $srcdir/tests/uhv_re.afm \
- && echo "t1rawafm/asc tests OK" \
- || failed="$failed t1rawafm/asc"
-
cat $srcdir/tests/uhvrrc8a.pfb | $LCDF_TYPETOOLS_TREE/t1reencode/t1reencode -e $srcdir/tests/t2c.enc -b \
| $LCDF_TYPETOOLS_TREE/t1rawafm/t1rawafm >uhv_re_b.afm \
&& diff uhv_re_b.afm $srcdir/tests/uhv_re.afm \

View File

@ -0,0 +1,11 @@
--- texlive-20180414/source/libs/luajit/Makefile.in.annocheck 2018-01-10 01:37:05.000000000 +0100
+++ texlive-20180414/source/libs/luajit/Makefile.in 2019-01-11 22:45:34.503080977 +0100
@@ -680,7 +680,7 @@
NEVER_NAMES_LT = -o -name .libs -o -name '*.lo'
AM_CPPFLAGS = -I$(srcdir)/$(LUAJIT_TREE)/src $(LUAJIT_DEFINES) -U_FORTIFY_SOURCE
AM_CFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2) -Wall
-AM_CCASFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2)
+AM_CCASFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2) -Wa,--generate-missing-build-notes=yes
SUBDIRS = . native include
lib_LTLIBRARIES = libtexluajit.la
libtexluajit_la_LDFLAGS = -bindir @bindir@ -no-undefined -version-info $(LUAJIT_LT_VERSINFO) $(LIBLUAJIT_LDEXTRA)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure.ac
--- texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection 2019-03-10 14:21:29.000000000 -0400
+++ texlive-base-20190410/source/texk/dvisvgm/configure.ac 2019-05-23 19:07:30.447057345 -0400
@@ -66,7 +66,8 @@ AS_IF([test "x$have_libgs" = "xno"],
# Ghostscript not found, check for dlopen
[AC_CHECK_LIB(dl, dlopen,,
[AC_DEFINE(DISABLE_GS, 1, [Set to 1 if PostScript support should be disabled])]
- [AC_MSG_WARN(PostScript support disabled)])])
+ [AC_MSG_WARN(PostScript support disabled)])],
+ [test "x$have_libgs" = "xyes"], [HAVE_LIBGS=1])
fi
if test -z "$HAVE_LIBGS" || test "$HAVE_LIBGS" -eq 0; then
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure
--- texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection 2019-05-23 19:07:45.568703333 -0400
+++ texlive-base-20190410/source/texk/dvisvgm/configure 2019-05-23 19:09:31.341219687 -0400
@@ -22013,6 +22013,8 @@ $as_echo "#define DISABLE_GS 1" >>confde
$as_echo "$as_me: WARNING: PostScript support disabled" >&2;}
fi
+elif test "x$have_libgs" = "xyes"; then :
+ HAVE_LIBGS=1
fi
fi

View File

@ -0,0 +1,249 @@
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2019-05-23 15:50:17.849768543 -0400
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc 2019-05-23 16:00:41.022262790 -0400
@@ -120,7 +120,7 @@ struct UsedEncoding {
static InObj *inObjList;
static UsedEncoding *encodingList;
-static GBool isInit = gFalse;
+static bool isInit = false;
// --------------------------------------------------------------------
// Maintain list of open embedded PDF files
@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref)
static void copyObject(Object *);
-static void copyName(char *s)
+static void copyName(const char *s)
{
pdf_puts("/");
for (; *s != 0; s++) {
@@ -310,7 +310,7 @@ static void copyDict(Object * obj)
static void copyFontDict(Object * obj, InObj * r)
{
int i, l;
- char *key;
+ const char *key;
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid dict type <%s>",
obj->getTypeName());
@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font
return false;
}
-static void copyFont(char *tag, Object * fontRef)
+static void copyFont(const char *tag, Object * fontRef)
{
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
stemV;
@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object *
&& fontdescRef.isRef()
&& fontdesc.isDict()
&& embeddableFont(&fontdesc)
- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
// integer, since we don't want to change the struct.
@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object *
charset = fontdesc.dictLookup("CharSet");
if (!charset.isNull() &&
charset.isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, charset.getString()->getCString());
+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str());
else
embed_whole_font(fd);
addFontDesc(fontdescRef.getRef(), fd);
@@ -467,7 +467,7 @@ static void copyFontResources(Object * o
pdf_puts(">>\n");
}
-static void copyOtherResources(Object * obj, char *key)
+static void copyOtherResources(Object * obj, const char *key)
{
// copies all other resources (write_epdf handles Fonts and ProcSets),
@@ -554,8 +554,8 @@ static void copyObject(Object * obj)
Object obj1;
int i, l, c;
Ref ref;
- char *p;
- GString *s;
+ const char *p;
+ const GString *s;
if (obj->isBool()) {
pdf_printf("%s", obj->getBool()? "true" : "false");
} else if (obj->isInt()) {
@@ -566,7 +566,7 @@ static void copyObject(Object * obj)
pdf_printf("%s", convertNumToPDF(obj->getNum()));
} else if (obj->isString()) {
s = obj->getString();
- p = s->getCString();
+ p = s->c_str();
l = s->getLength();
if (strlen(p) == (unsigned int) l) {
pdf_puts("(");
@@ -664,7 +664,7 @@ static void writeEncodings()
("PDF inclusion: CID fonts are not supported"
" (try to disable font replacement to fix this)");
}
- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
glyphNames[i] = s;
else
glyphNames[i] = notdef;
@@ -683,7 +683,7 @@ static void writeEncodings()
}
// get the pagebox according to the pagebox_spec
-static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
{
if (pagebox_spec == pdfboxspecmedia)
return page->getMediaBox();
@@ -715,7 +715,7 @@ read_pdf_info(char *image_name, char *pa
{
PdfDocument *pdf_doc;
Page *page;
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
#ifdef POPPLER_VERSION
int pdf_major_version_found, pdf_minor_version_found;
#else
@@ -724,8 +724,8 @@ read_pdf_info(char *image_name, char *pa
// initialize
if (!isInit) {
globalParams = new GlobalParams();
- globalParams->setErrQuiet(gFalse);
- isInit = gTrue;
+ globalParams->setErrQuiet(false);
+ isInit = true;
}
// open PDF file
pdf_doc = find_add_document(image_name);
@@ -822,7 +822,7 @@ void write_epdf(void)
Object groupDict;
bool writeSepGroup = false;
Object info;
- char *key;
+ const char *key;
char s[256];
int i, l;
int rotate;
@@ -849,7 +849,7 @@ void write_epdf(void)
pageObj = xref->fetch(pageRef->num, pageRef->gen);
pageDict = pageObj.getDict();
rotate = page->getRotate();
- PDFRectangle *pagebox;
+ const PDFRectangle *pagebox;
// write the Page header
pdf_puts("/Type /XObject\n");
pdf_puts("/Subtype /Form\n");
@@ -977,7 +977,7 @@ The changes below seem to work fine.
}
l = dic1.getLength();
for (i = 0; i < l; i++) {
- groupDict.dictAdd(copyString(dic1.getKey(i)),
+ groupDict.dictAdd(dic1.getKey(i),
dic1.getValNF(i));
}
// end modification
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2019-05-23 15:50:17.850768522 -0400
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc 2019-05-23 15:50:17.858768349 -0400
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "No SourceName found\n");
exit(1);
}
- outname = srcName.getString()->getCString();
+ outname = (char *)srcName.getString()->c_str();
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
@@ -118,7 +118,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
@@ -128,7 +128,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
- sprintf(buf, "%s", fileName->getCString());
+ sprintf(buf, "%s", fileName->c_str());
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
sprintf(p, ".xref");
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
Object objStr, obj1, obj2;
int nObjects, first, n;
int localOffset = 0;
- Guint firstOffset;
+ unsigned int firstOffset;
objStr = xref->fetch(e->offset, 0);
assert(objStr.isStream());
@@ -173,9 +173,9 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, gFalse);
+ parser = new Parser(xref, lexer, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
diff -up texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp
--- texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 2018-12-25 00:48:22.000000000 -0500
+++ texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp 2019-05-23 15:50:17.858768349 -0400
@@ -78,26 +78,29 @@ pdf_get_rect(char* filename, int page_nu
Page* page = doc->getCatalog()->getPage(page_num);
- const PDFRectangle* r;
+ PDFRectangle* r;
+ const PDFRectangle* cr;
switch (pdf_box) {
default:
case pdfbox_crop:
- r = page->getCropBox();
+ cr = page->getCropBox();
break;
case pdfbox_media:
- r = page->getMediaBox();
+ cr = page->getMediaBox();
break;
case pdfbox_bleed:
- r = page->getBleedBox();
+ cr = page->getBleedBox();
break;
case pdfbox_trim:
- r = page->getTrimBox();
+ cr = page->getTrimBox();
break;
case pdfbox_art:
- r = page->getArtBox();
+ cr = page->getArtBox();
break;
}
+ r = new PDFRectangle (cr->x1, cr->y1, cr->x2, cr->y2);
+
int RotAngle = 0;
RotAngle = (int)page->getRotate() % 360;
if (RotAngle < 0)
@@ -112,6 +115,7 @@ pdf_get_rect(char* filename, int page_nu
box->x = 72.27 / 72 * my_fmin(r->x1, r->x2);
box->y = 72.27 / 72 * my_fmin(r->y1, r->y2);
+ delete r;
delete doc;
return 0;

View File

@ -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

View File

@ -0,0 +1,142 @@
diff -up texlive-base-20200327/source/texk/web2c/am/texmf.am.dt texlive-base-20200327/source/texk/web2c/am/texmf.am
--- texlive-base-20200327/source/texk/web2c/am/texmf.am.dt 2019-12-17 14:24:59.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/am/texmf.am 2020-04-20 14:33:43.465656684 -0400
@@ -75,7 +75,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES)
# TeX tests
#
-tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test
+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT)
EXTRA_DIST += $(tex_tests)
@@ -203,7 +203,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC
# Metafont tests
#
-mf_tests = mftraptest.test
+mf_tests =
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mf_tests)
if MF
diff -up texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am
--- texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt 2020-04-20 14:32:46.325851485 -0400
+++ texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am 2020-04-20 14:34:20.015892398 -0400
@@ -83,7 +83,7 @@ EXTRA_DIST += \
# e-pTeX Tests
#
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
+eptex_tests = eptexdir/epver.test
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
eptexdir/epver.log: eptex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am
--- texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt 2020-04-20 14:32:46.326851464 -0400
+++ texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am 2020-04-20 14:34:55.625147806 -0400
@@ -84,7 +84,7 @@ EXTRA_DIST += \
# e-upTeX Tests
#
-euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test
+euptex_tests = euptexdir/eupver.test
euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
euptexdir/eupver.log: euptex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am
--- texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am 2020-04-20 14:32:46.326851464 -0400
@@ -110,7 +110,7 @@ EXTRA_DIST += \
# MFLua tests
#
-mflua_tests = mfluadir/mfluatraptest.test
+mflua_tests =
mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mflua_tests)
diff -up texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am
--- texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am 2020-04-20 14:32:46.326851464 -0400
@@ -106,7 +106,7 @@ EXTRA_DIST += \
# MFLuaJIT tests
#
-mfluajit_tests = mfluajitdir/mfluajittraptest.test
+mfluajit_tests =
mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
EXTRA_DIST += $(mfluajit_tests)
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am
--- texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2020-04-20 14:32:46.326851464 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am 2020-04-20 14:35:48.451043188 -0400
@@ -95,8 +95,8 @@ EXTRA_DIST += \
# pdfTeX tests
#
-pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
- pdftexdir/pdfimage.test pdftexdir/expanded.test \
+pdftex_tests = pdftexdir/pdftex.test \
+ pdftexdir/expanded.test \
pdftexdir/tests/cnfline.test
pdftexdir/wprob.log pdftexdir/pdftex.log \
diff -up texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am
--- texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am 2020-04-20 14:36:23.750305069 -0400
@@ -168,7 +168,7 @@ EXTRA_DIST += \
# pTeX Tests
#
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
+ptex_tests = ptexdir/pver.test
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
ptexdir/pver.log: ptex$(EXEEXT)
pweb_tests = \
diff -up texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am
--- texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am 2020-04-20 14:36:53.266687857 -0400
@@ -158,7 +158,7 @@ EXTRA_DIST += \
uptexdir/ChangeLog
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
+uptex_tests = uptexdir/upver.test
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
uptexdir/upver.log: uptex$(EXEEXT)
upweb_tests = \
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am
--- texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt 2020-04-20 14:32:46.327851443 -0400
+++ texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am 2020-04-20 14:37:13.223270564 -0400
@@ -201,7 +201,6 @@ EXTRA_DIST += \
#
xetex_tests = \
xetexdir/xetex-filedump.test \
- xetexdir/xetex-bug73.test \
xetexdir/xetex.test
xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt texlive-base-20200327/source/texk/kpathsea/Makefile.am
--- texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt 2020-04-20 15:49:39.282325550 -0400
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.am 2020-04-20 15:49:51.475074045 -0400
@@ -275,7 +275,7 @@ uninstall-local:
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S;
AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test
+TESTS = tests/cnfnewline.test
TESTS += tests/cnfnull.test tests/cnfprog.test
TESTS += tests/kpseaccess.test
TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt texlive-base-20200327/source/texk/kpathsea/Makefile.in
--- texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt 2020-04-21 10:17:29.766949867 -0400
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.in 2020-04-21 10:17:36.926798780 -0400
@@ -858,7 +858,7 @@ dist_noinst_DATA = texmf.cnf
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \
LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
#
-TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \
+TESTS = tests/cnfnewline.test tests/cnfnull.test \
tests/cnfprog.test tests/kpseaccess.test \
tests/kpsereadlink.test tests/kpsestat.test \
tests/kpsewhich.test

View File

@ -0,0 +1,641 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2019-11-27 17:45:26.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:28:40.111986243 -0400
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2016 Han The Thanh, <thanh@pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh@pdftex.org>
This file is part of pdfTeX.
@@ -17,6 +17,15 @@ You should have received a copy of the G
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. A little modifications are made to avoid a crash for
+some kind of pdf images, such as figure_missing.pdf in gnuplot.
+The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
/* 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'.
@@ -39,10 +48,7 @@ with this program. If not, see <http://
#include <goo/gfile.h>
#define GString GooString
#else
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#error POPPLER_VERSION should be defined.
#endif
#include <assert.h>
@@ -84,31 +90,6 @@ extern integer zround(double);
#define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04
#define MASK_SUPPRESS_PTEX_INFODICT 0x08
-// PdfObject encapsulates the xpdf Object type,
-// and properly frees its resources on destruction.
-// Use obj-> to access members of the Object,
-// and &obj to get a pointer to the object.
-// It is no longer necessary to call Object::free explicitely.
-
-class PdfObject {
- public:
- PdfObject() { // nothing
- } ~PdfObject() {
- iObject.free();
- }
- Object *operator->() {
- return &iObject;
- }
- Object *operator&() {
- return &iObject;
- }
- private: // no copying or assigning
- PdfObject(const PdfObject &);
- void operator=(const PdfObject &);
- public:
- Object iObject;
-};
-
// When copying the Resources of the selected page, all objects are copied
// recusively top-down. Indirect objects however are not fetched during
// copying, but get a new object number from pdfTeX and then will be
@@ -212,18 +193,6 @@ static void delete_document(PdfDocument
delete pdf_doc;
}
-// Replacement for
-// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; }
-
-static void initDictFromDict(PdfObject & obj, Dict * dict)
-{
- obj->initDict(xref);
- for (int i = 0, l = dict->getLength(); i < l; i++) {
- Object obj1;
- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1));
- }
-}
-
// --------------------------------------------------------------------
static int addEncoding(GfxFont * gfont)
@@ -320,10 +289,10 @@ static void copyName(char *s)
static void copyDictEntry(Object * obj, int i)
{
- PdfObject obj1;
+ Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj->dictGetValNF(i, &obj1);
+ obj1 = obj->dictGetValNF(i);
copyObject(&obj1);
pdf_puts("\n");
}
@@ -376,17 +345,17 @@ static void copyStream(Stream * str)
static void copyProcSet(Object * obj)
{
int i, l;
- PdfObject procset;
+ Object procset;
if (!obj->isArray())
pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>",
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj->arrayGetNF(i, &procset);
- if (!procset->isName())
+ procset = obj->arrayGetNF(i);
+ if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
- procset->getTypeName());
- copyName(procset->getName());
+ procset.getTypeName());
+ copyName(procset.getName());
pdf_puts(" ");
}
pdf_puts("]\n");
@@ -394,10 +363,29 @@ static void copyProcSet(Object * obj)
#define REPLACE_TYPE1C true
+static bool embeddableFont(Object * fontdesc)
+{
+ Object fontfile, ffsubtype;
+
+ if (!fontdesc->isDict())
+ return false;
+ fontfile = fontdesc->dictLookup("FontFile");
+ if (fontfile.isStream())
+ return true;
+ if (REPLACE_TYPE1C) {
+ fontfile = fontdesc->dictLookup("FontFile3");
+ if (!fontfile.isStream())
+ return false;
+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype");
+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C");
+ }
+ return false;
+}
+
static void copyFont(char *tag, Object * fontRef)
{
- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
- fontfile, ffsubtype, stemV;
+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
+ stemV;
GfxFont *gfont;
fd_entry *fd;
fm_entry *fontmap;
@@ -413,33 +401,39 @@ static void copyFont(char *tag, Object *
}
// Only handle included Type1 (and Type1C) fonts; anything else will be copied.
// Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true.
- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict()
- && fontdict->dictLookup("Subtype", &subtype)->isName()
- && !strcmp(subtype->getName(), "Type1")
- && fontdict->dictLookup("BaseFont", &basefont)->isName()
- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef()
- && fontdescRef->fetch(xref, &fontdesc)->isDict()
- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream()
- || (REPLACE_TYPE1C
- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream()
- && fontfile->streamGetDict()->lookup("Subtype",
- &ffsubtype)->isName()
- && !strcmp(ffsubtype->getName(), "Type1C")))
- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) {
+ fontdict = fontRef->fetch(xref);
+ fontdesc = Object(objNull);
+ if (fontdict.isDict()) {
+ subtype = fontdict.dictLookup("Subtype");
+ basefont = fontdict.dictLookup("BaseFont");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ if (fontdescRef.isRef()) {
+ fontdesc = fontdescRef.fetch(xref);
+ }
+ }
+ if (!fixedinclusioncopyfont && fontdict.isDict()
+ && subtype.isName()
+ && !strcmp(subtype.getName(), "Type1")
+ && basefont.isName()
+ && fontdescRef.isRef()
+ && fontdesc.isDict()
+ && embeddableFont(&fontdesc)
+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
// integer, since we don't want to change the struct.
- fontdesc->dictLookup("StemV", &stemV);
- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum()));
- if (fontdesc->dictLookup("CharSet", &charset) &&
- charset->isString() && is_subsetable(fontmap))
- epdf_mark_glyphs(fd, charset->getString()->getCString());
+ stemV = fontdesc.dictLookup("StemV");
+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum()));
+ charset = fontdesc.dictLookup("CharSet");
+ if (!charset.isNull() &&
+ charset.isString() && is_subsetable(fontmap))
+ epdf_mark_glyphs(fd, charset.getString()->getCString());
else
embed_whole_font(fd);
- addFontDesc(fontdescRef->getRef(), fd);
+ addFontDesc(fontdescRef.getRef(), fd);
copyName(tag);
gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(),
- fontdict->getDict());
+ fontdict.getDict());
pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd,
addEncoding(gfont)));
} else {
@@ -451,24 +445,24 @@ static void copyFont(char *tag, Object *
static void copyFontResources(Object * obj)
{
- PdfObject fontRef;
+ Object fontRef;
int i, l;
if (!obj->isDict())
pdftex_fail("PDF inclusion: invalid font resources dict type <%s>",
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- obj->dictGetValNF(i, &fontRef);
- if (fontRef->isRef())
+ fontRef = obj->dictGetValNF(i);
+ if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object
+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
copyName(obj->dictGetKey(i));
pdf_puts(" ");
copyObject(&fontRef);
}
else
pdftex_fail("PDF inclusion: invalid font in reference type <%s>",
- fontRef->getTypeName());
+ fontRef.getTypeName());
}
pdf_puts(">>\n");
}
@@ -557,7 +551,7 @@ static char *convertNumToPDF(double n)
static void copyObject(Object * obj)
{
- PdfObject obj1;
+ Object obj1;
int i, l, c;
Ref ref;
char *p;
@@ -601,8 +595,8 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj->arrayGetNF(i, &obj1);
- if (!obj1->isName())
+ obj1 = obj->arrayGetNF(i);
+ if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
}
@@ -612,9 +606,8 @@ static void copyObject(Object * obj)
copyDict(obj);
pdf_puts(">>");
} else if (obj->isStream()) {
- initDictFromDict(obj1, obj->streamGetDict());
pdf_puts("<<\n");
- copyDict(&obj1);
+ copyDict(obj->getStream()->getDictObject());
pdf_puts(">>\n");
pdf_puts("stream\n");
copyStream(obj->getStream()->getUndecodedStream());
@@ -638,9 +631,8 @@ static void writeRefs()
InObj *r;
for (r = inObjList; r != 0; r = r->next) {
if (!r->written) {
- Object obj1;
r->written = 1;
- xref->fetch(r->ref.num, r->ref.gen, &obj1);
+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen);
if (r->type == objFont) {
assert(!obj1.isStream());
pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this
@@ -656,7 +648,6 @@ static void writeRefs()
pdf_puts("\n");
pdfendobj();
}
- obj1.free();
}
}
}
@@ -685,7 +676,7 @@ static void writeEncodings()
#ifdef POPPLER_VERSION
r->font->decRefCnt();
#else
- delete r->font;
+#error POPPLER_VERSION should be defined.
#endif
delete r;
}
@@ -728,7 +719,7 @@ read_pdf_info(char *image_name, char *pa
#ifdef POPPLER_VERSION
int pdf_major_version_found, pdf_minor_version_found;
#else
- float pdf_version_found, pdf_version_wanted;
+#error POPPLER_VERSION should be defined.
#endif
// initialize
if (!isInit) {
@@ -760,19 +751,7 @@ read_pdf_info(char *image_name, char *pa
}
}
#else
- pdf_version_found = pdf_doc->doc->getPDFVersion();
- pdf_version_wanted = major_pdf_version_wanted + (minor_pdf_version_wanted * 0.1);
- if (pdf_version_found > pdf_version_wanted + 0.01) {
- char msg[] =
- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed";
- if (pdf_inclusion_errorlevel > 0) {
- pdftex_fail(msg, pdf_version_found, pdf_version_wanted);
- } else if (pdf_inclusion_errorlevel < 0) {
- ; /* do nothing */
- } else { /* = 0, give warning */
- pdftex_warn(msg, pdf_version_found, pdf_version_wanted);
- }
- }
+#error POPPLER_VERSION should be defined.
#endif
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
if (page_name) {
@@ -839,8 +818,8 @@ void write_epdf(void)
Page *page;
Ref *pageRef;
Dict *pageDict;
- PdfObject contents, obj1, obj2, pageObj, dictObj;
- PdfObject groupDict;
+ Object contents, obj1, obj2, pageObj, dictObj;
+ Object groupDict;
bool writeSepGroup = false;
Object info;
char *key;
@@ -867,8 +846,8 @@ void write_epdf(void)
encodingList = 0;
page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page);
pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page);
- xref->fetch(pageRef->num, pageRef->gen, &pageObj);
- pageDict = pageObj->getDict();
+ pageObj = xref->fetch(pageRef->num, pageRef->gen);
+ pageDict = pageObj.getDict();
rotate = page->getRotate();
PDFRectangle *pagebox;
// write the Page header
@@ -886,7 +865,7 @@ void write_epdf(void)
pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page);
}
if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) {
- pdf_doc->doc->getDocInfoNF(&info);
+ info = pdf_doc->doc->getDocInfoNF();
if (info.isRef()) {
// the info dict must be indirect (PDF Ref p. 61)
pdf_printf("/%s.InfoDict ", pdfkeyprefix);
@@ -942,14 +921,14 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- pageDict->lookupNF("Metadata", &dictObj);
- if (!dictObj->isNull() && !dictObj->isRef())
+ dictObj = pageDict->lookupNF("Metadata");
+ if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- pageDict->lookupNF(pageDictKeys[i], &dictObj);
- if (!dictObj->isNull()) {
+ dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
copyObject(&dictObj); // preserves indirection
@@ -957,8 +936,8 @@ void write_epdf(void)
}
// handle page group
- pageDict->lookupNF("Group", &dictObj);
- if (!dictObj->isNull()) {
+ dictObj = pageDict->lookupNF("Group");
+ if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
// same page; copy the Group entry as is. See manual for
@@ -972,11 +951,36 @@ void write_epdf(void)
copyObject(&dictObj);
} else {
// write Group dict as a separate object, since the Page dict also refers to it
- pageDict->lookup("Group", &dictObj);
- if (!dictObj->isDict())
+ dictObj = pageDict->lookup("Group");
+ if (!dictObj.isDict())
pdftex_fail("PDF inclusion: /Group dict missing");
writeSepGroup = true;
- initDictFromDict(groupDict, page->getGroup());
+/*
+This part is only a single line
+ groupDict = Object(page->getGroup());
+in the original patch. In this case, however, pdftex crashes at
+"delete pdf_doc->doc" in "delete_document()" for inclusion of some
+kind of pdf images, for example, figure_missing.pdf in gnuplot.
+A change
+ groupDict = Object(page->getGroup()).copy();
+does not improve the situation.
+The changes below seem to work fine.
+*/
+// begin modification
+ groupDict = pageDict->lookup("Group");
+ const Dict& dic1 = page->getGroup();
+ const Dict& dic2 = groupDict.getDict();
+ // replace dic2 in groupDict with dic1
+ l = dic2.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictRemove(dic2.getKey(i));
+ }
+ l = dic1.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictAdd(copyString(dic1.getKey(i)),
+ dic1.getValNF(i));
+ }
+// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
}
}
@@ -989,14 +993,14 @@ void write_epdf(void)
pdftex_warn
("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)");
} else {
- initDictFromDict(obj1, page->getResourceDict());
+ Object *obj1 = page->getResourceDictObject();
if (!obj1->isDict())
pdftex_fail("PDF inclusion: invalid resources dict type <%s>",
obj1->getTypeName());
pdf_newline();
pdf_puts("/Resources <<\n");
for (i = 0, l = obj1->dictGetLength(); i < l; ++i) {
- obj1->dictGetVal(i, &obj2);
+ obj2 = obj1->dictGetVal(i);
key = obj1->dictGetKey(i);
if (strcmp("Font", key) == 0)
copyFontResources(&obj2);
@@ -1009,8 +1013,8 @@ void write_epdf(void)
}
// write the page contents
- page->getContents(&contents);
- if (contents->isStream()) {
+ contents = page->getContents();
+ if (contents.isStream()) {
// Variant A: get stream and recompress under control
// of \pdfcompresslevel
@@ -1021,36 +1025,35 @@ void write_epdf(void)
// Variant B: copy stream without recompressing
//
- contents->streamGetDict()->lookup("F", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("F");
+ if (!obj1.isNull()) {
pdftex_fail("PDF inclusion: Unsupported external stream");
}
- contents->streamGetDict()->lookup("Length", &obj1);
- assert(!obj1->isNull());
+ obj1 = contents.streamGetDict()->lookup("Length");
+ assert(!obj1.isNull());
pdf_puts("/Length ");
copyObject(&obj1);
pdf_puts("\n");
- contents->streamGetDict()->lookup("Filter", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("Filter");
+ if (!obj1.isNull()) {
pdf_puts("/Filter ");
copyObject(&obj1);
pdf_puts("\n");
- contents->streamGetDict()->lookup("DecodeParms", &obj1);
- if (!obj1->isNull()) {
+ obj1 = contents.streamGetDict()->lookup("DecodeParms");
+ if (!obj1.isNull()) {
pdf_puts("/DecodeParms ");
copyObject(&obj1);
pdf_puts("\n");
}
}
pdf_puts(">>\nstream\n");
- copyStream(contents->getStream()->getUndecodedStream());
+ copyStream(contents.getStream()->getUndecodedStream());
pdfendstream();
- } else if (contents->isArray()) {
+ } else if (contents.isArray()) {
pdfbeginstream();
- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) {
- Object contentsobj;
- copyStream((contents->arrayGet(i, &contentsobj))->getStream());
- contentsobj.free();
+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) {
+ Object contentsobj = contents.arrayGet(i);
+ copyStream(contentsobj.getStream());
if (i < l - 1)
pdf_newline(); // add a newline after each stream except the last
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2017-10-17 00:24:27.000000000 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:25:55.786266341 -0400
@@ -16,6 +16,14 @@ 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/>.
*/
+
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -32,10 +40,7 @@ with this program. If not, see <http://
#include <goo/gmem.h>
#include <goo/gfile.h>
#else
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#error POPPLER_VERSION should be defined.
#endif
#include <assert.h>
@@ -86,22 +91,20 @@ int main(int argc, char *argv[])
objgen = atoi(argv[3]);
}
xref = doc->getXRef();
- catalogDict.initNull();
- xref->getCatalog(&catalogDict);
+ catalogDict = xref->getCatalog();
if (!catalogDict.isDict("Catalog")) {
fprintf(stderr, "No Catalog found\n");
exit(1);
}
- srcStream.initNull();
+ srcStream = Object(objNull);
if (objnum == 0) {
- catalogDict.dictLookup("SourceObject", &srcStream);
+ srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
if (!srcStream.isStream(const_SourceFile)) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
- srcName.initNull();
- srcStream.getStream()->getDict()->lookup("SourceName", &srcName);
+ srcName = srcStream.getStream()->getDict()->lookup("SourceName");
if (!srcName.isString()) {
fprintf(stderr, "No SourceName found\n");
exit(1);
@@ -110,7 +113,7 @@ int main(int argc, char *argv[])
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
- xref->fetch(objnum, objgen, &srcStream);
+ srcStream = xref->fetch(objnum, objgen);
if (!srcStream.isStream()) {
fprintf(stderr, "Not a Stream object\n");
exit(1);
@@ -160,26 +163,24 @@ int main(int argc, char *argv[])
int localOffset = 0;
Guint firstOffset;
- assert(xref->fetch(e->offset, 0, &objStr)->isStream());
- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt();
- obj1.free();
- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt();
- obj1.free();
+ objStr = xref->fetch(e->offset, 0);
+ assert(objStr.isStream());
+ obj1 = objStr.streamGetDict()->lookup("N");
+ nObjects = obj1.getInt();
+ obj1 = objStr.streamGetDict()->lookup("First");
+ first = obj1.getInt();
firstOffset = objStr.getStream()->getBaseStream()->getStart() + first;
// parse the header: object numbers and offsets
objStr.streamReset();
- obj1.initNull();
- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first);
+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
lexer = new Lexer(xref, str);
parser = new Parser(xref, lexer, gFalse);
for (n = 0; n < nObjects; ++n) {
- parser->getObj(&obj1);
- parser->getObj(&obj2);
+ obj1 = parser->getObj();
+ obj2 = parser->getObj();
if (n == e->gen)
localOffset = obj2.getInt();
- obj1.free();
- obj2.free();
}
#if defined(POPPLER_VERSION) || defined(XPDF304)
while (str->getChar() != EOF) ;
@@ -187,7 +188,6 @@ int main(int argc, char *argv[])
lexer->skipToEOF();
#endif
delete parser;
- objStr.free();
fprintf(outfile, "%.10lu 00000 n\n",
(long unsigned)(firstOffset + localOffset));
@@ -198,7 +198,6 @@ int main(int argc, char *argv[])
s->reset();
while ((c = s->getChar()) != EOF)
fputc(c, outfile);
- srcStream.free();
}
if (objnum == 0)
fprintf(stderr, "Source file extracted to %s\n", outname);
@@ -207,7 +206,6 @@ int main(int argc, char *argv[])
else
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
- catalogDict.free();
delete doc;
delete globalParams;
}

View File

@ -0,0 +1,266 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:38:05.314181306 -0400
@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
/* 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'.
@@ -292,7 +301,7 @@ static void copyDictEntry(Object * obj,
Object obj1;
copyName(obj->dictGetKey(i));
pdf_puts(" ");
- obj1 = obj->dictGetValNF(i);
+ obj1 = obj->dictGetValNF(i).copy();
copyObject(&obj1);
pdf_puts("\n");
}
@@ -351,7 +360,7 @@ static void copyProcSet(Object * obj)
obj->getTypeName());
pdf_puts("/ProcSet [ ");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- procset = obj->arrayGetNF(i);
+ procset = obj->arrayGetNF(i).copy();
if (!procset.isName())
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
procset.getTypeName());
@@ -406,7 +415,7 @@ static void copyFont(const char *tag, Ob
if (fontdict.isDict()) {
subtype = fontdict.dictLookup("Subtype");
basefont = fontdict.dictLookup("BaseFont");
- fontdescRef = fontdict.dictLookupNF("FontDescriptor");
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy();
if (fontdescRef.isRef()) {
fontdesc = fontdescRef.fetch(xref);
}
@@ -452,7 +461,7 @@ static void copyFontResources(Object * o
obj->getTypeName());
pdf_puts("/Font << ");
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
- fontRef = obj->dictGetValNF(i);
+ fontRef = obj->dictGetValNF(i).copy();
if (fontRef.isRef())
copyFont(obj->dictGetKey(i), &fontRef);
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
@@ -595,7 +604,7 @@ static void copyObject(Object * obj)
} else if (obj->isArray()) {
pdf_puts("[");
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
- obj1 = obj->arrayGetNF(i);
+ obj1 = obj->arrayGetNF(i).copy();
if (!obj1.isName())
pdf_puts(" ");
copyObject(&obj1);
@@ -723,7 +732,7 @@ read_pdf_info(char *image_name, char *pa
#endif
// initialize
if (!isInit) {
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
globalParams->setErrQuiet(false);
isInit = true;
}
@@ -761,7 +770,7 @@ read_pdf_info(char *image_name, char *pa
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen);
+ page_num = pdf_doc->doc->getCatalog()->findPage(ref);
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
@@ -921,13 +930,13 @@ void write_epdf(void)
pdf_puts(stripzeros(s));
// Metadata validity check (as a stream it must be indirect)
- dictObj = pageDict->lookupNF("Metadata");
+ dictObj = pageDict->lookupNF("Metadata").copy();
if (!dictObj.isNull() && !dictObj.isRef())
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
// copy selected items in Page dictionary except Resources & Group
for (i = 0; pageDictKeys[i] != NULL; i++) {
- dictObj = pageDict->lookupNF(pageDictKeys[i]);
+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy();
if (!dictObj.isNull()) {
pdf_newline();
pdf_printf("/%s ", pageDictKeys[i]);
@@ -936,7 +945,7 @@ void write_epdf(void)
}
// handle page group
- dictObj = pageDict->lookupNF("Group");
+ dictObj = pageDict->lookupNF("Group").copy();
if (!dictObj.isNull()) {
if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
@@ -978,7 +987,7 @@ The changes below seem to work fine.
l = dic1.getLength();
for (i = 0; i < l; i++) {
groupDict.dictAdd(dic1.getKey(i),
- dic1.getValNF(i));
+ dic1.getValNF(i).copy());
}
// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
@@ -1108,6 +1117,6 @@ void epdf_check_mem()
delete_document(p);
}
// see above for globalParams
- delete globalParams;
+ globalParams.reset();
}
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:38:05.314181306 -0400
@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5
POPPLER_VERSION should be defined.
*/
+#ifdef POPPLER_VERSION
+#include <poppler-config.h>
+#define xpdfVersion POPPLER_VERSION
+#define xpdfString "poppler"
+#else
+#include <xpdf/config.h> /* just to get the xpdf version */
+#define xpdfString "xpdf"
+#endif
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -79,7 +88,7 @@ int main(int argc, char *argv[])
exit(1);
}
fileName = new GString(argv[1]);
- globalParams = new GlobalParams();
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
doc = new PDFDoc(fileName);
if (!doc->isOk()) {
fprintf(stderr, "Invalid PDF file\n");
@@ -100,7 +109,7 @@ int main(int argc, char *argv[])
if (objnum == 0) {
srcStream = catalogDict.dictLookup("SourceObject");
static char const_SourceFile[] = "SourceFile";
- if (!srcStream.isStream(const_SourceFile)) {
+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) {
fprintf(stderr, "No SourceObject found\n");
exit(1);
}
@@ -156,7 +165,6 @@ int main(int argc, char *argv[])
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
Stream *str;
- Lexer *lexer;
Parser *parser;
Object objStr, obj1, obj2;
int nObjects, first, n;
@@ -174,8 +182,7 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
- lexer = new Lexer(xref, str);
- parser = new Parser(xref, lexer, false);
+ parser = new Parser(xref, str, false);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();
@@ -207,5 +214,5 @@ int main(int argc, char *argv[])
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
fclose(outfile);
delete doc;
- delete globalParams;
+ globalParams.reset();
}
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c
--- texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c 2020-04-20 14:39:39.355214866 -0400
@@ -32,14 +32,6 @@ with this program. If not, see <http://
#include <zlib.h>
#include "ptexlib.h"
#include <png.h>
-#ifdef POPPLER_VERSION
-/* POPPLER_VERSION should be a proper version string */
-#define xpdfVersion POPPLER_VERSION
-#define xpdfString "poppler"
-#else
-#include <xpdf/config.h> /* just to get the xpdf version */
-#define xpdfString "xpdf"
-#endif
#define check_nprintf(size_get, size_want) \
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
@@ -977,12 +969,10 @@ void initversionstring(char **versions)
{
const_string fmt =
"Compiled with libpng %s; using libpng %s\n"
- "Compiled with zlib %s; using zlib %s\n"
- "Compiled with %s version %s\n";
+ "Compiled with zlib %s; using zlib %s\n";
size_t len = strlen(fmt)
+ strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver)
+ strlen(ZLIB_VERSION) + strlen(zlib_version)
- + strlen(xpdfString) + strlen(xpdfVersion)
+ 1;
/* len will be more than enough, because of the placeholder chars in fmt
@@ -990,7 +980,7 @@ void initversionstring(char **versions)
*versions = xmalloc(len);
sprintf(*versions, fmt,
PNG_LIBPNG_VER_STRING, png_libpng_ver,
- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion);
+ ZLIB_VERSION, zlib_version);
}
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c
--- texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 2019-12-30 16:00:39.000000000 -0500
+++ texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c 2020-04-20 14:40:44.534851910 -0400
@@ -38,10 +38,6 @@ 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>
@@ -170,7 +166,6 @@ void initversionstring(char **versions)
"Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n"
"Compiled with HarfBuzz version %s; using %s\n"
"Compiled with libpng version %s; using %s\n"
- "Compiled with poppler version %s\n"
#ifdef XETEX_MAC
"Using Mac OS X Core Text and Cocoa frameworks\n"
#else
@@ -187,7 +182,6 @@ void initversionstring(char **versions)
+ strlen(hb_version_string())
+ strlen(PNG_LIBPNG_VER_STRING)
+ strlen(png_libpng_ver)
- + strlen(POPPLER_VERSION)
#ifndef XETEX_MAC
+ 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
#endif
@@ -217,7 +211,7 @@ void initversionstring(char **versions)
GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX,
grMajor, grMinor, grBugfix,
HB_VERSION_STRING, hb_version_string(),
- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION
+ PNG_LIBPNG_VER_STRING, png_libpng_ver
#ifndef XETEX_MAC
,
FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,

View File

@ -0,0 +1,20 @@
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 2020-07-14 13:13:31.620607263 -0400
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-07-14 13:16:01.530248309 -0400
@@ -766,7 +766,7 @@ read_pdf_info(char *image_name, char *pa
if (page_name) {
// get page by name
GString name(page_name);
- LinkDest *link = pdf_doc->doc->findDest(&name);
+ std::unique_ptr<LinkDest> link = pdf_doc->doc->findDest(&name);
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
@@ -774,7 +774,6 @@ read_pdf_info(char *image_name, char *pa
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
- delete link;
} else {
// get page by number
if (page_num <= 0 || page_num > epdf_num_pages)

View File

@ -0,0 +1,22 @@
diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20200327/source/texk/kpathsea/texmf.cnf
--- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix 2020-04-20 14:29:38.934769870 -0400
+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-04-20 14:31:48.070069635 -0400
@@ -83,6 +83,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 = ~/.texlive2020/texmf-var
@@ -108,7 +111,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.
-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

View File

@ -0,0 +1,12 @@
diff -up texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest texlive-base-20180414/source/texk/web2c/omegafonts/check.test
--- texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest 2018-10-04 13:24:17.965126655 -0400
+++ texlive-base-20180414/source/texk/web2c/omegafonts/check.test 2018-10-04 13:24:26.068945230 -0400
@@ -4,6 +4,8 @@
# Copyright 2014, 2015 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
+exit 0
+
test -d tests || mkdir -p tests
TEXMFCNF=$srcdir/../../kpathsea

View File

@ -0,0 +1,11 @@
diff -up texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c
--- texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh 2019-03-19 11:02:44.303218932 -0400
+++ texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c 2019-03-19 11:02:59.545857443 -0400
@@ -6023,7 +6023,6 @@ synctex_scanner_p synctex_scanner_new_wi
if ((scanner->reader = synctex_reader_init_with_output_file(scanner->reader, output, build_directory))) {
return parse? synctex_scanner_parse(scanner):scanner;
}
- _synctex_error("No file?");
return NULL;
}

View File

@ -0,0 +1,16 @@
diff -up texlive-base-20190410/source/texk/detex/detex-src/detex.l.me texlive-base-20190410/source/texk/detex/detex-src/detex.l
--- texlive-base-20190410/source/texk/detex/detex-src/detex.l.me 2020-02-05 12:54:36.100840384 +0100
+++ texlive-base-20190410/source/texk/detex/detex-src/detex.l 2020-02-05 13:00:28.476320773 +0100
@@ -898,10 +898,10 @@ TexOpen(char *sbFile)
#else
if (*sbFile == '/') { /* absolute path */
#endif
- (void)sprintf(sbFullPath, "%s", sbFile);
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s", sbFile);
iPath = csbInputPaths; /* only check once */
} else
- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile);
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s/%s", rgsbInputPaths[iPath], sbFile);
#ifdef OS2
pch = sbFullPath;
while (pch = strchr(pch, '\\'))

View File

@ -1,20 +0,0 @@
diff -up tex/latex/sympytexpackage/sympytex.sty.than tex/latex/sympytexpackage/sympytex.sty
--- tex/latex/sympytexpackage/sympytex.sty.than 2017-07-05 14:24:09.206951593 +0200
+++ tex/latex/sympytexpackage/sympytex.sty 2017-07-05 14:25:09.994666464 +0200
@@ -43,13 +43,13 @@
\newwrite\ST@sf
\immediate\openout\ST@sf=\jobname.sympy
\newcommand{\ST@wsf}[1]{\immediate\write\ST@sf{#1}}
-\iffalse
+%\iffalse
%% To get .sympy files to automatically change the Python path to find
%% sympytex.py, delete the \iffalse and \fi lines surrounding this and
%% change the directory below to where sympytex.py can be found.
\ST@wsf{import sys}
-\ST@wsf{sys.path.insert(0, 'directory with sympytex.py')}
-\fi
+\ST@wsf{sys.path.insert(0, '/usr/share/texlive/texmf-dist/scripts/sympytexpackage')}
+%\fi
\ST@wsf{import sympy}
\ST@wsf{import sympytex}
\ST@wsf{sympytex.openout('\jobname')}

View File

@ -1,91 +0,0 @@
--- tex/latex/geometry/geometry.sty 2016-11-25 19:33:49.000000000 +0100
+++ tex/latex/geometry/geometry.sty 2018-05-06 13:09:27.223486373 +0200
@@ -8,6 +8,8 @@
%%
%% Copyright (C) 1996-2010
%% by Hideo Umeki <latexgeometry@gmail.com>
+%% Copyright (C) 2018
+%% by Hideo Umeki and David Carlisle https://github.com/davidcarlisle/geometry
%%
%% This work may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
@@ -18,14 +20,14 @@
%% version 2005/12/01 or later.
%%
%% This work is "maintained" (as per the LPPL maintenance status)
-%% by Hideo Umeki.
+%% by David Carlisle.
%%
%% This work consists of the files geometry.dtx and
%% the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{geometry}
- [2010/09/12 v5.6 Page Geometry]
+ [2018/03/24 v5.7 Page Geometry]
\RequirePackage{keyval}%
\RequirePackage{ifpdf}%
\RequirePackage{ifvtex}%
@@ -72,6 +74,7 @@
\def\Gm@dvips{dvips}%
\def\Gm@dvipdfm{dvipdfm}%
\def\Gm@pdftex{pdftex}%
+\def\Gm@luatex{luatex}%
\def\Gm@xetex{xetex}%
\def\Gm@vtex{vtex}%
\def\Gm@true{true}%
@@ -592,6 +595,8 @@
\Gm@doifelse{dvipdfm}{#1}{\Gm@setdriver{dvipdfm}}{\Gm@unsetdriver{dvipdfm}}}}%
\define@key{Gm}{pdftex}[true]{\ifGm@preamble{pdftex}{%
\Gm@doifelse{pdftex}{#1}{\Gm@setdriver{pdftex}}{\Gm@unsetdriver{pdftex}}}}%
+\define@key{Gm}{luatex}[true]{\ifGm@preamble{luatex}{%
+ \Gm@doifelse{luatex}{#1}{\Gm@setdriver{luatex}}{\Gm@unsetdriver{luatex}}}}%
\define@key{Gm}{xetex}[true]{\ifGm@preamble{xetex}{%
\Gm@doifelse{xetex}{#1}{\Gm@setdriver{xetex}}{\Gm@unsetdriver{xetex}}}}%
\define@key{Gm}{vtex}[true]{\ifGm@preamble{vtex}{%
@@ -809,7 +814,11 @@
\ifx\Gm@driver\@empty
\typeout{*geometry* driver: auto-detecting}%
\ifpdf
- \Gm@setdriver{pdftex}%
+ \ifx\pdfextension\@undefined
+ \Gm@setdriver{pdftex}%
+ \else
+ \Gm@setdriver{luatex}%
+ \fi
\else
\Gm@setdriver{dvips}%
\fi
@@ -1030,7 +1039,7 @@
\setlength\pdfpagewidth{\Gm@pw}%
\setlength\pdfpageheight{\Gm@ph}}%
\ifnum\mag=\@m\else
- \@tempdima=\mag sp%
+ \@tempdima=\mag sp
\@ifundefined{pdfhorigin}{}{%
\divide\pdfhorigin\@tempdima
\multiply\pdfhorigin\@m
@@ -1039,6 +1048,23 @@
\ifx\Gm@truedimen\Gm@true
\setlength\paperwidth{\Gm@pw}%
\setlength\paperheight{\Gm@ph}%
+ \fi
+ \fi
+ \fi
+ \ifx\Gm@driver\Gm@luatex
+ \setlength\pagewidth{\Gm@pw}%
+ \setlength\pageheight{\Gm@ph}%
+ \ifnum\mag=\@m\else
+ \@tempdima=\mag sp
+ \edef\Gm@horigin{\pdfvariable horigin}%
+ \edef\Gm@vorigin{\pdfvariable vorigin}%
+ \divide\Gm@horigin\@tempdima
+ \multiply\Gm@horigin\@m
+ \divide\Gm@vorigin\@tempdima
+ \multiply\Gm@vorigin\@m
+ \ifx\Gm@truedimen\Gm@true
+ \setlength\paperwidth{\Gm@pw}%
+ \setlength\paperheight{\Gm@ph}%
\fi
\fi
\fi

View File

@ -1,12 +0,0 @@
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
--- source/texk/kpathsea/mktexlsr.than 2015-04-29 16:52:42.800897655 +0200
+++ source/texk/kpathsea/mktexlsr 2015-04-29 16:53:12.500695909 +0200
@@ -66,7 +66,7 @@ if tty -s; then verbose=true; else verbo
dry_run=false
trees=
-treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.tmp"
+treefile=`mktemp -q --tmpdir mktexlsrtrees.XXXXXXXXXX`
trap 'cd /; rm -f $treefile; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp";
exit' 0 1 2 3 7 13 15

View File

@ -1,189 +0,0 @@
"cmdtrack", NULL, /* Removed from TeXLive - non-free */
"fltpage", NULL, /* Removed from TeXLive - non-free */
"free-math-font-survey", NULL, /* Removed from TeXLive - non-free */
"kalender", NULL, /* Removed from TeXLive - non-free */
"latex-tipps-und-tricks", NULL, /* Removed from TeXLive - non-free */
"russ", NULL, /* Removed from TeXLive - non-free */
"preview", NULL, /* upstream in Fedora */
"psutils", NULL, /* in Fedora */
"floatflt", "LPPL",
"seetexk", "MIT",
"texdraw", "CC-BY",
"ogham", "Public Domain",
"midnight", "midnight",
"ec", "ec",
"setspace", "Copyright only", /* http://www.linux.cz/pipermail/texlive/2011-December/000357.html */
"authoraftertitle", "Public Domain", /* http://www.linux.cz/pipermail/texlive/2011-December/000359.html */
"gentle", "CC-BY-SA", /* http://www.linux.cz/pipermail/texlive/2011-December/000375.html */
"gillcm", "BSD", /* http://www.linux.cz/pipermail/texlive/2011-December/000382.html */
"doc-pictex", "Copyright only", /* http://www.linux.cz/pipermail/texlive/2011-December/000386.html */
"abstyles", "Abstyles", /* http://www.linux.cz/pipermail/texlive/2011-December/000343.html */
"adobemapping", "BSD",
"ANUfinalexam", "GPL+",
"apalike2", "Knuth",
"apa6e", "BSD",
"arpic", "Arpic",
"ar", "LPPL",
"asana-math", "OFL",
"ascii-chart", "LPPL",
"bbm", "Copyright only",
"bbold-type1", "Copyright only",
"bera", "Bitstream vera",
"berenisadf", "GPLv2+ and LPPL",
"bchart", "MIT",
"blacklettert1", "LPPL",
"borceux", "Borceux",
"braille", "LPPL",
"breakcites", "Copyright only",
"calligra", "Copyright only",
"calligra-type1", "Copyright only",
"charter", "Copyright only",
"cherokee", "Copyright only",
"chicago", "Knuth",
"cite", "Copyright only",
"clock", "GPL+",
"cm-unicode", "OFL",
"codepage", "BSD",
"context-filter", "BSD",
"context-mathsets", "BSD",
"context-rst", "BSD",
"context", "GPL+ or LPPL",
"context-vim", "BSD",
"courseoutline", "Copyright only",
"coursepaper", "Copyright only",
"crossword", "Crossword",
"csplain", "GPLv2+",
"dancers", "Copyright only",
"de-macro", "AFL",
"detex", "NCSA",
"din1505", "Bibtex",
"dk-bib", "GPLv2+",
"dosepsbin", "GPLv2 or Artistic",
"dotseqn", "Dotseqn",
"doublestroke", "Doublestroke",
"dvidvi", "Copyright only",
"ecv", "Copyright only",
"eiad", "Public Domain",
"electrum", "GPLv2+ with exceptions and LPPL",
"elvish", "Elvish",
"epstopdf", "BSD",
"eqname", "Copyright only",
"esstix", "OFL",
"etex-pkg", "LPPL",
"eurosym", "Eurosym",
"facture", "CC-BY-SA",
"fancynum", "LPPL",
"fbithesis", "LPPL",
"figflow", "Copyright only",
"finbib", "Bibtex",
"fltpoint", "LPPL",
"fonetika", "GPL+ and LPPL",
"font-change", "CC-BY-SA",
"formlett", "GPL+",
"framed", "Copyright only",
"fundus", "LPPL",
"fwlw", "Copyright only",
"gene-logic", "Crossword",
"gentium", "OFL",
"germbib", "Bibtex",
"getoptk", "CeCILL-B",
"gfsartemisia", "LPPL",
"gfsbaskerville", "LPPL",
"gfsbodoni", "OFL",
"gfscomplutum", "OFL",
"gfsdidot", "LPPL",
"gfsneohellenic", "LPPL",
"gfsporson", "LPPL",
"gfssolomos", "OFL",
"harvmac", "CC-BY",
"hc", "GPLv2+",
"hyphen-basque", "Bahyph",
"hyphenex", "Public Domain",
"hyphen-greek", "LPPL",
"hyphen-turkish", "Copyright only",
"hyph-utf8", "Copyright only",
"ifsym", "LPPL",
"inconsolata", "OFL",
"index", "LPPL",
"ipaex", "IPA",
"itrans", "BSD",
"jadetex", "MIT",
"jamtimes", "BSD",
"japanese-otf", "BSD",
"jlabels", "Bibtex or LPPL",
"kixfont", "Copyright only",
"latex2e-help-texinfo", "Latex2e",
"lhcyr", "Lhcyr",
"localloc", "Bibtex",
"lshort-german", "GFDL",
"lshort-spanish", "GPLv2+",
"lshort-ukr", "GPLv2+",
"lua-alt-getopt", "MIT",
"magaz", "Copyright only",
"makeindex", "MakeIndex",
"mdputu", "BSD",
"menu", "LPPL",
"metapost-examples", "GPL+",
"mhequ", "Public Domain",
"mil3", "Copyright only",
"minutes", "LPPL",
"mkgrkindex", "LPPL",
"mkjobtexmf", "GPLv2 or Artistic",
"mpman-ru", "MIT",
"mp3d", "LPPL",
"mslapa", "Public Domain",
"mxedruli", "LPPL",
"nature", "LPPL",
"newsletr", "Newsletr",
"ocr-b-outline", "Copyright only",
"ocr-b", "Copyright only",
"oldstandard", "OFL",
"oubraces", "Copyright only",
"passivetex", "MIT",
"path", "Bibtex",
"pax", "GPLv2+",
"pb-diagram", "GPLv2+",
"persian-modern", "OFL",
"philokalia", "OFL",
"plain-doc", "Public Domain",
"plweb", "Copyright only",
"pnas2009", "Bibtex",
"prodint", "OFL",
"productbox", "Copyright only",
"psfrag", "psfrag",
"pst-bspline", "LPPL",
"ps2pkm", "MIT",
"ptex", "BSD",
"punknova", "Punknova",
"rccol", "LPPL",
"rsfs", "rsfs",
"r_und_s", "BSD",
"shapepar", "Dotseqn",
"showhyphens", "MIT",
"slideshow", "Copyright only",
"sphack", "Bibtex",
"stix", "OFL",
"subsupscripts", "LPPL",
"tabls", "Dotseqn",
"tds", "Latex2e",
"tetex", "GPL+ and GPLv2+ and LPPL",
"texdiff", "GPL+ or Artistic",
"texdirflatten", "GPL+ or Artistic",
"texloganalyser", "BSD",
"tex-refs", "GFDL",
"threeparttable", "Threeparttable",
"tie", "Latex2e",
"tikz-dependency", "(GPLv2 or LPPL) and (GFDL or LPPL)",
"tucv", "CC-BY-SA",
"tugboat-plain", "Bibtex",
"ulem", "Copyright only",
"umtypewriter", "OFL",
"utopia", "Utopia",
"venturisadf", "Utopia",
"version", "Copyright only",
"vntex", "Utopia",
"wadalab", "Wadalab",
"webguide", "Utopia",
"wsuipa", "Utopia",
"xdvi", "MIT",
"zed-csp", "Zed",

View File

@ -1,16 +0,0 @@
diff -up source/m4/kpse-teckit-flags.m4.fix source/m4/kpse-teckit-flags.m4
--- source/m4/kpse-teckit-flags.m4.fix 2015-07-28 21:46:52.411157717 -0400
+++ source/m4/kpse-teckit-flags.m4 2015-07-28 21:47:03.570090966 -0400
@@ -20,9 +20,8 @@ _KPSE_LIB_FLAGS([teckit], [TECkit], [],
# KPSE_TECKIT_OPTIONS([WITH-SYSTEM])
# ----------------------------------
-AC_DEFUN([KPSE_TECKIT_OPTIONS], [_KPSE_LIB_OPTIONS([teckit], [$1], [pkg-config])])
+AC_DEFUN([KPSE_TECKIT_OPTIONS], [_KPSE_LIB_OPTIONS([teckit], [$1])])
# KPSE_TECKIT_SYSTEM_FLAGS
-# -------------------------
-AC_DEFUN([KPSE_TECKIT_SYSTEM_FLAGS], [dnl
-_KPSE_PKG_CONFIG_FLAGS([teckit], [teckit])])
+# ------------------------
+AC_DEFUN([KPSE_TECKIT_SYSTEM_FLAGS], [_KPSE_LIB_FLAGS_SYSTEM([teckit], [TECkit])])

View File

@ -1,121 +0,0 @@
--- latexdiff.pl 2015-04-19 16:00:38.000000000 -0600
+++ latexdiff.pl 2015-12-15 19:14:13.581563397 -0700
@@ -1434,7 +1434,7 @@ sub flatten {
$bblfile=~s/\.tex$//;
$bblfile.=".bbl";
- if ( ($includeonly) = ($preamble =~ m/\\includeonly{(.*?)}/ ) ) {
+ if ( ($includeonly) = ($preamble =~ m/\\includeonly\{(.*?)}/ ) ) {
$includeonly =~ s/,/|/g;
} else {
$includeonly = '.*?';
@@ -1443,7 +1443,7 @@ sub flatten {
print STDERR "DEBUG: includeonly $includeonly\n" if $debug;
# recursively replace \\input and \\include files
- $text=~s/(^(?:[^%\n]|\\%)*)\\input{(.*?)}|\\include{(${includeonly}(?:\.tex)?)}/{
+ $text=~s/(^(?:[^%\n]|\\%)*)\\input\{(.*?)}|\\include\{(${includeonly}(?:\.tex)?)}/{
$begline=(defined($1)? $1 : "") ;
$fname = $2 if defined($2) ;
$fname = $3 if defined($3) ;
@@ -1460,7 +1460,7 @@ sub flatten {
"$begline$newpage$replacement$newpage";
}/exgm;
# replace bibliography with bbl file if it exists
- $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography{(.*?)}/{
+ $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography\{(.*?)}/{
if ( -f $bblfile ){
$replacement=read_file_with_encoding(File::Spec->catfile($bblfile), $encoding);
} else {
@@ -1471,7 +1471,7 @@ sub flatten {
"$begline$replacement";
}/exgm;
# replace subfile with contents (subfile package)
- $text=~s/(^(?:[^%\n]|\\%)*)\\subfile{(.*?)}/{
+ $text=~s/(^(?:[^%\n]|\\%)*)\\subfile\{(.*?)}/{
$begline=(defined($1)? $1 : "") ;
$fname = $2;
# # add tex extension unless there is a three letter extension already
@@ -2166,7 +2166,7 @@ sub marktags {
sub preprocess {
for (@_) {
# Change \{ to \QLEFTBRACE and \} to \QRIGHTBRACE
- s/(?<!\\)\\{/\\QLEFTBRACE /sg;
+ s/(?<!\\)\\\{/\\QLEFTBRACE /sg;
s/(?<!\\)\\}/\\QRIGHTBRACE /sg;
s/(?<!\\)\\&/\\AMPERSAND /sg;
# replace {,} in comments with \\CLEFTBRACE,\\CRIGHTBRACE
@@ -2180,23 +2180,23 @@ sub preprocess {
s/\\begin\{(verbatim\*?)\}(.*?)\\end\{\1\}/"\\${1}{". tohash(\%verbhash,"${2}") . "}"/esg;
# Convert _n or _\cmd into \SUBSCRIPTNB{n} or \SUBSCRIPTNB{\cmd} and _{nnn} into \SUBSCRIPT{nn}
1 while s/(?<!\\)_([^{\\]|\\\w+)/\\SUBSCRIPTNB{$1}/g ;
- 1 while s/(?<!\\)_{($pat6)}/\\SUBSCRIPT{$1}/g ;
+ 1 while s/(?<!\\)_\{($pat6)}/\\SUBSCRIPT{$1}/g ;
# Convert ^n into \SUPERSCRIPTNB{n} and ^{nnn} into \SUPERSCRIPT{nn}
1 while s/(?<!\\)\^([^{\\]|\\\w+)/\\SUPERSCRIPTNB{$1}/g ;
- 1 while s/(?<!\\)\^{($pat6)}/\\SUPERSCRIPT{$1}/g ;
+ 1 while s/(?<!\\)\^\{($pat6)}/\\SUPERSCRIPT{$1}/g ;
# Convert $$ $$ into \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR}
s/\$\$(.*?)\$\$/\\begin{DOLLARDOLLAR}$1\\end{DOLLARDOLLAR}/sg;
# Convert \[ \] into \begin{SQUAREBRACKET} \end{SQUAREBRACKET}
s/(?<!\\)\\\[/\\begin{SQUAREBRACKET}/sg;
s/\\\]/\\end{SQUAREBRACKET}/sg;
# Convert all picture environmentent (\begin{PICTUREENV} .. \end{PICTUREENV} \PICTUREBLOCKenv
- s/\\begin{($PICTUREENV)}(.*?)\\end{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
+ s/\\begin\{($PICTUREENV)}(.*?)\\end\{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
# For --block-math-markup option -convert all \begin{MATH} .. \end{MATH}
# into \MATHBLOCKMATH{...} commands, where MATH is any valid math environment
# Also convert all array environments into ARRAYBLOCK environments
if ( $mathmarkup != FINE ) {
- s/\\begin{($ARRENV)}(.*?)\\end{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
- s/\\begin{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end{\1}/\\MATHBLOCK$1\{$2\}/sg;
+ s/\\begin\{($ARRENV)}(.*?)\\end\{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
+ s/\\begin\{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end\{\1}/\\MATHBLOCK$1\{$2\}/sg;
}
# add final token " STOP"
$_ .= " STOP"
@@ -2438,15 +2438,15 @@ sub postprocess {
# environments) are between the \begin{$MATHENV} and \end{MATHMODE} commands. This is necessary as the minimal matching
# is not globally minimal but only 'locally' (matching is beginning from the left side of the string)
if ( $mathmarkup == FINE ) {
- 1 while s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin{MATHMODE})))*?)\\end{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
- 1 while s/\\begin{MATHMODE}((?:.(?!\\end{MATHMODE}))*?)\\end{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
- # convert remaining \begin{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
- s/\\begin{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
+ 1 while s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end\{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin\{MATHMODE})))*?)\\end\{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
+ 1 while s/\\begin\{MATHMODE}((?:.(?!\\end\{MATHMODE}))*?)\\end\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
+ # convert remaining \begin\{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
+ s/\\begin\{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end\{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
# others into MATHARRREPL
- s/\\begin{MATHMODE}(.*?)\\end{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
+ s/\\begin\{MATHMODE}(.*?)\\end\{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
# now look for AUXCMD math-mode pairs which have only comments (or empty lines between them), and remove the added commands
- s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
+ s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
} else {
# math modes OFF,WHOLE,COARSE: Convert \MATHBLOCKmath{..} commands back to environments
s/\\MATHBLOCK($MATHENV|$MATHARRENV|SQUAREBRACKET)\{($pat6)\}/\\begin{$1}$2\\end{$1}/sg;
@@ -2524,16 +2524,16 @@ sub postprocess {
# undo renaming of the \begin and \end,{,} and dollars in comments
1 while s/(%.*)DOLLARDIF/$1\$/mg ;
# Convert \begin{SQUAREBRACKET} \end{SQUAREBRACKET} into \[ \]
- s/\\end{SQUAREBRACKET}/\\\]/sg;
- s/\\begin{SQUAREBRACKET}/\\\[/sg;
+ s/\\end\{SQUAREBRACKET}/\\\]/sg;
+ s/\\begin\{SQUAREBRACKET}/\\\[/sg;
# 4. Convert \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR} into $$ $$
s/\\begin\{DOLLARDOLLAR\}(.*?)\\end\{DOLLARDOLLAR\}/\$\$$1\$\$/sg;
# 5. Convert \SUPERSCRIPTNB{n} into ^n and \SUPERSCRIPT{nn} into ^{nnn}
- 1 while s/\\SUPERSCRIPT{($pat6)}/^{$1}/g ;
- 1 while s/\\SUPERSCRIPTNB{($pat0)}/^$1/g ;
+ 1 while s/\\SUPERSCRIPT\{($pat6)}/^{$1}/g ;
+ 1 while s/\\SUPERSCRIPTNB\{($pat0)}/^$1/g ;
# Convert \SUBSCRIPNB{n} into _n and \SUBCRIPT{nn} into _{nnn}
- 1 while s/\\SUBSCRIPT{($pat6)}/_{$1}/g ;
- 1 while s/\\SUBSCRIPTNB{($pat0)}/_$1/g ;
+ 1 while s/\\SUBSCRIPT\{($pat6)}/_{$1}/g ;
+ 1 while s/\\SUBSCRIPTNB\{($pat0)}/_$1/g ;
1 while s/(%.*)\\CRIGHTBRACE (.*)$/$1\}$2/mg ;
1 while s/(%.*)\\CLEFTBRACE (.*)$/$1\{$2/mg ;

View File

@ -1,48 +0,0 @@
--- latexpand.old 2015-12-14 14:23:11.624505410 -0500
+++ latexpand 2015-12-14 14:37:45.196569657 -0500
@@ -123,7 +123,7 @@ sub process_file
# ignored by LaTeX, but we don't allow anything before
# to avoid e.g. \verb|\end{document}| from terminating
# the file.
- if (!$keep_comments && $line =~ /^[ \t]*\\end{document}/) {
+ if (!$keep_comments && $line =~ /^[ \t]*\\end\{document}/) {
last;
}
}
@@ -133,7 +133,8 @@ sub process_file
sub process_line
{
- my ($_, $prefix, $file) = @_;
+ my ($line, $prefix, $file) = @_;
+ $_ = $line;
# Consider \makeatletter only in preamble, because we do want
# to warn on \someCommand{\makeatletter\command@with@arobase}.
if ($in_preamble && /^[^%]*\\makeatletter/) {
@@ -203,7 +204,7 @@ sub process_line
if ($expand_usepackage) {
# Don't bother with before and after text, we just require the
# usepackage to be alone on its line.
- if (my ($package_name) = /^\s*\\usepackage{([^}]*)}\s*(%.*)?$/) {
+ if (my ($package_name) = /^\s*\\usepackage\{([^}]*)}\s*(%.*)?$/) {
my $full = find_file($package_name . ".sty", $TEXINPUTS);
if ($full) {
say $prefix . "Found package file: $full\n";
@@ -216,7 +217,7 @@ sub process_line
}
if ($expand_bbl) {
if (my ($before, $bib_name, $after)
- = /^(.*)\\bibliography{([^}]*)}(.*)$/) {
+ = /^(.*)\\bibliography\{([^}]*)}(.*)$/) {
# The BBL file is not necessarily $bib_name.
# Take it from the command-line.
print $before . $nl;
@@ -233,7 +234,7 @@ sub process_line
print STDERR "$full\n";
}
}
- if (/^[ \t]*\\begin{document}/) {
+ if (/^[ \t]*\\begin\{document}/) {
$in_preamble = 0;
if ($makeatletter) {
print '\makeatletter' . $nl;

View File

@ -1,20 +0,0 @@
diff -U0 texlive-2016/source/texk/kpathsea/ChangeLog.than texlive-2016/source/texk/kpathsea/ChangeLog
--- texlive-2016/source/texk/kpathsea/ChangeLog.than 2017-03-07 17:36:09.052243607 +0100
+++ texlive-2016/source/texk/kpathsea/ChangeLog 2017-03-07 17:36:55.525484239 +0100
@@ -0,0 +1,5 @@
+2016-11-30 Karl Berry <karl@ks.tug.org>
+
+ * texmf.cnf (shell_escape_commands): remove mpost, due to
+ the -tex option. Oops! Report from Bruno Le Floch.
+
diff -up texlive-2016/source/texk/kpathsea/texmf.cnf.than texlive-2016/source/texk/kpathsea/texmf.cnf
--- texlive-2016/source/texk/kpathsea/texmf.cnf.than 2017-03-07 17:37:14.160778751 +0100
+++ texlive-2016/source/texk/kpathsea/texmf.cnf 2017-03-07 17:37:39.688812317 +0100
@@ -568,7 +568,6 @@ extractbb,\
gregorio,\
kpsewhich,\
makeindex,\
-mpost,\
repstopdf,\
% we'd like to allow:

View File

@ -1,42 +0,0 @@
diff -up tex/latex/pkgloader/pkgloader.sty.nol3regex tex/latex/pkgloader/pkgloader.sty
--- tex/latex/pkgloader/pkgloader.sty.nol3regex 2020-05-12 15:43:34.909265349 -0400
+++ tex/latex/pkgloader/pkgloader.sty 2020-05-12 15:44:42.157074791 -0400
@@ -71,7 +71,6 @@
% \begin{macrocode}
\RequirePackage{xparse}
\RequirePackage{l3keys2e}
-\RequirePackage{l3regex}
\RequirePackage{lt3graph}
% \end{macrocode}
%
@@ -660,7 +659,7 @@
%
% \begin{macrocode}
\prop_map_inline:Nn \g__pkgloader_known_pkg_prop {%%%%%%%%%%%%%% ##1
- \int_step_inline:nncn {1} {1} {g__pkgloader_count_(##1)_int} {%% ####1
+ \int_step_inline:nnvn {1} {1} {g__pkgloader_count_(##1)_int} {%% ####1
% \end{macrocode}
%
% If the current configuration should be loaded but still
@@ -767,9 +766,8 @@
% \end{macrocode}
% \uninteresting\begin{macrocode}
}
-\cs_generate_variant:Nn \int_step_inline:nnnn {nncn}
+\cs_generate_variant:Nn \int_step_inline:nnnn {nnvn}
\cs_generate_variant:Nn \bool_if:nT {vT}
-\cs_generate_variant:Nn \withargs:nnn {vvn}
\cs_generate_variant:Nn \graph_gput_vertex:Nnn {Nnf}
\graph_new:N \l__pkgloader_order_graph
\tl_new:N \l__pkgloader_used_configs_tl
@@ -836,8 +834,8 @@
}
}
}
-\cs_generate_variant:Nn \withargs:nn {xn}
-\cs_generate_variant:Nn \withargs:nnnnn {vvfvn}
+\cs_generate_variant:Nn \withargs:nn {x}
+\cs_generate_variant:Nn \withargs:nnnnn {vvfv}
% \end{macrocode}
%
% And it needs the following auxiliary function to strip

View File

@ -1,163 +0,0 @@
diff -up tex/latex/bgteubner/bgteubner.cls.fixme tex/latex/bgteubner/bgteubner.cls
--- tex/latex/bgteubner/bgteubner.cls.fixme 2020-05-11 11:18:45.614265736 -0400
+++ tex/latex/bgteubner/bgteubner.cls 2020-05-11 11:19:44.848269987 -0400
@@ -280,7 +280,8 @@
\RequirePackage{warning}[2001/08/17]
\RequirePackage[all]{onlyamsmath}[2001/10/04]
\RequirePackage[sepfour,autolanguage]{numprint}[2003/11/09]
-\RequirePackage{scrpage2}[2002/11/01]
+\RequirePackage{scrlfile}
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
\RequirePackage[fixlanguage]{babelbib}[2003/07/28]
\RequirePackage{fnbreak}[2003/04/03]
\RequirePackage[countmax]{subfloat}[2002/12/16]
diff -up tex/latex/mdframed/ltxmdf.cls.fixme tex/latex/mdframed/ltxmdf.cls
--- tex/latex/mdframed/ltxmdf.cls.fixme 2020-05-11 11:15:55.073132609 -0400
+++ tex/latex/mdframed/ltxmdf.cls 2020-05-11 11:16:31.591518713 -0400
@@ -68,7 +68,8 @@
\endgroup
\xspaceaddexceptions{\xspace@check@icr}
\RequirePackage{multicol}\columnseprule0.4pt
-\RequirePackage{scrpage2}
+\RequirePackage{scrlfile}
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
\RequirePackage[inline]{enumitem}
\RequirePackage{amsmath}
\RequirePackage{listings}
diff -up tex/latex/mentis/mentis.cls.fixme tex/latex/mentis/mentis.cls
--- tex/latex/mentis/mentis.cls.fixme 2020-05-11 11:44:12.168603751 -0400
+++ tex/latex/mentis/mentis.cls 2020-05-11 11:44:31.344281400 -0400
@@ -40,7 +40,8 @@
%%% \end{macrocode}
\RequirePackage{xspace}
\RequirePackage{textcomp}
-\RequirePackage{scrpage2}
+\RequirePackage{scrlfile}
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
\RequirePackage{jurabib}
%%% \begin{macrocode}
%%\RequirePackage{picinpar}
diff -up tex/latex/rcsinfo/rcsinfo.sty.fixme tex/latex/rcsinfo/rcsinfo.sty
--- tex/latex/rcsinfo/rcsinfo.sty.fixme 2020-05-11 11:27:58.018979581 -0400
+++ tex/latex/rcsinfo/rcsinfo.sty 2020-05-11 11:29:20.177598457 -0400
@@ -119,7 +119,8 @@
\RequirePackage{fancyhdr}
\fi
\if@rcsInfoUseScrpage@
- \RequirePackage{scrpage2}
+ \RequirePackage{scrlfile}
+ \ReplacePackage{scrpage2}{scrlayer-scrpage}
\fi
\def\today{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
diff -up tex/latex/rtklage/rtklage.cls.fixme tex/latex/rtklage/rtklage.cls
--- tex/latex/rtklage/rtklage.cls.fixme 2020-05-11 11:22:57.281035108 -0400
+++ tex/latex/rtklage/rtklage.cls 2020-05-11 11:23:18.024686393 -0400
@@ -7,7 +7,7 @@
\RequirePackage{scrdate}
\RequirePackage{calc}
\RequirePackage[np]{numprint}
-\RequirePackage[plainheadsepline]{scrpage2}
+\RequirePackage[plainheadsepline]{scrlayer-scrpage}
\RequirePackage{alphanum}
\RequirePackage{eso-pic}
\RequirePackage{color}
diff -up tex/latex/schule/schuleab.cls.fixme tex/latex/schule/schuleab.cls
--- tex/latex/schule/schuleab.cls.fixme 2020-05-11 11:48:43.556041642 -0400
+++ tex/latex/schule/schuleab.cls 2020-05-11 11:48:57.530806700 -0400
@@ -154,7 +154,7 @@
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{schulealt}
-\RequirePackage[headsepline]{scrpage2}
+\RequirePackage[headsepline]{scrlayer-scrpage}
\pagestyle{scrheadings}
\def\dokName#1{\gdef\@dokName{#1}}
diff -up tex/latex/schule/schuleit.cls.fixme tex/latex/schule/schuleit.cls
--- tex/latex/schule/schuleit.cls.fixme 2020-05-11 11:47:47.675981001 -0400
+++ tex/latex/schule/schuleit.cls 2020-05-11 11:48:04.699694823 -0400
@@ -136,7 +136,7 @@ parskip=half]
\RequirePackage{schulealt}
\RequirePackage{mdframed}
-\RequirePackage{scrpage2}
+\RequirePackage{scrlayer-scrpage}
\RequirePackage{paralist}
\RequirePackage{xargs}
\RequirePackage{xparse}
diff -up tex/latex/schule/schulekl.cls.fixme tex/latex/schule/schulekl.cls
--- tex/latex/schule/schulekl.cls.fixme 2020-05-11 11:46:03.693728973 -0400
+++ tex/latex/schule/schulekl.cls 2020-05-11 11:46:48.188980998 -0400
@@ -124,7 +124,7 @@
\LoadClass{schullzk}
\RequirePackage{schullzk}
-\RequirePackage[headsepline]{scrpage2}
+\RequirePackage[headsepline]{scrlayer-scrpage}
\pagestyle{scrheadings}
\newboolean{@klassenarbeit}
\setboolean{@klassenarbeit}{false}
diff -up tex/latex/schule/schuleub.cls.fixme tex/latex/schule/schuleub.cls
--- tex/latex/schule/schuleub.cls.fixme 2020-05-11 11:46:59.156796622 -0400
+++ tex/latex/schule/schuleub.cls 2020-05-11 11:47:13.364557780 -0400
@@ -125,7 +125,7 @@
\LoadClass[parskip=half,headsepline,DIV14]{scrartcl}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
-\RequirePackage[headsepline]{scrpage2}
+\RequirePackage[headsepline]{scrlayer-scrpage}
\setkomafont{pagehead}{\normalfont}
\RequirePackage{calc}
\RequirePackage{hyperref}
diff -up tex/latex/schule/schullzk.cls.fixme tex/latex/schule/schullzk.cls
--- tex/latex/schule/schullzk.cls.fixme 2020-05-11 11:47:24.252374753 -0400
+++ tex/latex/schule/schullzk.cls 2020-05-11 11:47:39.157124209 -0400
@@ -127,7 +127,7 @@
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{schulealt}
-\RequirePackage[headsepline]{scrpage2}
+\RequirePackage[headsepline]{scrlayer-scrpage}
\RequirePackage{schullzk}
\pagestyle{scrheadings}
\def\datum#1{\gdef\@datum{#1}}
diff -up tex/latex/skdoc/skdoc.cls.fixme tex/latex/skdoc/skdoc.cls
--- tex/latex/skdoc/skdoc.cls.fixme 2020-05-11 11:30:27.805461603 -0400
+++ tex/latex/skdoc/skdoc.cls 2020-05-11 11:31:35.888317110 -0400
@@ -40,7 +40,8 @@
\RequirePackage[nomain,xindy,numberedsection,order=letter,
sanitizesort=false]{glossaries}
\RequirePackage{ydoc-code,ydoc-desc}
-\RequirePackage{scrpage2}
+\RequirePackage{scrlfile}
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
\AtEndOfClass{%
\RequirePackage[\skdoc@babel]{babel}
\RequirePackage[english=british]{csquotes}
diff -up tex/latex/sr-vorl/sr-vorl.cls.fixme tex/latex/sr-vorl/sr-vorl.cls
--- tex/latex/sr-vorl/sr-vorl.cls.fixme 2020-05-11 11:50:00.653745337 -0400
+++ tex/latex/sr-vorl/sr-vorl.cls 2020-05-11 11:50:19.241432794 -0400
@@ -121,7 +121,8 @@
\RequirePackage{babel}
\RequirePackage{geometry}
-\RequirePackage{scrpage2}
+\RequirePackage{scrlfile}
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
\RequirePackage{caption}
\RequirePackage{ragged2e}
\RequirePackage{enumitem}
diff -up tex/latex/svninfo/svninfo.sty.fixme tex/latex/svninfo/svninfo.sty
--- tex/latex/svninfo/svninfo.sty.fixme 2020-05-11 11:34:20.516549642 -0400
+++ tex/latex/svninfo/svninfo.sty 2020-05-11 11:34:50.985037457 -0400
@@ -144,7 +144,8 @@
\RequirePackage{fancyhdr}
\fi
\if@svnInfoUseScrpage@
- \RequirePackage{scrpage2}
+ \RequirePackage{scrlfile}
+ \ReplacePackage{scrpage2}{scrlayer-scrpage}
\fi
\if@svnInfoUseEsofoot@
\RequirePackage{eso-pic}

201743
texlive.spec

File diff suppressed because it is too large Load Diff

View File

@ -1,919 +0,0 @@
%global source_date 20150728_r37987
%global tl_version 2015
%global tl_rel 27
%global tl_release %{tl_rel}.%{source_date}%{?dist}
%global tl_noarch_release %{tl_rel}%{?dist}
%global source_name texlive-%{source_date}-source
%{!?_texdir: %global _texdir %{_datadir}/%{name}}
%{!?_texmf_var: %global _texmf_var %{_var}/lib/texmf}
%if 0%{?fedora} <= 19
# don't figure any perl dependencies
%global __perl_requires %{nil}
%else
# don't export private perl modules
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\\\(
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\\\((PDF::Reuse.*|Pedigree.*|TeXLive.*|Tk::path_tre)\\\\)
%endif
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
%global __arch_install_post %{nil}
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
Name: texlive
Version: %{tl_version}
Release: %{tl_release}
Epoch: 5
Summary: TeX formatting system
Group: Applications/Publishing
License: Artistic 2.0 and GPLv2 and GPLv2+ and LGPLv2+ and LPPL and MIT and Public Domain and UCD and Utopia
URL: http://tug.org/texlive/
BuildRequires: xz libXaw-devel libXi-devel ncurses-devel bison flex file perl(Digest::MD5) texinfo gcc-c++
BuildRequires: gd-devel teckit-devel freetype-devel libpng-devel t1lib-devel zlib-devel poppler-devel t1utils
BuildRequires: zziplib-devel libicu-devel cairo-devel harfbuzz-devel perl-generators pixman-devel graphite2-devel ghostscript-devel
BuildRequires: libpaper-devel potrace-devel autoconf automake libtool
BuildRequires: gmp-devel mpfr-devel
Requires: texlive-scheme-basic
Requires: texlive-collection-latexrecommended
Requires: tex-kpathsea, tex-tetex
Obsoletes: texlive < %{tl_version}, texlive-texmf < %{tl_version}
Obsoletes: texlive-afm < %{tl_version}
Obsoletes: texlive-doc < %{tl_version}
Obsoletes: texlive-east-asian < %{tl_version}
Obsoletes: texlive-texmf-afm < %{tl_version}, texlive-texmf-context < %{tl_version}
Obsoletes: texlive-texmf-doc < %{tl_version}, texlive-texmf-dvips < %{tl_version}
Obsoletes: texlive-texmf-east-asian < %{tl_version}, texlive-texmf-fonts < %{tl_version}
Obsoletes: texlive-texmf-latex < %{tl_version}, texlive-texmf-xetex < %{tl_version}
Obsoletes: texlive-texmf-errata < %{tl_version}
Obsoletes: texlive-texmf-errata-afm < %{tl_version}, texlive-texmf-errata-context < %{tl_version}
Obsoletes: texlive-texmf-errata-doc < %{tl_version}, texlive-texmf-errata-dvips < %{tl_version}
Obsoletes: texlive-texmf-errata-east-asian < %{tl_version}, texlive-texmf-errata-fonts < %{tl_version}
Obsoletes: texlive-texmf-errata-latex < %{tl_version}, texlive-texmf-errata-xetex < %{tl_version}
Conflicts: texlive-dvips = 2007
Patch1: tl-kpfix.patch
Patch2: tl-format.patch
Patch3: texlive-20150728-selinux-context.patch
Patch4: texlive-fix-system-teckit.patch
Patch100: texlive-bz979176.patch
Patch101: etex-addlanguage-fix-bz1215257.patch
Source0: %{source_name}.tar.xz
Source1: tl2rpm.c
Source2: texlive.tlpdb
Source3: texlive-licenses.tar.xz
Source4: tlpdb.patch
Source5: texlive-fedora-licenses.h
Source6: texlive.spec.template
Source7: co_source
Source8: co_archive
Source9: b_one_srpm
Source10: macros.texlive
%include _sources.spec
%description
The TeX Live software distribution offers a complete TeX system for a
variety of Unix, Macintosh, Windows and other platforms. It
encompasses programs for editing, typesetting, previewing and printing
of TeX documents in many different languages, and a large collection
of TeX macros and font libraries.
The distribution includes extensive general documentation about TeX,
as well as the documentation for the included software packages.
%package base
Summary: TeX Live filesystem, metadata and licenses shipped in text form
BuildArch: noarch
Version: %{tl_version}
Requires(pre): coreutils
%description base
TeX Live licenses shipped in text form.
%package lib
Summary: Shared libraries for TeX-related files
Provides: texlive-kpathsea-lib = %{epoch}:%{version}-%{release}
Provides: texlive-kpathsea-lib%{_isa} = %{epoch}:%{version}-%{release}
Obsoletes: texlive-kpathsea-lib < %{version}
%include _obsoletes.spec
%description lib
TeX specific shared libraries.
%package lib-devel
Summary: Development files for TeX specific shared libraries
Requires: %{name}-lib%{?_isa}
Provides: kpathsea-devel = %{epoch}:%{version}
Obsoletes: kpathsea-devel < %{version}
Provides: texlive-kpathsea-lib-devel = %{epoch}:%{version}-%{release}
Provides: texlive-kpathsea-lib-devel%{_isa} = %{epoch}:%{version}-%{release}
Obsoletes: texlive-kpathsea-lib-devel < %{version}
%description lib-devel
Development files for TeX specific shared libraries.
%include _packages.spec
%prep
%setup -q -c -T
xz -dc %{SOURCE0} | tar x
[ -e %{source_name} ] && mv %{source_name} source
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
# security fix for bz#979176
%patch100 -p0
for l in `unxz -c %{SOURCE3} | tar t`; do
ln -s %{_texdir}/licenses/$l $l
done
pushd source
./reautoconf
popd
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Werror=format-security"
export CXXFLAGS="$RPM_OPT_FLAGS -std=c++03 -fno-strict-aliasing -Werror=format-security"
cd source
PREF=`pwd`/inst
mkdir -p work
cd work
../configure \
--prefix=$PREF \
--datadir=$PREF \
--libdir=$PREF/lib \
--with-system-zlib \
--with-system-libpng \
--with-system-xpdf \
--with-system-gd \
--with-system-t1lib \
--with-system-teckit \
--with-system-freetype2 \
--with-system-poppler \
--with-system-zziplib \
--with-system-cairo \
--with-system-icu \
--with-system-harfbuzz \
--with-system-graphite2 \
--with-system-libgs \
--with-system-pixman \
--with-system-libpaper \
--with-system-potrace \
--with-pic \
--with-xdvi-x-toolkit=xaw \
--with-system-mpfr \
--with-system-gmp \
--disable-xindy --disable-xindy-docs --disable-xindy-make-rules \
--enable-shared \
--enable-compiler-warnings=max \
--without-cxx-runtime-hack \
--disable-native-texlive-build \
--disable-t1utils \
--disable-psutils \
--disable-biber \
--disable-ptexenc \
--disable-largefile \
%ifarch %{power64} s390 s390x aarch64
--disable-luajittex --disable-mfluajit \
%endif
--disable-rpath
# disable rpath
for i in `find . -name libtool`; do
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $i
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $i
done
make world %{?_smp_mflags} STRIPPROG=/bin/true STRIP=/bin/true
%install
rm -rf %{buildroot}
# create directory tree
mkdir -p %{buildroot}%{_texdir}/../texmf
mkdir -p %{buildroot}%{_texdir}/texmf-config/web2c
mkdir -p %{buildroot}%{_texmf_var}
mkdir -p %{buildroot}%{_texdir}/texmf-dist
mkdir -p %{buildroot}%{_texdir}/texmf-local
pushd %{buildroot}%{_texdir}/texmf-local
ln -s ../../texmf texmf-compat
popd
%include _mkdirs.spec
%include _unpack.spec
# nuke useless tlmgr packaging stuff and doc droppings
rm -rf %{buildroot}%{_texdir}/tlpkg/tlpobj/
rm -rf %{buildroot}%{_texdir}/texmf-dist/tlpkg/tlpobj/
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/man*/*.pdf
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/Makefile
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/man*/Makefile
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/info/dir
mkdir -p %{buildroot}%{_bindir}
mv %{buildroot}/bin/i386-linux/* %{buildroot}%{_bindir}
for i in `find %{buildroot}%{_bindir} -type f`; do
[ "`file $i | grep ELF | wc -l`" == "1" ] && rm -f $i
done
rm -rf %{buildroot}/tlpkg
# install texlive.tlpdb
cp %{SOURCE2} %{buildroot}%{_texdir}
# install licenses
mkdir -p %{buildroot}%{_texdir}/licenses
pushd %{buildroot}%{_texdir}/licenses
xz -dc %{SOURCE3} | tar x
popd
# install binaries
rm -rf %{buildroot}%{_texdir}/bin/
mkdir -p %{buildroot}%{_bindir}
rm -f source/inst/bin/man
pushd source/inst/bin/
for i in *; do
if [ -x %{buildroot}%{_bindir}/$i ]; then
if [ -h $i ]; then
[ ! -h %{buildroot}%{_bindir}/$i ] && continue;
fi
fi
mv $i %{buildroot}%{_bindir}
done
popd
# install shared libs, nuke static ones
rm -rf %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_libdir}
cp -d source/inst/lib/*.so* %{buildroot}%{_libdir}
cp -a source/inst/lib/pkgconfig %{buildroot}%{_libdir}
rm -f %{buildroot}%{_libdir}/*.a
rm -f %{buildroot}%{_libdir}/*.la
# install includes
rm -rf %{buildroot}%{_includedir}
mkdir -p %{buildroot}%{_includedir}
cp -r source/inst/include/* %{buildroot}%{_includedir}
# relocate binaries to %%{_bindir} and fix relative symlinks
pushd %{buildroot}%{_bindir}
for i in `find . -type l`; do
if [ "`readlink $i | grep '\.\.' | wc -l`" == "1" ]; then
l=`readlink $i | sed s,.*texmf,/usr/share/texlive/texmf,`
rm -f $i
ln -s $l $i
fi
done
popd
# sync built/distro binaries
pushd %{buildroot}%{_bindir}
rm -f man
[ ! -e mfplain ] && ln -s mpost mfplain
[ ! -e texlua ] && ln -s luatex texlua
[ ! -e texluac ] && ln -s luatex texluac
# remove binaries we don't ship
for i in physe phyzzx installfont-tl pdfthumb ppower4 tcdialog latexmk texdiff songidx inimflua inimfluajit mflua mflua-nowin mfluajit mfluajit-nowin \
paperconf; do
rm -f $i
rm -f %{buildroot}%{_datadir}/texlive/texmf-dist/doc/man/man1/$i.*
done
rm -rf %{buildroot}%{_includedir}/ptexenc
popd
# fix symlinks
pushd %{buildroot}%{_bindir}
for i in allcm allneeded fontinst kpsetool updmap-sys ps2frag pslatex rubibtex rumakeindex dvi2fax dvired kpsewhere; do
rm -f $i
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/$i.sh $i
done
for i in updmap e2pall; do
rm -f $i
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/$i.pl $i
done
for i in fmtutil-sys texconfig texconfig-sys texconfig-dialog texlinks; do
rm -f $i
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/$i.sh $i
done
rm -f fmtutil
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/fmtutil.pl fmtutil
rm -f texmfstart
ln -s /usr/share/texlive/texmf-dist/scripts/context/ruby/texmfstart.rb texmfstart
rm -f texdoctk
ln -s /usr/share/texlive/texmf-dist/scripts/texdoctk/texdoctk.pl texdoctk
rm -f deweb
ln -s /usr/share/texlive/texmf-dist/scripts/chktex/deweb.pl deweb
rm -f ps2eps
ln -s /usr/share/texlive/texmf-dist/scripts/ps2eps/ps2eps.pl ps2eps
rm -f mkjobtexmf
ln -s /usr/share/texlive/texmf-dist/scripts/mkjobtexmf/mkjobtexmf.pl mkjobtexmf
rm -f rungs
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/rungs.tlu rungs
rm -f context
cat > context << EOF
\#!/bin/sh
export TEXMF=/usr/share/texlive/texmf-dist;
export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c;
export TEXMFCACHE=/var/lib/texmf;
%{_bindir}/mtxrun --script context "\\$@"
EOF
chmod 0755 context
popd
# remove all unshipped stuff
%include _remove.spec
mkdir -p %{buildroot}/%{_datadir}/
mkdir -p %{buildroot}/%{_infodir}/
cp -R %{buildroot}/%{_texdir}/texmf-dist/doc/man %{buildroot}/%{_datadir}/
find %{buildroot}/%{_texdir}/texmf-dist/doc/man -type f | xargs rm -f
mv %{buildroot}/%{_texdir}/texmf-dist/doc/info/* %{buildroot}/%{_infodir}/
# nuke useless tlmgr packaging stuff
rm -rf %{buildroot}%{_texdir}/tlpkg/tlpobj/
rm -rf %{buildroot}%{_texdir}/texmf-dist/tlpkg/tlpobj/
# link config dir to the main tree and var dir to root
pushd %{buildroot}%{_texdir}
[ ! -h texmf-var ] && ln -s %{_texmf_var} texmf-var
popd
pushd %{buildroot}%{_texdir}/texmf-config/web2c
ln -s ../../texmf-dist/web2c/updmap.cfg updmap.cfg
popd
# touch ghosts
touch %{buildroot}%{_texdir}/texmf-local/ls-R
touch %{buildroot}%{_texdir}/texmf-dist/ls-R
# configure ConTeXt
#for i in ctxtools luatools texexec texmfstart; do
# sed -i -e 's|mtxrun|export TEXMF=/usr/share/texlive/texmf-dist; export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c; export TEXMFCACHE=/var/lib/texmf; mtxrun|' %{buildroot}%{_bindir}/$i
#done
# configure texmf-local - make it visible to kpathsea
sed -i -e 's|^TEXMFLOCAL.*|TEXMFLOCAL\ =\ \$TEXMFROOT/texmf-local//|' %{buildroot}/%{_texdir}/texmf-dist/web2c/texmf.cnf
# create macro file for building texlive
mkdir -p %{buildroot}%{macrosdir}
cp -a %{SOURCE9} %{buildroot}%{macrosdir}/macros.texlive
%clean
rm -rf %{buildroot}
%pre base
rm -rf %{_texdir}/texmf-var
rm -rf %{_texmf_var}/*
:
%posttrans base
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
[ -x /sbin/restorecon ] && /sbin/restorecon -R %{_texmf_var}/
fi
:
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
%files
%defattr(-,root,root)
%files base
%defattr(-,root,root)
%dir %{_texmf_var}
%{_texdir}/texmf-var
%dir %{_texdir}/../texmf
%dir %{_texdir}/licenses
%dir %{_texdir}/texmf-local
%{_texdir}/texmf-local/texmf-compat
%include _dirs.spec
%{_texdir}/licenses/*
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-dist/ls-R
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-local/ls-R
%{_texdir}/texlive.tlpdb
%{macrosdir}/macros.texlive
%include _files.spec
%files lib
%defattr(-,root,root)
%{_libdir}/*.so.*
%dir %{_texdir}/texmf-config
%dir %{_texdir}/texmf-config/web2c
%{_texdir}/texmf-config/web2c/updmap.cfg
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-config/ls-R
%files lib-devel
%defattr(-,root,root)
%dir %{_includedir}/kpathsea
%{_includedir}/kpathsea/*
%{_includedir}/synctex/
%{_includedir}/texlua52/
%{_includedir}/texluajit/
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%changelog
* Mon Jul 18 2016 Marek Kasik <mkasik@redhat.com> - 5:2015-27.20150728_r37987
- Rebuild for poppler-0.45.0
* Tue May 3 2016 Marek Kasik <mkasik@redhat.com> - 5:2015-26.20150728_r37987
- Rebuild for poppler-0.43.0
* Fri Apr 15 2016 David Tardon <dtardon@redhat.com> - 5:2015-25.20150728_r37987
- rebuild for ICU 57.1
* Mon Nov 16 2015 Than Ngo <than@redhat.com> - 5:2015-14.20150728_r37987
- fix build failure on secondary arch
* Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 5:2015-13.20150728_r37987
- rebuild for ICU 56.1
* Thu Oct 08 2015 Than Ngo <than@redhat.com> - 5:2015-12.20150724
- fix build failure on s390*
- fix to use system gmp and system mpfr
* Wed Oct 7 2015 Peter Robinson <pbrobinson@fedoraproject.org> 5:2015-11.20150724
- Fix lua builds on secondary arches again
* Thu Oct 1 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-10.20150724
- fix rpm macros so that the right file is copied
* Mon Sep 28 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-9.20150724
- add Requires: tex(titlesec.sty) to savetrees (bz1266801)
* Fri Sep 25 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-8.20150724
- add Provides: tex-beamer-FUBerlin and texlive-beamer-FUBerlin to the beamer-FUBerlin-doc package
... the upstream beamer-FUBerlin tarball is empty of useful content.
* Wed Sep 16 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-7.20150724
- fix newline issue in pgf (bz1241458)
- do not require: ghostscript-devel for texlive-pdfcrop-bin (bz1229407)
- do not provide: tex(ifluatex.sty) in texlive-oberdiek (bz1146684)
... but do require: tex(ifluatex.sty) in texlive-oberdiek to ensure complete bundle
- add Requires: texlive-metafont-bin to texlive-kpathsea-bin (bz1123096)
- add Provides/Obsoletes texlive-tlwg to texlive-fonts-tlwg (bz1100984)
- add Requires: texlive-greek-fontenc and Requires: texlive-cbfonts-fd to textgreek (bz1064051)
- apply patch from Edgar Hoch to fix etex.src to permit \addlanguage to have empty params 4 & 5 (bz1215257)
- replace visible references to oriya to odia, add odia as equiv lang to oriya (bz1040337)
- use macros.texlive file as source10, add and cleanup macros (bz1054317)
- add Requires: biber to texlive-biblatex-apa (bz1048193)
- new subpackage sync
- add scriptlets for -doc subpackages so that texdoc just works
- removed yfonts-t1 subpackage due to non-free license
- fix license tags (no more Freely distributable...)
- add Requires: tex(ltxkeys.sty) to xwatermark (bz1197494)
- add Requires: tex(ifnextok.sty) to titlecaps (bz1186688)
- add Requires: tex(xetex.def) to xetex (bz1155267)
- add Requires: texlive-texconfig-bin to latex-bin-bin (bz995752)
- add Provides/Obsoletes bibexport to texlive-bibexport
add bibexport.sh symlink in /usr/bin (bz979448)
- drop incorrect versioning on Requires: texlive-metafont-bin for texlive-kpathsea-bin
* Tue Sep 15 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-6.20150724
- increment epoch to force upgrade (i hate versioning)
* Wed Sep 9 2015 Tom Callaway <spot@fedoraproject.org> - 4:2015-5.20150724
- fix incorrect Obsoletes: texlive-kpathsea-lib
* Wed Aug 26 2015 Than Ngo <than@redhat.com> - 4:2015-4.20150724
- disable luajittex on secondary arch
* Thu Aug 20 2015 Than Ngo <than@redhat.com> - 4:2015-3.20150724
- rebuilt to fix some broken dependencies
* Wed Aug 5 2015 Tom Callaway <spot@fedoraproject.org> 4:2015-2.20150724
- fix fmtutil.pl symlink, for you know, working fmtutil
* Fri Jul 24 2015 Tom Callaway <spot@fedoraproject.org> 4:2015-1.20150724
- Update to TL2015
* Wed Jul 22 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-12.20140525_r34255
- Rebuild (poppler-0.34.0)
* Wed Jun 10 2015 Than Ngo <than@redhat.com> - 4:2014-11.20140525_r34255
- fix wrong selinux context
* Mon Jun 8 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-10.20140525_r34255
- Rebuild (poppler-0.33.0)
* Fri Jun 5 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-9.20140525_r34255
- Rebuild (poppler-0.33.0)
* Wed Apr 29 2015 Than Ngo <than@redhat.com> - 4:2014-8.20140525_r34255
- Resolves: bz#1181169, insecure use of /tmp in mktexlsr
* Wed Mar 4 2015 Ville Skyttä <ville.skytta@iki.fi> - 4:2014-7.20140525_r34255
- Install rpm macros in %%{_rpmconfidir}/macros.d where available (#1074287)
* Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 4:2014-6.20140525_r34255
- rebuild for ICU 54.1
* Fri Jan 23 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-5.20140525_r34255
- Rebuild (poppler-0.30.0)
* Sat Dec 27 2014 Kevin Fenzi <kevin@scrye.com> - 4:2014-4.20140525_r34255
* Drop scriptlet that touches /home. Fixes bugs: #1128240 #1047361 #1073518 #1054338
* Thu Nov 27 2014 Marek Kasik <mkasik@redhat.com> - 4:2014-3.20140525_r34255
- Rebuild (poppler-0.28.1)
* Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 4:2014-2.20140525_r34255
- rebuild for ICU 53.1
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4:2014-1.20140525_r34255.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Tue Jul 22 2014 Jindrich Novy <novyjindrich@gmail.com> - 2014-1-20140525
- Tex Live 2014 is out
- fix package dependencies to make update path smoother
* Sun Jun 8 2014 Jindrich Novy <novyjindrich@gmail.com> - 2014-0.1-20140525
- update to TeX Live 2014 release candidate
- conflict with ht package (#959696)
* Thu May 15 2014 Petr Pisar <ppisar@redhat.com> - 2013-12-20140512
- Do not export private perl modules (bug #1085424)
- Build-require libXi-devel for xdvik
* Wed May 14 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-11-20140512
- remove explicit ghostscript-devel dependency in dvisvgm (#1087847)
- pdftex now depends on pdftex-def (#1096535)
* Tue May 13 2014 Marek Kasik <mkasik@redhat.com> - 2013-10-20140411
- Rebuild (poppler-0.26.0)
* Fri Apr 11 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-9-20140411
- sync with upstream
* Fri Mar 21 2014 Dan Horák <dan[at]danny.cz> - 2013-8-20140305
- do not attempt to built luajittex (#1070380)
* Tue Feb 25 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-7-20140224
- sync with upstream
- fix fmt files removal
* Sat Feb 22 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-6-20140217
- sync with upstream
- remove only generated fmt files upon update
* Fri Feb 14 2014 David Tardon <dtardon@redhat.com> - 2013-5-20131226
- rebuild for new ICU
* Thu Dec 26 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-4-20131226
- sync with upstream + add BR: libpaper-devel, potrace-devel
- remove generated files upon update to avoid 'I'm stymified', etc.
- update co_source - upstream SVN checkout script
- disable Perl dependencies generation for F19 and older (#1023876)
- always have format in printf() #1037351
- fixes #921805, #952080, #1020941, #1025679, #1045794
- Merry Christmas!
* Fri Oct 25 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-3-20131021
- improve obsoletion automatism (#1022291, #1022746)
* Tue Oct 15 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-2-20131019
- fix symlinks and dependency generation
* Tue Oct 15 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-1-20131014
- sync with upstream
- fix bin->noarch package dependencies
* Fri Oct 11 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-0.6.1-20131010
- sync with upstream - fixes metapost, siunitx, latexdiff, luatex
(#1016074, #1013367, #981390, #975254, #976863)
- modify post scripts (#968573)
- fix kpathsea patch
- fix euler fonts installation (#982887)
- fix license tag OFSFLD -> OFL (#1014052)
- process perl dependencies (#1001434)
- don't ship flash files (#1000265)
- rebuild should fix rawhide poppler deps (#998696)
- fixes build of dbus-java (#993438)
- texexec no more complains about switch.rb (#993255)
- bin packages now require their counterparts (#991699, #988978, #984468)
- bibtex works fine now with spanish (#987534)
- do proper obsoletion - include epoch (#983433)
- fix build time tests
* Wed Jun 12 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-0.1-20130608
- formally switch to 2013 based on upstream
- call updmap-sys and fmtutil-sys for map and format updates
- bump epoch to be sure all noarch packages get updated
* Tue Jun 11 2013 Jon Ciesla <limburgher@gmail.com> - 2012-25-20130531
- Rebuild for new gd.
* Sun Jun 2 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-24-20130531
- fix luatex breakage (#959625)
- fix updmap-sys calls (#968573, #968573)
- fix broken dependencies for packages only shiping binaries/symlinks and nothing else
- fix update path - obsolete dvipdfm (#968358)
- pdfcrop now requires ghostscript (#964183)
* Mon May 6 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-23-20130506
- don't conflict with ht package - ht binary is now called t4ht (#959696)
- require coreutils (#928566)
- update build scripts
- update symlink references tetex -> texlive
- handle texmf -> texmf-dist upstream move
- do proper obsoletion again
* Mon Apr 29 2013 Tom Callaway <spot@fedoraproject.org> - 2012-22-20130427
- obsolete/provide ctan-musixtex-fonts and tex-musixtex
* Sat Apr 27 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-21-20130427
- add missing shebang to context script
- mark language.dat as config file (#929367)
- add scripts for checking out sources and CTAN archives
* Wed Mar 27 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-20-20130321
- bring chkweb back to life
- fix context script (#924918)
- prefer scripts installed from sources than from CTAN
- BR: ghostscript-devel because of dvisvgm (#924662)
* Tue Mar 19 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-19-20130318
- fix wrapper for context, remove chkweb man page (#910952)
* Mon Mar 11 2013 Ralf Corsépius <corsepiu@fedoraproject.org> - 2012-18-20130310
- Remove %%config from %%{_sysconfdir}/rpm/macros.*
(https://fedorahosted.org/fpc/ticket/259).
* Fri Mar 8 2013 Jindrich Novy <jnovy@redhat.com> 2012-17-20130310
- run updmap-sys --syncwithtrees posttrans (#915086)
- don't conflict with other packages (#913678)
- obsolete tex-cm-lgc (#907728)
- obsolete tex-kerkis (#907726)
- fix clashes with xmltex (#877690)
- use fedora latexmk instead of texlive latexmk (#914689)
- fix broken symlinks in /usr/bin (#910952)
- fmtutil doesn't print jadetex errors any more (#875266)
- fix post scriptlets
* Tue Feb 5 2013 Jindrich Novy <jnovy@redhat.com> 2012-16-20130205
- fix symlinks pointing to system utilities (#907643)
- add BR: texinfo because of makeinfo
* Mon Jan 28 2013 Jindrich Novy <jnovy@redhat.com> 2012-15-20130131
- enlarge tex(latex) dependency set, introduce tex(latex-base) (#904147)
- fix post-scriptlets (#875257)
- ship macros.texlive (#885762)
- depend directly on texlive-kpathsea-lib
- disable rpath
* Fri Jan 18 2013 Marek Kasik <mkasik@redhat.com> 2012-14-20130102
- Rebuild (poppler-0.22.0)
* Fri Jan 11 2013 Jindrich Novy <jnovy@redhat.com> 2012-13-20130102
- make dvips require latex-fonts (#879661)
* Mon Jan 7 2013 Jindrich Novy <jnovy@redhat.com> 2012-12-20130102
- fix dependencies and upgrade path (#892054, #891709)
- do not ship windows and other unneeded files
* Wed Jan 2 2013 Jindrich Novy <jnovy@redhat.com> 2012-11-20130102
- sync with CTAN
- added new buildrequires
- don't use texlive's psutils
- don't obsolete latexmk (#868996)
* Thu Dec 6 2012 Jindrich Novy <jnovy@redhat.com> 2012-10-20121205
- sync with CTAN
- compile also C++ sources with -fno-strict-aliasing
- ship adhocfilelist
- fix changelog dates
* Tue Nov 20 2012 Jindrich Novy <jnovy@redhat.com> 2012-9-20121120
- obsolete metapost-metauml (#573863)
- update BR perl-MD5 to perl(Digest::MD5) - required for updmap
- remove redundant posttrans executions in texlive-base (#865650)
- own ls-R in texmf-local directory
* Wed Nov 14 2012 Jindrich Novy <jnovy@redhat.com> 2012-8-20121115
- prevent sed from being verbose in install log when uninstalling
- be sure the old /usr/share/texmf tree is indexed and searched by
kpathsea (#876710)
- drop patch to fix build for dvisvgm, it is now applied upstream
- fix dependencies in texlive and texlive-base subpackages (#875364)
* Sat Nov 10 2012 Jindrich Novy <jnovy@redhat.com> 2012-7-20121107
- run mtxrun only once per transaction (#865650), this considerably
speeds up installation time
* Wed Nov 7 2012 Jindrich Novy <jnovy@redhat.com> 2012-6-20121107
- use -std=c++11 for all C++ apps in texlive to avoid symbol problems
(thanks to Jakub Jelinek)
* Sun Nov 4 2012 Jindrich Novy <jnovy@redhat.com> 2012-5-20121024
- don't conflict with latexmk (#868996)
- unify versioning for both binary and noarch subpackages
- remove lcdf-typetools hack for s390(x)
* Wed Oct 24 2012 Jindrich Novy <jnovy@redhat.com> 2012-3-20121024
- sync with upstream - fixes problem lcdf-typetools tests
- disable largefile support to fix pdflatex on 32bit arches (#872231)
- put compatibility TEXMF tree reference into texm-local instead
symlinking it to /usr/share/texmf directly
* Fri Oct 19 2012 Jindrich Novy <jnovy@redhat.com> 2012-3-20121019
- sync with upstream sources
- make /usr/share/texmf visible to kpathsea, make texmf-local
pointing to it (#867656, #864875)
- fix versioning of binary packages
* Tue Oct 9 2012 Jindrich Novy <jnovy@redhat.com> 2012-3-20120926
- obsolete chktex (#864211)
- make config.ps a config file (#441171)
- fix post/postun scriptlet dependencies
- all subpackages now have %%dist tag
* Sat Oct 6 2012 Jindrich Novy <jnovy@redhat.com> 2012-2-20120926
- drop relase subpackage (no more needed as TL is now in Fedora)
- fix -doc dependencies
- remove (not-built) asymtote from source tarball
- undefined catalogue version defaults to 0
- perform automatic license audit
- include also packages not part of any scheme
- don't strip binaries so that we can generate debuginfo (#863635)
- clean up depsolver
* Wed Oct 3 2012 Jindrich Novy <jnovy@redhat.com> 2012-1-20120926
- introduce TeX Live 2012 to Fedora (#488651)
- fixes: #619481, #759534, #814880, #819157
* Thu Jun 14 2012 Jindrich Novy <jnovy@redhat.com> 2012-1-20120613
- update to 2012 final
- obsolete system latexmk
- include dvisvgm back
* Mon Apr 9 2012 Jindrich Novy <jnovy@redhat.com> 2012-0.1.20120408
- temporarily disable dvisvgm due to gcc-4.7 compilation problems
* Tue Jul 26 2011 Jindrich Novy <jnovy@redhat.com> 2011-1.20110726
- update to the official TeX Live 2011 release
* Sun Mar 13 2011 Jindrich Novy <jnovy@redhat.com> 2011-0.2.20110313
- bump version to fix koma-skript versioning problem
* Mon Feb 28 2011 Jindrich Novy <jnovy@redhat.com> 2011-0.1.20110227
- fix upgrade path with old TL2007 xetex, context or dvips installed
- fix package generation bug that caused some package might be missing
from the repository
(http://www.linux.cz/pipermail/texlive/2011-February/000086.html)
- fix upstream source URLs
* Tue Jan 25 2011 Jindrich Novy <jnovy@redhat.com> 2011-0.1.20110120
- bump release to 2011 (we are using the 2011/dev SVN version)
- add more file virtual provides (TFM, TTF, TTC, PFA, PFB, PCF, OTF,
TEX, CNF, CFG, DEF, DAT, LDF, FD, ENC, MAP, VF, VPL, CLO, BUG, BUG2)
* Thu Dec 23 2010 Jindrich Novy <jnovy@redhat.com> 2010-14.20110105
- sync with upstream
- install texlive.tlpdb for autodep finder
* Wed Dec 15 2010 Jindrich Novy <jnovy@redhat.com> 2010-13.20101215
- sync with upstream as of 15th Dec
- fix dangling symlink (thanks to Michel Alexandre Salim)
* Fri Nov 12 2010 Jindrich Novy <jnovy@redhat.com> 2010-13.20101112
- temporarily disable dvi2tty because of failing test suite
- package /etc/texmf and point texmf-config there
* Fri Nov 5 2010 Jindrich Novy <jnovy@redhat.com> 2010-13.20101102
- make release package part of the main build
* Mon Oct 18 2010 Jindrich Novy <jnovy@redhat.com> 2010-12.20101016
- texlive-jadetex-bin obsoletes jadetex
* Fri Oct 8 2010 Jindrich Novy <jnovy@redhat.com> 2010-12.20101007
- fix symlinks in /usr/bin so that they are not pointing to wrong location
* Thu Oct 7 2010 Jindrich Novy <jnovy@redhat.com> 2010-11.20101007
- sync with the latest TL2010 sources
- don't make redundant copies of binaries, symlink them
- fix symlinks to perl utilities
* Wed Aug 25 2010 Jindrich Novy <jnovy@redhat.com> 2010-10.20100814
- add obsolete of dvisvgm to allow smooth updates
* Mon Aug 23 2010 Jindrich Novy <jnovy@redhat.com> 2010-9.20100814
- fix file attributes and rpmlint warnings
- define libdir when calling configure
- rebuild against new poppler
* Thu Jul 15 2010 Jindrich Novy <jnovy@redhat.com> 2010-8.20100715
- move all the licenses and base directory hierarchy to texlive-base
noarch subpackage
- add automatic licensing code
* Fri Jun 4 2010 Jindrich Novy <jnovy@redhat.com> 2010-7.20100604
- sync with upstream (introducing mptopdf)
- compile C source with -fno-strict-aliasing
* Mon May 31 2010 Jindrich Novy <jnovy@redhat.com> 2010-7.20100531
- switch to "tlpretest" source tree
- add lua and ruby dependencies to packages requiring them
- generate global package database "texlive.tlpdb" directly from
tlpobj files shipped with each package
* Wed May 19 2010 Jindrich Novy <jnovy@redhat.com> 2010-6.20100521
- disable chktex so that build passes
- fix dist tags in releases in binary packages
* Fri Apr 30 2010 Jindrich Novy <jnovy@redhat.com> 2010-5.20100430
- add dependencies resolution among biblatex files
- another %%postun scriptlets fix
* Wed Apr 21 2010 Jindrich Novy <jnovy@redhat.com> 2010-4.20100421
- add Requires(posttrans) to the main package
* Mon Apr 19 2010 Jindrich Novy <jnovy@redhat.com> 2010-3.20100419
- bump version of binaries because of the kpathsea soname increase
* Fri Apr 16 2010 Jindrich Novy <jnovy@redhat.com> 2010-0.1.20100416
- sync with upstream, remove ptex stuff for now
* Fri Apr 09 2010 Jindrich Novy <jnovy@redhat.com> 2010-0.1.20100329
- use 2010 prefix
- do not ship/build asymptote (#548761)
* Fri Mar 26 2010 Jindrich Novy <jnovy@redhat.com> 2009-3.20100326
- declare fmutil.cnf, updmap.cfg, context.cnf and texmf.cnf as config files
so that they don't get overwritten with texlive-kpathsea update
- move man and info pages to the main packages, not -doc
* Fri Feb 19 2010 Jindrich Novy <jnovy@redhat.com> 2009-3.20100219
- blacklist a4wide.sty because of bad (noinfo) license
* Tue Nov 10 2009 Jindrich Novy <jnovy@redhat.com> 2009-2
- install man and info pages into proper locations visible
by man and info
- update scriptlets
- remove xindy bits
* Mon Nov 09 2009 Jindrich Novy <jnovy@redhat.com> 2009-1
- update to oficcially released TeX Live 2009
- enable large file support
* Sun Nov 01 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.13
- remove postun scriptlet to avoid accidential removal of texmf bits
when not removing the package
* Fri Oct 23 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.12
- tighten kpathsea devel dependency
* Tue Oct 20 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.11
- fix generation of packages that ships only documentation
- fix versioning of packages without version but with revision
- fix heuristics for gathering .sty files dependencies
- include packages under GFSL license
- make files in old texmf tree from previous installs visible
- do not obsolete old kpathsea, try to coexist
- remove dvipdfm, dvipdfmx,depend of Fedora ones
* Sun Oct 18 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.10
- TL2007 compatibility fixes:
- create /usr/share/texmf symlink
- clean all in post scriptlets
* Fri Oct 02 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.9
- fix kpathsea Provides/Obsoletes
* Tue Sep 29 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.8
- sync with latest upstream
* Sat Sep 12 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.7
- make kpathsea independent on the main texlive package
* Thu Sep 10 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.6
- remove packages under GFSL non-free license (tex-gyre)
* Thu Sep 3 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.5
- fix dependencies to hyphenation packages
- fix provides/obsoletes
* Mon Aug 31 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.4
- require recommended LaTeX bits, the installation of pure
scheme-basic is too minimalistic
* Tue Aug 25 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.3
- require system psutils and t1utils and don't build the TL ones
- correctly obsolete old kpathsea
- binaries now have -bin postfix
- support for Fedora fonts
* Thu Aug 20 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.2
- add tetex-* virtual provides
- fix unversioned requires
- filter out unwanted libs and utilities from source
* Wed Aug 12 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.1
- update to TeX Live 2009 - pretest
* Mon Jun 29 2009 Jindrich Novy <jnovy@redhat.com> 2008-0.2
- update to today's svn sources of binaries from upstream
- fix directory -> symlink conversion
- add ly1 (#488651)
* Thu Aug 14 2008 Jindrich Novy <jnovy@redhat.com> 2008-0.1
- initial packaging for TeX Live 2008
- wrote tl2rpm.c to autogenerate packages and post scriptlets
from TeX Live metadata
- fix kpathsea default search path

View File

@ -1,8 +1,8 @@
diff -up source/texk/dvi2tty/dvi2tty-5.3.4/DVI.format source/texk/dvi2tty/dvi2tty-5.3.4/DVI
diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
--- source/texk/dvidvi/dvidvi.c.format 2015-07-28 21:21:51.170212574 -0400
+++ source/texk/dvidvi/dvidvi.c 2015-07-28 21:22:27.842988620 -0400
@@ -327,7 +327,7 @@ static void stringdvibuf(integer p, inte
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) {
@ -11,7 +11,7 @@ diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
(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");
@@ -806,7 +806,7 @@ default:
@@ -828,7 +828,7 @@ default:
} /* else argument with '-' */
} /* for */
if (*iname == 0) {
@ -20,7 +20,7 @@ diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
error("! no input file specified");
}
/* Inserted by djc@dsmail.hmi.de 3.8.1994 */
@@ -817,7 +817,7 @@ default:
@@ -839,7 +839,7 @@ default:
}
if (*oname != 0 && !quiet) {
@ -29,118 +29,9 @@ diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
(void)fprintf(stderr, "%s -> %s\n",iname,oname);
temp = nextstring ;
}
diff -up source/texk/ps2pk/objects.h.format source/texk/ps2pk/objects.h
--- source/texk/ps2pk/objects.h.format 2015-07-28 21:24:03.356405337 -0400
+++ source/texk/ps2pk/objects.h 2015-07-28 21:24:21.397295166 -0400
@@ -231,7 +231,7 @@ struct xobject {
/*SHARED*/
/* NDW: personally, I want to see status and error messages! */
#define IfTrace0(condition,model) \
- {if (condition) printf(model);}
+ {if (condition) printf("%s",model);}
#define IfTrace1(condition,model,arg0) \
{if (condition) printf(model,arg0);}
#define IfTrace2(condition,model,arg0,arg1) \
diff -up source/texk/web2c/cwebboot.cin.format source/texk/web2c/cwebboot.cin
--- source/texk/web2c/cwebboot.cin.format 2015-07-28 21:24:28.351252699 -0400
+++ source/texk/web2c/cwebboot.cin 2015-07-28 21:24:48.779127949 -0400
@@ -1098,7 +1098,7 @@ void
fatal(const char*s,const char*t)
#line 1182 "cwebdir/common.w"
{
-if(*s)printf(s);
+if(*s)printf("%s",s);
err_print(t);
history= fatal_message;exit(wrap_up());
}
diff -up source/texk/web2c/cwebdir/common.c.format source/texk/web2c/cwebdir/common.c
--- source/texk/web2c/cwebdir/common.c.format 2015-07-28 21:24:56.764079186 -0400
+++ source/texk/web2c/cwebdir/common.c 2015-07-28 21:25:24.830907788 -0400
@@ -1063,7 +1063,7 @@ void
fatal(s,t)
char*s,*t;
{
-if(*s)printf(s);
+if(*s)printf("%s",s);
err_print(t);
history= fatal_message;exit(wrap_up());
}
diff -up source/texk/web2c/cwebdir/common.w.format source/texk/web2c/cwebdir/common.w
--- source/texk/web2c/cwebdir/common.w.format 2015-07-28 21:25:32.886858591 -0400
+++ source/texk/web2c/cwebdir/common.w 2015-07-28 21:25:46.117777793 -0400
@@ -1180,7 +1180,7 @@ concatenated to print the final error me
fatal(s,t)
char *s,*t;
{
- if (*s) printf(s);
+ if (*s) printf("%s",s);
err_print(t);
history=fatal_message; exit(wrap_up());
}
diff -up source/texk/web2c/cwebdir/cweave.w.format source/texk/web2c/cwebdir/cweave.w
--- source/texk/web2c/cwebdir/cweave.w.format 2015-07-28 21:25:55.096722960 -0400
+++ source/texk/web2c/cwebdir/cweave.w 2015-07-28 21:26:13.680609471 -0400
@@ -1784,7 +1784,7 @@ void
print_cat(c) /* symbolic printout of a category */
eight_bits c;
{
- printf(cat_name[c]);
+ printf("%s",cat_name[c]);
}
@ The token lists for translated \TEX/ output contain some special control
diff -up source/texk/web2c/omegafonts/error_routines.c.format source/texk/web2c/omegafonts/error_routines.c
--- source/texk/web2c/omegafonts/error_routines.c.format 2015-07-28 21:26:21.654560776 -0400
+++ source/texk/web2c/omegafonts/error_routines.c 2015-07-28 21:27:54.356994659 -0400
@@ -62,7 +62,7 @@ void
yyerror(const_string fmt)
{
fprintf(stderr, "line %d (parsing): ", line_number);
- fprintf(stderr, fmt);
+ fprintf(stderr, "%s", fmt);
fprintf(stderr, "\n");
num_errors++;
}
@@ -72,7 +72,7 @@ void
warning_0(const_string fmt)
{
fprintf(stderr, "line %d (warning): ", line_number);
- fprintf(stderr, fmt);
+ fprintf(stderr, "%s", fmt);
fprintf(stderr, "\n");
}
@@ -120,7 +120,7 @@ void
fatal_error_0(const_string fmt)
{
fprintf(stderr, "line %d (fatal): ", line_number);
- fprintf(stderr, fmt);
+ fprintf(stderr, "%s", fmt);
fprintf(stderr, "\n");
exit(1);
}
@@ -156,7 +156,7 @@ void
internal_error_0(const_string fmt)
{
fprintf(stderr, "line %d (internal): ", line_number);
- fprintf(stderr, fmt);
+ fprintf(stderr, "%s", fmt);
fprintf(stderr, "\n");
exit(2);
}
diff -up source/texk/web2c/omegafonts/out_routines.c.format source/texk/web2c/omegafonts/out_routines.c
--- source/texk/web2c/omegafonts/out_routines.c.format 2015-07-28 21:28:09.547901891 -0400
+++ source/texk/web2c/omegafonts/out_routines.c 2015-07-28 21:28:22.209824567 -0400
@@ -368,5 +368,5 @@ out_digits(unsigned counter)
void
out(const_string sval)
{
- fprintf(file_output, sval);
+ fprintf(file_output, "%s", sval);
}
diff -up source/texk/web2c/tiedir/tie.c.format source/texk/web2c/tiedir/tie.c
--- source/texk/web2c/tiedir/tie.c.format 2015-07-28 21:28:30.242775511 -0400
+++ source/texk/web2c/tiedir/tie.c 2015-07-28 21:29:04.979563380 -0400
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 @@
\
@ -158,35 +49,3 @@ diff -up source/texk/web2c/tiedir/tie.c.format source/texk/web2c/tiedir/tie.c
#define print2_ln(a,b){print2(a,b);term_new_line;}
#define print3_ln(a,b,c){print3(a,b,c);term_new_line;} \
diff -up source/texk/web2c/tiedir/tie.w.format source/texk/web2c/tiedir/tie.w
--- source/texk/web2c/tiedir/tie.w.format 2015-07-28 21:29:13.361512193 -0400
+++ source/texk/web2c/tiedir/tie.w 2015-07-28 21:30:18.135116633 -0400
@@ -458,14 +458,14 @@ for terminating an output line and writi
@^system dependencies@>
@d term_out stdout
-@d print(a) fprintf(term_out,a) /* `|print|' means write on the terminal */
+@d print(a) fprintf(term_out,"%s",a) /* `|print|' means write on the terminal */
@d print2(a,b) fprintf(term_out,a,b) /* same with two arguments */
@d print3(a,b,c) fprintf(term_out,a,b,c) /* same with three arguments */
@d print_c(v) fputc(v,term_out); /* print a single character */
@d new_line(v) fputc('\n',v) /* start new line */
@d term_new_line new_line(term_out)
/* start new line of the terminal */
-@d print_ln(v) {fprintf(term_out,v);term_new_line;}
+@d print_ln(v) {fprintf(term_out,"%s",v);term_new_line;}
/* `|print|' and then start new line */
@d print2_ln(a,b) {print2(a,b);term_new_line;} /* same with two arguments */
@d print3_ln(a,b,c) {print3(a,b,c);term_new_line;}
diff -up source/utils/devnag/src/devnag.c.format source/utils/devnag/src/devnag.c
--- source/utils/devnag/src/devnag.c.format 2015-07-28 21:23:26.446630739 -0400
+++ source/utils/devnag/src/devnag.c 2015-07-28 21:23:34.215583295 -0400
@@ -2400,7 +2400,7 @@ void put_macro(short macro) {
void err_ill(const char *str) {
fprintf(stderr, "Error: illegal character(s) \"%s\" detected at line %d:\n",
str, linenumber);
- fprintf(stderr, inbuf);
+ fprintf(stderr, "%s", inbuf);
exit(1);
}

File diff suppressed because it is too large Load Diff

2389
tl2rpm.c

File diff suppressed because it is too large Load Diff

View File

@ -1,305 +0,0 @@
--- texlive.tlpdb.orig 2015-09-16 16:29:17.024436938 -0400
+++ texlive.tlpdb 2015-09-16 16:29:17.050436761 -0400
@@ -10317,7 +10317,7 @@
catalogue-license pd
catalogue-version 1.0a
-name Asana-Math
+name asana-math
category Package
revision 37556
shortdesc A font to typeset maths in Xe(La)TeX and Lua(La)TeX.
@@ -16060,40 +16060,6 @@
catalogue-date 2012-04-10 13:05:36 +0200
catalogue-license gpl
-name biber
-category Package
-revision 37851
-shortdesc A BibTeX replacement for users of biblatex.
-longdesc Biber is a BibTeX replacement for users of biblatex. Biber
-longdesc supports full UTF-8, can (re)-encode input and output, supports
-longdesc highly configurable sorting, dynamic bibliography sets and many
-longdesc other features. The CTAN distribution offers a compressed tar
-longdesc archive of the sources, etc., together with "binary"
-longdesc distributions for a variety of platforms. Note: on SourceForge
-longdesc biber is formally named "biblatex-biber", to distinguish it
-longdesc from an earlier (now apparently moribund) project called
-longdesc "biber".
-depend biber.ARCH
-docfiles size=84
- texmf-dist/doc/bibtex/biber/biber.pdf
-srcfiles size=543
- texmf-dist/source/bibtex/biber/Changes
- texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz
- texmf-dist/source/bibtex/biber/utf8-macro-map.html
-catalogue-also bibtex crosstex biblatex
-catalogue-ctan /biblio/biber
-catalogue-date 2015-05-08 00:12:35 +0200
-catalogue-license artistic
-catalogue-topics biblio
-catalogue-version 2.1
-
-name biber.i386-linux
-category Package
-revision 37327
-shortdesc i386-linux files of biber
-binfiles arch=i386-linux size=4284
- bin/i386-linux/biber
-
name bibexport
category Package
revision 29349
@@ -33039,7 +33005,6 @@
depend tex
depend texconfig
depend texlive-common
-depend texlive-docindex
depend texlive-en
depend texlive-msg-translations
depend texlive-scripts
@@ -33287,7 +33252,7 @@
shortdesc Additional fonts
relocated 1
depend collection-basic
-depend Asana-Math
+depend asana-math
depend academicons
depend accanthis
depend adforn
@@ -33434,7 +33399,7 @@
depend librebaskerville
depend librecaslon
depend libris
-depend linearA
+depend lineara
depend lobster2
depend lxfonts
depend ly1
@@ -35721,7 +35686,7 @@
depend m-tx
depend musixguit
depend musixtex
-depend musixtex-fonts
+depend musixtex-fnts
depend musixtnt
depend piano
depend pmx
@@ -36253,25 +36218,6 @@
depend xymtex
depend youngtab
-name collection-texworks
-category Collection
-revision 36934
-shortdesc TeXworks editor; TL includes only the Windows binary
-relocated 1
-longdesc See http://tug.org/texworks.
-depend collection-basic
-depend texworks
-
-name collection-wintools
-category Collection
-revision 30307
-shortdesc Windows-only support programs
-relocated 1
-longdesc Utilities for Windows, since they are not readily available
-longdesc there: chktex, unzip, wget, xpdf, and the dviout previewer.
-depend wintools.win32
-depend dviout.win32
-
name collection-xetex
category Collection
revision 38257
@@ -47514,7 +47460,7 @@
texmf-dist/source/support/dosepsbin/install-sh
catalogue-ctan /support/dosepsbin
catalogue-date 2014-10-16 20:09:26 +0200
-catalogue-license artistic
+catalogue-license gpl
catalogue-version 1.2
name dosepsbin.i386-linux
@@ -79894,13 +79840,6 @@
catalogue-license lppl
catalogue-version v1.7
-name installfont.i386-linux
-category Package
-revision 19743
-shortdesc i386-linux files of installfont
-binfiles arch=i386-linux size=1
- bin/i386-linux/installfont-tl
-
name interactiveworkbook
category Package
revision 15878
@@ -91373,7 +91312,7 @@
catalogue-ctan /macros/latex/contrib/labels
catalogue-date 2011-12-16 16:22:52 +0100
catalogue-license lppl1.2
-catalogue-version .13
+catalogue-version 13
name labyrinth
category Package
@@ -93004,72 +92943,6 @@
catalogue-license gpl
catalogue-version 2.1.19.1
-name latexmk
-category Package
-revision 36353
-shortdesc Fully automated LaTeX document generation.
-longdesc Latexmk completely automates the process of generating a LaTeX
-longdesc document. Given the source files for a document, latexmk issues
-longdesc the appropriate sequence of commands to generate a .dvi, .ps,
-longdesc .pdf or hardcopy version of the document. An important feature
-longdesc is the "preview continuous mode", where the script watches all
-longdesc of the source files (primary file and included TeX and graphics
-longdesc files), and reruns LaTeX, etc., whenever a source file has
-longdesc changed. Thus a previewer can offer a display of the document's
-longdesc latest state.
-depend latexmk.ARCH
-runfiles size=86
- texmf-dist/scripts/latexmk/latexmk.pl
-docfiles size=185
- texmf-dist/doc/man/man1/latexmk.1
- texmf-dist/doc/man/man1/latexmk.man1.pdf
- texmf-dist/doc/support/latexmk/CHANGES
- texmf-dist/doc/support/latexmk/COPYING
- texmf-dist/doc/support/latexmk/INSTALL
- texmf-dist/doc/support/latexmk/README
- texmf-dist/doc/support/latexmk/example_rcfiles/README-rcfiles
- texmf-dist/doc/support/latexmk/example_rcfiles/asymptote_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/clean_pattern_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/exceltex_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/glossary_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/lualatex_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/mpost_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/nomenclature_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/pdflatexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/pythontex-latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/sagetex_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/sweave_latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/tex4ht-latexmkrc
- texmf-dist/doc/support/latexmk/example_rcfiles/xelatex_latexmkrc
- texmf-dist/doc/support/latexmk/extra-scripts/README-scripts
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfm_call
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfm_call.bat
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfmx_call
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfmx_call.bat
- texmf-dist/doc/support/latexmk/extra-scripts/htlatexonly
- texmf-dist/doc/support/latexmk/extra-scripts/kickxdvi
- texmf-dist/doc/support/latexmk/extra-scripts/l1
- texmf-dist/doc/support/latexmk/extra-scripts/l2
- texmf-dist/doc/support/latexmk/extra-scripts/myhtlatex2
- texmf-dist/doc/support/latexmk/extra-scripts/pst2pdf_for_latexmk
- texmf-dist/doc/support/latexmk/extra-scripts/pst2pdf_for_latexmk_README.txt
- texmf-dist/doc/support/latexmk/extra-scripts/startacroread
- texmf-dist/doc/support/latexmk/latexmk.pdf
- texmf-dist/doc/support/latexmk/latexmk.txt
-srcfiles size=1
- texmf-dist/source/support/latexmk/latexmk.bat
-catalogue-ctan /support/latexmk
-catalogue-date 2015-02-22 07:47:38 +0100
-catalogue-license gpl2
-catalogue-version 4.43a
-
-name latexmk.i386-linux
-category Package
-revision 10937
-shortdesc i386-linux files of latexmk
-binfiles arch=i386-linux size=1
- bin/i386-linux/latexmk
-
name latexmp
category Package
revision 15878
@@ -98324,7 +98197,7 @@
catalogue-date 2012-04-03 18:09:05 +0200
catalogue-license lppl
-name linearA
+name lineara
category Package
revision 15878
shortdesc Linear A script fonts.
@@ -109422,7 +109295,7 @@
texmf-dist/source/generic/mkjobtexmf/install-sh
catalogue-ctan /support/mkjobtexmf
catalogue-date 2011-11-16 11:07:17 +0100
-catalogue-license artistic
+catalogue-license gpl
catalogue-version 0.8
name mkjobtexmf.i386-linux
@@ -111632,7 +111505,7 @@
catalogue-license lppl1.3
catalogue-version 1.2.2
-name musixtex-fonts
+name musixtex-fnts
category Package
revision 37762
shortdesc Fonts used by MusixTeX.
@@ -123189,6 +123062,7 @@
longdesc LuaTeX).
depend kpathsea
depend pdftex.ARCH
+depend pdftex-def
execute AddFormat name=pdftex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini"
execute AddFormat name=etex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *etex.ini"
execute AddFormat name=pdfetex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini"
@@ -131343,7 +131217,7 @@
catalogue-ctan /graphics/pstricks/contrib/pst-layout
catalogue-date 2014-02-26 23:03:13 +0100
catalogue-license lppl
-catalogue-version .95
+catalogue-version 95
name pst-lens
category Package
@@ -144593,7 +144467,7 @@
depend kurier
depend poltawski
depend xits
-depend Asana-Math
+depend asana-math
depend gentium-tug
depend pxfonts
depend txfonts
@@ -159412,7 +159286,7 @@
texmf-dist/doc/man/man1/texdirflatten.man1.pdf
catalogue-ctan /support/texdirflatten
catalogue-date 2014-02-26 23:03:13 +0100
-catalogue-license artistic
+catalogue-license gpl
catalogue-version 1.1
name texdirflatten.i386-linux
@@ -161016,7 +160890,6 @@
revision 29741
shortdesc i386-linux files of texlive-scripts
binfiles arch=i386-linux size=2
- bin/i386-linux/man
bin/i386-linux/rungs
name texlive-sr
@@ -166717,7 +166590,7 @@
catalogue-ctan /macros/latex209/contrib/trees/tree-dvips
catalogue-date 2012-01-20 11:26:32 +0100
catalogue-license lppl1
-catalogue-version .91
+catalogue-version 91
name treetex
category Package
@@ -179710,7 +179583,6 @@
revision 37261
shortdesc i386-linux files of xetex
binfiles arch=i386-linux size=6435
- bin/i386-linux/teckit_compile
bin/i386-linux/xdvipdfmx
bin/i386-linux/xelatex
bin/i386-linux/xetex

Binary file not shown.