office/texlive: fixed segfault in upmendex ; tweaked prep stuff
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
parent
f8e4d24eb4
commit
b5a897b038
|
@ -0,0 +1,143 @@
|
|||
Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
|
||||
Date: 2016-06-25
|
||||
Initial Package Version: 20160523
|
||||
Upstream Status: Applied
|
||||
Origin: Upstream, svn revisions 41497, 41498
|
||||
Description: Fixes segfault in upmendex.
|
||||
|
||||
diff -Naur texlive-20160523-source/texk/README texlive-20160523-source-b/texk/README
|
||||
--- texlive-20160523-source/texk/README 2016-04-20 00:51:42.000000000 +0100
|
||||
+++ texlive-20160523-source-b/texk/README 2016-06-24 05:02:26.519423562 +0100
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
ttfdump - ?
|
||||
|
||||
-upmendex 0.50 -
|
||||
+upmendex 0.51 - by Takuji Tanaka
|
||||
http://www.ctan.org/pkg/upmendex
|
||||
http://www.t-lab.opal.ne.jp/tex/uptex_en.html
|
||||
|
||||
diff -Naur texlive-20160523-source/texk/upmendex/ChangeLog texlive-20160523-source-b/texk/upmendex/ChangeLog
|
||||
--- texlive-20160523-source/texk/upmendex/ChangeLog 2016-02-12 16:05:18.000000000 +0000
|
||||
+++ texlive-20160523-source-b/texk/upmendex/ChangeLog 2016-06-24 05:02:26.519423562 +0100
|
||||
@@ -1,3 +1,9 @@
|
||||
+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.
|
||||
+
|
||||
2016-02-12 Karl Berry <karl@tug.org>
|
||||
|
||||
* configure.ac (KPSE_CXX_HACK): add to avoid usual libstdc++.so
|
||||
diff -Naur texlive-20160523-source/texk/upmendex/fwrite.c texlive-20160523-source-b/texk/upmendex/fwrite.c
|
||||
--- texlive-20160523-source/texk/upmendex/fwrite.c 2016-02-09 11:02:48.000000000 +0000
|
||||
+++ texlive-20160523-source-b/texk/upmendex/fwrite.c 2016-06-24 05:02:26.519423562 +0100
|
||||
@@ -67,33 +67,38 @@
|
||||
|
||||
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 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 @@
|
||||
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 -Naur texlive-20160523-source/texk/upmendex/main.c texlive-20160523-source-b/texk/upmendex/main.c
|
||||
--- texlive-20160523-source/texk/upmendex/main.c 2016-02-09 23:44:45.000000000 +0000
|
||||
+++ texlive-20160523-source-b/texk/upmendex/main.c 2016-06-24 05:02:26.519423562 +0100
|
||||
@@ -19,7 +19,7 @@
|
||||
#endif
|
||||
KpathseaSupportInfo kp_ist,kp_dict;
|
||||
|
||||
-#define VERSION "version 0.50"
|
||||
+#define VERSION "version 0.51"
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
|
@ -1,173 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
TMP=$PWD/tmp
|
||||
collections_done=$TMP/done
|
||||
collections_tobedone=$TMP/tobedone
|
||||
[ -f $collections_done ] && rm $collections_done
|
||||
[ -f $collections_tobedone ] && rm $collections_tobedone
|
||||
|
||||
# fonts-package first to make sure that cm-super is not included elsewhere
|
||||
NAME=fonts \
|
||||
PACKAGES="
|
||||
cm-super
|
||||
cbfonts
|
||||
sanskrit-t1
|
||||
cmcyr
|
||||
cs
|
||||
uhc
|
||||
fonts-tlwg
|
||||
ethiop-t1
|
||||
ipaex
|
||||
wadalab
|
||||
fandol
|
||||
arphic
|
||||
nanumtype1" \
|
||||
./texmf_get.sh
|
||||
|
||||
# collection-langgreek is added as single packages, as the cbfonts should go
|
||||
# to the lang-texmftree because of its size
|
||||
NAME=base \
|
||||
PACKAGES="
|
||||
collection-basic
|
||||
collection-latex
|
||||
collection-genericrecommended
|
||||
collection-latexrecommended
|
||||
collection-xetex
|
||||
collection-metapost
|
||||
collection-plainextra
|
||||
collection-fontutils
|
||||
collection-genericextra
|
||||
collection-formatsextra
|
||||
collection-htmlxml
|
||||
collection-luatex
|
||||
collection-fontsrecommended
|
||||
collection-mathextra
|
||||
collection-humanities
|
||||
lh
|
||||
yfonts
|
||||
doublestroke
|
||||
was
|
||||
xypic
|
||||
xindy
|
||||
asymptote
|
||||
barcodes
|
||||
qrcode
|
||||
lastpage
|
||||
datetime2
|
||||
texdoc
|
||||
appendix
|
||||
changebar
|
||||
footmisc
|
||||
multirow
|
||||
overpic
|
||||
stmaryrd
|
||||
subfigure
|
||||
titlesec
|
||||
csplain
|
||||
biblatex
|
||||
collection-langeuropean
|
||||
collection-langenglish
|
||||
collection-langfrench
|
||||
collection-langgerman
|
||||
collection-langitalian
|
||||
collection-langpolish
|
||||
collection-langportuguese
|
||||
collection-langspanish
|
||||
collection-langgreek
|
||||
collection-langafrican
|
||||
hyphen-czech
|
||||
hyphen-slovak
|
||||
hyphen-indic
|
||||
hyphen-sanskrit
|
||||
hyphen-armenian
|
||||
hyphen-afrikaans
|
||||
hyphen-esperanto
|
||||
hyphen-bulgarian
|
||||
hyphen-churchslavonic
|
||||
hyphen-mongolian
|
||||
hyphen-russian
|
||||
hyphen-serbian
|
||||
hyphen-ukrainian
|
||||
hyphen-catalan
|
||||
hyphen-galician
|
||||
hyphen-chinese
|
||||
hyphen-coptic
|
||||
hyphen-georgian
|
||||
hyphen-indonesian
|
||||
hyphen-interlingua
|
||||
hyphen-thai
|
||||
hyphen-turkmen
|
||||
hyphen-arabic
|
||||
hyphen-farsi" \
|
||||
./texmf_get.sh
|
||||
|
||||
# Call "fonts"-tarball again to add remaining fonts
|
||||
NAME=fonts PACKAGES="collection-fontsextra" ./texmf_get.sh
|
||||
|
||||
# Put all remaining stuff in the "extra" tarball
|
||||
NAME=extra \
|
||||
PACKAGES="
|
||||
collection-latexextra
|
||||
collection-pictures
|
||||
collection-games
|
||||
collection-publishers
|
||||
collection-bibtexextra
|
||||
collection-binextra
|
||||
collection-science
|
||||
collection-omega
|
||||
collection-music
|
||||
collection-langother
|
||||
collection-pstricks
|
||||
collection-langcyrillic
|
||||
collection-langczechslovak
|
||||
collection-langindic
|
||||
collection-langjapanese
|
||||
collection-langkorean
|
||||
collection-langarabic
|
||||
collection-langchinese
|
||||
collection-langcjk" \
|
||||
./texmf_get.sh
|
||||
|
||||
# Finally, the docs-tarball - very big (about 1300 MB)
|
||||
#./texmf_get.sh docs
|
||||
|
||||
# Now that everything is added and appended, compress it.
|
||||
VERSION=$(cat tmp/VERSION)
|
||||
for NAME in base extra fonts docs; do
|
||||
echo $TMP/texlive-$NAME-$VERSION.tar
|
||||
if [ -s $TMP/texlive-$NAME-$VERSION.tar ]; then
|
||||
[ -f $TMP/texlive-$NAME-$VERSION.tar.xz ] && rm $TMP/texlive-$NAME-$VERSION.tar.xz
|
||||
xz -9 $TMP/texlive-$NAME-$VERSION.tar || exit 1
|
||||
ls -lah $TMP/texlive-$NAME-$VERSION.tar.xz
|
||||
fi
|
||||
done
|
||||
|
||||
# Following aren't supported
|
||||
#NAME=context PACKAGES="collection-context" ./texmf_get.sh
|
||||
#NAME=texworks PACKAGES="collection-texworks" ./texmf_get.sh
|
||||
#NAME=wintools PACKAGES="collection-wintools" ./texmf_get.sh
|
||||
|
||||
# Documentation on some decisions made for texlive-base:
|
||||
#
|
||||
# hyphen-packages are for "fmtutil-sys -all" to proceed without errors
|
||||
#
|
||||
# for building dblatex:
|
||||
# appendix
|
||||
# changebar
|
||||
# footmisc
|
||||
# multirow
|
||||
# overpic
|
||||
# stmaryrd
|
||||
# subfigure
|
||||
# titlesec
|
||||
|
||||
# for math masters thesis
|
||||
# doublestroke
|
||||
# was
|
||||
|
||||
# decided these are commonly useful and not too big
|
||||
# csplain
|
||||
|
||||
# to make biber functional
|
||||
# biblatex
|
||||
|
|
@ -20,12 +20,11 @@
|
|||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# V 0.3
|
||||
# V 0.4
|
||||
#
|
||||
# get texlive-packages/texmf-tree based on texlive.tlpdb, create a tar.xz tarball out of it.
|
||||
#
|
||||
# usage:
|
||||
# ./texmf_get.sh [extra|docs]
|
||||
# Prepare xz-compressed tarballs of texlive-texmf-trees based on texlive.tlpdb
|
||||
# This script takes care of dependencies(as far as these are present in texlive.tlpdb) of collections and packages,
|
||||
# and that every texlive-package is included only once.
|
||||
|
||||
# available packages http://mirror.ctan.org/systems/texlive/tlnet/archive/
|
||||
|
||||
|
@ -37,134 +36,178 @@ mirror="http://mirror.ctan.org/systems/texlive/tlnet/"
|
|||
LANG=C
|
||||
TMP=$PWD/tmp
|
||||
output=$TMP/texlive.packages
|
||||
output_remainder=$TMP/texlive.remainder.packages
|
||||
output_doc=$TMP/texlive.doc.packages
|
||||
errorlog=$TMP/error.log
|
||||
texmf=$TMP/texmf
|
||||
db=texlive.tlpdb
|
||||
mkdir -p $texmf
|
||||
tmpfile=$(mktemp)
|
||||
collections_done=$TMP/done
|
||||
collections_tobedone=$TMP/tobedone
|
||||
|
||||
#mkjobtexmf
|
||||
#texinfo
|
||||
#echo $PACKAGES
|
||||
#read
|
||||
maxsize[100000]="$PACKAGES"
|
||||
[ -z "$PACKAGES" ] && \
|
||||
maxsize[100000]="
|
||||
collection-metapost
|
||||
collection-xetex
|
||||
ec
|
||||
eurosym
|
||||
lualibs
|
||||
luaotfload
|
||||
luatexbase
|
||||
revtex
|
||||
synctex
|
||||
times
|
||||
tipa
|
||||
ulem
|
||||
upquote
|
||||
zapfding
|
||||
packages () {
|
||||
# fonts-package first to make sure that big fonts like cm-super are not included elsewhere as dependency
|
||||
PACKAGES="
|
||||
cm-super
|
||||
cbfonts
|
||||
sanskrit-t1
|
||||
cmcyr
|
||||
cs
|
||||
uhc
|
||||
fonts-tlwg
|
||||
ethiop-t1
|
||||
ipaex
|
||||
wadalab
|
||||
fandol
|
||||
arphic
|
||||
nanumtype1" \
|
||||
texmfget fonts
|
||||
|
||||
# The base
|
||||
PACKAGES="
|
||||
collection-basic
|
||||
collection-latex
|
||||
collection-genericrecommended
|
||||
collection-latexrecommended
|
||||
collection-xetex
|
||||
collection-metapost
|
||||
collection-plainextra
|
||||
collection-fontutils
|
||||
collection-genericextra
|
||||
collection-formatsextra
|
||||
collection-htmlxml
|
||||
collection-luatex
|
||||
collection-fontsrecommended
|
||||
collection-mathextra
|
||||
collection-humanities
|
||||
lh
|
||||
yfonts
|
||||
doublestroke
|
||||
was
|
||||
xypic
|
||||
xindy
|
||||
asymptote
|
||||
barcodes
|
||||
qrcode
|
||||
lastpage
|
||||
datetime2
|
||||
texdoc
|
||||
appendix
|
||||
changebar
|
||||
footmisc
|
||||
multirow
|
||||
overpic
|
||||
stmaryrd
|
||||
subfigure
|
||||
titlesec
|
||||
csplain
|
||||
biblatex
|
||||
collection-langeuropean
|
||||
collection-langenglish
|
||||
collection-langfrench
|
||||
collection-langgerman
|
||||
collection-langitalian
|
||||
collection-langpolish
|
||||
collection-langportuguese
|
||||
collection-langspanish
|
||||
collection-langgreek
|
||||
collection-langafrican
|
||||
hyphen-czech
|
||||
hyphen-slovak
|
||||
hyphen-indic
|
||||
hyphen-sanskrit
|
||||
hyphen-armenian
|
||||
hyphen-afrikaans
|
||||
hyphen-esperanto
|
||||
hyphen-bulgarian
|
||||
hyphen-churchslavonic
|
||||
hyphen-mongolian
|
||||
hyphen-russian
|
||||
hyphen-serbian
|
||||
hyphen-ukrainian
|
||||
hyphen-catalan
|
||||
hyphen-galician
|
||||
hyphen-chinese
|
||||
hyphen-coptic
|
||||
hyphen-georgian
|
||||
hyphen-indonesian
|
||||
hyphen-interlingua
|
||||
hyphen-thai
|
||||
hyphen-turkmen
|
||||
hyphen-arabic
|
||||
hyphen-farsi" \
|
||||
texmfget base
|
||||
|
||||
# Call "fonts"-tarball again to add remaining fonts
|
||||
PACKAGES="collection-fontsextra" texmfget fonts
|
||||
|
||||
# Put all remaining stuff in the "extra" tarball
|
||||
PACKAGES="
|
||||
collection-latexextra
|
||||
collection-pictures
|
||||
collection-games
|
||||
collection-publishers
|
||||
collection-bibtexextra
|
||||
collection-binextra
|
||||
collection-science
|
||||
collection-omega
|
||||
collection-music
|
||||
collection-langother
|
||||
collection-pstricks
|
||||
collection-langcyrillic
|
||||
collection-langczechslovak
|
||||
collection-langindic
|
||||
collection-langjapanese
|
||||
collection-langkorean
|
||||
collection-langarabic
|
||||
collection-langchinese
|
||||
collection-langcjk" \
|
||||
texmfget extra
|
||||
|
||||
collection-basic
|
||||
collection-latex
|
||||
collection-genericrecommended
|
||||
collection-latexrecommended
|
||||
collection-langeuropean
|
||||
lm
|
||||
beamer
|
||||
hyphen-ancientgreek
|
||||
hyphen-greek
|
||||
hyphen-indic
|
||||
hyphen-sanskrit
|
||||
hyphen-czech
|
||||
hyphen-slovak
|
||||
hyphen-armenian
|
||||
hyphen-bulgarian
|
||||
hyphen-churchslavonic
|
||||
hyphen-mongolian
|
||||
hyphen-russian
|
||||
hyphen-serbian
|
||||
hyphen-ukrainian
|
||||
hyphen-catalan
|
||||
hyphen-galician
|
||||
hyphen-spanish
|
||||
hyphen-chinese
|
||||
hyphen-afrikaans
|
||||
hyphen-coptic
|
||||
hyphen-esperanto
|
||||
hyphen-georgian
|
||||
hyphen-indonesian
|
||||
hyphen-interlingua
|
||||
hyphen-thai
|
||||
hyphen-turkmen
|
||||
hyphen-ethiopic
|
||||
hyphen-arabic
|
||||
hyphen-farsi
|
||||
# The docs-tarball - very big (about 1300 MB)
|
||||
texmfget docs
|
||||
|
||||
babel-basque
|
||||
hyphen-basque
|
||||
babel-czech
|
||||
hyphen-czech
|
||||
babel-danish
|
||||
hyphen-danish
|
||||
babel-dutch
|
||||
hyphen-dutch
|
||||
babel-english
|
||||
hyphen-english
|
||||
babel-finnish
|
||||
hyphen-finnish
|
||||
babel-french
|
||||
hyphen-french
|
||||
babel-german
|
||||
hyphen-german
|
||||
dehyph-exptl
|
||||
babel-hungarian
|
||||
hyphen-hungarian
|
||||
babel-italian
|
||||
hyphen-italian
|
||||
babel-norsk
|
||||
hyphen-norwegian
|
||||
babel-polish
|
||||
hyphen-polish
|
||||
babel-portuges
|
||||
hyphen-portuguese
|
||||
babel-spanish
|
||||
hyphen-spanish
|
||||
babel-swedish
|
||||
hyphen-swedish
|
||||
"
|
||||
#maxsize[530]="collection-fontsrecommended" # max package helvetic 530kb
|
||||
#maxsize[110]="collection-fontsextra" # max packafe cmbright(scheme-tetex) 109kb
|
||||
#maxsize[99]="collection-plainextra" # max package texinfo 98kb
|
||||
#maxsize[5]="collection-latexextra"
|
||||
#collection-langenglish
|
||||
#collection-langeuropean
|
||||
#collection-langfrench
|
||||
#collection-langgerman
|
||||
#collection-langitalian
|
||||
#collection-langpolish
|
||||
#collection-langspanish
|
||||
# Following aren't supported
|
||||
#NAME=context PACKAGES="collection-context" ./texmf_get.sh
|
||||
#NAME=texworks PACKAGES="collection-texworks" ./texmf_get.sh
|
||||
#NAME=wintools PACKAGES="collection-wintools" ./texmf_get.sh
|
||||
|
||||
#collection-genericextra
|
||||
#collection-formatsextra
|
||||
#maxsize[1700]="collection-langgreek" # max package kerkis(1700kb), cbfonts are very(too) big(65mb), todo: split-packge pfb-fonts, provding also "./texmf-get.sh" extra"
|
||||
#maxsize[500]="collection-langcyrillic" # prevent montex(1600kb) as it depends on cbfonts(65mb), see package split
|
||||
#maxsize[100]="collection-binextra" # max package asymptote 277kb, xindy 183kb
|
||||
#maxsize[180]="collection-bibtexextra" # max package jurabib, biblatex 180kb
|
||||
# For the records:
|
||||
#
|
||||
# base-tarball:
|
||||
# hyphen-packages are for "fmtutil-sys -all" to proceed without errors
|
||||
#
|
||||
# for building dblatex:
|
||||
# appendix
|
||||
# changebar
|
||||
# footmisc
|
||||
# multirow
|
||||
# overpic
|
||||
# stmaryrd
|
||||
# subfigure
|
||||
# titlesec
|
||||
|
||||
#maxsize[kb]="collection-name package ..."
|
||||
# These are arrays, every index(kb) can only appear once, otherwise it will be overwritten.
|
||||
# Add packages of collections only if under max $kb per package size, to ease maintenance by reducing singel-picking packages.
|
||||
# There are many small packages which give better overall support at low price in size, it's kind of random whats added though. Maybe maintain a reference list what has to be in the texmf-tree?
|
||||
# Into maxsize[100000] (100mb, there is no bigger package) come collections to be completely added, or single packages(not schemes, as depend collections are not added automatically)
|
||||
# for math masters thesis
|
||||
# doublestroke
|
||||
# was
|
||||
|
||||
# decided these are commonly useful and not too big, or or small to just have it for wider support of the base-package
|
||||
# csplain
|
||||
# yfonts
|
||||
|
||||
# to make biber functional
|
||||
# biblatex
|
||||
|
||||
}
|
||||
|
||||
# ==== Nothing to edit beyond this line (hopefully) ====
|
||||
|
||||
usage () {
|
||||
echo "Prepare texmf trees based on collections and packages and their dependencies."
|
||||
echo "./texmf_get.sh [base|docs|extra|fonts]"
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
package_meta () {
|
||||
echo "collection/package $collection"
|
||||
# collection start linenumer
|
||||
|
@ -203,7 +246,7 @@ do
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ -s $texmf/$collection.meta ]
|
||||
if [ -s "$texmf/$collection.meta" ]
|
||||
then
|
||||
cp $texmf/$collection.meta $tmpfile
|
||||
else
|
||||
|
@ -230,7 +273,8 @@ do
|
|||
continue
|
||||
fi
|
||||
# filter for max containersize to be added.
|
||||
[ $(grep ^containersize $tmpfile | cut -d' ' -f2 ) -lt $(($kb * 1024)) ] && echo "$collection" >> $output
|
||||
#[ $(grep ^containersize $tmpfile | cut -d' ' -f2 ) -lt $(($kb * 1024)) ] && echo "$collection" >> $output
|
||||
echo "$collection" >> $output
|
||||
fi
|
||||
# add dependend packages
|
||||
grep ^"depend " $tmpfile | grep -v "ARCH$" | cut -d' ' -f2- >> $collections_tobedone
|
||||
|
@ -254,7 +298,7 @@ untar () {
|
|||
sha512="$(grep ^containerchecksum $texmf/$package.meta | cut -d' ' -f2 )"
|
||||
fi
|
||||
[ ! -s ${package}${flavour}.tar.xz ] && wget ${mirror}archive/${package}${flavour}.tar.xz
|
||||
[ ! -s ${package}${flavour}.tar.xz ] && echo "Downloading ${package}${flavour}.tar.xz did not work, writting to $errorlog" && echo "Error downloading ${package}${flavour}.tar.xz" >> $errorlog && exit 1
|
||||
[ ! -s ${package}${flavour}.tar.xz ] && echo "Downloading ${package}${flavour}.tar.xz did not work, writing to $errorlog" && echo "Error downloading ${package}${flavour}.tar.xz" >> $errorlog && exit 1
|
||||
# check sha512, give three tries for downloading aggain(diffrent mirrors are used automatically)
|
||||
for tillthree in 1 2 3
|
||||
do
|
||||
|
@ -315,11 +359,97 @@ untar () {
|
|||
find . -type f -size 0c -delete
|
||||
}
|
||||
|
||||
tmpfile=$(mktemp)
|
||||
texmfget () {
|
||||
|
||||
NAME="$1"
|
||||
# remove outputfile if already present
|
||||
[ -s "$output" ] && rm $output
|
||||
|
||||
# check all content to make sure no package is added more than once. Docs contain every docfile
|
||||
if [ $TARBALL != docs ]
|
||||
then
|
||||
echo "Preparing list of packages to be added the $NAME-tarball ..."
|
||||
echo "$PACKAGES" | sed "s/[[:space:]]//g;/^$/d" >> $collections_tobedone
|
||||
package_list
|
||||
fi
|
||||
|
||||
if [ $NAME = $TARBALL ]
|
||||
then
|
||||
|
||||
cd $texmf
|
||||
|
||||
# split packge
|
||||
#echo "Finding fonts which are present as metafont-source(.mf), move corresponding pfb to remainder-package. Be patient ..."
|
||||
##find . -type f -name '*.mf' | tee -a fontfiles
|
||||
#find texmf-dist -type f -name '*.mf' > fontfiles
|
||||
##sed -i -n "/amsfonts/!p" fontfiles
|
||||
#rev fontfiles | cut -d'.' -f2 | cut -d'/' -f1 | rev > fontnames
|
||||
#find texmf-dist -type f -name "*.pfb" > fonts.type1
|
||||
#find texmf-dist -type f -name "*.pfm" >> fonts.type1
|
||||
#find texmf-dist -type f -name "*.afm" >> fonts.type1
|
||||
#[ -f fonts.pfb ] && rm fonts.pfb
|
||||
#while read a
|
||||
#do
|
||||
# grep -w "$a.pfb" fonts.type1 >> fonts.pfb
|
||||
# grep -w "$a.pfm" fonts.type1 >> fonts.pfb
|
||||
# grep -w "$a.afm" fonts.type1 >> fonts.pfb
|
||||
# #find . -type f -name "$a.pfb" >> fonts.pfb
|
||||
# #find . -type f -name "$a.pfm" >> fonts.pfb
|
||||
# #find . -type f -name "$a.afm" >> fonts.pfb
|
||||
#done < fontnames
|
||||
#sort -u < fonts.pfb > $tmpfile
|
||||
#mv $tmpfile fonts.pfb
|
||||
##sed -i "/.*amsfonts.*/d" fonts.pfb
|
||||
## Only move cbfonts for now ...
|
||||
#sed -i -n "/cbfonts/p" fonts.pfb
|
||||
#rev fonts.pfb | cut -d'/' -f2- | rev > fontpathes
|
||||
##sort -u < fontpathes > $tmpfile
|
||||
##mv $tmpfile fontpathes
|
||||
#while read a; do mkdir -p remainder/$a; done < fontpathes
|
||||
#while read a; do mv $a remainder/$a; done < fonts.pfb
|
||||
#rm fontfiles fontnames fontpathes fonts.type1 fonts.pfb
|
||||
|
||||
# cleanup tar-directory, just in case
|
||||
[ -d texmf-dist ] && rm -rf texmf-dist
|
||||
#unset flavour ; export flavour
|
||||
mkdir texmf-dist &> /dev/null
|
||||
|
||||
VERSION=$(cat $TMP/VERSION)
|
||||
case $TARBALL in
|
||||
docs)
|
||||
export flavour=".doc"
|
||||
untar $output_doc
|
||||
#tar Jvcf $TMP/texlive-texmf-docs-$VERSION.tar.xz texmf-dist || exit 1
|
||||
tar vrf $TMP/texlive-$TARBALL-$VERSION.tar texmf-dist || exit 1
|
||||
echo "Packages-list: $output_doc"
|
||||
rm -rf texmf-dist
|
||||
;;
|
||||
base|extra|fonts)
|
||||
untar $output
|
||||
tar vrf $TMP/texlive-$TARBALL-$VERSION.tar texmf-dist || exit 1
|
||||
cat $output.meta >> $output.meta.$TARBALL
|
||||
rm $output.meta
|
||||
echo "Packages-list: $output.meta.$TARBALL"
|
||||
rm $output
|
||||
rm -rf texmf-dist
|
||||
;;
|
||||
esac
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
# Main
|
||||
|
||||
case "$1" in
|
||||
base|docs|extra|fonts) TARBALL=$1; echo "Building $TARBALL tarball ..." ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
|
||||
mkdir -p $texmf
|
||||
cd $TMP
|
||||
|
||||
# create run.tlpkg and doc.tlpkg only if $db.orig isn't there yet/was deletet
|
||||
# create run.tlpkg and doc.tlpkg only if $db.orig isn't there yet/was deleted
|
||||
if [ ! -s $TMP/${db}.orig ]
|
||||
then
|
||||
# Set date manually upload date from $mirror/tlpkg/texlive.tlpdb. Looking a better way for auto-detect date/get reviosn in some way
|
||||
|
@ -331,16 +461,14 @@ then
|
|||
|
||||
wget -O $TMP/${db}.orig -c ${mirror}tlpkg/$db
|
||||
# shrink db to be faster on later processing
|
||||
#sed "/^ \+./d;/^longdesc \+./d" $TMP/${db}.orig > $TMP/$db
|
||||
#sed "/^ \+./d;/^longdesc \+./d;/^doc\+./d;/^cat\+./d;/^rev\+./d;/^short\+./d;/^rel\+./d" $TMP/${db}.orig > $TMP/$db
|
||||
sed "/^ \+./d;/^longdesc \+./d;/^cat\+./d;/^rev\+./d;/^exe\+./d;/^bin\+./d;/^src\+./d" $TMP/${db}.orig > $TMP/$db
|
||||
|
||||
|
||||
# as $db(might be) is new, remove the meta-files, be created again with pontentionally new content
|
||||
rm -rf $texmf/*.meta
|
||||
rm $TMP/run.tlpkg
|
||||
[ -f $output_doc ] && rm $output_doc
|
||||
[ -f "$output_doc" ] && rm "$output_doc"
|
||||
fi
|
||||
|
||||
|
||||
# Make a list of all packages available, but exclude binary and installer/configuration packages.
|
||||
# It turns out that packagenames without '.' are what we want. Packages with '.' are all binarie-packages, which we biuld from source.
|
||||
|
@ -351,6 +479,7 @@ grep ^name $TMP/$db | grep -v ^"name collection-" | grep -v ^"name scheme-" | gr
|
|||
global_exclude="
|
||||
texworks
|
||||
"
|
||||
# unused variable, to be considered if these are already included by the source-tarball, or strip these of the source-tarball and add them as texlive-package?
|
||||
zglobal_exclude="
|
||||
bibtex8
|
||||
bibtexu
|
||||
|
@ -414,109 +543,19 @@ do
|
|||
fi
|
||||
done < $TMP/allpackages
|
||||
|
||||
VERSION=$(cat VERSION)
|
||||
|
||||
# remove outputfile if already present
|
||||
[ -s "$output" ] && rm $output
|
||||
[ -f "$collections_done" ] && rm "$collections_done"
|
||||
[ -f "$collections_tobedone" ] && rm "$collections_tobedone"
|
||||
|
||||
collections_done=$TMP/done
|
||||
collections_tobedone=$TMP/tobedone
|
||||
packages
|
||||
|
||||
echo "Preparing list of packages to be added ..."
|
||||
# Start with the biggest maxsize. This way adding full collections can be handeld, rather than the packages are not added(added to $collection_done without processing) by the $kb limit.
|
||||
# todo: extra tobedone-queue for dependend packages, to be sure to get these and not discard by $kb limit.
|
||||
|
||||
for kb in $(printf '%s\n' "${!maxsize[@]}"|tac)
|
||||
do
|
||||
for maxsizecollection in ${maxsize[$kb]}
|
||||
do
|
||||
echo "$maxsizecollection" >> $collections_tobedone
|
||||
package_list #$1 # use diffrent package list if $1=docs
|
||||
done
|
||||
done
|
||||
|
||||
#[ -f $collections_done ] && rm $collections_done
|
||||
#[ -f $collections_tobedone ] && rm $collections_tobedone
|
||||
|
||||
#echo "Generate the remainder package-list ..."
|
||||
#cp $TMP/run.tlpkg $output_remainder
|
||||
## remove packages from remainder packages list
|
||||
#while read remove
|
||||
#do
|
||||
# sed -i "/^${remove}$/d" $output_remainder
|
||||
#done < $output
|
||||
|
||||
cd $texmf
|
||||
|
||||
# split packge
|
||||
#echo "Finding fonts which are present as metafont-source(.mf), move corresponding pfb to remainder-package. Be patient ..."
|
||||
##find . -type f -name '*.mf' | tee -a fontfiles
|
||||
#find texmf-dist -type f -name '*.mf' > fontfiles
|
||||
##sed -i -n "/amsfonts/!p" fontfiles
|
||||
#rev fontfiles | cut -d'.' -f2 | cut -d'/' -f1 | rev > fontnames
|
||||
#find texmf-dist -type f -name "*.pfb" > fonts.type1
|
||||
#find texmf-dist -type f -name "*.pfm" >> fonts.type1
|
||||
#find texmf-dist -type f -name "*.afm" >> fonts.type1
|
||||
#[ -f fonts.pfb ] && rm fonts.pfb
|
||||
#while read a
|
||||
#do
|
||||
# grep -w "$a.pfb" fonts.type1 >> fonts.pfb
|
||||
# grep -w "$a.pfm" fonts.type1 >> fonts.pfb
|
||||
# grep -w "$a.afm" fonts.type1 >> fonts.pfb
|
||||
# #find . -type f -name "$a.pfb" >> fonts.pfb
|
||||
# #find . -type f -name "$a.pfm" >> fonts.pfb
|
||||
# #find . -type f -name "$a.afm" >> fonts.pfb
|
||||
#done < fontnames
|
||||
#sort -u < fonts.pfb > $tmpfile
|
||||
#mv $tmpfile fonts.pfb
|
||||
##sed -i "/.*amsfonts.*/d" fonts.pfb
|
||||
## Only move cbfonts for now ...
|
||||
#sed -i -n "/cbfonts/p" fonts.pfb
|
||||
#rev fonts.pfb | cut -d'/' -f2- | rev > fontpathes
|
||||
##sort -u < fontpathes > $tmpfile
|
||||
##mv $tmpfile fontpathes
|
||||
#while read a; do mkdir -p remainder/$a; done < fontpathes
|
||||
#while read a; do mv $a remainder/$a; done < fonts.pfb
|
||||
#rm fontfiles fontnames fontpathes fonts.type1 fonts.pfb
|
||||
#if [ -d remainder ]
|
||||
#then
|
||||
# cd remainder
|
||||
# tar Jvcf $TMP/add-to-remainder.tar.xz texmf-dist || exit 1
|
||||
# cd -
|
||||
# rm -rf remainder
|
||||
#fi
|
||||
|
||||
# cleanup tar-directorie, in case
|
||||
[ -d texmf-dist ] && rm -rf texmf-dist
|
||||
#unset flavour ; export flavour
|
||||
mkdir texmf-dist &> /dev/null
|
||||
|
||||
|
||||
case $1 in
|
||||
docs)
|
||||
export flavour=".doc"
|
||||
untar $output_doc
|
||||
#untar $output
|
||||
tar Jvcf $TMP/texlive-texmf-docs-$VERSION.tar.xz texmf-dist || exit 1
|
||||
ls -lah $TMP/texlive-texmf-docs-$VERSION.tar.xz || exit 1
|
||||
rm -rf texmf-dist
|
||||
echo "Packages-list: $output_doc"
|
||||
|
||||
;;
|
||||
*)
|
||||
#XZ_OPT=-4e tar Jvcf $TMP/texlive-${scheme}${flavour}.tar.xz texmf-dist
|
||||
untar $output
|
||||
#tar vcf $TMP/texlive-$NAME-$VERSION.tar texmf-dist || exit 1
|
||||
tar vrf $TMP/texlive-$NAME-$VERSION.tar texmf-dist || exit 1
|
||||
mv $output.meta $output.meta.$NAME
|
||||
echo "Packages-list: $output.meta.$NAME"
|
||||
rm $output
|
||||
rm -rf texmf-dist
|
||||
#[ -f $TMP/texlive-$NAME-$VERSION.tar.xz ] && rm $TMP/texlive-$NAME-$VERSION.tar.xz
|
||||
#xz -9 $TMP/texlive-$NAME-$VERSION.tar || exit 1
|
||||
#ls -lah $TMP/texlive-$NAME-$VERSION.tar.xz
|
||||
;;
|
||||
esac
|
||||
# As the demanded packages are in the tarball, compress it.
|
||||
echo "Compressing $TMP/texlive-$TARBALL-$VERSION.tar ..."
|
||||
if [ -s $TMP/texlive-$TARBALL-$VERSION.tar ]; then
|
||||
[ -f $TMP/texlive-$TARBALL-$VERSION.tar.xz ] && rm $TMP/texlive-$TARBALL-$VERSION.tar.xz
|
||||
xz -9 -T0 $TMP/texlive-$TARBALL-$VERSION.tar || exit 1
|
||||
ls -lah $TMP/texlive-$TARBALL-$VERSION.tar.xz
|
||||
fi
|
||||
|
||||
# cleanup
|
||||
rm $tmpfile
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
|
||||
# Copyright 2009-2014 Robby Workman, Northport, AL, USA
|
||||
# Copyright 2016 Johannes Schoepfer, <slackbuilds[AT]schoepferi[DOT]info>
|
||||
# Copyright 2016 Johannes Schoepfer, Herrenberg, BW, Germany
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
|
@ -30,7 +30,7 @@
|
|||
PRGNAM=texlive
|
||||
VERSION=20160523
|
||||
TEXMF_VERS=20160622
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
CWD=$(pwd)
|
||||
|
@ -75,6 +75,9 @@ export LD_LIBRARY_PATH="$PKG/usr/lib${LIBDIRSUFFIX}:$LD_LIBRARY_PATH"
|
|||
# set TEXMFROOT and TEXMFLOCAL
|
||||
sed -i "s|^TEXMFROOT.*|TEXMFROOT = \$SELFAUTODIR/share|;s|^TEXMFLOCAL.*|TEXMFLOCAL = \$TEXMFROOT/texmf-local|" texk/kpathsea/texmf.cnf
|
||||
|
||||
# Fix a segfault in upmendex, thanks to the lfs-folks.
|
||||
patch -Np1 -i $CWD/patches/texlive-20160523b-source-upstream_fixes-1.patch
|
||||
|
||||
# --with-system-harfbuzz requires graphite2 (and harfbuzz linked to it)
|
||||
mkdir build ; cd build
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
|
@ -93,7 +96,6 @@ mkdir build ; cd build
|
|||
--disable-multiplatform \
|
||||
--disable-debug \
|
||||
--with-x \
|
||||
--enable-texdoctk \
|
||||
--enable-xindy \
|
||||
--disable-xindy-docs \
|
||||
--disable-xindy-rules \
|
||||
|
|
Loading…
Reference in New Issue