--- texlive-bin-2007.dfsg.1.orig/texmf/tpm/collection-binextra.tpm +++ texlive-bin-2007.dfsg.1/texmf/tpm/collection-binextra.tpm @@ -32,6 +32,7 @@ + --- texlive-bin-2007.dfsg.1.orig/texmf/tpm/bin-dvipos.tpm +++ texlive-bin-2007.dfsg.1/texmf/tpm/bin-dvipos.tpm @@ -0,0 +1,76 @@ + + + + bin-dvipos + TLCore + 2007/02/05 09:35:04 + + popineau + dvipos + + + Jin-Hwan Cho, Shunsaku Hirata + 13898649 + + + +bin/${ARCH}/dvipos +bin/win32/dvipos.exe + + +texmf/tpm/bin-dvipos.tpm + + texmf/doc/man/man1/dvipos.* + + +bin/alpha-linux/dvipos + + bin/hppa-hpux/dvipos + + +bin/i386-darwin/dvipos + + +bin/i386-freebsd/dvipos + + +bin/i386-linux/dvipos + + +bin/i386-openbsd/dvipos + + +bin/i386-solaris/dvipos + + bin/mips-irix/dvipos + + +bin/powerpc-aix/dvipos + + +bin/powerpc-darwin/dvipos + + +bin/powerpc-linux/dvipos + + +bin/sparc-linux/dvipos + + +bin/sparc-solaris/dvipos + + bin/win32/dvipos.exe + + +bin/x86_64-linux/dvipos + + +texmf/tpm/bin-dvipos.tpm + + +texmf/doc/man/man1/dvipos.1 + + TLCore/bin-dvipos + + + --- texlive-bin-2007.dfsg.1.orig/texmf/doc/man/man1/dvipos.1 +++ texlive-bin-2007.dfsg.1/texmf/doc/man/man1/dvipos.1 @@ -0,0 +1,153 @@ +.TH "DVIPOS" "1" "January 2007" "dvipos 20070107 (KPATHSEA)" "ConTeXt" +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. + +.SH NAME +dvipos \- compute positions in a DVI file + +.SH SYNOPSIS +\fBdvipos\fP [ \fIOPTION\fP... ] \fIinfile[.dvi]\fP + +.SH DESCRIPTION +\fBdvipos\fP parses a DVI file looking for \fIpos:\fP specials. It +currently recognizes \fIpos:pxy\fP, \fIpos:pxywhd\fP, +\fIpos:pxyplus\fP, \fIpos:begbox\fP, \fIpos:endbox\fP, +\fIpos:beglines\fP, and \fIpos:endlines\fP. It then outputs the +information from those specials along with information that only a DVI +postprocessor could determine, such as the current \fIx\fP and \fIy\fP +location. The output looks like: +.EX +\\pospxywhd{text:54}{54}{10663sp}{8535sp}{21326sp}{34081sp}{0sp} +.EE +and is suitable for including in a +.BR tex (1) +or +.BR pdftex (1) +auxilliary file, such as \fIdocument.tuo\fP, to be read in by the next +run of the +.BR tex (1) +or similar typesetting engine. + +.SH OPTIONS + +.TP +\fB-h, --help\fR +print usage. +.TP +\fB-W, --warning\fR +print warnings. +.TP +\fB-v, --verbose\fR +print verbose output. +.TP +\fB-d, --debug\fR +print +.BR dvitype (1) +debugging data. +.TP +\fB-s, --smashchars\fR +regard height and depth as zero. +.TP +\fB-o, --output=\fIFILE\fR +send all output to FILE. Without this option, output goes to stdout. +.TP +\fB-b, --bbox[=\fP\fIFILE\fP]\fR +send bounding box to FILE (default FILE is \fIinfile.pos\fP). +.TP +\fB-f, --framed[=\fP\fIBASE\fP]\fR +request copy of DVI file, \fIBASE.dvi\fP, with bounding boxes +\fBframed\fP (default FILE is \fIinfile_frames.dvi\fP). See the +\fB--framesize\fP option. +.TP +\fB-m, --mag=\fIINT\fR +override +.BR tex (1) +magnification by INT. +.TP +\fB-w, --framesize=\fIINT\fR +set frame rule size by INT (default 6554 = .1pt). +.TP +\fB-p, --pages=\fIX:Y\fR +set page ranges from X to Y. + +.SH USAGE +.B dvipos +is run mostly behind the scenes by ConTeXt's +.BR texexec (1) +between runs of +.BR tex (1) +or +.BR pdftex (1), +in order to provide information to and get information about +positional graphics. These graphics are provided by the MetaFun +interface to +.BR mpost (1). +\fBdvipos\fP is not used (or needed) in PDF-output mode but is +needed for DVI-output mode. +.BR pdftex (1) +starting with version 1.40 can produce position information even in +DVI mode, so once the ConTeXt macros take advantage of this feature, +the need for \fBdvipos\fP will fade. + +Until then, here is a typical use of \fBdvipos\fP: +.EX +dvipos notes.dvi +.EE +The position information that is output is collected by +.BR texexec (1) +to include in the \fInotes.tuo\fP auxilliary file to use in the next +run. + + +.SH EXAMPLES +.TP +Extract positions from \fIdoc.dvi\fP, with output to \fIdoc.loc\fP: +\f(CWdvipos -o doc.loc doc.dvi\fP +.TP +Same as above, but also send bbox information to \fIdoc.pos\fP: +\f(CWdvipos -b -o doc.loc doc.dvi\fP +.TP +Instead send bbox information to \fI/tmp/debug.pos\fP: +\f(CWdvipos -b=/tmp/debug.pos -o doc.loc doc.dvi\fP + +.SH "SEE ALSO" +.BR dvips (1), +.BR dvitype (1), +.BR mpost (1), +.BR pdftex (1), +.BR tex (1), +.BR texexec (1). + +For more about positional graphics, see the MetaFun documentation on +the +.URL "http://wiki.contextgarden.net/MetaFun" "ConTeXt wiki" . + +.SH BUGS +If you specify a file for the \fB-b\fP option, you must join the +option and name with rather than (the more common) space: +.EX +dvipos -b=/tmp/debug.pos notes.dvi +.EE +works, but +.EX +dvipos -b /tmp/debug.pos notes.dvi +.EE +does not. + +.SH AUTHOR +.B dvipos +is written by Jin-Hwan Cho . It is free +software (GPLv2 or later). This manpage was written by Sanjoy +Mahajan and is in the public domain. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-omega.root/usr/share/man/man1/odvicopy.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-omega.root/usr/share/man/man1/odvicopy.1 @@ -0,0 +1,24 @@ +.TH DVICOPY 1 TeX "24 January 1999" "Web2C 7.5.6" +.SH NAME +odvicopy \- produce modified copy of DVI file with Omega extensions +.SH SYNOPSIS +.B odvicopy +.RI [ options ] +.RI [ infile\ [ outfile ]] +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +.B odvicopy +reads a DVI file, +possibly with Omega extensions, +expands any references to (Omega) virtual fonts to base +fonts, and writes the resulting DVI file. Thus you can use virtual +fonts even if your DVI processor does not support them, by passing the +documents through +.B odvicopy +first. +.SH "SEE ALSO" +dviselect(1), omega(1) --- texlive-bin-2007.dfsg.1.orig/debian/texlive-omega.root/usr/share/man/man1/omfonts.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-omega.root/usr/share/man/man1/omfonts.1 @@ -0,0 +1,14 @@ +.TH "omfonts" "1" "March 2006" "Omega" "Omega" +.PP +.SH "NAME" +omfonts \ - the driver program behind ofm2opl, opl2ofm, ovf2ovp, and ovp2ovf. +.PP +.SH "DESCRIPTION and SEE ALSO" +.PP +Please see the respective man pages of \fBofm2opl\fP(1), \fBopl2ofm\fP(1), +\fBovf2ovp\fP(1), and \fBovp2ovf\fP(1). +.PP +.SH "AUTHOR" +.PP +This manual page was written by Norbert Preining , for +the Debian GNU/Linux system. It is too trivial to deserve special attention. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-omega.root/usr/share/man/man1/aleph.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-omega.root/usr/share/man/man1/aleph.1 @@ -0,0 +1,380 @@ +.TH ALEPH 1 "21 August 2004" "Web2C 7.5.5" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX +.if n .ds AX AmSTeX +.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX +.if n .ds AY AmSLaTeX +.\"===================================================================== +.SH NAME +aleph \- extended unicode TeX +.PP +lamed \- latex format based on aleph +.SH SYNOPSIS +.B aleph +.RI [ options ] +[\fB&\fR \fIformat\fR ] +[ \fIfile\fR | \fB\e\fR \fIcommands\fR ] +.\"===================================================================== +.SH DESCRIPTION +Aleph, formerly known as e-Omega, is a project whose aim is to +provide an extension to Knuth's TeX comprising both Omega 1.15 +and e-TeX 2.1 features. Its main goals are stability, speed and +power. +.PP +Run the aleph +typesetter on +.IR file , +usually creating +.IR file.dvi . +If the file argument has no extension, ".tex" will be appended to it. +Instead of a filename, a set of aleph commands can be given, the first +of which must start with a backslash. +With a +.BI & format +argument aleph uses a different set of precompiled commands, +contained in +.IR format.fmt ; +it is usually better to use the +.B -fmt +.I format +option instead. +.PP +aleph consist of a merge of Omega 1.15 and e-\*(TX and strives for +bringing a stabil and reliable system with the capabilities of Omega. +.PP +lamed is the name of the latex format dumped by aleph. +.PP +Please see the man pages of omega(1) and etex(1) for more detailed +descriptions of the features. +.\"===================================================================== +.SH OPTIONS +This version of e-\*(TX understands the following command line options. +.TP +.BI -fmt \ format +.rb +Use +.I format +as the name of the format to be used, instead of the name by which +aleph was called or a +.I %& +line. +.TP +.B -etex +.rb +Enable the e-\*(TX extensions. This option is only effective in +combination with +.BR -ini . +.TP +.B -file-line-error +.rb +Print error messages in the form +.I file:line:error +which is similar to the way many compilers format them. +.TP +.B -no-file-line-error +.rb +Disable printing error messages in the +.I file:line:error +style. +.TP +.B -file-line-error-style +.rb +This is the old name of the +.B -file-line-error +option. +.TP +.B -halt-on-error +.rb +Exit with an error code when an error is encountered during processing. +.TP +.B -help +.rb +Print help message and exit. +.TP +.B -ini +.rb +Start in +.I INI +mode, which is used to dump formats. The +.I INI +mode can be used for typesetting, but no format is preloaded, and +basic initializations like setting catcodes may be required. +.TP +.BI -interaction \ mode +.rb +Sets the interaction mode. The mode can be either +.IR batchmode , +.IR nonstopmode , +.IR scrollmode , +and +.IR errorstopmode . +The meaning of these modes is the same as that of the corresponding +\ecommands. +.TP +.B -ipc +.rb +Send DVI output to a socket as well as the usual output file. Whether +this option is available is the choice of the installer. +.TP +.B -ipc-start +.rb +As +.BR -ipc , +and starts the server at the other end as well. Whether this option +is available is the choice of the installer. +.TP +.BI -jobname \ name +.rb +Use +.I name +for the job name, instead of deriving it from the name of the input file. +.TP +.BI -kpathsea-debug \ bitmask +.rb +Sets path searching debugging flags according to the bitmask. See the +.I Kpathsea +manual for details. +.TP +.BI -mktex \ fmt +.rb +Enable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.B -mltex +.rb +Enable ML\*(TX extensions. Only effective in combination with +.BR -ini . +.TP +.BI -no-mktex \ fmt +.rb +Disable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.BI -output-comment \ string +.rb +Use +.I string +for the +.I DVI +file comment instead of the date. +.TP +.BI -output-directory \ directory +.rb Write output files in +.I directory +instead of the current directory. Look up input files in +.I directory +first, the along the normal search path. +.TP +.B -parse-first-line +.rb +If the first line of the main input file begins with +.I %& +parse it to look for a dump name or a +.B -translate-file +option. +.TP +.B -no-parse-first-line +.rb +Disable parsing of the first line of the main input file. +.TP +.BI -progname \ name +.rb +Pretend to be program +.IR name . +This affects both the format used and the search paths. +.TP +.B -recorder +.rb +Enable the filename recorder. This leaves a trace of the files opened +for input and output in a file with extension +.IR .fls . +.TP +.B -shell-escape +.rb +Enable the +.BI \ewrite18{ command } +construct. The +.I command +can be any shell command. This construct is normally +disallowed for security reasons. +.TP +.B -no-shell-escape +.rb +Disable the +.BI \ewrite18{ command } +construct, even if it is enabled in the +.I texmf.cnf +file. +.TP +.B -src-specials +.rb +Insert source specials into the +.I DVI +file. +.TP +.BI -src-specials \ where +.rb +Insert source specials in certain placed of the +.I DVI +file. +.I where +is a comma-separated value list: +.IR cr , +.IR display , +.IR hbox , +.IR math , +.IR par , +.IR parent , +or +.IR vbox . +.TP +.BI -translate-file \ tcxname +.rb +Use the +.I tcxname +translation table to set the mapping of input characters and +re-mapping of output characters. +.TP +.BI -default-translate-file \ tcxname +.rb +Like +.B -translate-file +except that a +.I %& +line can overrule this setting. +.TP +.B -version +.rb +Print version information and exit. +.\"===================================================================== +.SH ENVIRONMENT +See the Kpathsearch library documentation (the `Path specifications' +node) for precise details of how the environment variables are used. +The +.B kpsewhich +utility can be used to query the values of the variables. +.PP +One caveat: In most aleph formats, you cannot use ~ in a filename you +give directly to aleph, because ~ is an active character, and hence is +expanded, not taken as part of the filename. Other programs, such as +\*(MF, do not have this problem. +.PP +.TP +TEXMFOUTPUT +Normally, aleph puts its output files in the current directory. If +any output file cannot be opened there, it tries to open it in the +directory specified in the environment variable TEXMFOUTPUT. +There is no default value for that variable. For example, if you say +.I etex paper +and the current directory is not writable, if TEXMFOUTPUT has +the value +.IR /tmp , +aleph attempts to create +.I /tmp/paper.log +(and +.IR /tmp/paper.dvi , +if any output is produced.) +.TP +TEXINPUTS +Search path for +.I \einput +and +.I \eopenin +files. +This should probably start with ``.'', so +that user files are found before system files. An empty path +component will be replaced with the paths defined in the +.I texmf.cnf +file. For example, set TEXINPUTS to ".:/home/usr/tex:" to prepend the +current direcory and ``/home/user/tex'' to the standard search path. +.TP +TEXFORMATS +Search path for format files. +.TP +TEXPOOL +search path for +.B etex +internal strings. +.TP +TEXEDIT +Command template for switching to editor. The default, usually +.BR vi , +is set when aleph is compiled. +.TP +TFMFONTS +Search path for font metric +.RI ( .tfm ) +files. +.\"===================================================================== +.SH FILES +The location of the files mentioned below varies from system to +system. Use the +.B kpsewhich +utility to find their locations. +.TP +.I aleph.pool +Text file containing aleph's internal strings. +.TP +.I texfonts.map +Filename mapping definitions. +.TP +.I *.tfm +Metric files for aleph's fonts. +.TP +.I *.fmt +Predigested aleph format (.\|fmt) files. +.br +.\"===================================================================== +.SH NOTES +This manual page is not meant to be exhaustive. The complete +documentation for this version of aleph can be found in the info +manual +.IR "Web2C: A TeX implementation" . +.\"===================================================================== +.SH "SEE ALSO" +.BR etex (1), +.BR omega(1). +.\"===================================================================== +.SH AUTHORS +aleph was written by Giuseppe Bilotta. +e-\*(TX was developed by Peter Breitenlohner (and the NTS team). +\*(TX was designed by Donald E. Knuth, +who implemented it using his \*(WB system for Pascal programs. +It was ported to Unix at Stanford by Howard Trickey, and +at Cornell by Pavel Curtis. +The version now offered with the Unix \*(TX distribution is that +generated by the \*(WB to C system +.RB ( web2c ), +originally written by Tomas Rokicki and Tim Morgan. +The enc\*(TX extensions were written by Petr Olsak. +The primary authors of Omega are John Plaice and Yannis Haralambous. +This manpage has +been written by Norbert Preining for Debian/GNU Linux by adapting the +man page for etex and may be used, modified and/or distributed freely by anyone. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-omega.root/usr/share/man/man1/otangle.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-omega.root/usr/share/man/man1/otangle.1 @@ -0,0 +1,147 @@ +.TH OTANGLE 1 "20 October 2002" "Web2C 7.5.5" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +otangle \- translate WEB to Pascal +.SH SYNOPSIS +.B otangle +[ +.RI options +] +.I webfile[.web] +[ +.I changefile[.ch] +] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B otangle +program converts a \*(WB +source document into a Pascal program that may be compiled in the usual +way with the on-line Pascal compiler (e.g., +.BR pc (1)). +The output file is packed into lines of 72 characters or less, with +the only concession to readability being the termination of lines at +semicolons when this can be done conveniently. +.PP +The \*(WB language allows you to prepare a single document containing all +the information that is needed both to produce a compilable Pascal +program and to produce a well-formatted document describing the program +in as much detail as the writer may desire. The user of \*(WB must be +familiar with both \*(TX and Pascal. \*(WB also provides a relatively +simple, although adequate, macro facility that permits a Pascal program +to be written in small easily-understood modules. +.PP +The command line should have either one or two names on it. +The first is taken as the \*(WB file (and +.I .web +is added if there is no +extension). +If there is another name, it is a change file (and +.I .ch +is added if there is +no extension). The change file overrides parts of the \*(WB file, +as described in the \*(WB system documentation. +.PP +The output files are a Pascal file and a string pool file, +whose names are formed by adding +.I .p +and +.I .pool +respectively to the root of the \*(WB file name. +.\"===================================================================== +.SH "OPTIONS" +This version of +.B otangle +understands the following options. Note that some of these options +may render the output unsuitable for processing by a Pascal compiler. +.TP +.B --help +.rb +Print help message and exit. +.TP +.B --version +.rb +Print version information and exit. +.\"===================================================================== +.SH "SEE ALSO" +.BR pc (1), +.BR pxp (1) +(for formatting +.B otangle +output when debugging), +.BR tex (1). +.PP +Donald E. Knuth, +.IR "The \*(WB System of Structured Documentation" . +.PP +Donald E. Knuth, +.IR "Literate Programming" , +Computer Journal +.BR 27 , +97\-111, 1984. +.PP +Wayne Sewell, +.IR "Weaving a Program" , +Van Nostrand Reinhold, 1989, ISBN 0-442-31946-0. +.PP +Donald E. Knuth, +.I "\*(OX: The Program" +(Volume B of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13437-3. +.PP +Donald E. Knuth, +.I "\*(MF: The Program" +(Volume D of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13438-1. +.PP +These last two are by far the largest extant examples of \*(WB +programs. +.PP +There is an active Internet electronic mail discussion list on the +subject of literate programming; send a subscription request to +.I litprog-request@shsu.edu +to join. +.\"===================================================================== +.SH AUTHORS +\*(WB was designed by Donald E. Knuth, based on an earlier system +called DOC (implemented by Ignacio Zabala). +The +.B tangle +and +.B weave +programs are themselves written in \*(WB. The system +was originally ported to Unix at Stanford by Howard Trickey, and at +Cornell by Pavel Curtis. +.PP +.B otangle +incorporates extensions for Omega, and is written by +John Plaice and Yannis Haralambous. +.PP +This manpage has +been written by Norbert Preining for Debian/GNU Linux by adapting the +man page for tangle and may be used, modified and/or distributed freely +by anyone. + --- texlive-bin-2007.dfsg.1.orig/debian/texlive-omega.root/usr/share/man/man1/odvitype.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-omega.root/usr/share/man/man1/odvitype.1 @@ -0,0 +1,76 @@ +.TH DVITYPE 1 "19 December 1994" "Web2C 7.5.6" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +odvitype \- translate a dvi file with Omega extensions for humans +.SH SYNOPSIS +.B odvitype +.I dvi_name[.dvi] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B odvitype +program translates a DVI (DeVice Independent) file output by (for example) +.BR tex (1) +or +.BR gftodvi (1), +possibly containing Omega extensions, +to a file that humans can read. It also serves as a DVI file-validating +program (i.e., if +.B odvitype +can read it, it's correct) and as an example of a DVI-reading +program for future device drivers. +.PP +The output file can include all commands, just the important +ones, or none at all (in which case only errors are reported). +A subinterval of pages may be selected for transliteration; the +magnification and resolution of the ``output device'' may be +changed; and so on. All options are specified with an on-line dialog. +.PP +The +.I .dvi +extension is supplied if omitted from +.IR dvi_name . +The output goes to +.IR stdout . +.\"===================================================================== +.SH ENVIRONMENT +The environment variable TEXFONTS is used to search for the TFM files +used in the DVI file. See +.BR tex (1) +for the details of the searching. +If TEXFONTS is not set, it uses the system default. +.\"===================================================================== +.SH "SEE ALSO" +.BR gftype (1), +.BR pktype (1), +.BR omega (1). +.br +Donald E. Knuth, +.IR \*(OXware . +.\"===================================================================== +.SH BUGS +The interactive dialog should be replaced by command-line options, as +with +.BR gftype . +.SH AUTHORS +Donald E. Knuth wrote the program. It was published as part of the +.I \*(OXware +technical report, available from the \*(TX Users Group. +Howard Trickey and Pavel Curtis originally ported it to Unix. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/bin/pslatex +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/bin/pslatex @@ -0,0 +1,46 @@ +#!/bin/sh + +# Copyright 1994 David Carlisle +# This file may be redistributed and/or modified under the terms of the +# LaTeX Project Public License distributed from CTAN archives in directory +# macros/latex/base/lppl.txt; either version 1 of the License, or (at +# your option) any later version. + +test -f /bin/sh5 && test -z "$RUNNING_SH5" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ + && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } +unset RUNNING_SH5 + +test -f /bin/bsh && test -z "$RUNNING_BSH" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ + && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } +unset RUNNING_BSH + +# hack around a bug in zsh: +test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' + +# we want to be able to use options to latex: +while :; do + case $1 in + -*) + latexoptions="$latexoptions \"$1\"" + shift;; + *) + break;; + esac +done + +echo +echo "*************************************" +echo "* Using LaTeX, with pslatex package *" +echo "*************************************" +echo + +# messing around with \PSLATEXTMP is for AUCTeX which calls +# documents via latex \nonstopmode \input{file} + +latex $latexoptions \ + "\AtBeginDocument{\RequirePackage{pslatex}}"\ + "\def\PSLATEXTMP{\futurelet\PSLATEXTMP\PSLATEXTMPB}"\ + "\def\PSLATEXTMPB{\ifx\PSLATEXTMP\nonstopmode\else\input\fi}"\ + "\PSLATEXTMP" ${1+"$@"} --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/bin/xdvi +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/bin/xdvi @@ -0,0 +1,98 @@ +#! /usr/bin/perl -w + +# This is the xdvi wrapper script for Debian, based on Thomas Esser's +# teTeX version 0.2. +# Debian version: Copyright Julian Gilbey, 2002. Lots of modifications +# by Chung-chieh Shan . +# Also by TSUCHIYA Masatoshi . +# Original version: Copyright Thomas Esser, 1998. +# Permission to distribute this software is given under the terms of +# the GNU general public license version 2 or later. + +# Thomas writes: +# This script sets some environment variables to make sure that xdvi's +# resource file in $XDVIINPUTS/xdvi is read by xdvi.bin. +# Special care was taken to make this work for old R3, too. Therefore, +# we need to modify XAPPLRESDIR. If you are running R4 or later, you +# can set XUSERFILESEARCHPATH for user specific application default +# files. You cannot use XAPPLRESDIR for user specific application default +# files. + +# Julian writes: +# This has been rewritten in Perl so that we can mangle the arguments +# to handled gzipped dvi files, which not have errors if there are +# spaces in some arguments. XAPPLRESDIR is no longer modified. + +# Stephen Gildea writes: +# Debian distributes X11R6, therefore this script should not clobber +# XAPPLRESDIR, which is for user customizations. + +use strict; +use FileHandle; +use File::Basename; +use File::Spec; +use File::Temp qw/ tempfile /; + +my @NAMEOPT; +if (@ARGV == 1 and ($ARGV[0] eq '-help' or $ARGV[0] eq '-version')) { + @NAMEOPT=(); +} else { + @NAMEOPT=qw(-name xdvi); +} + +$ENV{'XDVIINPUTS'} .= ":\$TEXMF/{xdvi,web2c}"; + +my ($xdviappfile, $xdviappdir, $xdviapppath); +$xdviappfile=`kpsewhich -progname=xdvi --format='other text files' XDvi`; +if ("$xdviappfile" ne '') { + $xdviappdir=dirname($xdviappfile); + $xdviapppath="$xdviappdir/%N"; + + if (exists $ENV{'XFILESEARCHPATH'}) { + $ENV{'XFILESEARCHPATH'} = "$xdviapppath:$ENV{'XFILESEARCHPATH'}"; + } else { + $ENV{'XFILESEARCHPATH'} = "$xdviapppath:%D"; + } +} + +my $status; +if (@ARGV) { + my $filename = pop @ARGV; + + if ($filename =~ /\.(gz|Z|bz2)$/) { + my @command = $1 eq 'bz2' ? qw(bzip2 -d -c) : qw(gzip -d -c); + + require Fcntl; + my $fh = tempfile( UNLINK => 1 ) + or die "xdvi: cannot create temporary file: $!\n"; + fcntl $fh, Fcntl::F_SETFD(), 0 + or die "xdvi: disabling close-on-exec for temporary file: $!\n"; + + if (my $child = fork) { + 1 while wait != $child; + if ($? & 255) { + die "xdvi: $command[0] terminated abnormally: $?\n"; + } elsif ($?) { + my $code = $? >> 8; + die "xdvi: $command[0] terminated with exit code $code\n"; + } + } elsif (defined $child) { + STDOUT->fdopen( $fh, "w" ); + exec @command, $filename; + } else { + die "xdvi: fork: $!\n"; + } + $status = system('xdvi.bin', @NAMEOPT, @ARGV, '/dev/fd/'.fileno($fh)); + } else { + $status = system('xdvi.bin', @NAMEOPT, @ARGV, $filename); + } +} else { + $status = system('xdvi.bin', @NAMEOPT); +} + +if ($status & 255) { + die "xdvi: xdvi.bin terminated abnormally: $?\n"; +} else { + my $code = $? >> 8; + exit $code; +} --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/texmf-texlive/scripts/debian/debianize-updmap +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/texmf-texlive/scripts/debian/debianize-updmap @@ -0,0 +1,414 @@ +# This file, debianize-updmap, is meant to be sourced by updmap and +# enhance the --enable and --disable options with the functionality +# needed to deal with Debian's generated updmap.cfg. +# $Id$ + +# This is the planned scheme how it works +# +# A for disableMap: +# 1. create a list of files to act on (either in sysconfdir only, or in user dirs too) +# 2. grep for not-commented lines in these files that contain $map +# CHANGE 3. for each of these files, run configReplace appropriately +# 3. if in syswide-mode, for each of these files, run configReplace appropriately; +# if not in syswide mode, for each of these files, +# test whether it is in the syswide dir +# 3.a if not, run configReplace appropriately +# 3b. if yes, create copy in user dir and run configReplace appropriately +# +# B for enableMap: +# 1. create a list of files to act on (either in sysconfdir only, or in user dirs too) +# 2. grep for commented lines in these files that contain $map +# 2.1. if any are found, check whether it is only one +# 2.1.1 if there is only one, run configReplace on that file appropriately +# 2.1.2 if there is more than one, the precedence is +# 20tetex-extra.cfg > XX*local*.cfg > 10tetex-base.cfg > any +# (extra has maximum priority because +# 2.1.2.1 if it's clear on which file to act, run configReplace on that file +# appropriately +# 2.1.2.2 if unclear (i.e. only "any"), exit with an error +# 2.2 if none are found, act on 10local.cfg (could be made configurable) +# - if 10local.cfg does not exist, create it (with an explanatory comment) +# - run configReplace on it appropriately +# +# C for syncwithtrees (and even more?) +# ? +# +# After that, update-updmap must be run (in the appropriate mode!), and then updmap +# must reexecute itself. Since disableMap is called by enableMap, we need a wrapper +# for it. An alternative would be to do this just before the creation of the output +# files, but I think it's easier this way, and currently updmap only enables one Map +# file per run. + +############################################################################### +# DebianSyswideMode () +# determine whether we are running in syswide mode (or user-specific) +############################################################################### +DebianSyswideMode(){ + test "$(id -u)" -eq 0 && return 0 || return 1 +} + +############################################################################### +# FindDebianUserdir () +# find the directory containing user-specific updmap snippets +############################################################################### +FindDebianUserdir(){ + defaultuserdir=$HOME/.texmf-config/updmap.d + + # this should read a config item in updmap.cfg, but for now we just + # check whether the default exists. + if [ -d $defaultuserdir ]; then + echo $defaultuserdir + fi +} + + +############################################################################### +# createDebianConffilelist +# create a list of configuration files containing updmap snippets; +# we are going to act on these +############################################################################### +createDebianConffilelist(){ + local DebianConffilelist="" + syswideFiles=`find /etc/texmf/updmap.d -maxdepth 1 -type f -name '*.cfg'` + if ! DebianSyswideMode; then + debianuserdir=`FindDebianUserdir` + if [ -n "$debianuserdir" ]; then + userFiles=`find "$debianuserdir" -maxdepth 1 -type f -name '*.cfg'` + fi + fi + if [ -n "$userFiles" ]; then + userBasenames=`for file in $userFiles; do basename $file; done` + for file in $syswideFiles; do + local copyInUserdir=false + + done + else + fi +} + +############################################################################### +# runUpdate +# run update-updmap +############################################################################### +runUpdate(){ + updOptions="" + if [ -n "$cfgparam" ]; then + # --conffile option was given on the command line + updOptions="--output-file $orig" + fi + # here we could check for an alternative user dir, or output file + # but as long as FindDebianUserdir only reports the default location, + # it doesn't make sense + + verboseMsg "Running update-updmap to merge the changed files" + update-updmap --quiet $updOptions +} +############################################################################### +# cleanupNoExit() +# clean up the temp area, but don't exit +############################################################################### +cleanupNoExit() +{ + rc=$? + $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ + && { cd / && rm -rf "$tmpdir"; } +} + +############################################################################### +# reExecSelf +# execute ourselves again - the confile has changed after an enable or disable +# command has been processed +############################################################################### +reExecSelf(){ + # remove the temporary directory + cleanupNoExit + + # if we need not remake map files, we are done here + if [ "$mkmapEnabled" = "false" ]; then exit 0; fi + + # pass ourselves the right options. + repeatOptions="" + for option in dvipsoutputdir pdftexoutputdir dvipdfmoutputdir; do + # strange that I can't do the same with eval test -n + if eval [ ! -z "\$$option" ]; then + repeatOptions="$repeatOptions `eval echo --$option \\$$option`" + fi + done + if [ -n "$cfgparam" ]; then + # --conffile option was given on the command line + repeatOptions="$repeatOptions --cnffile=$orig" + fi + if [ "texhashEnabled" = "false" ]; then + repeatOptions="$repeatOptions --nohash" + fi + if [ "$verbose" = "false" ]; then + repeatOptions="$repeatOptions --quiet" + fi + + verboseMsg "Now running $progname again to generate output files" + echo $progname $repeatOptions + exec $progname $repeatOptions +} + +############################################################################### +# grepType (map,file) +# grep in file for entry map, and return the mapType +############################################################################### +grepType() +{ + map=$1 + file="$2" + egrep "^(MixedMap|Map)[ ]*$map( | |$)" "$file" | awk '{print $1}' | sort | uniq +} + + +############################################################################### +# findUserfiles (filelist) +# pick user-specific files out of a filelist of configuration files +############################################################################### +findUserfiles(){ + userfiles="" + while [ $# -gt 0 ]; do + file="$1" + if [ "$file" = "${file#/etc/texmf/updmap.d}" ]; then + # doesn't start with /etc/texmf/updmap.d: must be user-specific + userfiles="$userfiles $file" + fi + shift; + done + echo $userfiles +} + +############################################################################### +# findRightMatchfile (mapname,filelist) +# find the right file from filelist to enable mapname +############################################################################### +findRightMatchfile(){ + mapName=$1; shift + matchfiles="$@" + if [ $# -eq 1 ]; then + # it is only one, enable map in it + echo $matchfiles + verboseMsg "Enabling map file in $matchfiles" + return 0 + else + # there are more than one; + if ! DebianSyswideMode; then + # can only change files in the user's dir + usermatchfiles=`findUserfiles $matchfiles` + if [ `(set $usermatchfiles; echo $#)` -eq 1 ]; then + # exactly one of them is a user-specific file + echo $usermatchfiles + verboseMsg "Enabling map file in user-specific file $matchfiles" + return 0 + else + # two files in the user directory (as bad as two in the site-wide + # dir), or no user-specific files. If there are two user-specific + # files, report about them: + test -n "$usermatchfiles" && matchfiles="$usermatchfiles" || true + fi + fi + # for now, we exit with an error. Any sensible choice would have to + # check whether teTeX or texlive is installed, and I want to save me + # that hazzle. + cat >&2 <&2 </dev/null ; then + matchfiles="$matchfiles $file" + fi + done + if [ -n "$matchfiles" ]; then + # there is already (at least) one file that has a commented entry for our map + debCnfFile=`findRightMatchfile $mapName $matchfiles` + test -w "$debCnfFile" || debCnfFile="" + fi + if [ -z "$debCnfFile" ]; then + # still none, there is no (commented) entry in any writable file yet. + debCnfFile=`findRightLocalfile $mapName` + test -n "$debCnfFile" || abort "Cannot proceed. Exiting" + verboseMsg "Creating new entry for map file $mapName in $debCnfFile" + fi + + configReplace "$debCnfFile" "^#![ ]*$mapType[ ]*$mapName" "$mapType $mapName" + runUpdate + reExecSelf +} + +############################################################################### +# setOption (option, value) +# sets option to value in the config file (replacing the existing setting +# or by adding a new line to the config file). +############################################################################### +setOption() +{ + opt=$1 + val=$2 + case "$opt" in + LW35) + case "$val" in + URWkb|URW|ADOBE|ADOBEkb) + ;; + *) + abort "invalid value $val for option $opt" + ;; + esac + ;; + dvipsPreferOutline|dvipsDownloadBase35|pdftexDownloadBase14|dvipdfmDownloadBase14) + case "$val" in + true|false) + ;; + *) + abort "invalid value $val for option $opt" + esac + ;; + *) + abort "unsupported option $opt" + ;; + esac + + DebNullCnfFile="" + DebianSyswideMode || debianuserdir=`FindDebianUserdir` + if (! DebianSyswideMode) && [ -f "$debianuserdir/00updmap.cfg" ]; then + DebNullCnfFile=$debianuserdir/00updmap.cfg + else + DebNullCnfFile=/etc/texmf/updmap.d/00updmap.cfg + fi + + configReplace "$DebNullCnfFile" "^$opt[ ]" "$opt $val" + runUpdate + reExecSelf +} + --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/texlive-bin/config.ps +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/texlive-bin/config.ps @@ -0,0 +1,572 @@ +% config.ps - configuration file for dvips. +% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain. + +% Memory available. Download the three-line PostScript file: +% %! Hey, we're PostScript +% /Times-Roman findfont 30 scalefont setfont 144 432 moveto +% vmstatus exch sub 40 string cvs show pop showpage +% to determine this number. (It will be the only thing printed.) +m 3500000 + +% Run securely. z2 disables both shell command execution in +% `\special' and config files (via the `E' option) and opening of any +% absolute filenames. z1, the default, forbids shell escapes but +% allows absolute filenames. z0 allows both. The corresponding +% command line options are -R0|-R1|-R2 +z1 + +% How to print, maybe with lp instead lpr, etc. If commented-out, output +% will go into a file by default. +%o |lpr + +% Default resolution of this device, in dots per inch. +D 600 +X 600 +Y 600 + +% Metafont mode. (This is completely different from the -M +% command-line option, which controls whether mktexpk is invoked.) +% See ../../metafont/misc/modes.mf for a list of mode names. This mode +% and the D number above must agree, or mktexpk will get confused. +M ljfour + +% Last resort bitmap sizes. +R 300 600 + +% Correct printer offset. You can use testpage.tex from the LaTeX +% distribution to find these numbers. +O 0pt,0pt + +% Bitmap font compression. Results in more compact output files, but +% sometimes causes trouble. So the default is disabled. Set Z1 to enable +% this feature. +Z0 + +% Partially download Type 1 fonts by default. Only reason not to do +% this is if you encounter bugs. (Please report them to +% @email{tex-k@tug.org} if you do.) +j + +% This shows how to add your own map file. +% Remove the comment and adjust the name: +% p +myfonts.map + +% If we have setpagedevice, use that. +% else if we have the a4 resp. letter operator, use that. +% else do nothing to set the page size. +% +% In the past, the a4size and letterSize definitions did not set the +% page size, but we want to set it if we can so that ps2pdf can work +% properly. Here, a4 and a4size, and letter and letterSize, are +% identical, and we prefer the a4/letter names -- texconfig uses them. + +% 0 0 595 842 is the right bounding box that applications expect +% for A4. Since dvips always rounds up, choose something slightly +% smaller for our paper size. + +@ a4 210mm 297mm +@+ ! %%DocumentPaperSizes: a4 +@+ %%BeginPaperSize: a4 +@+ /setpagedevice where +@+ { pop << /PageSize [595 842] >> setpagedevice } +@+ { /a4 where { pop a4 } if } +@+ ifelse +@+ %%EndPaperSize + +@ letter 8.5in 11in +@+ ! %%DocumentPaperSizes: Letter +@+ %%BeginPaperSize: Letter +@+ /setpagedevice where +@+ { pop << /PageSize [612 792] >> setpagedevice } +@+ { /letter where { pop letter } if } +@+ ifelse +@+ %%EndPaperSize + +@ a4size 210mm 297mm +@+ ! %%DocumentPaperSizes: a4 +@+ %%BeginPaperSize: a4 +@+ /setpagedevice where +@+ { pop << /PageSize [595 842] >> setpagedevice } +@+ { /a4 where { pop a4 } if } +@+ ifelse +@+ %%EndPaperSize + +@ letterSize 8.5in 11in +@+ ! %%DocumentPaperSizes: Letter +@+ %%BeginPaperSize: Letter +@+ /setpagedevice where +@+ { pop << /PageSize [612 792] >> setpagedevice } +@+ { /letter where { pop letter } if } +@+ ifelse +@+ %%EndPaperSize + +@ halfexecutive 133mm 184mm +@+ ! %%DocumentPaperSizes: halfexecutive +@+ %%BeginPaperSize: halfexecutive +@+ /setpagedevice where +@+ { pop << /PageSize [378 522] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ halfletter 140mm 216mm +@+ ! %%DocumentPaperSizes: halfletter +@+ %%BeginPaperSize: halfletter +@+ /setpagedevice where +@+ { pop << /PageSize [396 612] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ statement 140mm 216mm +@+ ! %%DocumentPaperSizes: statement +@+ %%BeginPaperSize: statement +@+ /setpagedevice where +@+ { pop << /PageSize [396 612] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ executive 184mm 267mm +@+ ! %%DocumentPaperSizes: executive +@+ %%BeginPaperSize: executive +@+ /setpagedevice where +@+ { pop << /PageSize [522 756] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +% for powerdot +@ screen 8.25in 11in +@+ ! %%DocumentPaperSizes: Screen +@+ %%BeginPaperSize: Screen +@+ /setpagedevice where +@+ { pop << /PageSize [594 792] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +% a common size for printers (in north america). +@ sixbynine 6in 9in +@+ ! %%DocumentPaperSizes: SixByNine +@+ %%BeginPaperSize: SixByNine +@+ /setpagedevice where +@+ { pop << /PageSize [432 648] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ quarto 215mm 275mm +@+ ! %%DocumentPaperSizes: quarto +@+ %%BeginPaperSize: quarto +@+ /setpagedevice where +@+ { pop << /PageSize [610 780] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ note 216mm 279mm +@+ ! %%DocumentPaperSizes: note +@+ %%BeginPaperSize: note +@+ /setpagedevice where +@+ { pop << /PageSize [612 792] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ folio 216mm 330mm +@+ ! %%DocumentPaperSizes: folio +@+ %%BeginPaperSize: folio +@+ /setpagedevice where +@+ { pop << /PageSize [612 936] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ legal 8.5in 14in +@+ ! %%DocumentPaperSizes: Legal +@+ %%BeginPaperSize: Legal +@+ /setpagedevice where +@+ { pop << /PageSize [612 1008] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ 10x14 10in 14in +@+ ! %%DocumentPaperSizes: 10x14 +@+ %%BeginPaperSize: 10x14 +@+ /setpagedevice where +@+ { pop << /PageSize [720 1008] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ ledger 17in 11in +@+ ! %%DocumentPaperSizes: Ledger +@+ %%BeginPaperSize: Ledger +@+ /setpagedevice where +@+ { pop << /PageSize [1224 792] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ tabloid 11in 17in +@+ ! %%DocumentPaperSizes: Tabloid +@+ %%BeginPaperSize: Tabloid +@+ /setpagedevice where +@+ { pop << /PageSize [792 1224] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ 11x17 11in 17in +@+ ! %%DocumentPaperSizes: 11x17 +@+ %%BeginPaperSize: 11x17 +@+ /setpagedevice where +@+ { pop << /PageSize [792 1224] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ a0 841mm 1189mm +@+ ! %%DocumentPaperSizes: a0 +@+ %%BeginPaperSize: a0 +@+ /setpagedevice where +@+ { pop << /PageSize [2384 3370] >> setpagedevice } +@+ { /a0 where { pop a0 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a1 594mm 841mm +@+ ! %%DocumentPaperSizes: a1 +@+ %%BeginPaperSize: a1 +@+ /setpagedevice where +@+ { pop << /PageSize [1684 2384] >> setpagedevice } +@+ { /a1 where { pop a1 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a2 420mm 594mm +@+ ! %%DocumentPaperSizes: a2 +@+ %%BeginPaperSize: a2 +@+ /setpagedevice where +@+ { pop << /PageSize [1191 1684] >> setpagedevice } +@+ { /a2 where { pop a2 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a3 297mm 420mm +@+ ! %%DocumentPaperSizes: a3 +@+ %%BeginPaperSize: a3 +@+ /setpagedevice where +@+ { pop << /PageSize [842 1191] >> setpagedevice } +@+ { /a3 where { pop a3 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a5 148mm 210mm +@+ ! %%DocumentPaperSizes: a5 +@+ %%BeginPaperSize: a5 +@+ /setpagedevice where +@+ { pop << /PageSize [420 595] >> setpagedevice } +@+ { /a5 where { pop a5 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a6 105mm 148mm +@+ ! %%DocumentPaperSizes: a6 +@+ %%BeginPaperSize: a6 +@+ /setpagedevice where +@+ { pop << /PageSize [298 420] >> setpagedevice } +@+ { /a6 where { pop a6 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a7 74mm 105mm +@+ ! %%DocumentPaperSizes: a7 +@+ %%BeginPaperSize: a7 +@+ /setpagedevice where +@+ { pop << /PageSize [210 298] >> setpagedevice } +@+ { /a7 where { pop a7 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a8 52mm 74mm +@+ ! %%DocumentPaperSizes: a8 +@+ %%BeginPaperSize: a8 +@+ /setpagedevice where +@+ { pop << /PageSize [147 210] >> setpagedevice } +@+ { /a8 where { pop a8 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a9 37mm 52mm +@+ ! %%DocumentPaperSizes: a9 +@+ %%BeginPaperSize: a9 +@+ /setpagedevice where +@+ { pop << /PageSize [105 147] >> setpagedevice } +@+ { /a9 where { pop a9 } if } +@+ ifelse +@+ %%EndPaperSize + +@ a10 26mm 37mm +@+ ! %%DocumentPaperSizes: a10 +@+ %%BeginPaperSize: a10 +@+ /setpagedevice where +@+ { pop << /PageSize [74 105] >> setpagedevice } +@+ { /a10 where { pop a10 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb0 1030mm 1456mm +@+ ! %%DocumentPaperSizes: jisb0 +@+ %%BeginPaperSize: jisb0 +@+ /setpagedevice where +@+ { pop << /PageSize [2920 4127] >> setpagedevice } +@+ { /jisb0 where { pop jisb0 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb1 728mm 1030mm +@+ ! %%DocumentPaperSizes: jisb1 +@+ %%BeginPaperSize: jisb1 +@+ /setpagedevice where +@+ { pop << /PageSize [2064 2920] >> setpagedevice } +@+ { /jisb1 where { pop jisb1 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb2 515mm 728mm +@+ ! %%DocumentPaperSizes: jisb2 +@+ %%BeginPaperSize: jisb2 +@+ /setpagedevice where +@+ { pop << /PageSize [1460 2064] >> setpagedevice } +@+ { /jisb2 where { pop jisb2 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb3 364mm 515mm +@+ ! %%DocumentPaperSizes: jisb3 +@+ %%BeginPaperSize: jisb3 +@+ /setpagedevice where +@+ { pop << /PageSize [1032 1460] >> setpagedevice } +@+ { /jisb3 where { pop jisb3 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb4 257mm 364mm +@+ ! %%DocumentPaperSizes: jisb4 +@+ %%BeginPaperSize: jisb4 +@+ /setpagedevice where +@+ { pop << /PageSize [729 1032] >> setpagedevice } +@+ { /jisb4 where { pop jisb4 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb5 182mm 257mm +@+ ! %%DocumentPaperSizes: jisb5 +@+ %%BeginPaperSize: jisb5 +@+ /setpagedevice where +@+ { pop << /PageSize [516 729] >> setpagedevice } +@+ { /jisb5 where { pop jisb5 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb6 128mm 182mm +@+ ! %%DocumentPaperSizes: jisb6 +@+ %%BeginPaperSize: jisb6 +@+ /setpagedevice where +@+ { pop << /PageSize [363 516] >> setpagedevice } +@+ { /jisb6 where { pop jisb6 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb7 91mm 128mm +@+ ! %%DocumentPaperSizes: jisb7 +@+ %%BeginPaperSize: jisb7 +@+ /setpagedevice where +@+ { pop << /PageSize [258 363] >> setpagedevice } +@+ { /jisb7 where { pop jisb7 } if } +@+ ifelse +@+ %%EndPaperSize + +@ jisb8 64mm 91mm +@+ ! %%DocumentPaperSizes: jisb8 +@+ %%BeginPaperSize: jisb8 +@+ /setpagedevice where +@+ { pop << /PageSize [181 258] >> setpagedevice } +@+ { /jisb8 where { pop jisb8 } if } +@+ ifelse +@+ %%EndPaperSize + +@ b0 1000mm 1414mm +@+ ! %%DocumentPaperSizes: b0 +@+ %%BeginPaperSize: b0 +@+ /setpagedevice where +@+ { pop << /PageSize [2835 4008] >> setpagedevice } +@+ { /b0 where { pop b0 } if } +@+ ifelse +@+ %%EndPaperSize + +@ b1 707mm 1000mm +@+ ! %%DocumentPaperSizes: b1 +@+ %%BeginPaperSize: b1 +@+ /setpagedevice where +@+ { pop << /PageSize [2004 2835] >> setpagedevice } +@+ { /b1 where { pop b1 } if } +@+ ifelse +@+ %%EndPaperSize + +@ b2 500mm 707mm +@+ ! %%DocumentPaperSizes: b2 +@+ %%BeginPaperSize: b2 +@+ /setpagedevice where +@+ { pop << /PageSize [1417 2004] >> setpagedevice } +@+ { /b2 where { pop b2 } if } +@+ ifelse +@+ %%EndPaperSize + +@ b3 353mm 500mm +@+ ! %%DocumentPaperSizes: b3 +@+ %%BeginPaperSize: b3 +@+ /setpagedevice where +@+ { pop << /PageSize [1001 1417] >> setpagedevice } +@+ { /b3 where { pop b3 } if } +@+ ifelse +@+ %%EndPaperSize + +@ b4 250mm 353mm +@+ ! %%DocumentPaperSizes: b4 +@+ %%BeginPaperSize: b4 +@+ /setpagedevice where +@+ { pop << /PageSize [709 1001] >> setpagedevice } +@+ { /b4 where { pop b4 } if } +@+ ifelse +@+ %%EndPaperSize + +@ b5 176mm 250mm +@+ ! %%DocumentPaperSizes: b5 +@+ %%BeginPaperSize: b5 +@+ /setpagedevice where +@+ { pop << /PageSize [499 709] >> setpagedevice } +@+ { /b5 where { pop b5 } if } +@+ ifelse +@+ %%EndPaperSize + +@ b6 125mm 176mm +@+ ! %%DocumentPaperSizes: b6 +@+ %%BeginPaperSize: b6 +@+ /setpagedevice where +@+ { pop << /PageSize [354 499] >> setpagedevice } +@+ { /b6 where { pop b6 } if } +@+ ifelse +@+ %%EndPaperSize + +@ c5 162mm 229mm +@+ ! %%DocumentPaperSizes: c5 +@+ %%BeginPaperSize: c5 +@+ /setpagedevice where +@+ { pop << /PageSize [459 649] >> setpagedevice } +@+ { /c5 where { pop c5 } if } +@+ ifelse +@+ %%EndPaperSize + +@ DL 110mm 220mm +@+ ! %%DocumentPaperSizes: DL +@+ %%BeginPaperSize: DL +@+ /setpagedevice where +@+ { pop << /PageSize [312 624] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ Comm10 105mm 241mm +@+ ! %%DocumentPaperSizes: Comm10 +@+ %%BeginPaperSize: Comm10 +@+ /setpagedevice where +@+ { pop << /PageSize [297 684] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ Monarch 98.4mm 190.5mm +@+ ! %%DocumentPaperSizes: Monarch +@+ %%BeginPaperSize: Monarch +@+ /setpagedevice where +@+ { pop << /PageSize [279 540] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ archE 36in 48in +@+ ! %%DocumentPaperSizes: archE +@+ %%BeginPaperSize: archE +@+ /setpagedevice where +@+ { pop << /PageSize [2592 3456] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ archD 24in 36in +@+ ! %%DocumentPaperSizes: archD +@+ %%BeginPaperSize: archD +@+ /setpagedevice where +@+ { pop << /PageSize [1728 2592] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ archC 18in 24in +@+ ! %%DocumentPaperSizes: archC +@+ %%BeginPaperSize: archC +@+ /setpagedevice where +@+ { pop << /PageSize [1296 1728] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ archB 12in 18in +@+ ! %%DocumentPaperSizes: archB +@+ %%BeginPaperSize: archB +@+ /setpagedevice where +@+ { pop << /PageSize [864 1296] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ archA 9in 12in +@+ ! %%DocumentPaperSizes: archA +@+ %%BeginPaperSize: archA +@+ /setpagedevice where +@+ { pop << /PageSize [648 864] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ flsa 216mm 330.2mm +@+ ! %%DocumentPaperSizes: flsa +@+ %%BeginPaperSize: flsa +@+ /setpagedevice where +@+ { pop << /PageSize [612 936] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ flse 216mm 330.2mm +@+ ! %%DocumentPaperSizes: flse +@+ %%BeginPaperSize: flse +@+ /setpagedevice where +@+ { pop << /PageSize [612 936] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ csheet 431.8mm 558.8mm +@+ ! %%DocumentPaperSizes: csheet +@+ %%BeginPaperSize: csheet +@+ /setpagedevice where +@+ { pop << /PageSize [1224 1584] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ dsheet 558.8mm 863.6mm +@+ ! %%DocumentPaperSizes: dsheet +@+ %%BeginPaperSize: dsheet +@+ /setpagedevice where +@+ { pop << /PageSize [1584 2448] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ esheet 863.6mm 1117.6mm +@+ ! %%DocumentPaperSizes: esheet +@+ %%BeginPaperSize: esheet +@+ /setpagedevice where +@+ { pop << /PageSize [2448 3168] >> setpagedevice } +@+ if +@+ %%EndPaperSize + +@ unknown 0in 0in +@+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin { +@+ setpageparams } stopped end } { true } ifelse { statusdict /setpage known +@+ { hsize vsize 1 statusdict begin { setpage } stopped pop end } if } if + +@ unknown 0in 0in +@+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin { +@+ setpageparams } stopped end } { true } ifelse { statusdict /setpage known +@+ { hsize vsize 1 statusdict begin { setpage } stopped pop end } if } if --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/texlive-bin/debianize-fmtutil +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/texlive-bin/debianize-fmtutil @@ -0,0 +1,429 @@ +# This file, debianize-fmtutil, is meant to be sourced by fmtutil and +# enhance the --enable and --disable options with the functionality +# needed to deal with Debian's generated fmtutil.cnf. +# $Id$ + +# This is the planned scheme how it works +# +# A for disablefmt: +# 1. create a list of files to act on (either in sysconfdir only, or in user dirs too) +# 2. grep for not-commented lines in these files that contain $fmt +# 3. if in syswide-mode, for each of these files, run configReplace appropriately; +# if not in syswide mode, for each of these files, +# test whether it is in the syswide dir +# 3.a if not, run configReplace appropriately +# 3b. if yes, create copy in user dir and run configReplace appropriately +# +# B for enableMap: +# 1. create a list of files to act on (either in sysconfdir only, or in user dirs too) +# 2. grep for commented lines in these files that contain $map +# 2.1. if any are found, check whether it is only one +# 2.1.1 if there is only one, run configReplace on that file appropriately +# 2.1.2 if there is more than one, the precedence is +# 20tetex-extra.cfg > XX*local*.cfg > 10tetex-base.cfg > any +# (extra has maximum priority because +# 2.1.2.1 if it's clear on which file to act, run configReplace on that file +# appropriately +# 2.1.2.2 if unclear (i.e. only "any"), exit with an error +# 2.2 if none are found, act on 10local.cfg (could be made configurable) +# - if 10local.cfg does not exist, create it (with an explanatory comment) +# - run configReplace on it appropriately +# +# C for syncwithtrees (and even more?) +# ? +# +# After that, update-fmtutil must be run (in the appropriate mode!), and then fmtutil +# must reexecute itself. Since disableMap is called by enableMap, we need a wrapper +# for it. + +############################################################################### +# verboseMsg(msg) +# print `msg' to stderr is $verbose is true +############################################################################### +verboseMsg() { + $verboseFlag && verbose echo ${1+"$@"} >&2 +} + +############################################################################### +# enablefmt(format) +# enables format in configuration file +############################################################################### +enablefmt() +{ + enableFmtInner $1 + runUpdate +} + +############################################################################### +# disablefmt(format) +# disables format in configuration file +############################################################################### +disablefmt() +{ + disableFmtInner $1 + runUpdate +} + +############################################################################### +# debianEditWarnAndShow() +# warn that this won't work +############################################################################### +debianEditWarnAndShow(){ + echo "Warning!" + echo "" + echo "In Debian, fmtutil.cnf, the format configuration file, is a generated file." + echo "The actual configuration files are in /etc/texmf/fmt.d." + echo "Please read the update-fmtutil(1) manpage and edit those files." + echo "" + echo "Instead of editing, you will now be shown fmtutil.cnf in a pager." + echo "" + echo "Press enter to continue." + read dummy + + sensible-pager $cnf_file + +} + +############################################################################### +# DebianSyswideMode () +# determine whether we are running in syswide mode (or user-specific) +############################################################################### +DebianSyswideMode(){ + test "$(id -u)" -eq 0 && return 0 || return 1 +} + +############################################################################### +# FindDebianUserdir () +# find the directory containing user-specific fmt.d snippets +############################################################################### +FindDebianUserdir(){ +# verboseMsg "entering FindDebianUserdir" + + texmfconfig=$(kpsewhich --expand-path '$TEXMFCONFIG') + OLDIFS="$IFS" + IFS=: + count=0 + for d in "$texmfconfig"; do + count=$(($count+1)) + : ${cnfdir:=$d} + if [ -d "$d/fmt.d" ]; then + defaultuserdir="$d/fmt.d" + break + fi + done + IFS="$OLDIFS" + # still empty? Pick one + if [ -z "$defaultuserdir" ]; then + if [ $count -eq 1 ]; then + defaultuserdir="$cnfdir/fmt.d" + else + echo "TEXMFCONFIG contains more than one directory, and none of them" >&2 + echo "already contains a fmt.d/ subdirectory." >&2 + echo "I don't know how to proceed here, stopping." >&2 + return + fi + fi + + /usr/share/texmf/web2c/mktexdir $defaultuserdir + if [ -d $defaultuserdir ]; then + echo $defaultuserdir + fi +} + +############################################################################### +# createDebianConffilelist +# create a list of configuration files containing fmtutil snippets; +# we are going to act on these +############################################################################### +createDebianConffilelist(){ +# verboseMsg "entering createDebianConffilelist" + + userFiles="" + local DebianConffilelist="" + syswideFiles=`find /etc/texmf/fmt.d -maxdepth 1 -type f -name '*.cnf'` + if ! DebianSyswideMode; then + debianuserdir=`FindDebianUserdir` + if [ -n "$debianuserdir" ]; then + userFiles=`find "$debianuserdir" -maxdepth 1 -type f -name '*.cnf'` + fi + fi + if [ -n "$userFiles" ]; then + for sysfile in $syswideFiles; do + for userfile in $userFiles; do + if [ ! "`basename $userfile`" = "`basename $sysfile`" ]; then + DebianConffilelist="$DebianConffilelist $sysfile" + fi + done + done + DebianConffilelist="$DebianConffilelist $userFiles" + else + DebianConffilelist="$syswideFiles" + fi + echo $DebianConffilelist +} + +############################################################################### +# snippetFileIsWritable (debCnfFile) +# checks whether we are (supposed to be) able to write to a file +############################################################################### +snippetFileIsWritable(){ + local file=$1 + + if DebianSyswideMode; then + return 0 + else + # /etc/texmf/fmt.d shouldn't be hardcoded + if [ "${file#/etc/texmf}" = "${file}" ]; then + # file is not in systemwide dir + return 0 + else + return 1 + fi + fi +} + +############################################################################### +# makeUserCopy (filename) +# create a copy in the user dir +############################################################################### +makeUserCopy(){ + local debCnfFile="$1" + + # create a copy of that file in the user dir + debianuserdir=`FindDebianUserdir` + newdebCnfFile="$debianuserdir/`basename $debCnfFile`" + verboseMsg "I'm not allowed to handle $fmt in $debCnfFile." >&2 + verboseMsg "Creating copy in $debianuserdir instead." >&2 + cp $debCnfFile $newdebCnfFile + echo "$newdebCnfFile" +} + +############################################################################### +# findUserfiles (filelist) +# pick user-specific files out of a filelist of configuration files +############################################################################### +findUserfiles(){ + userfiles="" + while [ $# -gt 0 ]; do + file="$1" + if [ "$file" = "${file#/etc/texmf/}" ]; then + # doesn't start with /etc/texmf/: must be user-specific + userfiles="$userfiles $file" + fi + shift; + done + echo $userfiles +} + +############################################################################### +# findRightMatchfile (format,filelist) +# find the right file from filelist to enable mapname +############################################################################### +findRightMatchfile(){ + fmt=$1; shift + matchfiles="$@" + local debCnfFile="" + + if [ $# -eq 1 ]; then + # it is only one, enable map in it. May we write it? + debCnfFile=$matchfiles + if ! snippetFileIsWritable $debCnfFile; then + debCnfFile=`makeUserCopy $debCnfFile` + fi + echo $debCnfFile + verboseMsg "Enabling format in $debCnfFile." + return 0 + else + # there are more than one; + if ! DebianSyswideMode; then + # can only change files in the user's dir + usermatchfiles=`findUserfiles $matchfiles` + if [ `(set $usermatchfiles; echo $#)` -eq 1 ]; then + # exactly one of them is a user-specific file + echo $usermatchfiles + verboseMsg "Enabling format in user-specific file $usermatchfiles." + return 0 + else + # two files in the user directory (as bad as two in the site-wide + # dir), or no user-specific files. If there are two user-specific + # files, report about them: + test -n "$usermatchfiles" && matchfiles="$usermatchfiles" || true + fi + fi + # for now, we exit with an error. Any sensible choice would have to + # check whether teTeX or texlive is installed, and I want to save me + # that hazzle. + cat >&2 <&2 <&2 + echo "Exiting" >&2 + exit 0 + ) + DebCnfFile=`pickLocalFile $fmt $debianuserdir` + fi +# # configReplace will try to grep in the file: touch it to prevent a error message +# touch $DebCnfFile + verboseMsg "Using local configuration file $DebCnfFile" + echo $DebCnfFile +} + +############################################################################### +# runUpdate +# run update-fmtutil +############################################################################### +runUpdate(){ + updOptions="" + if [ -n "$cfgparam" ]; then + # --conffile option was given on the command line + updOptions="--output-file $orig" + fi + # here we could check for an alternative user dir, or output file + # but as long as FindDebianUserdir only reports the default location, + # it doesn't make sense + + verboseMsg "Running update-fmtutil to merge the changed files" + update-fmtutil --quiet $updOptions +} + +############################################################################### +# disableFmtInner (map) +# disables fmt in config file (any type) (real command) +############################################################################### +disableFmtInner() +{ + fmt=$1 + noverbose="$2" + + local debCnfFile + + oldverbose="$verbose" + if [ -n "$noverbose" ]; then + # don't confuse users with disable messages when they called --enable +# verboseMsg "disabling verbosity" + verbose=false + fi + + + if [ -z "$DebianConffilelist" ]; then + DebianConffilelist=`createDebianConffilelist` + fi + + # create list of all files that contain an entry + for debCnfFile in $DebianConffilelist; do + if grep -q "^$fmt" $debCnfFile; then + if ! snippetFileIsWritable $debCnfFile; then + debCnfFile=`makeUserCopy $debCnfFile` + fi + verboseMsg "Disabling $fmt in $debCnfFile." + ed $debCnfFile >/dev/null 2>&1 <<-eof + g/^$fmt[ ]/s/^/#! / + w + q +eof + fi + done + + verbose="$oldverbose" + return 0 +} + +############################################################################### +# enableFmtInner (fmt) +# enables fmt in config file (any type) (real command) +############################################################################### +enableFmtInner(){ + fmt=$1 + local debCnfFile="" + + if [ -z "$DebianConffilelist" ]; then + DebianConffilelist=`createDebianConffilelist` + fi + + # a format should only be defined once, so we carefully disable + # everything about it here: + disableFmtInner "$fmt" noverbose + + # now enable with the right type. + # But we have to determine where to enable. + # is there already a file that contains a (commented) entry? + matchfiles="" + for file in $DebianConffilelist; do + if grep -q "^#![ ]*$fmt[ ]" "$file"; then + matchfiles="$matchfiles $file" + fi + done + if [ -n "$matchfiles" ]; then + # there is already (at least) one file that has a commented entry for our map + debCnfFile=`findRightMatchfile $fmt $matchfiles` + test -w "$debCnfFile" || debCnfFile="" + fi + if [ -z "$debCnfFile" ]; then + # still none, there is no (commented) entry in any writable file yet. + debCnfFile=`findRightLocalfile $fmt` + test -n "$debCnfFile" || abort "Cannot proceed. Exiting" + verboseMsg "Creating new entry for format $fmt in $debCnfFile" + fi + + ed $debCnfFile >/dev/null 2>&1 <<-eof + g/^#![ ]*$fmt[ ]/s/..[ ]*// + w + q +eof +} + + --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/man/man1/simpdftex.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/man/man1/simpdftex.1 @@ -0,0 +1,184 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. +.TH SIMPDFTEX "1" "April 2006" "2.18" "User Commands" +.SH NAME +simpdftex \- create pdf files via latex-dvips-gs instead of pdflatex +.SH SYNOPSIS +.B simpdftex +\fIformatname\fR +[options] +\fItex-or-dvi-file\fR +.SH DESCRIPTION +.PP +simpdftex is a way to do pdf{e}{la}tex without having pdf{e}{la}tex. It needs a +working TeX environment and ghostscript. Since pdf{e}{la}tex cannot handle +insertion of .eps graphics, simpdftex gives an alternative. The output for both +systems is comparable. +.PP +simpdftex compiles the file with {LA}TeX, processes the DVI file with dvips into +PostScript and uses gs to produce pdf (with ps2pdf). There is finegrained +control over the resulting filename and the options with which dvips produces +the PostScript intermediary file. +.PP +Dvips will call Metafont to produce bitmaps or include PostScript .pfb files +depending on the flags. See below. +.PP +Default settings is normal name, maximal use of pfb's, just like pdf{la}tex, +in other words, "pdftex file.tex" and "altpdftex file.tex" both produce an +output file file.pdf. For pdftex, output options are controlled by pdftex.cfg, +for altpdftext by config.ps (unless \fB\-\-pdf\fR is given). +.SH OPTIONS +.TP +formatname +.IP +Specifies the format to be used +.TP +tex\-or\-dvi\-file +.IP +If a .dvi file is given, skip the TeX process. Otherwise, TeX +the input file, dvips the resulting dvi file and ps2pdf the +resulting ps file +.TP +\fB\-\-help\fR +.IP +Display this message and exit +.TP +\fB\-\-no\-echo\-version\fR +.IP +Do not echo location and version of this script. Does not exit +so can be used tochange info to the output of a real run +.TP +\fB\-\-debug\fR +.IP +Add some debug output +.TP +\fB\-\-extendedname\fR +.IP +Depending on the mode, adds intermediary extensions to the +output filename. If the mode is \fB\-\-pdf\fR, .pdfmode is added. If +the mode is \fB\-\-maxpk\fR, ,maxpk is added and if the mode is +\fB\-\-maxpfb\fR, .maxpfb is added. Example: +.IP +tex\-or\-dvi\-file\-basename.maxpfb.pdf +.TP +\fB\-\-maxpk\fR +.IP +Use Metafont bitmaps (pk files) when possible. Only real +PostScript fonts (like Times Roman) are included as +PostScript fonts. All other fonts are included as bitmaps +for the default printer resolution. This options produces +optimal results for the chosen printer. +For file contents (not name) equivalent to: +\fB\-\-dvipsopts\fR "\-Ppk" +.TP +\fB\-\-maxpfb\fR +.IP +Use PostScript pfb files whenever possible. This produces +optimal results for the screen. +For file contents (not name) equivalent to: +\fB\-\-dvipsopts\fR "\-Poutline" +If any font is included as TeX pk bitmap, it is rendered +at the default resolution. +.TP +\fB\-\-pdf\fR +.IP +Select .pdfmode extension for the output file name if +\fB\-\-extendedname\fR has been set. Use printer definition +config.pdf. For file contents (not name) equivalent to +\fB\-\-dvipsopts\fR "\-Ppdf" +Note that the default config.pdf assumes resolution 8000 +for bitmaps and bitmap generation fails at this resolution +because there exists no known mode for that resolution. +.TP +\fB\-\-default\fR +.IP +Select no extension for the output file name, even if +\fB\-\-extendedfilename\fR has been set. Use standard printer +definition config.ps. For file contents (not name) equivalent +to: +\fB\-\-dvipsopts\fR "" \fB\-\-noextendedname\fR +.TP +\fB\-\-dvipsopts\fR +.IP +Give arbitrary arguments to dvips, e.g. +\fB\-\-dvipsopts\fR "\-M" +Sets extension for \fB\-\-extendedfilename\fR to .custom. \fB\-\-dvipsopts\fR +overrides other flags that set dvipsopts. +.TP +\fB\-\-extratexopts\fR +.IP +Give extra arbitrary arguments to tex, e.g. +\fB\-\-extratexopts\fR "\-\-interaction=nonstopmode" +Sets extra options for the tex command that is used. +.TP +\fB\-\-extradvipsopts\fR +.IP +Give extra arbitrary arguments to dvips, e.g. +\fB\-\-extradvipsopts\fR "\-M" +Sets extra options for dvips and does not set extension +or override other options. Options will be added to the end +of the options for dvips +.TP +\fB\-\-keep\-psfile\fR +.IP +After running dvips, copy the ps file over to the directory +where the tex file is, possibly overwriting a ps file +that is there. Use with caution, a ps file could be input +as well. +.TP +\fB\-\-tex\-path\fR +.IP +Give path of TeX binaries, use directory of this script +otherwise +.TP +\fB\-\-distiller\fR prog +.IP +Use a distiller different from ps2pdf which is the default. +Argument must be an executable or executable script that +gets called iwth two arguments: input file (PS) and output +file (PDF). E.g.: +\fB\-\-distiller=\fR/usr/local/alternate/bin/ps2pdf +\fB\-\-distiller\fR=\fIpstill\fR +Using this flag sets the distiller filter mode to off +.TP +\fB\-\-distiller\-filter\fR prog +.IP +Use a distiller executable or executable script which is +called with the PS input as standard input and which writes +the PDF output to standard output. E.g.: +\fB\-\-distiller\-filter\fR=\fIu\-psbuild\fR +.TP +\fB\-\-distiller\-path\fR +.IP +Give path needed by the distiller binary. This path is added +to the begin of you PATH environment before the distiller is +run. The reason is that for instance ps2pdf uses the path to +find gs and sets the path to something with /sw/bin at the +beginning. Thus, installing gs from fink would make +/usr/local/bin/ps2pdf find another gs than intended. By giving +an empty path, the path is not changed before the distiller +program is run. The default is empty. +.TP +\fB\-\-outdir\fR dir +.IP +Write files here *if* our current directory is unwritable. This +mimicks the TEXMFOUTPUT environment variable of TeX, but +differently. The current dir becomes the value of \fB\-\-outdir\fR and +the directory where the old current dir is added to TEXINPUTS. +This is more robust for reading and locating files. +You can also set TEXMFOUTPUT instead, but with a disadvantage: +you will be running TeXin the current dir. And you will not be +able to read files in the outdir unless you also adapt +TEXINPUTS. +.PP +The defaults for the distiller are +.IP +Path addition: "/usr/local/bin" +Filter mode: "no" +Program: "ps2pdf13" +.PP +Later flags override settings of earlier flags. +.SH AUTHORS +.B simpdftex +was written by Gerben Wierda and Joachim Kock. This manpage +was written by Norbert Preining for Debian/GNU Linux and may be used, +modified and/or distributed freely by anyone. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/man/man1/ps4pdf.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/man/man1/ps4pdf.1 @@ -0,0 +1,36 @@ +.TH PS4PDF "1" "April 2006" "ps4pdf" "User Commands" +.SH NAME +ps4pdf \- a shell script for creating .pdf from .tex +.SH SYNOPSIS +.B ps4pdf [--version|-h|--help|-q|-v] file +.SH DESCRIPTION +.PP +ps4pdf creates a .pdf file from a .tex file by calling latex, dvips, and +ps2pdf. +.SH OPTIONS +.TP +file +.IP +The TeX file which should be compiled into a pdf document. +.TP +\fB\-\-help\fR \fB\-h\fR +.IP +Display a short help message +.TP +\fB\-\-version\fR +.IP +Display the version of the script. +.TP +\fB\-v\fR +.IP +Be a bit noisy. +.TP +\fB\-q\fR +.IP +Be silent. +.SH AUTHORS +.B ps4pdf +was written by Thomas Esser. +This manpage +was written by Norbert Preining for Debian/GNU Linux and may be used, +modified and/or distributed freely by anyone. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/man/man1/pkfix.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/man/man1/pkfix.1 @@ -0,0 +1,42 @@ +.TH PKFIX "1" "May 2006" "PKFIX 1.3, 2005/02/25" "User Commands" +.SH NAME +pkfix \- replace pk fonts in postscript files with type1 versions +.SH SYNOPSIS +pkfix [options] +.SH DESCRIPTION +This program tries to replace pk fonts in +by the type 1 versions. The result is written in . +.PP +Options: (defaults in parenthesis) +.TP +\fB\-\-help\fR +print usage +.TP +\fB\-\-\fR(no)quiet +suppress messages (false) +.TP +\fB\-\-\fR(no)verbose +verbose printing (false) +.TP +\fB\-\-\fR(no)debug +debug informations (false) +.TP +\fB\-\-\fR(no)clean +clear temp files (true) +.TP +\fB\-\-\fR(no)usetex +use TeX for generating the DVI file (false) +.TP +\fB\-\-tex\fR texcmd +tex command name (plain format) (tex) +.TP +\fB\-\-dvips\fR dvipscmd +dvips command name (dvips) +.TP +\fB\-\-options\fR opt +dvips options (\fB\-Ppdf\fR \fB\-G0\fR) +.SH AUTHORS +.B pkfix +has been written by Heiko Oberdiek. This manual page has been written +by Norbert Preining for the Debian/GNU Linux distribution and may be +freely used, modified and/or distributed by anyone. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/man/man1/texconfig-dialog.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/man/man1/texconfig-dialog.1 @@ -0,0 +1,9 @@ +.TH texconfig-dialog 1 "February 2005" "teTeX" "teTeX" +.SH NAME +texconfig-dialog \- helper program for texconfig and texconfig-sys +.SH DESCRIPTION +.I texconfig-dialog +is a helper program for texconfig and texconfig-sys, see the respective +man pages for details. +.SH AUTHOR +Thomas Esser --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.root/usr/share/man/man1/pslatex.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.root/usr/share/man/man1/pslatex.1 @@ -0,0 +1,44 @@ +.TH "pslatex" "1" "September 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +pslatex \- utility to typeset LaTeX files using PostScript fonts +.PP +.SH "SYNOPSIS" +.PP +\fBpslatex\fP [\fILATEXARGS\fP] \fILATEXFILE\fP[\&.tex] +.PP +.SH "DESCRIPTION" +.PP +\fBpslatex\fP allows you to typeset a LaTeX source file using basic +Adobe Type 1 PostScript fonts (Times, Helvetica, and Courier) +\fIwithout\fP editing the file to load the necessary packages\&. +.PP +It takes any arguments that \fBlatex\fP(1) can take\&. +.PP +.SH "OPTIONS" +.PP +None\&. +.PP +.SH "FILES" +.PP +Many\&. See the readme file for \fIpslatex\&.sty\fP\&. +.PP +.SH "SEE ALSO" +.PP +\fBlatex\fP(1), \fI\fITEXMF\fP/latex/pslatex/00readme\&.txt\fP +.PP +.SH "BUGS" +.PP +None known\&. Report any found to the author\&. +.PP +.SH "AUTHOR" +.PP +\fBpslatex\fP was written by David Carlisle +\&. +.PP +This manual page was written by C\&.M\&. Connelly +, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. --- texlive-bin-2007.dfsg.1.orig/debian/texlive-extra-utils.root/usr/share/man/man1/pdfcrop.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-extra-utils.root/usr/share/man/man1/pdfcrop.1 @@ -0,0 +1,58 @@ +.TH PDFCROP "1" "May 2006" "pdfcrop" "1.5, 2004/06/24 - Copyright (c) 2002, 2004 by Heiko Oberdiek" +.SH NAME +PDFCROP \- crop pdf files to their minimal size. +.SH SYNOPSIS +.B pdfcrop +[\fIOPTIONS\fR ...] \fBinput\fR[.pdf] [\FIoutput file\fR] +.SH DESCRIPTION +.B pdfcrop +is a utility to calculate and remove empty margins from each page in +the input PDF file. The resulting output file occupies the minimal +paper size needed for the contents and is therefore suitable for +inclusion as a graphic +.SH OPTIONS +.TP +\fB\-\-help\fR +print usage +.TP +\fB\-\-version\fR +print version +.TP +\fB\-\-\fR(\fBno\fR)\fBverbose\fR +verbose printing (default: false) +.TP +\fB\-\-\fR(\fBno\fR)\fBdebug\fR +debug informations (default: false) +.TP +\fB\-\-gscmd\fR +call of ghostscript (default: gs) +.TP +\fB\-\-pdftexcmd\fR +call of pdfTeX (default: pdftex) +.TP +\fB\-\-margins\fR " " +(0 0 0 0) +add extra margins, unit is bp. If only one number is +given, then it is used for all margins, in the case +of two numbers they are also used for right and bottom. +.TP +\fB\-\-\fR(\fBno\fR)\fBclip +clipping support, if margins are set (default: false) +.TP +\fB\-\-\fR(\fBno\fR)\fBhires +using `%%HiResBoundingBox' instead of `%%BoundingBox' (default: false) +.TP +\fB\-\-papersize\fR +parameter for gs's \fB\-sPAPERSIZE=\fR, +use only with older gs versions <7.32 +.SH EXAMPLES +.IP +pdfcrop \fB\-\-margins\fR 10 input.pdf output.pdf +.IP +pdfcrop \fB\-\-margins\fR '5 10 5 20' \fB\-\-clip\fR input.pdf output.pdf +.SH "AUTHORS" +.B pdfcrop +has been written by Heiko Oberdiek. This manual page has been written +by Frank K\[:u]ster for the Debian/GNU Linux distribution and may be +freely used, modified and/or distributed by anyone. + --- texlive-bin-2007.dfsg.1.orig/debian/texlive-extra-utils.root/usr/share/man/man1/bibtex8.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-extra-utils.root/usr/share/man/man1/bibtex8.1 @@ -0,0 +1,92 @@ +.TH BIBTEX8 "1" "April 2006" "bibtex8 3.71" "User Commands" +.SH NAME +bibtex8 \- 8-bit Big BibTeX version 0.99c +.SH SYNOPSIS +.B bibtex8 +[\fIoptions\fR] \fIaux-file\fR +.SH DESCRIPTION +.PP +8-bit BibTeX is an enhanced, portable C version of BibTeX 0.99. It has been +enhanced in these areas: +.PP +- conversion to "big" (32-bit) capacity +.PP +- capacity selectable at run time +.PP +- flexible support for non-English languages using 8-bit character sets +.PP +- well matched to LateX2e and its "inputenc" package +.PP +Oren Patashnik, the creator of BibTeX, is working on a new BibTeX 1.0 that +will be a modern implementation supporting large capacities and non-English +languages (see TUGboat, pages 269--274, volume 15, number 3, September 1994). +He is content for this version to be released, but hopes that people will +eventually migrate to BibTeX 1.0 when it is released. Its release date is +uncertain at the moment. +.SH OPTIONS +.TP +\-? \fB\-\-help\fR +display this help text +.TP +\fB\-7\fR \fB\-\-traditional\fR +operate in the original 7\-bit mode +.TP +\fB\-8\fR \fB\-\-8bit\fR +force 8\-bit mode, no CS file used +.TP +\fB\-c\fR \fB\-\-csfile\fR FILE +read FILE as the BibTeX character set +and sort definition file +.TP +\fB\-d\fR \fB\-\-debug\fR TYPE +report debugging information. TYPE is one +or more of all, csf, io, mem, misc, search. +.TP +\fB\-s\fR \fB\-\-statistics\fR +report internal statistics +.TP +\fB\-t\fR \fB\-\-trace\fR +report execution tracing +.TP +\fB\-v\fR \fB\-\-version\fR +report BibTeX version +.TP +\fB\-B\fR \fB\-\-big\fR +set large BibTeX capacity +.TP +\fB\-H\fR \fB\-\-huge\fR +set huge BibTeX capacity +.TP +\fB\-W\fR \fB\-\-wolfgang\fR +set really huge BibTeX capacity for Wolfgang +.TP +\fB\-M\fR \fB\-\-min_crossrefs\fR ## +set min_crossrefs to ## +.TP +\fB\-\-mcites\fR ## +allow ## \ecites in the .aux files +.TP +\fB\-\-mentints\fR ## +allow ## integer entries in the .bib databases +.TP +\fB\-\-mentstrs\fR ## +allow ## string entries in the .bib databases +.TP +\fB\-\-mfields\fR ## +allow ## fields in the .bib databases +.TP +\fB\-\-mpool\fR ## +set the string pool to ## bytes +.TP +\fB\-\-mstrings\fR ## +allow ## unique strings +.TP +\fB\-\-mwizfuns\fR ## +allow ## wizard functions +.SH AUTHORS +.B bibtex8 +was written by Niel Kempson and +Alejandro Aguilar-Sierra . This manpage +was written by Norbert Preining for Debian/GNU Linux and may be used, +modified and/or distributed freely by anyone. + --- texlive-bin-2007.dfsg.1.orig/debian/texlive-extra-utils.root/usr/share/man/man1/pdfopen.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-extra-utils.root/usr/share/man/man1/pdfopen.1 @@ -0,0 +1,49 @@ +.TH PDFOPEN "1" "April 2006" "pdfopen 0.4: Acrobat Reader remote control" "User Commands" +.SH NAME +pdfopen, pdfclose \- manual page for pdfopen 0.4: Acrobat Reader remote control +.SH DESCRIPTION +.B pdfopen +and +.B pdfclose +can be used to control a running instance of Acrobat Reader. +.IP +pdfopen [\-\-file +.I +] +.IP +pdfclose [\-\-file +.I +] +.PP +Without argument, the +.B pdfopen +program sends a "Ctrl\-<\-" to an existing X window with the name +.B Acrobat Reader, +and "Alt-<-" to a window with the name +.B AdobeReader, +if such windows exist. +.B pdfclose +sends a "Ctrl\-w" instead. +.SH OPTIONS +.TP +\-\-file +With this argument, +.B pdfclose +closes an existing window with the name , and +.B pdfopen +opens a window with the name (starting a reader if +necesary), or it reloads if it was already open. +.TP +--all,--page +These arguments, accepted by Fabrice Popineau's Windows originals of +.B pdfopen +and +.B pdfclose, +are silently ignored. +.SH AUTHORS +.B pdfopen +and +.B pdfclose +are written by Taco Hoekwater . This manpage has +been written by Frank K\[:u]ster for Debian/GNU Linux and may be used, +modified and/or distributed freely by anyone. --- texlive-bin-2007.dfsg.1.orig/debian/patches/00_Build_script +++ texlive-bin-2007.dfsg.1/debian/patches/00_Build_script @@ -0,0 +1,38 @@ +--- + build/source/Build | 22 ++++++++++++++++++---- + 1 file changed, 18 insertions(+), 4 deletions(-) + +Index: texlive-bin-2007/build/source/Build +=================================================================== +--- texlive-bin-2007.orig/build/source/Build 2006-12-14 03:12:38.000000000 +0100 ++++ texlive-bin-2007/build/source/Build 2007-02-14 15:56:00.000000000 +0100 +@@ -47,11 +47,25 @@ + + # Force building xdvi-xaw; motif is not always free and/or available. + # --enable-gif is for sam2p; the gif patent has expired worldwide. +-(set -x; \ +- time $TL_CONFIGURE \ ++case $1 in ++ configure) ++ shift ++ (set -x; \ ++ $TL_CONFIGURE \ + --prefix=$TL_INSTALL_DEST \ + --datadir=$TL_INSTALL_DEST \ + $TL_XDVI_TOOLKIT \ + $TL_CONFIGURE_ARGS \ +- "$@" \ +- && time $TL_MAKE $TL_TARGET) ++ "$@" ) ++ ;; ++ build) ++ # not make world, this would strip ++ shift ++ make all ++ make install ++ ;; ++ *) ++ echo "This script must be invoked with argument configure or build" ++ ;; ++esac ++ --- texlive-bin-2007.dfsg.1.orig/debian/patches/51_fmtutil_keep_failedlog +++ texlive-bin-2007.dfsg.1/debian/patches/51_fmtutil_keep_failedlog @@ -0,0 +1,29 @@ +--- + build/source/texk/tetex/fmtutil | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +Index: texlive-bin-2007/build/source/texk/tetex/fmtutil +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/fmtutil 2007-04-13 14:04:31.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/tetex/fmtutil 2007-04-13 14:09:48.000000000 +0200 +@@ -696,9 +696,7 @@ + if test -f $fmtfile; then + grep '^! ' $format.log >/dev/null 2>&1 && + log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." +- rm -f "$fulldestdir/$format.log" +- # We don't want user-interaction for the following "mv" commands: +- mv "$format.log" "$fulldestdir/$format.log" etc etc +## +## DP: Fixes wrong paths in various scripts to make lintian shut up. +## DP: Fix creation of ls-R in root's homedir +## DP: Also add a note to the man page of mktexlsr about the above fix + + build/source/texk/kpathsea/mktexlsr | 24 ++++++++++++------------ + texmf/doc/man/man1/mktexlsr.1 | 9 +++++++++ + 2 files changed, 21 insertions(+), 12 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexlsr +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/mktexlsr 2006-12-25 19:44:43.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexlsr 2007-01-26 03:55:05.000000000 +0100 +@@ -82,6 +82,9 @@ + ' + set x `kpsewhich --show-path=ls-R | tr : ' + ' | sort | uniq`; shift ++ if test "`id -u`" -eq 0; then ++ NOROOTHOME=true ++ fi + IFS=$OIFS + } + +@@ -89,6 +92,10 @@ + # Prepend cwd if the directory was relative. + case "$TEXMFLS_R" in + "") continue ;; # Strictly speaking, it is an error if this case is taken. ++ $HOME/*) if test -n "$NOROOTHOME"; then ++ tty -s && echo "$progname: Skipping $TEXMFLS_R" >&2 ++ continue ++ fi ;; + /* | [A-z]:/*) ;; + *) TEXMFLS_R="`pwd`/$TEXMFLS_R" + esac +@@ -112,9 +119,9 @@ + db_dir=`echo "$db_file" | sed 's%/[^/][^/]*$%%'` # can't rely on dirname + + test -d "$db_dir" || continue +- test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; } + + if test ! -f "$db_file"; then ++ test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; } + cp /dev/null "$db_file" + # Use same permissions as parent directory, minus x,s, or t bits. + chmod `kpsestat -xst "$db_dir"` "$db_file" +@@ -128,11 +135,8 @@ + # Skip if we cannot write the file: + kpseaccess -w "$db_file" || { echo "$progname: $db_file: no write permission. Skipping..." >&2; continue; } + +- db_dir_tmp="$db_dir/lsR$$.tmp" +- (umask 077 && mkdir "$db_dir_tmp" ) \ +- || { echo "$progname: could not create directory '$db_dir_tmp'. Skipping..." >&2; continue; } +- db_file_tmp="$db_dir_tmp/lsR$$.tmp" +- rm -f "$db_file_tmp" ++ db_file_tmp=`tempfile -p ls-R` \ ++ || { echo "$progname: could not create temporary file for '$db_file'. Skipping..." >&2; continue; } + + $verbose && echo "$progname: Updating $db_file... " >&2 + echo "$ls_R_magic" >"$db_file_tmp" +@@ -152,12 +156,8 @@ + | sed -e '/\.svn.*:$/,/^$/d' \ + >>"$db_file_tmp" + +- # To be really safe, a loop. +- until PERMS=`kpsestat = "$db_file"`; do sleep 1; done +- chmod $PERMS "$db_file_tmp" +- rm -f "$db_file" +- mv "$db_file_tmp" "$db_file" +- rm -rf "$db_dir_tmp" ++ cat "$db_file_tmp" > "$db_file" ++ rm -f "$db_file_tmp" + done + $verbose && echo "$progname: Done." >&2 + exit 0 +Index: texlive-bin-2006.svn3816/texmf/doc/man/man1/mktexlsr.1 +=================================================================== +--- texlive-bin-2006.svn3816.orig/texmf/doc/man/man1/mktexlsr.1 2007-01-14 19:01:06.000000000 +0100 ++++ texlive-bin-2006.svn3816/texmf/doc/man/man1/mktexlsr.1 2007-01-26 03:55:05.000000000 +0100 +@@ -44,3 +44,12 @@ + .B --version + .rb + Print version information and exit. ++.\"===================================================================== ++.SH NOTES ++When called by root with no arguments, \fBmktexlsr\fP in Debian ignores ++TEXMF trees under \fI$HOME\fP. This is to avoid creating undesirable files ++such as \fI/root/texmf/ls-R\fP when doing usual maintainance (it is generally ++a bad idea to work with TeX as root, therefore having a file such as ++\fI/root/texmf/ls-R\fP in the first place is rather pointless). If you really ++want to update the ls-R databases for such TEXMF trees, simply list them ++explicitely on the command-line. --- texlive-bin-2007.dfsg.1.orig/debian/patches/series +++ texlive-bin-2007.dfsg.1/debian/patches/series @@ -0,0 +1,48 @@ +00_Build_script +01_tmp_configure_without_installextra +a2ping-upstream-fixes +a2ping-man-fixes +10_mktexlsr_fixes +11_fix_pkfix_invocation +12_fix_epstopdf_invocation +12a_fix_thumbpdf_invocation +12b_fix_a2ping_invocation +12c_fix_pdfcrop_invocation +12d_fix_ebong_invocation +12e_fix_vpe_invocation +13_fmtutil_fixes +#14_etex_takes_buildformat +16_texdoctk +17_texdoc +19_dvipdfm_config +22_xdvi +23_use_xdvi.bin +# for backports with poppler << 0.5 (etch) +#30_libpoppler_0.4.5 +# for new libpoppler +#30_libpoppler_0.5.4 +# for double new libpoppler >= 0.5.9 (unstable) +30_libpoppler_0.5.9 +#31_pdftex_gcc_ICE-on-alpha +32_dvips_fontbug_fix_upstream +41_maketexmf +50_fmtutil_deb +51_fmtutil_keep_failedlog +53_builtin-searchpath-fix +54_checklib_fixes +55_texconfig_stuff +56_updmap_deb +#60_getnonfreefonts_bash +61_dvipdfm_timezone +62_dvips_absolutepath_doc +63_texmf.cnf_for_comparison_temp +64_fix_makempx_installation +xetex-0996-patch1 +config.ps-update +dviljk-security-fixes +icu-powerpc-buildfix-patch +disable-character-shifting +gcc43-compile-fix +# disabled, should we do this? +#metapost-1.0 +hps-segfault-fix --- texlive-bin-2007.dfsg.1.orig/debian/patches/11_fix_pkfix_invocation +++ texlive-bin-2007.dfsg.1/debian/patches/11_fix_pkfix_invocation @@ -0,0 +1,23 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 11_fix_pkfix_invocation.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix invocation of pkfix to get rid of magic + +@DPATCH@ + build/source/texk/texlive/pkfix | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/texlive/pkfix +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/texlive/pkfix 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/texlive/pkfix 2007-01-26 03:56:42.000000000 +0100 +@@ -1,7 +1,4 @@ +-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' +- if 0; +-use strict; +-$^W=1; # turn warning on ++#!/usr/bin/perl -w + # + # pkfix.pl + # --- texlive-bin-2007.dfsg.1.orig/debian/patches/31_pdftex_gcc_ICE-on-alpha +++ texlive-bin-2007.dfsg.1/debian/patches/31_pdftex_gcc_ICE-on-alpha @@ -0,0 +1,24 @@ +--- + build/source/texk/web2c/pdftexdir/writezip.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/writezip.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/writezip.c 2007-04-16 15:31:57.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/writezip.c 2007-04-16 15:32:16.000000000 +0200 +@@ -51,7 +51,15 @@ + for (;;) { + if (c_stream.avail_out == 0) { + pdfgone += xfwrite(zipbuf, 1, ZIP_BUF_SIZE, pdffile); ++#ifdef __alpha__ ++ /* work around http://gcc.gnu.org/PR28623 */ ++ { ++ volatile int o = ZIP_BUF_SIZE - 1; ++ pdflastbyte = zipbuf[o]; ++ } ++#else + pdflastbyte = zipbuf[ZIP_BUF_SIZE - 1]; /* not needed */ ++#endif + c_stream.next_out = (Bytef *) zipbuf; + c_stream.avail_out = ZIP_BUF_SIZE; + } --- texlive-bin-2007.dfsg.1.orig/debian/patches/12a_fix_thumbpdf_invocation +++ texlive-bin-2007.dfsg.1/debian/patches/12a_fix_thumbpdf_invocation @@ -0,0 +1,19 @@ +12a_fix_thumbpdf_invocation.dpatch +Fix invocation of thumbpdf to get rid of magic +--- + build/source/texk/tetex/thumbpdf | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +Index: texlive-bin-2007/build/source/texk/tetex/thumbpdf +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/thumbpdf 2005-07-06 13:03:00.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/tetex/thumbpdf 2007-05-19 16:30:21.000000000 +0200 +@@ -1,7 +1,4 @@ +-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' +- if 0; +-use strict; +-$^W=1; # turn warning on ++#!/usr/bin/perl -w + # + # thumbpdf.pl + # --- texlive-bin-2007.dfsg.1.orig/debian/patches/12b_fix_a2ping_invocation +++ texlive-bin-2007.dfsg.1/debian/patches/12b_fix_a2ping_invocation @@ -0,0 +1,29 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 12b_fix_a2ping_invocation.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix invocation of a2ping to get rid of magic + +@DPATCH@ +--- + build/source/texk/tetex/a2ping | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/tetex/a2ping +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/tetex/a2ping 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/tetex/a2ping 2007-01-26 03:58:02.000000000 +0100 +@@ -1,11 +1,5 @@ +-#! /bin/sh +-eval '(exit $?0)' && eval 'PERL_BADLANG=x;export PERL_BADLANG;: \ +-;exec perl -x -S -- "$0" ${1+"$@"};#'if 0; +-eval 'setenv PERL_BADLANG x;exec perl -x -S -- "$0" $argv:q;#'.q+ +-#!perl -w +-package Htex::a2ping; $0=~/(.*)/s;unshift@INC,'.';do($1);die$@if$@;__END__+if !1; +-# This Perl script was generated by JustLib2 at Wed Apr 23 09:14:13 2003. +-# Don't touch/remove any lines above; http://www.inf.bme.hu/~pts/justlib ++#! /usr/bin/perl -w ++package Htex::a2ping; + # + # This program is free software, licensed under the GNU GPL, >=2.0. + # This software comes with absolutely NO WARRANTY. Use at your own risk! --- texlive-bin-2007.dfsg.1.orig/debian/patches/01_tmp_configure_without_installextra +++ texlive-bin-2007.dfsg.1/debian/patches/01_tmp_configure_without_installextra @@ -0,0 +1,1147 @@ +--- + build/source/configure | 272 +++++++++++++++++++----------------- + build/source/configure.in | 3 + build/source/texk/web2c/Makefile.in | 2 + build/source/withenable.ac | 3 + 4 files changed, 151 insertions(+), 129 deletions(-) + +Index: texlive-bin-2007/build/source/configure +=================================================================== +--- texlive-bin-2007.orig/build/source/configure 2007-02-19 18:03:57.000000000 +0100 ++++ texlive-bin-2007/build/source/configure 2007-02-19 18:04:06.000000000 +0100 +@@ -35,6 +35,8 @@ + ac_help="$ac_help + --without-texinfo do not build the texinfo package" + ac_help="$ac_help ++ --without-install-extra do not initialize the installed tree" ++ac_help="$ac_help + --without-bibtex8 do not build the bibtex8 package" + ac_help="$ac_help + --without-cjkutils do not build the cjkutils package" +@@ -55,6 +57,8 @@ + ac_help="$ac_help + --without-dvipng do not build the dvipng package" + ac_help="$ac_help ++ --without-dvipos do not build the dvipos package" ++ac_help="$ac_help + --without-dvipsk do not build the dvipsk package" + ac_help="$ac_help + --without-gsftopk do not build the gsftopk package" +@@ -789,7 +793,7 @@ + ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + + echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 +-echo "configure:793: checking whether ${MAKE-make} sets \${MAKE}" >&5 ++echo "configure:797: checking whether ${MAKE-make} sets \${MAKE}" >&5 + set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -818,7 +822,7 @@ + # Extract the first word of "gcc", so it can be a program name with args. + set dummy gcc; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:822: checking for $ac_word" >&5 ++echo "configure:826: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -849,7 +853,7 @@ + # Extract the first word of "cc", so it can be a program name with args. + set dummy cc; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:853: checking for $ac_word" >&5 ++echo "configure:857: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -901,7 +905,7 @@ + # Extract the first word of "cl", so it can be a program name with args. + set dummy cl; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:905: checking for $ac_word" >&5 ++echo "configure:909: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -934,7 +938,7 @@ + fi + + echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +-echo "configure:938: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ++echo "configure:942: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +@@ -945,12 +949,12 @@ + + cat > conftest.$ac_ext << EOF + +-#line 949 "configure" ++#line 953 "configure" + #include "confdefs.h" + + main(){return(0);} + EOF +-if { (eval echo configure:954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then +@@ -976,12 +980,12 @@ + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } + fi + echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +-echo "configure:980: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 ++echo "configure:984: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 + echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 + cross_compiling=$ac_cv_prog_cc_cross + + echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +-echo "configure:985: checking whether we are using GNU C" >&5 ++echo "configure:989: checking whether we are using GNU C" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -990,7 +994,7 @@ + yes; + #endif + EOF +-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes + else + ac_cv_prog_gcc=no +@@ -1009,7 +1013,7 @@ + ac_save_CFLAGS="$CFLAGS" + CFLAGS= + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +-echo "configure:1013: checking whether ${CC-cc} accepts -g" >&5 ++echo "configure:1017: checking whether ${CC-cc} accepts -g" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1045,7 +1049,7 @@ + # Extract the first word of "$ac_prog", so it can be a program name with args. + set dummy $ac_prog; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:1049: checking for $ac_word" >&5 ++echo "configure:1053: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1078,7 +1082,7 @@ + + + echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +-echo "configure:1082: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 ++echo "configure:1086: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 + + ac_ext=C + # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +@@ -1089,12 +1093,12 @@ + + cat > conftest.$ac_ext << EOF + +-#line 1093 "configure" ++#line 1097 "configure" + #include "confdefs.h" + + int main(){return(0);} + EOF +-if { (eval echo configure:1098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cxx_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then +@@ -1120,12 +1124,12 @@ + { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } + fi + echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +-echo "configure:1124: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 ++echo "configure:1128: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 + echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 + cross_compiling=$ac_cv_prog_cxx_cross + + echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 +-echo "configure:1129: checking whether we are using GNU C++" >&5 ++echo "configure:1133: checking whether we are using GNU C++" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1134,7 +1138,7 @@ + yes; + #endif + EOF +-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1138: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ++if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gxx=yes + else + ac_cv_prog_gxx=no +@@ -1153,7 +1157,7 @@ + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS= + echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 +-echo "configure:1157: checking whether ${CXX-g++} accepts -g" >&5 ++echo "configure:1161: checking whether ${CXX-g++} accepts -g" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1188,7 +1192,7 @@ + # Extract the first word of "flex", so it can be a program name with args. + set dummy flex; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:1192: checking for $ac_word" >&5 ++echo "configure:1196: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1223,7 +1227,7 @@ + *) ac_lib=l ;; + esac + echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 +-echo "configure:1227: checking for yywrap in -l$ac_lib" >&5 ++echo "configure:1231: checking for yywrap in -l$ac_lib" >&5 + ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -1231,7 +1235,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-l$ac_lib $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -1286,7 +1290,7 @@ + # Extract the first word of "$ac_prog", so it can be a program name with args. + set dummy $ac_prog; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:1290: checking for $ac_word" >&5 ++echo "configure:1294: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1362,7 +1366,7 @@ + fi + + echo $ac_n "checking host system type""... $ac_c" 1>&6 +-echo "configure:1366: checking host system type" >&5 ++echo "configure:1370: checking host system type" >&5 + + host_alias=$host + case "$host_alias" in +@@ -1383,7 +1387,7 @@ + echo "$ac_t""$host" 1>&6 + + echo $ac_n "checking target system type""... $ac_c" 1>&6 +-echo "configure:1387: checking target system type" >&5 ++echo "configure:1391: checking target system type" >&5 + + target_alias=$target + case "$target_alias" in +@@ -1401,7 +1405,7 @@ + echo "$ac_t""$target" 1>&6 + + echo $ac_n "checking build system type""... $ac_c" 1>&6 +-echo "configure:1405: checking build system type" >&5 ++echo "configure:1409: checking build system type" >&5 + + build_alias=$build + case "$build_alias" in +@@ -1425,7 +1429,7 @@ + + + echo $ac_n "checking whether to define additional compiler specific flags""... $ac_c" 1>&6 +-echo "configure:1429: checking whether to define additional compiler specific flags" >&5 ++echo "configure:1433: checking whether to define additional compiler specific flags" >&5 + case "$target" in + alpha*-dec*) + if test "$CC" = "cc"; then +@@ -1449,12 +1453,12 @@ + esac + + echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 +-echo "configure:1453: checking for sys/wait.h that is POSIX.1 compatible" >&5 ++echo "configure:1457: checking for sys/wait.h that is POSIX.1 compatible" >&5 + if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + #include +@@ -1470,7 +1474,7 @@ + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + ; return 0; } + EOF +-if { (eval echo configure:1474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ++if { (eval echo configure:1478: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_header_sys_wait_h=yes + else +@@ -1503,7 +1507,7 @@ + # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" + # ./install, which can be erroneously created by make from ./install.sh. + echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +-echo "configure:1507: checking for a BSD compatible install" >&5 ++echo "configure:1511: checking for a BSD compatible install" >&5 + if test -z "$INSTALL"; then + if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -1558,7 +1562,7 @@ + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 +-echo "configure:1562: checking whether ${MAKE-make} sets \${MAKE}" >&5 ++echo "configure:1566: checking whether ${MAKE-make} sets \${MAKE}" >&5 + set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -1585,7 +1589,7 @@ + fi + + echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 +-echo "configure:1589: checking whether ln -s works" >&5 ++echo "configure:1593: checking whether ln -s works" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1608,7 +1612,7 @@ + fi + + echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +-echo "configure:1612: checking how to run the C preprocessor" >&5 ++echo "configure:1616: checking how to run the C preprocessor" >&5 + # On Suns, sometimes $CPP names a directory. + if test -n "$CPP" && test -d "$CPP"; then + CPP= +@@ -1623,13 +1627,13 @@ + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext < + Syntax Error + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1637: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -1640,13 +1644,13 @@ + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext < + Syntax Error + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1654: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -1657,13 +1661,13 @@ + rm -rf conftest* + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext < + Syntax Error + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:1667: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:1671: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + : +@@ -1690,19 +1694,19 @@ + # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works + # for constant arguments. Useless! + echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 +-echo "configure:1694: checking for working alloca.h" >&5 ++echo "configure:1698: checking for working alloca.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + int main() { + char *p = alloca(2 * sizeof(int)); + ; return 0; } + EOF +-if { (eval echo configure:1706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_header_alloca_h=yes + else +@@ -1723,12 +1727,12 @@ + fi + + echo $ac_n "checking for alloca""... $ac_c" 1>&6 +-echo "configure:1727: checking for alloca" >&5 ++echo "configure:1731: checking for alloca" >&5 + if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_func_alloca_works=yes + else +@@ -1788,12 +1792,12 @@ + + + echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 +-echo "configure:1792: checking whether alloca needs Cray hooks" >&5 ++echo "configure:1796: checking whether alloca needs Cray hooks" >&5 + if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <&6 +-echo "configure:1822: checking for $ac_func" >&5 ++echo "configure:1826: checking for $ac_func" >&5 + if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:1854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" + else +@@ -1873,7 +1877,7 @@ + fi + + echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 +-echo "configure:1877: checking stack direction for C alloca" >&5 ++echo "configure:1881: checking stack direction for C alloca" >&5 + if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1881,7 +1885,7 @@ + ac_cv_c_stack_direction=0 + else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:1908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_cv_c_stack_direction=1 + else +@@ -1924,7 +1928,7 @@ + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; ac_word=$2 + echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +-echo "configure:1928: checking for $ac_word" >&5 ++echo "configure:1932: checking for $ac_word" >&5 + if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -1957,7 +1961,7 @@ + # Uses ac_ vars as temps to allow command line to override cache and checks. + # --without-x overrides everything else, but does not touch the cache. + echo $ac_n "checking for X""... $ac_c" 1>&6 +-echo "configure:1961: checking for X" >&5 ++echo "configure:1965: checking for X" >&5 + + # Check whether --with-x or --without-x was given. + if test "${with_x+set}" = set; then +@@ -2019,12 +2023,12 @@ + + # First, try using that file with no special directory specified. + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:2028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:2032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -2094,14 +2098,14 @@ + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" + cat > conftest.$ac_ext < + int main() { + ${x_direct_test_function}(${x_direct_test_arguments}) + ; return 0; } + EOF +-if { (eval echo configure:2105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:2109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + LIBS="$ac_save_LIBS" + # We can link X programs with no special library path. +@@ -2337,6 +2341,13 @@ + fi + + ++# Check whether --with-install-extra or --without-install-extra was given. ++if test "${with_install_extra+set}" = set; then ++ withval="$with_install_extra" ++ : ++fi ++ ++ + + + # Check whether --with-bibtex8 or --without-bibtex8 was given. +@@ -2399,6 +2410,12 @@ + : + fi + ++# Check whether --with-dvipos or --without-dvipos was given. ++if test "${with_dvipos+set}" = set; then ++ withval="$with_dvipos" ++ : ++fi ++ + # Check whether --with-dvipsk or --without-dvipsk was given. + if test "${with_dvipsk+set}" = set; then + withval="$with_dvipsk" +@@ -2505,7 +2522,7 @@ + + + echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 +-echo "configure:2509: checking whether to enable maintainer-specific portions of Makefiles" >&5 ++echo "configure:2526: checking whether to enable maintainer-specific portions of Makefiles" >&5 + # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. + if test "${enable_maintainer_mode+set}" = set; then + enableval="$enable_maintainer_mode" +@@ -2524,7 +2541,7 @@ + + + echo $ac_n "checking for loader (symbol LD)""... $ac_c" 1>&6 +-echo "configure:2528: checking for loader (symbol LD)" >&5 ++echo "configure:2545: checking for loader (symbol LD)" >&5 + if eval "test \"`echo '$''{'cf_cv_subst_LD'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -2538,7 +2555,7 @@ + + + echo $ac_n "checking for archiver (symbol AR)""... $ac_c" 1>&6 +-echo "configure:2542: checking for archiver (symbol AR)" >&5 ++echo "configure:2559: checking for archiver (symbol AR)" >&5 + if eval "test \"`echo '$''{'cf_cv_subst_AR'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -2552,7 +2569,7 @@ + + + echo $ac_n "checking for archiver options (symbol ARFLAGS)""... $ac_c" 1>&6 +-echo "configure:2556: checking for archiver options (symbol ARFLAGS)" >&5 ++echo "configure:2573: checking for archiver options (symbol ARFLAGS)" >&5 + if eval "test \"`echo '$''{'cf_cv_subst_ARFLAGS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -2622,7 +2639,7 @@ + + + echo $ac_n "checking where the main texmf tree is located""... $ac_c" 1>&6 +-echo "configure:2626: checking where the main texmf tree is located" >&5 ++echo "configure:2643: checking where the main texmf tree is located" >&5 + case $prefix in + */) prefix=`echo "$prefix" | sed 's@/*$@@'`;; + esac +@@ -2756,12 +2773,12 @@ + # -lsocket is needed on Solaris, at least. Maybe -lnsl on SCO, too? + # See ac_path_xtra. + echo $ac_n "checking for connect""... $ac_c" 1>&6 +-echo "configure:2760: checking for connect" >&5 ++echo "configure:2777: checking for connect" >&5 + if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:2805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_connect=yes" + else +@@ -2805,7 +2822,7 @@ + + if test x$ac_cv_func_connect = xno; then + echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 +-echo "configure:2809: checking for connect in -lsocket" >&5 ++echo "configure:2826: checking for connect in -lsocket" >&5 + ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -2813,7 +2830,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lsocket $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:2845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3514,7 +3531,7 @@ + + if test "$with_system_pnglib" = yes; then + echo $ac_n "checking for png_set_read_fn in -lpng""... $ac_c" 1>&6 +-echo "configure:3518: checking for png_set_read_fn in -lpng" >&5 ++echo "configure:3535: checking for png_set_read_fn in -lpng" >&5 + ac_lib_var=`echo png'_'png_set_read_fn | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3522,7 +3539,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lpng -lz -lm $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3604,7 +3621,7 @@ + + if test "$with_system_zlib" = yes; then + echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 +-echo "configure:3608: checking for inflate in -lz" >&5 ++echo "configure:3625: checking for inflate in -lz" >&5 + ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3612,7 +3629,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lz $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3659,17 +3676,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:3663: checking for $ac_hdr" >&5 ++echo "configure:3680: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:3673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:3690: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -3755,7 +3772,7 @@ + CURSESCPPFLAGS= + if test "$try_ncurses" = yes; then + echo $ac_n "checking for wresize in -lncurses""... $ac_c" 1>&6 +-echo "configure:3759: checking for wresize in -lncurses" >&5 ++echo "configure:3776: checking for wresize in -lncurses" >&5 + ac_lib_var=`echo ncurses'_'wresize | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -3763,7 +3780,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lncurses $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:3795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -3805,17 +3822,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:3809: checking for $ac_hdr" >&5 ++echo "configure:3826: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:3819: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:3836: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -3856,17 +3873,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:3860: checking for $ac_hdr" >&5 ++echo "configure:3877: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:3870: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:3887: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -3914,17 +3931,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:3918: checking for $ac_hdr" >&5 ++echo "configure:3935: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:3928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:3945: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -4033,7 +4050,7 @@ + + if test "$with_system_t1lib" = yes; then + echo $ac_n "checking for T1_AddFont in -lt1""... $ac_c" 1>&6 +-echo "configure:4037: checking for T1_AddFont in -lt1" >&5 ++echo "configure:4054: checking for T1_AddFont in -lt1" >&5 + ac_lib_var=`echo t1'_'T1_AddFont | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -4041,7 +4058,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lt1 -lz -lm $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:4073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -4079,13 +4096,13 @@ + LIBS="-lt1 -lm $LIBS" + if test "$with_system_t1lib" = yes; then + echo $ac_n "checking whether installed T1 lib is >= v 5.0.0 ""... $ac_c" 1>&6 +-echo "configure:4083: checking whether installed T1 lib is >= v 5.0.0 " >&5 ++echo "configure:4100: checking whether installed T1 lib is >= v 5.0.0 " >&5 + if test "$cross_compiling" = yes; then + ac_compile_t1lib=1 + ] + else + cat > conftest.$ac_ext < +@@ -4117,7 +4134,7 @@ + } + + EOF +-if { (eval echo configure:4121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null ++if { (eval echo configure:4138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null + then + ac_compile_t1lib=0 + else +@@ -4185,7 +4202,7 @@ + + if test "$with_system_gd" = yes; then + echo $ac_n "checking for gdImageCreateFromPng in -lgd""... $ac_c" 1>&6 +-echo "configure:4189: checking for gdImageCreateFromPng in -lgd" >&5 ++echo "configure:4206: checking for gdImageCreateFromPng in -lgd" >&5 + ac_lib_var=`echo gd'_'gdImageCreateFromPng | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -4193,7 +4210,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lgd $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:4225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -4237,7 +4254,7 @@ + + if test "$with_system_gd" = yes; then + echo $ac_n "checking for gdImageGif in -lgd""... $ac_c" 1>&6 +-echo "configure:4241: checking for gdImageGif in -lgd" >&5 ++echo "configure:4258: checking for gdImageGif in -lgd" >&5 + ac_lib_var=`echo gd'_'gdImageGif | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -4245,7 +4262,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lgd $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:4277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -4292,17 +4309,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:4296: checking for $ac_hdr" >&5 ++echo "configure:4313: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:4306: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:4323: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -4381,7 +4398,7 @@ + + if test "$with_system_freetype" = yes; then + echo $ac_n "checking for TT_Init_FreeType in -lttf""... $ac_c" 1>&6 +-echo "configure:4385: checking for TT_Init_FreeType in -lttf" >&5 ++echo "configure:4402: checking for TT_Init_FreeType in -lttf" >&5 + ac_lib_var=`echo ttf'_'TT_Init_FreeType | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -4389,7 +4406,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lttf $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:4421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -4436,17 +4453,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:4440: checking for $ac_hdr" >&5 ++echo "configure:4457: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:4450: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:4467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -4525,7 +4542,7 @@ + + if test "$with_system_freetype2" = yes; then + echo $ac_n "checking for FT_Init_FreeType in -lfreetype""... $ac_c" 1>&6 +-echo "configure:4529: checking for FT_Init_FreeType in -lfreetype" >&5 ++echo "configure:4546: checking for FT_Init_FreeType in -lfreetype" >&5 + ac_lib_var=`echo freetype'_'FT_Init_FreeType | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -4533,7 +4550,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-lfreetype $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:4565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -4580,17 +4597,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:4584: checking for $ac_hdr" >&5 ++echo "configure:4601: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:4594: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:4611: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -4669,7 +4686,7 @@ + + if test "$with_system_icu" = yes; then + echo $ac_n "checking for ubidi_open in -licuuc""... $ac_c" 1>&6 +-echo "configure:4673: checking for ubidi_open in -licuuc" >&5 ++echo "configure:4690: checking for ubidi_open in -licuuc" >&5 + ac_lib_var=`echo icuuc'_'ubidi_open | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +@@ -4677,7 +4694,7 @@ + ac_save_LIBS="$LIBS" + LIBS="-licuuc $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++if { (eval echo configure:4709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else +@@ -4724,17 +4741,17 @@ + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +-echo "configure:4728: checking for $ac_hdr" >&5 ++echo "configure:4745: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + EOF + ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +-{ (eval echo configure:4738: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ++{ (eval echo configure:4755: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* +@@ -4875,7 +4892,8 @@ + + + # initialize texmf tree with fmtutil only for teTeX and TeX Live +-if test ! -d $srcdir/texk/tetex || test -n "$xdvik_standalone" || test "x$cross_compiling" = xyes; then ++if test ! -d $srcdir/texk/tetex || test -n "$xdvik_standalone" || \ ++ test "x$cross_compiling" = xyes || test "$with_install_extra" = no; then + FMU= + else + FMU='# ' +Index: texlive-bin-2007/build/source/configure.in +=================================================================== +--- texlive-bin-2007.orig/build/source/configure.in 2007-02-19 18:03:57.000000000 +0100 ++++ texlive-bin-2007/build/source/configure.in 2007-02-19 18:04:06.000000000 +0100 +@@ -273,7 +273,8 @@ + AC_SUBST(LIBSDIRS) + + # initialize texmf tree with fmtutil only for teTeX and TeX Live +-if test ! -d $srcdir/texk/tetex || test -n "$xdvik_standalone" || test "x$cross_compiling" = xyes; then ++if test ! -d $srcdir/texk/tetex || test -n "$xdvik_standalone" || \ ++ test "x$cross_compiling" = xyes || test "$with_install_extra" = no; then + FMU= + else + FMU='# ' +Index: texlive-bin-2007/build/source/withenable.ac +=================================================================== +--- texlive-bin-2007.orig/build/source/withenable.ac 2007-02-19 18:03:57.000000000 +0100 ++++ texlive-bin-2007/build/source/withenable.ac 2007-02-19 18:04:06.000000000 +0100 +@@ -29,3 +29,6 @@ + + AC_ARG_WITH([texinfo], + [ --without-texinfo do not build the texinfo package]) ++ ++AC_ARG_WITH([install-extra], ++ [ --without-install-extra do not initialize the installed tree]) +Index: texlive-bin-2007/build/source/texk/web2c/Makefile.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/Makefile.in 2007-02-19 18:09:08.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/Makefile.in 2007-02-19 18:09:11.000000000 +0100 +@@ -782,7 +782,7 @@ + + # + install: install-exec install-data +-install-exec:: install-programs @FMU@ install-links ++install-exec:: install-programs install-links + install-data:: install-tex-data install-mf-data install-mpost-data + install-dumps: install-tex-dumps install-mf-dumps install-mpost-dumps + --- texlive-bin-2007.dfsg.1.orig/debian/patches/unused51_fmtutil_tempdir_in_texinputs +++ texlive-bin-2007.dfsg.1/debian/patches/unused51_fmtutil_tempdir_in_texinputs @@ -0,0 +1,33 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 50_fmtutil_tempdir_in_texinputs.dpatch by Frank Kster +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: add the tempdir to the texinputs path + +@DPATCH@ + build/TeX/texk/tetex/fmtutil | 5 +++++ + 1 files changed, 5 insertions(+) + +Index: texlive-bin-2007.dfsg.1/build/TeX/texk/tetex/fmtutil +=================================================================== +--- texlive-bin-2007.dfsg.1.orig/build/TeX/texk/tetex/fmtutil 2007-01-22 13:08:31.000000000 +0100 ++++ texlive-bin-2007.dfsg.1/build/TeX/texk/tetex/fmtutil 2007-01-22 13:09:29.000000000 +0100 +@@ -34,6 +34,7 @@ + ############################################################################### + ############################################################################### + # program history: ++# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS + # Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code + # So Mär 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP + # Sa Jan 15 18:13:46 CET 2005 avoid multiple variable assignments in one statement +@@ -562,6 +563,10 @@ + # due to KPSE_DOT, we don't search the current directory, so include + # it explicitly for formats that \write and later on \read + TEXINPUTS="$tmpdir:$TEXINPUTS"; export TEXINPUTS ++ # for formats that load other formats (e.g. jadetex loads latex.fmt), ++ # add the current directory to TEXFORMATS, too. We could do the same for ++ # MFBASES and MPMEMS, but it doesn't seem to be necessary currently. ++ TEXFORMATS="$tmpdir:$TEXFORMATS"; export TEXFORMATS + + setupTmpDir + cd "$tmpdir" || cleanup 1 --- texlive-bin-2007.dfsg.1.orig/debian/patches/62_dvips_absolutepath_doc +++ texlive-bin-2007.dfsg.1/debian/patches/62_dvips_absolutepath_doc @@ -0,0 +1,59 @@ +--- + texmf/doc/man/man1/dvips.1 | 25 +++++++++++++++---------- + texmf/dvips/config/config.ps | 7 +++++-- + 2 files changed, 20 insertions(+), 12 deletions(-) + +Index: texlive-bin-2007/texmf/dvips/config/config.ps +=================================================================== +--- texlive-bin-2007.orig/texmf/dvips/config/config.ps 2007-04-22 08:21:53.000000000 +0200 ++++ texlive-bin-2007/texmf/dvips/config/config.ps 2007-04-22 08:33:28.000000000 +0200 +@@ -7,8 +7,11 @@ + % to determine this number. (It will be the only thing printed.) + m 3500000 + +-% z1 is "secure", i.e., inhibits execution of `shell commands` in +-% \specials. Dvips allows this by default. ++% Run securely. z2 disables both shell command execution in ++% `\special' and config files (via the `E' option) and opening of any ++% absolute filenames. z1, the default, forbids shell escapes but ++% allows absolute filenames. z0 allows both. The corresponding ++% commandline options are -R0|-R1|-R2 + z1 + + % How to print, maybe with lp instead lpr, etc. If commented-out, output +Index: texlive-bin-2007/texmf/doc/man/man1/dvips.1 +=================================================================== +--- texlive-bin-2007.orig/texmf/doc/man/man1/dvips.1 2007-04-22 08:23:32.000000000 +0200 ++++ texlive-bin-2007/texmf/doc/man/man1/dvips.1 2007-04-22 08:32:57.000000000 +0200 +@@ -360,16 +360,21 @@ + .B -r + Stack pages in reverse order. Normally, page 1 will be printed first. + .TP +-.B -R +-Run in secure mode. This means that ``backtick'' commands from a +-.I \especial{} +-or +-.I \epsffile{} +-macro in the (La)TeX source like +-.I \especial{psfile="`zcat foo.ps.Z"} +-or +-.I \epsffile[72 72 540 720]{"`zcat screendump.ps.gz"} +-are not executed. ++.B -R[0|1|2] ++Run securely. ++.BR -R2 ++disables both shell command execution in ++.I \especial'{} ++(via backticks ++.BR ` ++) and config files (via the ++.I E ++option), and opening of any absolute filenames. ++.BR -R1 ++, the default, forbids shell escapes but allows absolute filenames. ++.BR -R0 ++allows both. The config file option is ++.I z + .TP + .B -s + Causes the entire global output to be enclosed in a save/restore pair. --- texlive-bin-2007.dfsg.1.orig/debian/patches/63_texmf.cnf_for_comparison_temp +++ texlive-bin-2007.dfsg.1/debian/patches/63_texmf.cnf_for_comparison_temp @@ -0,0 +1,168 @@ +--- + texmf/web2c/texmf.cnf | 121 ++++++++++++++++---------------------------------- + 1 file changed, 40 insertions(+), 81 deletions(-) + +Index: texlive-bin-2007/texmf/web2c/texmf.cnf +=================================================================== +--- texlive-bin-2007.orig/texmf/web2c/texmf.cnf 2007-04-22 19:05:16.000000000 +0200 ++++ texlive-bin-2007/texmf/web2c/texmf.cnf 2007-04-22 19:05:29.000000000 +0200 +@@ -248,10 +248,27 @@ + % Earlier entries override later ones, so put this last. + TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}// + ++% extra format definitions for TeX Live ++ ++TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}// ++TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}// ++TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}// ++TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}// ++TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}// ++TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// ++TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// ++ ++TTF2TFMINPUTS = .;$TEXMF/ttf2pk// ++ + % Metafont, MetaPost inputs. + MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source// + MPINPUTS = .;$TEXMF/metapost// + ++% allow for compressed files, and various extenions ++TEXDOCSSUFFIX = ;.pdf;.ps;.dvi;.html;.txt;.tex ++TEXDOCSCOMPRESS = ;.gz;.bz2;.zip;.Z ++TEXDOCEXT = {$TEXDOCSSUFFIX}{$TEXDOCSCOMPRESS} ++ + % Dump files (fmt/base/mem) for vir{tex,mf,mp} to read (see web2c/INSTALL), + % and string pools (.pool) for ini{tex,mf,mp}. It is silly that we have six + % paths and directories here (they all resolve to a single place by default), +@@ -298,6 +315,9 @@ + % BibTeX bibliographies and style files. + BIBINPUTS = .;$TEXMF/bibtex/bib// + BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}// ++% For bibtex8. Do we really need to repeat the BIBINPUTS setting? ++BIBINPUTS.bibtex8 = .;$TEXMF/bibtex/{bib,}// ++BSTINPUTS.bibtex8 = .;$TEXMF/bibtex/{bst,csf,}// + + % MFT style files. + MFTINPUTS = .;$TEXMF/mft// +@@ -392,9 +412,23 @@ + % search formats, you'll want to add their variables here as well. + T4HTINPUTS = .;$TEXMF/tex4ht// + ++%% t4ht utility, sharing files with TeX4ht ++TEX4HTFONTSET=alias,iso8859,unicode ++TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// ++ ++% Part for scripts that are distributed/installed in the texmf tree. ++ + % Architecture independent executables. + TEXMFSCRIPTS = $TEXMF/scripts/{$engine,$progname,}// + ++% Perl, Python, Ruby, Java scripts ++JAVAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/java// ++LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/lua// ++PERLINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/perl// ++PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python// ++RUBYINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/ruby// ++ ++ + %% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment. + % KPSE_DOT = . + +@@ -446,6 +480,12 @@ + openout_any = p + openin_any = a + ++% Disable search on multiple suffixes filenames. In many case, when `foo.bar' ++% is looked for, you do not want to look for `foo.bar.tex' before. This flag ++% disables searching for standard suffixes if the file name has already an ++% extension of 3 characters. Default value is true (old behaviour). ++allow_multiple_suffixes = f ++ + % Allow TeX, MF, and MP to parse the first line of an input file for + % the %&format construct. + parse_first_line = t +@@ -582,84 +622,3 @@ + half_error_line = 50 + max_print_line = 79 + +- +-% Part 4: extra format definitions for TeX Live +- +-TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}// +-TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}// +-TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}// +-TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}// +-TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}// +-TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// +-TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// +- +-TTF2TFMINPUTS = .;$TEXMF/ttf2pk// +- +-% For bibtex8. Do we really need to repeat the BIBINPUTS setting? +-BIBINPUTS.bibtex8 = .;$TEXMF/bibtex/{bib,}// +-BSTINPUTS.bibtex8 = .;$TEXMF/bibtex/{bst,csf,}// +- +-% allow for compressed files, and various extenions +-TEXDOCSSUFFIX = ;.pdf;.ps;.dvi;.html;.txt;.tex +-TEXDOCSCOMPRESS = ;.gz;.bz2;.zip;.Z +-TEXDOCEXT = {$TEXDOCSSUFFIX}{$TEXDOCSCOMPRESS} +- +-%% t4ht utility, sharing files with TeX4ht +-TEX4HTFONTSET=alias,iso8859,unicode +-TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// +- +-% Part for scripts that are distributed/installed in the texmf tree. +- +-% Perl, Python, Ruby, Java scripts (Win32 only) +-% This is used by the irun.exe program which simulates a symlink +-% but also makes use of kpathsea to retrieve the target +-JAVAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/java// +-LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/lua// +-PERLINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/perl// +-PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python// +-RUBYINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/ruby// +- +-% Suggestions for editor settings under Windows. Uncomment your +-% preferred option. The corresponding MFEDIT can also be set for use with +-% Metafont. +-% +-% Winedt: +-% TEXEDIT=C:\WinEdt\WinEdt.exe "[Open('%s');SelLine(%d,7)] +-% Textpad: +-% TEXEDIT = c:\Progra~1\TextPad\System\Ddeopn32 TextPad %s(%d) +-% UltraEdit (newer Win32 versions): +-% TEXEDIT = uedit32 %s/%d/1 +-% WinTeXShell32: +-% TEXEDIT = texshell.exe /l=%d %s +-% vi, vim, gvim. here we show Windows gvim.exe: +-% TEXEDIT = gvim.exe %s +%d +-% PFE: +-% TEXEDIT=pfe32/g%d %s +-% MED: +-% TEXEDIT=med.exe "%s" %d +-% TSE: +-% TEXEDIT=e32.exe "%s" -n%d +-% Epsilon (Lugaru) http://www.lugaru.com/ +-% TEXEDIT="c:\Program Files\eps90\bin\e32.exe" +%d %s +-% WinShell +-% TEXEDIT=C:\Progra~1\WinShell\WinShell.exe -c %s -l %d +-% notepad +-% TEXEDIT = notepad %s +- +-% For unix +-% +-% vi, vim, NEdit, (X)Emacs, pico, jed +-% TEXEDIT = vi +%d %s +-% TEXEDIT = vim +%d %s +-% TEXEDIT = nedit +%d %s +-% TEXEDIT = xemacs +%d %s +-% TEXEDIT = emacs +%d %s +- +-%(x)fte: +-% TEXEDIT = xfte -l%d %s +- +-% Disable search on multiple suffixes filenames. In many case, when `foo.bar' +-% is looked for, you do not want to look for `foo.bar.tex' before. This flag +-% disables searching for standard suffixes if the file name has already an +-% extension of 3 characters. Default value is true (old behaviour). +-allow_multiple_suffixes = f --- texlive-bin-2007.dfsg.1.orig/debian/patches/12d_fix_ebong_invocation +++ texlive-bin-2007.dfsg.1/debian/patches/12d_fix_ebong_invocation @@ -0,0 +1,13 @@ +--- + build/source/texk/texlive/ebong | 1 + + 1 file changed, 1 insertion(+) + +Index: texlive-bin-2007/build/source/texk/texlive/ebong +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/texlive/ebong 2007-05-15 14:44:43.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/texlive/ebong 2007-05-15 14:44:52.000000000 +0200 +@@ -1,3 +1,4 @@ ++#!/usr/bin/python + # look in newbong + import sre + A='A' --- texlive-bin-2007.dfsg.1.orig/debian/patches/metapost-1.0 +++ texlive-bin-2007.dfsg.1/debian/patches/metapost-1.0 @@ -0,0 +1,445 @@ +--- + build/source/texk/web2c/lib/texmfmp.c | 4 + build/source/texk/web2c/mp.web | 138 +++++++++++++++++++++++--- + build/source/texk/web2c/mpdir/Makefile.in | 4 + build/source/texk/web2c/mpdir/mp.defines | 1 + build/source/texk/web2c/mpdir/mplib.h | 4 + build/source/texk/web2c/mpdir/turningnumber.c | 113 +++++++++++++++++++++ + build/source/texk/web2c/mpware/dmp.c | 4 + build/source/texk/web2c/mpware/makempx.c | 2 + build/source/texk/web2c/mpware/mpto.c | 2 + build/source/texk/web2c/mpware/newer.c | 2 + 10 files changed, 253 insertions(+), 21 deletions(-) + +Index: texlive-bin-2007/build/source/texk/web2c/lib/texmfmp.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/lib/texmfmp.c 2007-10-04 10:24:09.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/lib/texmfmp.c 2007-10-04 10:24:35.000000000 +0200 +@@ -87,9 +87,9 @@ + #define edit_var "MFEDIT" + #endif /* MF */ + #ifdef MP +-#define BANNER "This is MetaPost, Version 0.993" ++#define BANNER "This is MetaPost, Version 1.000" + #define COPYRIGHT_HOLDER "AT&T Bell Laboratories" +-#define AUTHOR "John Hobby" ++#define AUTHOR "John Hobby.\nCurrent maintainer of MetaPost: Taco Hoekwater" + #define PROGRAM_HELP MPHELP + #define BUG_ADDRESS "tex-k@mail.tug.org" + #define DUMP_VAR MPmemdefault +Index: texlive-bin-2007/build/source/texk/web2c/mp.web +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mp.web 2007-10-04 10:23:19.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mp.web 2007-10-04 10:24:35.000000000 +0200 +@@ -97,8 +97,8 @@ + @^extensions to \MP@> + @^system dependencies@> + +-@d banner=='This is MetaPost, Version 0.993' {printed when \MP\ starts} +-@d metapost_version=="0.993" ++@d banner=='This is MetaPost, Version 1.000' {printed when \MP\ starts} ++@d metapost_version=="1.000" + + @ Different \PASCAL s have slightly different conventions, and the present + @!@:PASCAL H}{\ph@> +@@ -17088,10 +17088,7 @@ + found:pict_length:=n; + end; + +-@ The turning number is computed only with respect to a triangular pen whose +-@:turning_number_}{\&{turningnumber} primitive@> +-vertices are $(0,1)$ and $(\pm{1\over2},0)$. The choice of pen isn't supposed +-to matter but rounding error could make a difference if the path has a cusp. ++@ Implement |turningnumber| + + @= + turning_op:if cur_type=pair_type then flush_cur_exp(0) +@@ -17099,9 +17096,107 @@ + else if left_type(cur_exp)=endpoint then + flush_cur_exp(0) {not a cyclic path} + else begin +- flush_cur_exp(turn_cycles(cur_exp)); ++ flush_cur_exp(turn_cycles_wrapper(cur_exp)); + end; + ++@ The function |new_an_angle| returns the value of the |angle| primitive, or $0$ if the ++argument is |origin|. ++ ++@= ++function new_an_angle (@!xpar,@!ypar:scaled):angle; ++begin ++ if (not ((xpar=0) and (ypar=0))) then ++ new_an_angle := n_arg(xpar,ypar) ++ else ++ new_an_angle := 0; ++end; ++ ++ ++@ The actual turning number is (for the moment) computed in a C function ++that receives eight integers corresponding to the four controlling points, ++and returns a single angle. Besides those, we have to account for discrete ++moves at the actual points. ++ ++@d p_nextnext==link(link(p)) ++@d p_next==link(p) ++ ++@d seven_twenty_deg==@'5500000000 {$720\cdot2^{20}$, represents $720^\circ$} ++ ++@= ++function new_turn_cycles (@!c:pointer):scaled; ++label exit; ++var @!res,ang:angle; { the angles of intermediate results } ++@!turns:scaled; { the turn counter } ++@!p:pointer; { for running around the path } ++@!xp,yp:integer; { coordinates of next point } ++@!x,y:integer; { helper coordinates } ++@!in_angle,out_angle:angle; { helper angles} ++@!old_setting:0..max_selector; {saved |selector| setting} ++begin ++res:=0; ++turns:= 0; ++p:=c; ++old_setting := selector; selector:=term_only; ++if internal[tracing_commands]>unity then begin ++ begin_diagnostic; ++ print_nl(""); ++ end_diagnostic(false); ++end; ++if (p_next=p)or(p_nextnext=p) then ++ if new_an_angle (x_coord(p) - right_x(p), y_coord(p) - right_y(p)) >= 0 then ++ new_turn_cycles := unity ++ else ++ new_turn_cycles := -unity ++else begin ++ repeat ++ xp := x_coord(p_next); yp := y_coord(p_next); ++ ang := bezier_slope(x_coord(p), y_coord(p), right_x(p), right_y(p), ++ left_x(p_next), left_y(p_next), xp, yp, internal[tracing_commands]); ++ if ang>seven_twenty_deg then begin ++ print_err("Strange path"); ++ error; ++ new_turn_cycles := 0; ++ return; ++ end; ++ res := res + ang; ++ if res >= one_eighty_deg then begin ++ res := res - three_sixty_deg; ++ turns := turns + unity; ++ end; ++ if res <= -one_eighty_deg then begin ++ res := res + three_sixty_deg; ++ turns := turns - unity; ++ end; ++ { incoming angle at next point } ++ x := left_x(p_next); y := left_y(p_next); ++ if (xp=x)and(yp=y) then begin x := right_x(p); y := right_y(p); end; ++ if (xp=x)and(yp=y) then begin x := x_coord(p); y := y_coord(p); end; ++ in_angle := new_an_angle(xp - x, yp - y); ++ { outgoing angle at next point } ++ x := right_x(p_next); y := right_y(p_next); ++ if (xp=x)and(yp=y) then begin x := left_x(p_nextnext); y := left_y(p_nextnext); end; ++ if (xp=x)and(yp=y) then begin x := x_coord(p_nextnext); y := y_coord(p_nextnext); end; ++ out_angle := new_an_angle(x - xp, y- yp); ++ ang := (out_angle - in_angle); ++ if (ang<>0)and(abs(ang)<=one_eighty_deg) then begin ++ res := res + ang; ++ if res >= one_eighty_deg then begin ++ res := res - three_sixty_deg; ++ turns := turns + unity; ++ end; ++ if res <= -one_eighty_deg then begin ++ res := res + three_sixty_deg; ++ turns := turns - unity; ++ end; ++ end; ++ p := link(p); ++ until p=c; ++ new_turn_cycles := turns; ++end; ++exit: ++selector:=old_setting; ++end; ++ + + @ This code is based on Bogus\l{}av Jackowski's + |emergency_turningnumber| macro, with some minor changes by Taco +@@ -17189,6 +17284,27 @@ + end; + + @ @= ++function turn_cycles_wrapper (@!c:pointer):scaled; ++ var nval,oval:scaled; ++ saved_t_o:scaled; {tracing_online saved } ++begin ++ nval := new_turn_cycles(c); ++ oval := turn_cycles(c); ++ if nval<>oval then begin ++ saved_t_o:=internal[tracing_online]; ++ internal[tracing_online]:=unity; ++ begin_diagnostic; ++ print ("Warning: The turningnumber algorithms do not agree. The current computed value is "); ++ print_scaled(nval); ++ print(", but the 'connect-the-dots' algorithm returned "); ++ print_scaled(oval); ++ end_diagnostic(false); ++ internal[tracing_online]:=saved_t_o; ++ end; ++ turn_cycles_wrapper := nval; ++end; ++ ++@ @= + function count_turns(@!c:pointer):scaled; + var @!p:pointer; {a knot in envelope spec |c|} + @!t:integer; {total pen offset changes counted} +@@ -22673,7 +22789,7 @@ + txy:=right_x(p); + tyy:=right_y(p); + if (x_coord(p)<>0)or(y_coord(p)<>0) then +- begin print_ln; print_cmd("gsave ","q "); ++ begin print_nl(""); print_cmd("gsave ","q "); + ps_pair_out(x_coord(p),y_coord(p)); + ps_print("translate ");@/ + txx:=txx-x_coord(p); +@@ -23046,9 +23162,7 @@ + @ @= + t:=link(spec_head); + while t<>null do +- begin if length(value(t))<=emergency_line_length then print(value(t)) +- else overflow("output line length",emergency_line_length); +-@:MetaPost capacity exceeded output line length}{\quad output line length@> ++ begin print(value(t)); + print_ln; + t:=link(t); + end; +@@ -23696,11 +23810,13 @@ + end; + end; + if internal[mpprocset]>0 then begin ++ print_nl("%%BeginResource: procset mpost"); + if (internal[prologues]>0)and(ldf<>null_font) then + print("/bd{bind def}bind def/fshow {exch findfont exch scalefont setfont show}bd") + else + print_nl("/bd{bind def}bind def"); + @; ++ print_nl("%%EndResource"); + print_ln; + end; + end +Index: texlive-bin-2007/build/source/texk/web2c/mpdir/Makefile.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpdir/Makefile.in 2007-10-04 10:23:23.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpdir/Makefile.in 2007-10-04 10:24:35.000000000 +0200 +@@ -14,7 +14,7 @@ + + XCPPFLAGS=-I.. -I$(srcdir)/.. -I../.. -I$(srcdir)/../.. + +-OBJS = mapfile.o avl.o avlstuff.o utils.o writeenc.o writet1.o writefont.o ++OBJS = mapfile.o avl.o avlstuff.o utils.o writeenc.o writet1.o writefont.o turningnumber.o + + all: libmpost.a makecpool + +@@ -34,7 +34,7 @@ + depend: + rm -f $(OBJS) + XXCFLAGS=-MM XCFLAGS=-MM $(MAKE) -k $(OBJS) | \ +- grep -v "^$(CC)\|$(CXX)\|$(AR)\|make\|klibtool" | \ ++ grep -v "^$(CC)\|$(CXX)\|$(AR)\|make" | \ + sed 's: [^ ]*/\.\./libs/[^ ]*::g' > $(srcdir)/depend.mk + + kpse_include mpdir/depend.mk +Index: texlive-bin-2007/build/source/texk/web2c/mpdir/mp.defines +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpdir/mp.defines 2007-10-04 10:23:28.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpdir/mp.defines 2007-10-04 10:24:35.000000000 +0200 +@@ -54,4 +54,4 @@ + + { function from turningnumber.c } + +-@define function bezierslope(); +\ No newline at end of file ++@define function bezierslope(); +Index: texlive-bin-2007/build/source/texk/web2c/mpdir/mplib.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpdir/mplib.h 2007-10-04 10:23:32.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpdir/mplib.h 2007-10-04 10:24:35.000000000 +0200 +@@ -297,4 +297,8 @@ + extern void avlputobj (integer, integer); + extern integer avlfindobj (integer, integer, integer); + ++/* turningnumber.c */ ++ ++extern angle bezierslope(integer,integer,integer,integer,integer,integer,integer,integer,int); ++ + #endif /* MPOSTLIB */ +Index: texlive-bin-2007/build/source/texk/web2c/mpdir/turningnumber.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ texlive-bin-2007/build/source/texk/web2c/mpdir/turningnumber.c 2007-10-04 10:24:35.000000000 +0200 +@@ -0,0 +1,113 @@ ++/* $Id$ */ ++ ++#include "mplib.h" ++ ++#define bezier_error (720<<20)+1 ++ ++#define sign(v) ((v)>0 ? 1 : ((v)<0 ? -1 : 0 )) ++ ++#define print_roots(a) { if (debuglevel>(65536*2)) \ ++ fprintf(stdout,"bezierslope(): %s, i=%f, o=%f, angle=%f\n", \ ++ (a),in,out,res); } ++ ++#define out ((double)(xo>>20)) ++#define mid ((double)(xm>>20)) ++#define in ((double)(xi>>20)) ++ ++#define divisor (256*256) ++ ++#define double2angle(a) (int)floor(a*256.0*256.0*16.0) ++ ++angle ++bezierslope(integer AX,integer AY,integer BX,integer BY, ++ integer CX,integer CY,integer DX,integer DY, int debuglevel) { ++ double a, b, c; ++ integer deltax,deltay; ++ double ax,ay,bx,by,cx,cy,dx,dy; ++ ++ angle xi = 0, xo = 0, xm = 0; ++ double res = 0; ++ ++ ax=AX/divisor; ay=AY/divisor; ++ bx=BX/divisor; by=BY/divisor; ++ cx=CX/divisor; cy=CY/divisor; ++ dx=DX/divisor; dy=DY/divisor; ++ ++ deltax = (BX-AX); deltay = (BY-AY); ++ if (deltax==0 && deltay == 0) { deltax=(CX-AX); deltay=(CY-AY); } ++ if (deltax==0 && deltay == 0) { deltax=(DX-AX); deltay=(DY-AY); } ++ xi = anangle(deltax,deltay); ++ ++ deltax = (CX-BX); deltay = (CY-BY); ++ xm = anangle(deltax,deltay); ++ ++ deltax = (DX-CX); deltay = (DY-CY); ++ if (deltax==0 && deltay == 0) { deltax=(DX-BX); deltay=(DY-BY); } ++ if (deltax==0 && deltay == 0) { deltax=(DX-AX); deltay=(DY-AY); } ++ xo = anangle(deltax,deltay); ++ ++ a = (bx-ax)*(cy-by) - (cx-bx)*(by-ay); /* a = (bp-ap)x(cp-bp); */ ++ b = (bx-ax)*(dy-cy) - (by-ay)*(dx-cx);; /* b = (bp-ap)x(dp-cp);*/ ++ c = (cx-bx)*(dy-cy) - (dx-cx)*(cy-by); /* c = (cp-bp)x(dp-cp);*/ ++ ++ if (debuglevel>(65536*2)) { ++ fprintf(stdout, ++ "bezierslope(): (%.2f,%.2f),(%.2f,%.2f),(%.2f,%.2f),(%.2f,%.2f)\n", ++ ax,ay,bx,by,cx,cy,dx,dy); ++ fprintf(stdout,"bezierslope(): a,b,c,b^2,4ac: (%.2f,%.2f,%.2f,%.2f,%.2f)\n",a,b,c,b*b,4*a*c); ++ } ++ ++ if ((a==0)&&(c==0)) { ++ res = out-in; /* ? */ ++ print_roots("no roots (a)"); ++ } else if ((a==0)||(c==0)) { ++ if ((sign(b) == sign(a)) || (sign(b) == sign(c))) { ++ res = out-in; /* ? */ ++ if (res<-180.0) ++ res += 360.0; ++ else if (res>180.0) ++ res -= 360.0; ++ print_roots("no roots (b)"); ++ } else { ++ res = out-in; /* ? */ ++ print_roots("one root (a)"); ++ } ++ } else if ((sign(a)*sign(c))<0) { ++ res = out-in; /* ? */ ++ if (res<-180.0) ++ res += 360.0; ++ else if (res>180.0) ++ res -= 360.0; ++ print_roots("one root (b)"); ++ } else { ++ if (sign(a) == sign(b)) { ++ res = out-in; /* ? */ ++ if (res<-180.0) ++ res += 360.0; ++ else if (res>180.0) ++ res -= 360.0; ++ print_roots("no roots (d)"); ++ } else { ++ if ((b*b) == (4*a*c)) { ++ res = bezier_error; ++ /* print_roots("double root"); *//* cusp */ ++ } else if ((b*b) < (4*a*c)) { ++ res = out-in; /* ? */ ++ if (res<=0.0 &&res>-180.0) ++ res += 360.0; ++ else if (res>=0.0 && res<180.0) ++ res -= 360.0; ++ print_roots("no roots (e)"); ++ } else { ++ res = out-in; ++ if (res<-180.0) ++ res += 360.0; ++ else if (res>180.0) ++ res -= 360.0; ++ print_roots("two roots"); /* two inflections */ ++ } ++ } ++ } ++ return double2angle(res); ++} ++ +Index: texlive-bin-2007/build/source/texk/web2c/mpware/dmp.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpware/dmp.c 2007-10-04 10:23:50.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpware/dmp.c 2007-10-04 10:24:35.000000000 +0200 +@@ -23,8 +23,8 @@ + * gets modified. + */ + +-char *banner = "% Written by DMP, Version 0.992"; /* first line of output */ +-char *term_banner = "This is DMP, Version 0.992"; ++char *banner = "% Written by DMP, Version 1.000"; /* first line of output */ ++char *term_banner = "This is DMP, Version 1.000"; + + #include + #include +Index: texlive-bin-2007/build/source/texk/web2c/mpware/makempx.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpware/makempx.c 2007-10-04 10:23:55.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpware/makempx.c 2007-10-04 10:24:35.000000000 +0200 +@@ -95,7 +95,7 @@ + #define GETCWD getcwd + #endif + +-#define version "0.993" ++#define version "1.000" + + #define ERRLOG "mpxerr.log" + #define TEXERR "mpxerr.tex" +Index: texlive-bin-2007/build/source/texk/web2c/mpware/mpto.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpware/mpto.c 2007-10-04 10:24:00.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpware/mpto.c 2007-10-04 10:24:35.000000000 +0200 +@@ -386,7 +386,7 @@ + exit(0); + } else if (argc > 1 && (strcmp(argv[1], "--version") == 0 + || strcmp(argv[1], "-version") == 0)) { +- printf("mpto 0.992\n\ ++ printf("mpto 1.000\n\ + This program is in the public domain.\n\ + Primary author of mpto: John Hobby.\n\ + Current maintainer: Taco Hoekwater.\n"); +Index: texlive-bin-2007/build/source/texk/web2c/mpware/newer.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpware/newer.c 2007-10-04 10:24:03.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpware/newer.c 2007-10-04 10:24:35.000000000 +0200 +@@ -87,7 +87,7 @@ + } else if (strcmp(argv[1], "-version") == 0 || + strcmp(argv[1], "--version") == 0) { + +- fputs("newer 0.992\n\ ++ fputs("newer 1.000\n\ + This program is in the public domain.\n\ + Primary author of newer: John Hobby.\n\ + Current maintainer: Taco Hoekwater.\n", stdout); --- texlive-bin-2007.dfsg.1.orig/debian/patches/50_fmtutil_deb +++ texlive-bin-2007.dfsg.1/debian/patches/50_fmtutil_deb @@ -0,0 +1,144 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 50_fmtutil_deb.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: debianize fmtutil, updmap etc, taken from tetex + +@DPATCH@ + build/source/texk/tetex/fmtutil | 23 ++++++----------------- + texmf/doc/man/man1/fmtutil.1 | 38 ++++++++++++++++++++++++++++---------- + 2 files changed, 34 insertions(+), 27 deletions(-) + +Index: texlive-bin-2007/texmf/doc/man/man1/fmtutil.1 +=================================================================== +--- texlive-bin-2007.orig/texmf/doc/man/man1/fmtutil.1 2007-06-20 15:21:14.000000000 +0200 ++++ texlive-bin-2007/texmf/doc/man/man1/fmtutil.1 2007-06-20 15:21:16.000000000 +0200 +@@ -1,4 +1,4 @@ +-.TH "fmtutil" "8" "February 2005" "teTeX" "teTeX" ++.TH "fmtutil" "1" "February 2005" "teTeX" "teTeX" + .PP + .SH "NAME" + fmtutil \- utility for maintaining TeX format files +@@ -20,21 +20,36 @@ + .PP + .IP "\fB--all\fP" + recreate all format files +-.IP "\fB--byfmt\fP \fIformatname\fP" ++.IP "\fB--missing\fP" ++create any missing format files ++.IP "\fB--refresh\fP" ++recreate only existing format files ++.IP "\fB--byfmt\fP \fIformatname\fP" + (re)create the format for + format \fIformatname\fP +-.IP "\fB--byhyphen\fP \fIhyphenfile\fP" ++.IP "\fB--byhyphen\fP \fIhyphenfile\fP" + (re)create formats that + depend on the hyphenation file + \fIhyphenfile\fP +-.IP "\fB--help\fP" +-print a summary of commands and options +-.IP "\fB--missing\fP" +-create any missing format files +-.IP "\fB--showhyphen\fP \fIformatname\fP" ++.IP "\fB--enablefmt\fP \fIformatname\fP" ++enable formatname in config file ++.IP "\fB--disablefmt\fP \fIformatname\fP" ++disable formatname in config file ++.IP "\fB--listcfg\fP" ++list (enabled and disabled) configurations, filtered to available ++formats ++.IP "\fB--catcfg\fP" ++output the content of the config file ++.IP "\fB--showhyphen\fP \fIformatname\fP" + print the name of the + hyphenation file for the format + \fIformatname\fP ++.IP "\fB--edit\fP" ++edit fmtutil.cnf file (disabled in Debian) ++.IP "\fB--version\fP" ++show version info ++.IP "\fB--help\fP" ++print a summary of commands and options + .PP + .SH "OPTIONS" + .PP +@@ -56,12 +71,15 @@ + .PP + .SH "FILES" + .PP +-.IP "\fIfmtutil\&.cnf\fP" ++.IP "\fIfmtutil\&.cnf\fP" + default configuration file ++.IP "\fI/etc/texmf/fmt.d/\fP" ++Debian-specific directory for configuration file snippets + .PP + .SH "SEE ALSO" + .PP +-\fBkpsewhich\fP(1) ++\fBkpsewhich\fP(1), ++\fBupdate-fmtutil\fP(1) + .PP + Web page: + .PP +Index: texlive-bin-2007/build/source/texk/tetex/fmtutil +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/fmtutil 2007-06-20 15:21:14.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/tetex/fmtutil 2007-06-20 15:33:51.000000000 +0200 +@@ -478,7 +478,8 @@ + cleanup $? + ;; + edit) +- ${VISUAL-${EDITOR-vi}} $cnf_file ++ # defined by debianize-fmtutil ++ debianEditWarnAndShow + ;; + enablefmt|disablefmt) + $cmd $arg +@@ -493,22 +494,6 @@ + ;; + esac + +- if test -n "$cfgmaint"; then +- if test -z "$cfgparam"; then +- ci=`tcfmgr --tmp $tmpdir --cmd ci --id $id` +- if test $? = 0; then +- if test -n "$ci"; then +- verboseMsg "$progname: configuration file updated: \`$ci'" +- else +- verboseMsg "$progname: configuration file unchanged." +- fi +- else +- abort "failed to update configuration file." +- fi +- fi +- cleanup $? +- fi +- + # set up destdir: + if test -z "$destdir"; then + : ${MT_TEXMFVAR=`kpsewhich -var-value=TEXMFVAR`} +@@ -859,6 +844,7 @@ + ############################################################################### + # disablefmt(format) + # disables format in configuration file ++# [ redefined by debianize-fmtutil ] + ############################################################################### + disablefmt() + { +@@ -875,6 +861,7 @@ + ############################################################################### + # enablefmt(format) + # enables format in configuration file ++# [ redefined by debianize-fmtutil ] + ############################################################################### + enablefmt() + { +@@ -887,5 +874,7 @@ + (exit 0); return 0 + } + ++. /usr/share/texlive-bin/debianize-fmtutil ++ + main ${1+"$@"} + cleanup 0 --- texlive-bin-2007.dfsg.1.orig/debian/patches/30_libpoppler_0.4.5 +++ texlive-bin-2007.dfsg.1/debian/patches/30_libpoppler_0.4.5 @@ -0,0 +1,440 @@ +# 30_libpoppler.dpatch +# +# use libpoppler instead of libxpdf in pdfetex and xetex +# don't build pdftosrc as it needs libpoppler from experimental + +@DPATCH@ + build/source/configure | 6 +- + build/source/configure.in | 8 +-- + build/source/texk/web2c/pdftexdir/Makefile.in | 2 + build/source/texk/web2c/pdftexdir/depend.mk | 58 +------------------------ + build/source/texk/web2c/pdftexdir/pdftex.mk | 9 ++- + build/source/texk/web2c/pdftexdir/pdftoepdf.cc | 43 +++++++++--------- + build/source/texk/web2c/pdftexdir/pdftosrc.cc | 37 ++++++++------- + build/source/texk/web2c/pdftexdir/utils.c | 4 - + build/source/texk/web2c/xetexdir/XeTeX_ext.c | 4 - + build/source/texk/web2c/xetexdir/pdfimage.cpp | 24 ++++++++-- + build/source/texk/web2c/xetexdir/xetex.mk | 8 ++- + 11 files changed, 87 insertions(+), 116 deletions(-) + +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/depend.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/depend.mk 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/depend.mk 2007-04-16 15:30:03.000000000 +0200 +@@ -1,55 +1,5 @@ +-epdf.o: epdf.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-mapfile.o: mapfile.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-papersiz.o: papersiz.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \ +- ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \ +- ../../../libs/md5/md5.h pdftexextra.h \ +- ../../../libs/obsdcompat/openbsd-compat.h +-vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \ +- ../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \ +- ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writet3.o: writet3.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h +-writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-writettf.o: writettf.c ptexlib.h writettf.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h macnames.c +-writejpg.o: writejpg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-writepng.o: writepng.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \ +- ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \ +- ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \ +- ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \ +- ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \ +- ../../../libs/xpdf/xpdf/Error.h epdf.h ++pdftoepdf.o: pdftoepdf.cc epdf.h ../../kpathsea/c-auto.h \ ++ ../../kpathsea/c-proto.h ../../web2c/c-auto.h ../../web2c/config.h \ ++ ../../kpathsea/c-fopen.h ../../web2c/pdftexdir/ptexmac.h + ttf2afm.o: ttf2afm.c writettf.h macnames.c +-pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \ +- ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \ +- ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \ +- ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \ +- ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \ +- ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h ++pdftosrc.o: pdftosrc.cc +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftoepdf.cc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftoepdf.cc 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftoepdf.cc 2007-04-16 15:30:03.000000000 +0200 +@@ -26,25 +26,24 @@ + #include + #include + #include +-#include +-#include +-#include +-#include +-#include + #include +-#include "Object.h" +-#include "Stream.h" +-#include "Array.h" +-#include "Dict.h" +-#include "XRef.h" +-#include "Catalog.h" +-#include "Link.h" +-#include "Page.h" +-#include "GfxFont.h" +-#include "PDFDoc.h" +-#include "GlobalParams.h" +-#include "Error.h" +- ++#include ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Link.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" + #include "epdf.h" + + // This file is mostly C and not very much C++; it's just used to interface +@@ -169,7 +168,7 @@ + fprintf(stderr, "\npdfTeX Debug: Creating %s (%d)\n", p->file_name, + p->occurences); + #endif +- GString *docName = new GString(p->file_name); ++ GooString *docName = new GooString(p->file_name); + p->doc = new PDFDoc(docName); // takes ownership of docName + if (!p->doc->isOk() || !p->doc->okToPrint()) { + pdftex_fail("xpdf: reading PDF image failed"); +@@ -511,7 +510,7 @@ + int i, l, c; + Ref ref; + char *p; +- GString *s; ++ GooString *s; + if (obj->isBool()) { + pdf_printf("%s", obj->getBool()? "true" : "false"); + } else if (obj->isInt()) { +@@ -677,7 +676,7 @@ + float pdf_version_found, pdf_version_wanted; + // initialize + if (!isInit) { +- globalParams = new GlobalParams(); ++ globalParams = new GlobalParams(NULL); + globalParams->setErrQuiet(gFalse); + isInit = gTrue; + } +@@ -703,7 +702,7 @@ + epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); + if (page_name) { + // get page by name +- GString name(page_name); ++ GooString name(page_name); + LinkDest *link = pdf_doc->doc->findDest(&name); + if (link == 0 || !link->isOk()) + pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftosrc.cc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftosrc.cc 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftosrc.cc 2007-04-16 15:30:03.000000000 +0200 +@@ -25,22 +25,23 @@ + #include + #include + #include +-#include + #include +-#include +-#include +-#include +-#include "Object.h" +-#include "Stream.h" +-#include "Array.h" +-#include "Dict.h" +-#include "XRef.h" +-#include "Catalog.h" +-#include "Page.h" +-#include "GfxFont.h" +-#include "PDFDoc.h" +-#include "GlobalParams.h" +-#include "Error.h" ++ ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" + + static XRef *xref = 0; + +@@ -48,7 +49,7 @@ + { + char *p, buf[1024]; + PDFDoc *doc; +- GString *fileName; ++ GooString *fileName; + Stream *s; + Object srcStream, srcName, catalogDict; + FILE *outfile; +@@ -62,8 +63,8 @@ + "Usage: pdftosrc []\n"); + exit(1); + } +- fileName = new GString(argv[1]); +- globalParams = new GlobalParams(); ++ fileName = new GooString(argv[1]); ++ globalParams = new GlobalParams(NULL); + doc = new PDFDoc(fileName); + if (!doc->isOk()) { + fprintf(stderr, "Invalid PDF file\n"); +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/Makefile.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/Makefile.in 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/Makefile.in 2007-04-16 15:30:03.000000000 +0200 +@@ -8,7 +8,7 @@ + kpathsea_srcdir_parent = $(srcdir)/../.. + kpathsea_dir_parent = ../.. + +-ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) @LIBXPDFCPPFLAGS@ -I$(LIBOBSDCOMPATDIR) -I$(LIBOBSDCOMPATDIR)/.. -I$(LIBOBSDCOMPATFSRCDIR) -I$(LIBOBSDCOMPATFSRCDIR)/.. ++ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) -I/usr/include/poppler -I$(LIBOBSDCOMPATDIR) -I$(LIBOBSDCOMPATDIR)/.. -I$(LIBOBSDCOMPATFSRCDIR) -I$(LIBOBSDCOMPATFSRCDIR)/.. + CXX = @CXX@ + + .SUFFIXES: .cc .o +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftex.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftex.mk 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftex.mk 2007-04-16 15:30:03.000000000 +0200 +@@ -2,6 +2,9 @@ + # This fragment contains the parts of the makefile that are most likely to + # differ between releases of pdfeTeX. + ++# use libpoppler instead of included xpdf code ++ADDLDFLAGS = -lpoppler ++ + # We build pdftex + pdftex = @PETEX@ pdftex + pdftexdir = pdftexdir +@@ -29,7 +32,7 @@ + + # Making pdftex + pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep) +- @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ ++ @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) + + # C file dependencies. + $(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) $(srcdir)/$(pdftexdir)/pdftex.defines $(srcdir)/$(pdftexdir)/pdftex.h +@@ -153,10 +156,10 @@ + rm -f ttf2afm.c macnames.c + # + # pdftosrc +-pdftosrc = pdftosrc ++pdftosrc = + + pdftosrc: $(pdftexdir)/pdftosrc.o $(LIBXPDFDEP) +- @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ ++ @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS) + $(pdftexdir)/pdftosrc.o:$(srcdir)/$(pdftexdir)/pdftosrc.cc + cd $(pdftexdir) && $(MAKE) pdftosrc.o + check: pdftosrc-check +Index: texlive-bin-2007/build/source/configure +=================================================================== +--- texlive-bin-2007.orig/build/source/configure 2007-04-16 15:29:55.000000000 +0200 ++++ texlive-bin-2007/build/source/configure 2007-04-16 15:30:03.000000000 +0200 +@@ -3459,9 +3459,9 @@ + + # we need libxpdf for pdf[ex]tex, xetex + test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} +-test "$with_pdftex" != no && : ${needs_libxpdf=yes} +-test "$with_pdfetex" != no && : ${needs_libxpdf=yes} +-test "$with_xetex" != no && : ${needs_libxpdf=yes} ++test "$with_pdftex" != no && : ${needs_libxpdf=no} ++test "$with_pdfetex" != no && : ${needs_libxpdf=no} ++test "$with_xetex" != no && : ${needs_libxpdf=no} + : ${needs_libxpdf=no} + export needs_libxpdf + +Index: texlive-bin-2007/build/source/configure.in +=================================================================== +--- texlive-bin-2007.orig/build/source/configure.in 2007-04-16 15:29:55.000000000 +0200 ++++ texlive-bin-2007/build/source/configure.in 2007-04-16 15:30:03.000000000 +0200 +@@ -157,9 +157,9 @@ + + # we need libxpdf for pdf[ex]tex, xetex + test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} +-test "$with_pdftex" != no && : ${needs_libxpdf=yes} +-test "$with_pdfetex" != no && : ${needs_libxpdf=yes} +-test "$with_xetex" != no && : ${needs_libxpdf=yes} ++test "$with_pdftex" != no && : ${needs_libxpdf=no} ++test "$with_pdfetex" != no && : ${needs_libxpdf=no} ++test "$with_xetex" != no && : ${needs_libxpdf=no} + : ${needs_libxpdf=no} + export needs_libxpdf + +@@ -207,7 +207,7 @@ + sinclude(libs/libpng/libpng.ac) + sinclude(libs/zlib/zlib.ac) + sinclude(libs/ncurses/ncurses.ac) +-sinclude(libs/xpdf/libxpdf.ac) ++#sinclude(libs/xpdf/libxpdf.ac) + sinclude(libs/t1lib/t1lib.ac) + sinclude(libs/gd/gd.ac) + sinclude(libs/freetype/freetype.ac) +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-01-15 14:04:36.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-04-16 15:30:03.000000000 +0200 +@@ -33,7 +33,7 @@ + */ + + #ifdef XETEX_OTHER +-#include "xpdf/config.h" ++#include "poppler/poppler-config.h" + #include "png.h" + #endif + +@@ -194,7 +194,7 @@ + #else + "Compiled with fontconfig version %d.%d.%d; using %d.%d.%d\n" + "Compiled with libpng version %s; using %s\n" +- "Compiled with xpdf version %s\n" ++ "Compiled with libpoppler version %s\n" + #endif + ; + +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/pdfimage.cpp +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/pdfimage.cpp 2006-12-09 11:29:12.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/pdfimage.cpp 2007-04-16 15:30:03.000000000 +0200 +@@ -11,10 +11,24 @@ + + #include "pdfimage.h" + +-#include "PDFDoc.h" +-#include "Catalog.h" +-#include "Page.h" +-#include "GString.h" ++#include ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Link.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" ++ + + #include "XeTeX_ext.h" + +@@ -28,7 +42,7 @@ + int + pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box) + { +- GString* name = new GString(filename); ++ GooString* name = new GooString(filename); + PDFDoc* doc = new PDFDoc(name); + + if (!doc) { +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/xetex.mk 2007-01-20 13:44:35.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk 2007-04-16 15:30:03.000000000 +0200 +@@ -4,6 +4,10 @@ + + Makefile: $(srcdir)/xetexdir/xetex.mk + ++# use libpoppler instead of included xpdf code ++ADDLDFLAGS = -lpoppler ++ ++ + # We build xetex unless configure decides to skip it + xetex = @XETEX@ xetex + +@@ -29,7 +33,7 @@ + + @XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER + +-@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ ++@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ $(ADDLDFLAGS) + + @XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@ + +@@ -144,7 +148,7 @@ + $(compile) $(ALL_CFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@ + + pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h +- $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@ ++ $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -I/usr/include/poppler -c $< -o $@ + + XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs) + $(compile) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/utils.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/utils.c 2007-01-01 18:20:03.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/utils.c 2007-04-16 15:30:03.000000000 +0200 +@@ -37,7 +37,7 @@ + #include "zlib.h" + #include "ptexlib.h" + #include "png.h" +-#include "xpdf/config.h" /* just to get the xpdf version */ ++#include "poppler/poppler-config.h" /* just to get the xpdf version */ + + #define check_nprintf(size_get, size_want) \ + if ((unsigned)(size_get) >= (unsigned)(size_want)) \ +@@ -1261,7 +1261,7 @@ + (void) asprintf(versions, + "Compiled with libpng %s; using libpng %s\n" + "Compiled with zlib %s; using zlib %s\n" +- "Compiled with xpdf version %s\n", ++ "Compiled with libpoppler version %s\n", + PNG_LIBPNG_VER_STRING, png_libpng_ver, + ZLIB_VERSION, zlib_version, xpdfVersion); + } --- texlive-bin-2007.dfsg.1.orig/debian/patches/56_updmap_deb +++ texlive-bin-2007.dfsg.1/debian/patches/56_updmap_deb @@ -0,0 +1,138 @@ +Index: texlive-bin-2007/texmf/doc/man/man1/updmap.1 +=================================================================== +--- texlive-bin-2007.orig/texmf/doc/man/man1/updmap.1 2006-05-15 20:16:32.000000000 +0200 ++++ texlive-bin-2007/texmf/doc/man/man1/updmap.1 2007-06-11 14:18:40.000000000 +0200 +@@ -32,11 +32,20 @@ + line, \fBupdmap\fP will write generated map files to a directory of + your choosing (via one of the \fB--*outputdir\fP options), or automatically + determine where to place the files\&. In the latter case, it tries to +-use the tree where the variable TEXMFVAR points to. ++use the tree where the variable TEXMFVAR -- or TEXMFSYSVAR if called ++as \fBupdmap-sys\fP -- points to. ++.PP + When used with the options \fB--edit\fP, \fB--setoption\fP, +-\fB--enable\fP, \fB--disable\fP, or \fB--syncwithtrees\fP, \fBupdmap\fP will first write +-\fBupdmap\&.cfg\fP(5) and regenerate the map files only if this file +-has been changed\&. ++\fB--enable\fP, \fB--disable\fP, or \fB--syncwithtrees\fP, ++\fBupdmap\fP will first write \fBupdmap\&.cfg\fP(5) and regenerate the ++map files only if this file has been changed\&. In Debian, updmap has ++been adapted so that \fB--enable\fP and \fB--disable\fP do the "right ++thing": change the configuration snippets in \fIupdmap.d\fP instead, ++call \fBupdate-updmap\fP(1) to regenerate \fBupdmap\&.cfg\fP(5) and ++regenerate the map files afterwards. There are some limitations, ++though: \fBupdmap\fP will regenerate the map files even if ++\fBupdmap\&.cfg\fP(5) has not been changed, and \fB--edit\fP and ++\fB--syncwithtrees\fP cannot be used. + .PP + .SH "OPTIONS" + .PP +@@ -98,10 +107,10 @@ + \fBdvipdfmDownloadBase14\fP + .IP + .IP "\fB--enable\fP \fImaptype\fP \fImapfile\fP" +-Add or enable a \fBMap\fP or \fBMixedMap\fP for \fImapfile\fP\&. ++Permanently add or enable a \fBMap\fP or \fBMixedMap\fP for \fImapfile\fP\&. + .IP + .IP "\fB--enable Map=\fImapfile\fP" +-Add or enable a Map for \fImapfile\fP\&. ++Permanently add or enable a Map for \fImapfile\fP\&. + .IP + .IP "\fB--enable MixedMap=\fP\fImapfile\fP" + Add or enable a MixedMap for \fImapfile\fP\&. +@@ -126,7 +135,9 @@ + .IP "\fIupdmap\&.cfg\fP" + Main configuration file\&. In + \fItexmf/web2c\fP by default, but may be located elsewhere +-depending on your distribution\&. ++depending on your distribution\&. \fBNote for Debian\fP: On Debian +++ that file is generated out of files in \fI/etc/texmf/updmap.d\fP. +++ See \fBupdate-updmap\fP(8) or the \fITeX-on-Debian\fP document. + .IP + .IP "\fIdvips35\&.map\fP" + Map file for standard 35 PostScript fonts for +@@ -240,7 +251,7 @@ + .PP + .SH "SEE ALSO" + .PP +-\fBupdmap\&.cfg\fP(5), \fBdvipdfm\fP(1), \fBdvips\fP(1), ++\fBupdmap\&.cfg\fP(5), \fBupdate-updmap\fP(8), \fBdvipdfm\fP(1), \fBdvips\fP(1), + \fBgsftopk\fP(1), \fBpdftex\fP(1), \fBps2pk\fP(1), + \fBtexhash\fP(1), \fBxdvi\fP(1)\&. + .PP +Index: texlive-bin-2007/build/source/texk/tetex/updmap +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/updmap 2006-12-25 19:43:31.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/tetex/updmap 2007-06-11 15:05:43.000000000 +0200 +@@ -325,6 +325,8 @@ + # sets option to value in the config file (replacing the existing setting + # or by adding a new line to the config file). + ############################################################################### ++# for Debian, this is superseded by a function defined in debianize-updmap ++# (see below) + setOption() + { + opt=$1 +@@ -359,6 +361,8 @@ + # enableMap (type, map) + # enables an entry in the config file for map with a given type. + ############################################################################### ++# for Debian, this is superseded by a function defined in debianize-updmap ++# (see below) + enableMap() + { + case $1 in +@@ -381,6 +385,8 @@ + # disableMap (map) + # disables map in config file (any type) + ############################################################################### ++# for Debian, this is superseded by a function defined in debianize-updmap ++# (see below) + disableMap() + { + #mapType=`awk '($1 == "MixedMap" || $1 == "Map") && $2 == map { print $1 }' \ +@@ -734,12 +740,8 @@ + !!! ERROR! The map file \`$2' has not been found at all. + + Either put this file into the right place or remove the +- reference from the configuration file. An automatic way +- to disable unavailable map files is to call +- $progname --syncwithtrees +- +- For manual editing, call +- $progname --edit ++ reference from the configuration files - see ++ update-updmap(1). + " + + false; return 1 +@@ -1037,6 +1039,8 @@ + # update the config file: uncomment all lines which refer to map files that + # are unavailabe in the texmf trees + ############################################################################### ++# for Debian, this is superseded by a function defined in debianize-updmap ++# (see below) + syncWithTrees() + { + for i in `egrep '^(Mixed)?Map' "$cnfFile" | sed 's@.* @@'`; do +@@ -1050,6 +1054,11 @@ + } + + ############################################################################### ++# source Debian-specific changes, superseding the last three functions ++############################################################################### ++. /usr/share/tex-common/debianize-updmap ++ ++############################################################################### + # normalizeLines() + # remove comments, whitespace is exactly one space, no empty lines, + # no whitespace at end of line, one space before and after ", +@@ -1341,7 +1350,7 @@ + + case "$cmd" in + edit) +- ${VISUAL-${EDITOR-vi}} "$cnfFile";; ++ debianEditWarnAndShow;; + setoption) + setOption "$setoptionOpt" "$setoptionVal";; + enable) --- texlive-bin-2007.dfsg.1.orig/debian/patches/32_dvips_fontbug_fix_upstream +++ texlive-bin-2007.dfsg.1/debian/patches/32_dvips_fontbug_fix_upstream @@ -0,0 +1,896 @@ +--- + build/source/texk/dvipsk/ChangeLog | 36 +++++++++++++++++++ + build/source/texk/dvipsk/Makefile.in | 2 - + build/source/texk/dvipsk/afm2tfm.c | 6 +-- + build/source/texk/dvipsk/afm2tfm.rc | 34 ------------------ + build/source/texk/dvipsk/bbox.c | 2 - + build/source/texk/dvipsk/config.h | 2 - + build/source/texk/dvipsk/crop.lpro | 2 - + build/source/texk/dvipsk/debug.h | 2 - + build/source/texk/dvipsk/download.c | 25 +++++++++---- + build/source/texk/dvipsk/dpicheck.c | 6 +-- + build/source/texk/dvipsk/dvips.1 | 25 ++++++++----- + build/source/texk/dvipsk/dvips.c | 61 +++++++++++++++++++++++++++------ + build/source/texk/dvipsk/dvips.h | 14 ++----- + build/source/texk/dvipsk/emspecial.c | 15 ++++++-- + build/source/texk/dvipsk/finclude.c | 11 +++++ + build/source/texk/dvipsk/finclude.lpro | 1 + build/source/texk/dvipsk/flib.c | 2 - + build/source/texk/dvipsk/header.c | 4 +- + build/source/texk/dvipsk/hps.c | 4 +- + build/source/texk/dvipsk/hps.lpro | 5 +- + build/source/texk/dvipsk/loadfont.c | 11 +++++ + build/source/texk/dvipsk/makefont.c | 6 +-- + build/source/texk/dvipsk/output.c | 11 +++++ + build/source/texk/dvipsk/papersiz.c | 2 - + build/source/texk/dvipsk/paths.h | 2 - + build/source/texk/dvipsk/psfonts.map | 1 + build/source/texk/dvipsk/resident.c | 24 +++++++++++- + build/source/texk/dvipsk/special.lpro | 5 +- + build/source/texk/dvipsk/squeeze.c | 5 -- + build/source/texk/dvipsk/tex.lpro | 2 + + build/source/texk/dvipsk/texc.script | 2 - + build/source/texk/dvipsk/texps.lpro | 2 - + 32 files changed, 220 insertions(+), 112 deletions(-) + +Index: texlive-bin-2007/build/source/texk/dvipsk/ChangeLog +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/ChangeLog 2007-05-07 01:17:36.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/ChangeLog 2007-05-07 01:38:37.000000000 +0200 +@@ -1,3 +1,39 @@ ++2007-05-06 Karl Berry ++ ++ * finclude.c, dvips.c: keep track of last-unused psname (Akira). ++ * dvips.c (DEFRES): move down. ++ * dvips.c (--help): just mention Tom R. ++ ++2007-05-05 Karl Berry ++ ++ * dvips.h (DOWNLOADEDPSSIZE): new constant. ++ * dvips.c (downloadedpsname): new global array. ++ * finclude.c: set it up as we download. ++ * download.c: use it to avoid downloading fonts as both header ++ and font. (From Akira.) ++ ++2007-05-04 Karl Berry ++ ++ * dvips.h (BANNER): change to 5.96dev to distinguish from the release. ++ ++ * header.c (add_name, add_header): cast result of ++ add_header_general to int and return it. From Akira. ++ ++2007-03-23 Karl Berry ++ ++ * dvips.texi: document it. ++ * dvips.c, loadfont.c, resident.c: also report map files ++ and config files, if the envvar DVIPSDEBUG is set. From Akira. ++ ++2007-03-20 Karl Berry ++ ++ * download.c, output.c, emspecial.c: report full pathnames, ++ to help debugging and for consistency with TeX. From Akira. ++ ++2007-03-19 Karl Berry ++ ++ * config.ps (screen): add this, 8.25x11, for powerdot. (From Akira.) ++ + 2006-12-09 Karl Berry + + * dvips.texi (Config file paper sizes): best match now. (From Akira.) +Index: texlive-bin-2007/build/source/texk/dvipsk/Makefile.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/Makefile.in 2007-05-07 01:38:11.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/Makefile.in 2007-05-07 01:38:37.000000000 +0200 +@@ -1,5 +1,5 @@ + # Makefile for dvipsk -- kb@mail.tug.org. Public domain. +-version = 5.96 ++version = 5.96.1 + + # Add -DDEFRES=dpi to DEFS to change the default resolution from 600. + # Add -DSECURE if you will install dvips with special privileges. +Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.c 2007-05-07 01:17:54.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c 2007-05-07 01:38:37.000000000 +0200 +@@ -1489,15 +1489,15 @@ + void version P1C(FILE *, f) + { + extern KPSEDLL char *kpathsea_version_string; +- fputs ("afm2tfm(k) (dvips(k) 5.96) 8.1\n", f); ++ fputs ("afm2tfm(k) (dvips(k) 5.96.1) 8.1\n", f); + fprintf (f, "%s\n", kpathsea_version_string); +- fputs ("Copyright (C) 2005 Radical Eye Software.\n\ ++ fputs ("Copyright (C) 2007 Radical Eye Software.\n\ + There is NO warranty. You may redistribute this software\n\ + under the terms of the GNU General Public License\n\ + and the Dvips copyright.\n\ + For more information about these matters, see the files\n\ + named COPYING and afm2tfm.c.\n\ +-Primary author of afm2tfm: T. Rokicki; -k maintainer: K. Berry.\n", f); ++Original author of afm2tfm: T. Rokicki.\n", f); + } + + #define USAGE "\ +Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.rc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.rc 2007-05-07 01:38:11.000000000 +0200 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,34 +0,0 @@ +-/* afm2tfm.rc: afm2tfm resources -*- C++ -*- +- +- Copyright (C) 1996-2003 Fabrice Popineau +- +- This file is free software; you can redistribute it and/or modify +- it under the terms of the GNU General Public License as published +- by the Free Software Foundation; either version 2, or (at your +- option) any later version. +- +- This file is distributed in the hope that it will be useful, but +- WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this file; if not, write to the Free Software +- Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +- USA. */ +- +-#include +- +-#define VER_FILEVERSION TEXLIVE_MAJOR_VERSION,TEXLIVE_MINOR_VERSION,TEXLIVE_BETA_NUMBER,TEXLIVE_ALPHA_NUMBER +-#define VER_FILEVERSION_STR TEXLIVE_PRODUCTVERSION_STR " afm2tfm(k) (dvips(k) 5.94b) 8.1" +- +-#define VER_INTERNALNAME_STR "afm2tfm" +-#define VER_ORIGINALFILENAME_STR "afm2tfm.exe" +- +-#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 1990-2004 Radical Eye Software" +- +-#define VER_FILEDESCRIPTION_STR "Adobe Font Metric to TeX Font Metric file converter" +- +-#include +- +-/* afm2tfm.rc ends here */ +Index: texlive-bin-2007/build/source/texk/dvipsk/bbox.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/bbox.c 2007-05-07 01:38:11.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/bbox.c 2007-05-07 01:38:37.000000000 +0200 +@@ -6,7 +6,7 @@ + * If you request an EPSF file and specify -a, you may end up + * processing a single page four times! + */ +-#include "dvips.h" ++#include "dvips.h" /* The copyright notice in that file is included too! */ + #include + #include "protos.h" + +Index: texlive-bin-2007/build/source/texk/dvipsk/config.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/config.h 2007-05-07 01:38:11.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/config.h 2007-05-07 01:38:37.000000000 +0200 +@@ -1,5 +1,5 @@ + /* config.h: master configuration file, included first by all compilable +- source files (not headers). */ ++ source files (not headers). This file is public domain. */ + + #ifndef CONFIG_H + #define CONFIG_H +Index: texlive-bin-2007/build/source/texk/dvipsk/crop.lpro +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/crop.lpro 2007-05-07 01:38:11.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/crop.lpro 2007-05-07 01:38:37.000000000 +0200 +@@ -1,5 +1,5 @@ + %! +-% This file is for crop marks. ++% This file is for crop marks. This file is public domain. + % + % First, we translate and draw the marks. You can change the way the + % marks are drawn, but the quarter inch border around the page is fixed. +Index: texlive-bin-2007/build/source/texk/dvipsk/debug.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/debug.h 2007-05-07 01:38:11.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/debug.h 2007-05-07 01:38:37.000000000 +0200 +@@ -1,5 +1,5 @@ + /* +- * Here's some stuff for debugging dvips. ++ * Here's some stuff for debugging dvips. See dvips.h for copyright. + */ + + #ifdef DEBUG +Index: texlive-bin-2007/build/source/texk/dvipsk/download.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/download.c 2007-05-07 01:17:43.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/download.c 2007-05-07 01:38:37.000000000 +0200 +@@ -433,6 +433,9 @@ + * Download a PostScript font, using partial font downloading if + * necessary. + */ ++extern char *downloadedpsnames[]; ++extern int unused_top_of_psnames; ++ + void downpsfont P2C(charusetype *, p, charusetype *, all) + { + #ifdef DOWNLOAD_USING_PDFTEX +@@ -444,6 +447,8 @@ + register chardesctype *c ; + struct resfont *rf ; + int cc; ++ extern char *realnameoffile ; ++ int j; + + curfnt = p->fd ; + rf = curfnt->resfont ; +@@ -457,6 +462,10 @@ + return ; + if (rf->sent == 2) /* sent as header, from a PS file */ + return ; ++ for (j=0; downloadedpsnames[j] && j < unused_top_of_psnames; j++) { ++ if (strcmp (downloadedpsnames[j], rf->PSname) == 0) ++ return; ++ } + if (all->fd == 0) + error("! internal error in downpsfont") ; + if (!partialdownload) { +@@ -514,14 +523,6 @@ + } + } + if(GridCount!=0 || extraGlyphs) { +- if (!quiet) { +- if (strlen(rf->Fontfile) + prettycolumn > STDOUTSIZE) { +- fprintf(stderr, "\n") ; +- prettycolumn = 0 ; +- } +- (void)fprintf(stderr, "<%s>", rf->Fontfile); +- prettycolumn += strlen(rf->Fontfile) + 2 ; +- } + newline() ; + if (! disablecomments) + (void)fprintf(bitfile, "%%%%BeginFont: %s\n", rf->PSname); +@@ -531,6 +532,14 @@ + if(FontPart(bitfile, rf->Fontfile, rf->Vectfile) < 0) + #endif + exit(1); ++ if (!quiet) { ++ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) { ++ fprintf(stderr, "\n") ; ++ prettycolumn = 0 ; ++ } ++ (void)fprintf(stderr, "<%s>", realnameoffile); ++ prettycolumn += strlen(realnameoffile) + 2 ; ++ } + if (! disablecomments) + (void)fprintf(bitfile, "%%%%EndFont \n"); + } +Index: texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/dpicheck.c 2007-05-07 01:38:11.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c 2007-05-07 01:38:37.000000000 +0200 +@@ -1,12 +1,10 @@ + /* +- * This software is Copyright 1988 by Radical Eye Software. +- */ +-/* + * dpicheck of dvips.c. Checks the dots per inch to make sure + * it exists. The fonts which exist are DPI at the appropriate + * magnifications. + */ +-#include "dvips.h" ++#include "dvips.h" /* The copyright notice in that file is included too! */ ++ + extern int actualdpi ; + static integer existsizes[30] = { 0 , 99999999 } ; + static int checkdpi ; +Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.1 +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.1 2007-05-07 01:18:03.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/dvips.1 2007-05-07 01:38:37.000000000 +0200 +@@ -360,16 +360,21 @@ + .B -r + Stack pages in reverse order. Normally, page 1 will be printed first. + .TP +-.B -R +-Run in secure mode. This means that ``backtick'' commands from a +-.I \especial{} +-or +-.I \epsffile{} +-macro in the (La)TeX source like +-.I \especial{psfile="`zcat foo.ps.Z"} +-or +-.I \epsffile[72 72 540 720]{"`zcat screendump.ps.gz"} +-are not executed. ++.B -R[0|1|2] ++Run securely. ++.BR -R2 ++disables both shell command execution in ++.I \especial'{} ++(via backticks ++.BR ` ++) and config files (via the ++.I E ++option), and opening of any absolute filenames. ++.BR -R1 ++, the default, forbids shell escapes but allows absolute filenames. ++.BR -R0 ++allows both. The config file option is ++.I z + .TP + .B -s + Causes the entire global output to be enclosed in a save/restore pair. +Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.c 2007-05-07 01:18:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/dvips.c 2007-05-07 01:38:37.000000000 +0200 +@@ -1,10 +1,6 @@ + /* + * This is the main routine. + */ +-#ifndef DEFRES +-#define DEFRES (600) +-#endif +- + #include "dvips.h" /* The copyright notice there is included too! */ + #ifdef KPATHSEA + #include +@@ -44,12 +40,22 @@ + #include descrip + #endif + #endif ++ ++#ifndef DEFRES ++#define DEFRES (600) ++#endif ++ + /* + * First we define some globals. + */ + #ifdef VMS + static char ofnme[252],infnme[252],pap[40],thh[20]; + #endif ++ ++/* PS fonts fully downloaded as headers */ ++char *downloadedpsnames[DOWNLOADEDPSSIZE]; ++ ++int unused_top_of_psnames ; /* unused top number of downloadedpsnames[#] */ + fontdesctype *fonthead ; /* list of all fonts mentioned so far */ + fontdesctype *curfnt ; /* the currently selected font */ + sectiontype *sections ; /* sections to process document in */ +@@ -159,6 +165,7 @@ + int quiet ; /* should we only print errors to stderr? */ + int filter ; /* act as filter default output to stdout, + default input to stdin? */ ++int dvips_debug_flag ; /* output config and map files to stderr if 1 */ + int prettycolumn ; /* the column we are at when running pretty */ + int gargc ; /* global argument count */ + char **gargv ; /* global argument vector */ +@@ -306,6 +313,16 @@ + fputs (kpse_bug_address, f); + #endif + } ++ ++void ++freememforpsnames(void) ++{ ++ int i; ++ ++ for (i = 0; i < unused_top_of_psnames && downloadedpsnames[i]; i++) ++ free (downloadedpsnames[i]); ++} ++ + /* + * This error routine prints an error message; if the first + * character is !, it aborts the job. +@@ -328,6 +345,7 @@ + } + + if (*s=='!') { ++ freememforpsnames() ; + if (bitfile != NULL) { + cleanprinter() ; + } +@@ -440,6 +458,8 @@ + i = 10; + for (s="abcdef"; *s!=0; s++) + xdig[(int)*s] = i++; ++ for(i=0 ; i < DOWNLOADEDPSSIZE; i++) ++ downloadedpsnames[i] = NULL; + morestrings() ; + maxpages = 100000 ; + numcopies = 1 ; +@@ -552,7 +572,7 @@ + #ifdef MVSXA + int firstext = -1 ; + #endif +- register sectiontype *sects ; ++ sectiontype *sects ; + + #ifdef KPATHSEA + kpse_set_program_name (argv[0], "dvips"); +@@ -607,15 +627,15 @@ + exit (0); + } else if (strcmp (argv[1], "--version") == 0) { + extern KPSEDLL char *kpathsea_version_string; +- puts ("dvips(k) 5.96"); ++ puts ("dvips(k) 5.96.1"); + puts (kpathsea_version_string); +- puts ("Copyright (C) 2005 Radical Eye Software.\n\ ++ puts ("Copyright (C) 2007 Radical Eye Software.\n\ + There is NO warranty. You may redistribute this software\n\ + under the terms of the GNU General Public License\n\ + and the Dvips copyright.\n\ + For more information about these matters, see the files\n\ + named COPYING and dvips.h.\n\ +-Primary author of Dvips: T. Rokicki; -k maintainer: T. Kacvinsky/ S. Rahtz."); ++Primary author of Dvips: T. Rokicki."); + exit (0); + } + if (argc == 2 && strncmp(argv[1], "-?", 2) == 0) { +@@ -630,6 +650,20 @@ + } + #endif + #endif ++ dvips_debug_flag = 0 ; ++ { /* for compilers incompatible with c99 */ ++ char *s = (char *)getenv ("DVIPSDEBUG") ; ++ if (s) { ++ dvips_debug_flag = 1 ; ++ free (s) ; ++ } else { ++ s = (char *) getenv ("KPATHSEA_DEBUG") ; ++ if (s) { ++ dvips_debug_flag = 1 ; ++ free (s) ; ++ } ++ } ++ } + initialize() ; + checkenv(0) ; + getdefaults(CONFIGFILE) ; +@@ -1116,8 +1150,14 @@ + revpslists() ; + getpsinfo((char *)NULL) ; + revpslists() ; +- if (!quiet) +- (void)fprintf(stderr, "%s %s\n", banner, banner2) ; ++ if (dvips_debug_flag) { ++ if (!quiet) ++ (void)fprintf(stderr, "\n%s %s\n", banner, banner2) ; ++ prettycolumn = 0 ; ++ } else { ++ if (!quiet) ++ (void)fprintf(stderr, "%s %s\n", banner, banner2) ; ++ } + if (*iname) { + dvifile = fopen(iname, READBIN) ; + /* +@@ -1367,6 +1407,7 @@ + } + } + } ++ freememforpsnames() ; + if (! sepfiles) { + #ifdef HPS + if (HPS_FLAG) +Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.h 2007-05-07 01:18:25.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/dvips.h 2007-05-07 01:38:37.000000000 +0200 +@@ -1,19 +1,14 @@ + /* + * This is dvips, a freely redistributable PostScript driver +- * for dvi files. It is (C) Copyright 1986-2004 by Tomas Rokicki. +- * You may modify and use this program to your heart's content, +- * so long as you send modifications to Tomas Rokicki. It can +- * be included in any distribution, commercial or otherwise, so +- * long as the banner string defined below is not modified (except +- * for the version number) and this banner is printed on program +- * invocation, or can be printed on program invocation with the -? option. ++ * for dvi files. It is (C) Copyright 1986-2007 by Tomas Rokicki. ++ * You may modify and use this program to your heart's content. + */ + + /* This file is the header for dvips's global data structures. */ + + #define CREATIONDATE + #define BANNER \ +-"This is dvips(k) 5.96 Copyright 2005 Radical Eye Software" ++"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software" + #define BANNER2 "(www.radicaleye.com)" + #ifdef KPATHSEA + #include "config.h" +@@ -58,13 +53,14 @@ + * of a string that can be handled in specials, so it should not be + * set too small. + */ +-#define STRINGSIZE (200000) /* maximum total chars in strings in program */ ++#define STRINGSIZE (200000) /* maximum total chars in strings in program */ + #define RASTERCHUNK (8192) /* size of chunk of raster */ + #define MINCHUNK (240) /* minimum size char to get own raster */ + #define STACKSIZE (350) /* maximum stack size for dvi files */ + #define MAXFRAME (10) /* maximum depth of virtual font recursion */ + #define MAXFONTHD (100) /* number of unique names of included fonts */ + #define STDOUTSIZE (75) /* width of a standard output line */ ++#define DOWNLOADEDPSSIZE (1000) /* max number of downloaded fonts to check */ + /* + * Other constants, which define printer-dependent stuff. + */ +Index: texlive-bin-2007/build/source/texk/dvipsk/emspecial.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/emspecial.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/emspecial.c 2007-05-07 01:38:37.000000000 +0200 +@@ -659,14 +659,23 @@ + void imagehead P5C(char *, filename, int, wide, int, high, + float, emwidth, float, emheight) + { ++ char *fullname = NULL, *name ; + if (!quiet) { +- if (strlen(filename) + prettycolumn > STDOUTSIZE) { ++#ifdef KPATHSEA ++ fullname = (char *)kpse_find_file (filename, pictpath, 0) ; ++#endif ++ if (!fullname) ++ name = filename ; ++ else ++ name = fullname ; ++ if (strlen(name) + prettycolumn > STDOUTSIZE) { + fprintf(stderr,"\n"); + prettycolumn = 0; + } +- (void)fprintf(stderr,"<%s",filename); ++ (void)fprintf(stderr,"<%s",name); + (void)fflush(stderr); +- prettycolumn += 2+strlen(filename); ++ prettycolumn += 2+strlen(name); ++ if (fullname) free (fullname); + } + hvpos(); + nlcmdout("@beginspecial @setspecial") ; +Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.c 2007-05-07 01:17:29.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/finclude.c 2007-05-07 01:38:37.000000000 +0200 +@@ -57,6 +57,9 @@ + extern integer debug_flag; + #endif /* DEBUG */ + ++extern char *downloadedpsnames[]; ++extern int unused_top_of_psnames; ++ + /* + * Create a font descriptor for a font included in a psfile. There will be + * no fontmaptype node for the resulting font descriptor until this font is +@@ -252,6 +255,10 @@ + char *p,*pe; + struct resfont *re; + int i; ++ int j = 0; ++ ++ while (downloadedpsnames[j] != NULL && j < DOWNLOADEDPSSIZE) ++ j++; + + /* Turn all newlines, CRs, and tabs into spaces. */ + p = str; +@@ -312,6 +319,10 @@ + infont = 0 ; + } + re->sent = 2 ; ++ if (unused_top_of_psnames < DOWNLOADEDPSSIZE) { ++ downloadedpsnames[unused_top_of_psnames] = xstrdup (re->PSname); ++ unused_top_of_psnames++; ++ } + } else { + char eb[1000]; + sprintf(eb,"Font %s used in file %s is not in the mapping file.", +Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.lpro 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro 2007-05-07 01:38:37.000000000 +0200 +@@ -1,4 +1,5 @@ + %! ++% finclude.lpro - public domain. + % Define tfm-name to be a dictionary of included fonts indexed by size: + % /tfm-name scaled-size1 /font-select1 ... scsize_k /fselect_k k fstore - + /fstore +Index: texlive-bin-2007/build/source/texk/dvipsk/flib.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/flib.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/flib.c 2007-05-07 01:38:37.000000000 +0200 +@@ -4,7 +4,7 @@ + * Tomas Rokicki or Radical Eye Software; use at your own risk. + */ + #ifdef FONTLIB +-#include "dvips.h" ++#include "dvips.h" /* The copyright notice in that file is included too! */ + #include "paths.h" + #include "protos.h" + extern int debug_flag ; +Index: texlive-bin-2007/build/source/texk/dvipsk/header.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/header.c 2007-05-07 01:18:19.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/header.c 2007-05-07 01:38:37.000000000 +0200 +@@ -35,7 +35,7 @@ + int + add_name P2C(char *, s, struct header_list **, what) + { +- add_name_general (s, what, NULL, NULL); ++ return (int) add_name_general (s, what, NULL, NULL); + } + + /* +@@ -122,7 +122,7 @@ + int + add_header P1C(char *, s) + { +- add_header_general (s, NULL, NULL); ++ return (int) add_header_general (s, NULL, NULL); + } + + int +Index: texlive-bin-2007/build/source/texk/dvipsk/hps.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/hps.c 2007-05-07 01:38:37.000000000 +0200 +@@ -1,8 +1,8 @@ + /* This is the main file for hacking dvips to do HyperPostScript + * Written by Mark D. Doyle 11/94. It is (C) Copyright 1994 by Mark D. Doyle + * and the University of California. You may modify and use this program to +- * your heart's content, so long as you send modifications to Mark Doyle and +- * abide by the rest of the dvips copyrights. ++ * your heart's content. Mark Doyle requests that you send him ++ * any modifications. + */ + #include "dvips.h" + #ifdef HPS +Index: texlive-bin-2007/build/source/texk/dvipsk/hps.lpro +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.lpro 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/hps.lpro 2007-05-07 01:38:37.000000000 +0200 +@@ -5,8 +5,9 @@ + % Written by Tanmoy Bhattacharya and Mark D. Doyle 11/94. + % It is (C) Copyright 1994 by Tanmoy Bhattacharya, Mark D. Doyle + % and the University of California. You may modify and use this program to +-% your heart's content, so long as you send modifications to Tanmoy +-% Bhattacharya and/or Mark Doyle. ++% your heart's content. Tanmoy Bhattacharya and Mark Doyle request that ++% you send either or both them any modifications. ++% + % Version number info + % 1 0 Probably first release + % 1 1 Added external handler to let ghostview work +Index: texlive-bin-2007/build/source/texk/dvipsk/loadfont.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/loadfont.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/loadfont.c 2007-05-07 01:38:37.000000000 +0200 +@@ -333,6 +333,9 @@ + register chardesctype *cd = 0 ; + int maxcc = 0 ; + int munged = 0 ; ++ extern int prettycolumn ; ++ extern int quiet ; ++ extern char *realnameoffile ; + /* + * We clear out some pointers: + */ +@@ -358,6 +361,14 @@ + tfmload(curfnt) ; + return ; + } ++ if (!quiet) { ++ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) { ++ fprintf(stderr, "\n") ; ++ prettycolumn = 0 ; ++ } ++ (void)fprintf(stderr, "<%s>", realnameoffile); ++ prettycolumn += strlen(realnameoffile) + 2 ; ++ } + #ifdef DEBUG + if (dd(D_FONTS)) + (void)fprintf(stderr,"Loading pk font %s at %.1fpt\n", +Index: texlive-bin-2007/build/source/texk/dvipsk/makefont.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/makefont.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/makefont.c 2007-05-07 01:38:37.000000000 +0200 +@@ -1,7 +1,5 @@ +-/* +- * This software is Copyright 1988 by Radical Eye Software. +- */ +-#include "dvips.h" ++/* makefont.c */ ++#include "dvips.h" /* The copyright notice in that file is included too! */ + #include + #include "protos.h" + extern int quiet ; +Index: texlive-bin-2007/build/source/texk/dvipsk/output.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/output.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/output.c 2007-05-07 01:38:37.000000000 +0200 +@@ -113,6 +113,7 @@ + void + copyfile_general P2C(char *, s, struct header_list *, cur_header) + { ++ extern char *realnameoffile ; + FILE *f = NULL ; + int c, prevc = '\n' ; + long len ; +@@ -205,7 +206,11 @@ + error(errbuf) ; + else { + if (! quiet) { ++#if defined(VMCMS) || defined (MVSXA) + if (strlen(s) + prettycolumn > STDOUTSIZE) { ++#else ++ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) { ++#endif + fprintf(stderr, "\n") ; + prettycolumn = 0 ; + } +@@ -215,11 +220,15 @@ + #ifdef MVSXA + (void)fprintf(stderr, "<%s>", trunc_s) ; + #else +- (void)fprintf(stderr, "<%s>", s) ; ++ (void)fprintf(stderr, "<%s>", realnameoffile) ; + #endif + #endif + (void)fflush(stderr) ; ++#if defined(VMCMS) || defined (MVSXA) + prettycolumn += 2 + strlen(s) ; ++#else ++ prettycolumn += 2 + strlen(realnameoffile) ; ++#endif + } + if (linepos != 0) + (void)putc('\n', bitfile) ; +Index: texlive-bin-2007/build/source/texk/dvipsk/papersiz.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/papersiz.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/papersiz.c 2007-05-07 01:38:37.000000000 +0200 +@@ -11,7 +11,7 @@ + * 0 <= num < den <= 20000 + * 0 <= whole + */ +-#include "dvips.h" ++#include "dvips.h" /* The copyright notice in that file is included too! */ + #include "protos.h" + static long scale P4C(long, whole, long, num, long, den, long, sf) + { +Index: texlive-bin-2007/build/source/texk/dvipsk/paths.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/paths.h 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/paths.h 2007-05-07 01:38:37.000000000 +0200 +@@ -1,4 +1,4 @@ +-/* ++/* paths.h - public domain. + * OUTPATH is where to send the output. If you want a .ps file to + * be created by default, set this to "". If you want to automatically + * invoke a pipe (as in lpr), make the first character an exclamation +Index: texlive-bin-2007/build/source/texk/dvipsk/psfonts.map +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/psfonts.map 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/psfonts.map 2007-05-07 01:38:37.000000000 +0200 +@@ -1,4 +1,5 @@ + % original psfonts.map -- match TFM filenames to PostScript FontNames. ++% This file is public domain. + % (If you change or delete `original' on the previous line, dvips won't + % install its psfonts.map over this file.) + % +Index: texlive-bin-2007/build/source/texk/dvipsk/resident.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/resident.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/resident.c 2007-05-07 01:38:37.000000000 +0200 +@@ -32,6 +32,8 @@ + * These are the external variables we use. + */ + extern char *realnameoffile ; ++extern int prettycolumn ; ++extern int dvips_debug_flag ; + #ifdef DEBUG + extern integer debug_flag; + #endif /* DEBUG */ +@@ -441,6 +443,14 @@ + #else + if ((deffile=search(d,PSname,READ))!=NULL) { + #endif ++ if (dvips_debug_flag && !quiet) { ++ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) { ++ fprintf(stderr, "\n") ; ++ prettycolumn = 0 ; ++ } ++ (void)fprintf(stderr, "{%s}", realnameoffile); ++ prettycolumn += strlen(realnameoffile) + 2 ; ++ } + #ifdef DEBUG + if (dd (D_CONFIG)) { + fprintf (stderr, "Reading dvips config file `%s':\n", realnameoffile); +@@ -845,9 +855,9 @@ + */ + void getpsinfo P1C(char *, name) + { +- FILE *deffile ; +- register char *p ; +- char *specinfo, *downloadinfo ; ++ FILE *deffile ; ++ register char *p ; ++ char *specinfo, *downloadinfo ; + char downbuf[500] ; + char specbuf[500] ; + int slen ; +@@ -855,6 +865,14 @@ + if (name == 0) + name = psmapfile ; + if ((deffile=search(mappath, name, READ))!=NULL) { ++ if (dvips_debug_flag && !quiet) { ++ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) { ++ fprintf(stderr, "\n") ; ++ prettycolumn = 0 ; ++ } ++ (void)fprintf(stderr, "{%s}", realnameoffile); ++ prettycolumn += strlen(realnameoffile) + 2 ; ++ } + while (fgets(was_inline, INLINE_SIZE, deffile)!=NULL) { + p = was_inline ; + if (*p > ' ' && *p != '*' && *p != '#' && *p != ';' && *p != '%') { +Index: texlive-bin-2007/build/source/texk/dvipsk/special.lpro +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/special.lpro 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/special.lpro 2007-05-07 01:38:37.000000000 +0200 +@@ -1,6 +1,5 @@ +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-%% header for the \special command +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ++% special.lpro - public domain. ++% header for the \special command + % The structure of the PostScript produced by dvips for \special is: + % @beginspecial + % - any number of @hsize, @hoffset, @hscale, etc., commands +Index: texlive-bin-2007/build/source/texk/dvipsk/squeeze.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/squeeze.c 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/squeeze.c 2007-05-07 01:38:37.000000000 +0200 +@@ -1,7 +1,4 @@ + /* +- * This software is Copyright 1988 by Radical Eye Software. +- */ +-/* + * This routine squeezes a PostScript file down to its + * minimum. We parse and then output it. + */ +@@ -14,7 +11,7 @@ + #include + #include + #include +-#include "dvips.h" ++#include "dvips.h" /* The copyright notice in that file is included too! */ + #endif + #ifdef fopen + #undef fopen +Index: texlive-bin-2007/build/source/texk/dvipsk/tex.lpro +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/tex.lpro 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/tex.lpro 2007-05-07 01:38:37.000000000 +0200 +@@ -1,3 +1,5 @@ ++% tex.lpro - public domain. ++% + % The following defines procedures assumed and used by program "dvips" + % and must be downloaded or sent as a header file for all TeX jobs. + % Originated by Neal Holtz, Carleton University, Ottawa, Canada +Index: texlive-bin-2007/build/source/texk/dvipsk/texc.script +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/texc.script 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/texc.script 2007-05-07 01:38:37.000000000 +0200 +@@ -1,5 +1,5 @@ + #! /bin/sh +-# A shell script to convert tex.lpro to texc.lpro ++# A shell script to convert tex.lpro to texc.lpro. Public domain. + # + # To use it, say + # texc.script tex.lpro texc.lpro +Index: texlive-bin-2007/build/source/texk/dvipsk/texps.lpro +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipsk/texps.lpro 2007-05-07 01:38:12.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dvipsk/texps.lpro 2007-05-07 01:38:37.000000000 +0200 +@@ -1,5 +1,5 @@ + % Thanks for some changes to: +-%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02 ++%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02. Public domain. + %+ My comments are marked as %+ + % PostScript prolog for using resident fonts. + %+ Provision is made to change the encoding scheme in special instructions. --- texlive-bin-2007.dfsg.1.orig/debian/patches/12e_fix_vpe_invocation +++ texlive-bin-2007.dfsg.1/debian/patches/12e_fix_vpe_invocation @@ -0,0 +1,15 @@ +--- + build/source/texk/texlive/vpe | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +Index: texlive-bin-2007/build/source/texk/texlive/vpe +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/texlive/vpe 2007-05-19 16:37:45.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/texlive/vpe 2007-05-19 16:37:54.000000000 +0200 +@@ -1,5 +1,4 @@ +-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' +- if 0; ++#!/usr/bin/perl -w + use strict; + # + # vpe.pl --- texlive-bin-2007.dfsg.1.orig/debian/patches/64_fix_makempx_installation +++ texlive-bin-2007.dfsg.1/debian/patches/64_fix_makempx_installation @@ -0,0 +1,21 @@ +64_fix_makempx_installation by Sanjoy Mahajan + +building with --enable-shared installs the makempx script instead of the +binary build +--- + build/source/texk/web2c/mpware/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: texlive-bin-2007/build/source/texk/web2c/mpware/Makefile.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/mpware/Makefile.in 2007-05-19 20:04:58.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/mpware/Makefile.in 2007-05-19 20:05:19.000000000 +0200 +@@ -49,7 +49,7 @@ + $(INSTALL_PROGRAM) newer $(bindir)/newer + $(INSTALL_LIBTOOL_PROG) dmp $(bindir) + $(INSTALL_LIBTOOL_PROG) mpto $(bindir) +- $(INSTALL_SCRIPT) makempx $(scriptdir)/makempx ++ $(INSTALL_LIBTOOL_PROG) makempx $(bindir) + install-data: + + kpse_include ../make/tkpathsea.mk --- texlive-bin-2007.dfsg.1.orig/debian/patches/xetex-0996-patch1 +++ texlive-bin-2007.dfsg.1/debian/patches/xetex-0996-patch1 @@ -0,0 +1,1037 @@ +Patches from texlive release 2007.0 (DVD) to 2007.1 which consists of +fixes for the xetex version in TL2007 made by Jonathan Kew, from his mail +to the texlive ML: +: Regarding the actual fixes committed to the 2007 branch: these +: primarily provide xetex compatibility on big-endian 64-bit systems. +: In addition, they correct two minor bugs where xetex generated +: incorrect output, and protect xetex and xdvipdfmx from certain kinds +: of defective TrueType fonts that could cause crashes. +--- + build/source/libs/icu-xetex/layout/KernTable.cpp | 29 +++++- + build/source/texk/web2c/texmfmem.h | 39 -------- + build/source/texk/web2c/xetexdir/XeTeX_ext.c | 100 +++++++++++------------ + build/source/texk/web2c/xetexdir/XeTeX_ext.h | 63 ++++++++------ + build/source/texk/web2c/xetexdir/XeTeX_mac.c | 2 + build/source/texk/web2c/xetexdir/jpegimage.c | 2 + build/source/texk/web2c/xetexdir/xetex-new.ch | 98 +++++++++++++--------- + build/source/texk/web2c/xetexdir/xetex.defines | 2 + build/source/texk/web2c/xetexdir/xetex.h | 3 + build/source/texk/web2c/xetexdir/xetex.mk | 10 +- + build/source/texk/xdvipdfmx/src/tt_cmap.c | 9 ++ + 11 files changed, 190 insertions(+), 167 deletions(-) + +Index: texlive-bin-2007/build/source/libs/icu-xetex/layout/KernTable.cpp +=================================================================== +--- texlive-bin-2007.orig/build/source/libs/icu-xetex/layout/KernTable.cpp 2006-07-25 14:37:43.000000000 +0200 ++++ texlive-bin-2007/build/source/libs/icu-xetex/layout/KernTable.cpp 2007-08-13 16:22:35.000000000 +0200 +@@ -16,8 +16,10 @@ + U_NAMESPACE_BEGIN + + struct PairInfo { +- le_uint32 key; // sigh, MSVC compiler gags on union here ++ le_uint16 left; ++ le_uint16 right; + le_int16 value; // fword, kern value in funits ++ le_uint32 key() const { return ((le_uint32)SWAPW(left) << 16) | SWAPW(right); } + }; + #define KERN_PAIRINFO_SIZE 6 + +@@ -81,9 +83,24 @@ + if (coverage & COVERAGE_HORIZONTAL) { // only handle horizontal kerning + const Subtable_0* table = (const Subtable_0*)((char*)subhead + KERN_SUBTABLE_HEADER_SIZE); + nPairs = SWAPW(table->nPairs); ++#if 0 // don't trust these fields as some old TTF fonts have bad data here + searchRange = SWAPW(table->searchRange); + entrySelector = SWAPW(table->entrySelector); + rangeShift = SWAPW(table->rangeShift); ++#else // recompute the binary search header fields ++ if (nPairs == 0) { // this probably shouldn't happen ++ searchRange = entrySelector = 0; ++ } else { ++ searchRange = 1; ++ entrySelector = 0; ++ while (searchRange * 2 <= nPairs) { ++ searchRange *= 2; ++ entrySelector += 1; ++ } ++ } ++ rangeShift = (nPairs - searchRange) * KERN_PAIRINFO_SIZE; ++ searchRange *= KERN_PAIRINFO_SIZE; ++#endif + pairs = (const PairInfo*)((char*)table + KERN_SUBTABLE_0_HEADER_SIZE); + + #if DEBUG +@@ -103,9 +120,8 @@ + + const PairInfo* p = pairs; + for (i = 0; i < nPairs; ++i, p = (const PairInfo*)((char*)p+KERN_PAIRINFO_SIZE)) { +- le_uint32 k = SWAPL(p->key); +- le_uint16 left = (k >> 16) & 0xffff; +- le_uint16 right = k & 0xffff; ++ le_uint16 left = SWAPW(p->left); ++ le_uint16 right = SWAPW(p->right); + if (left < 256 && right < 256) { + char c = ids[left]; + if (c > 0x20 && c < 0x7f) { +@@ -149,10 +165,11 @@ + // but it is not in sorted order on win32 platforms because of the endianness difference + // so either I have to swap the element each time I examine it, or I have to swap + // all the elements ahead of time and store them in the font ++ // The key() accessor on PairInfo handles the swapping if needed + + const PairInfo* p = pairs; + const PairInfo* tp = (const PairInfo*)((char*)p + rangeShift); +- if (key > SWAPL(tp->key)) { ++ if (key > tp->key()) { + p = tp; + } + +@@ -165,7 +182,7 @@ + while (probe > KERN_PAIRINFO_SIZE) { + probe >>= 1; + tp = (const PairInfo*)((char*)p + probe); +- le_uint32 tkey = SWAPL(tp->key); ++ le_uint32 tkey = tp->key(); + #if DEBUG + fprintf(stdout, " %.3d (%0.8x)\n", ((char*)tp - (char*)pairs)/KERN_PAIRINFO_SIZE, tkey); + fflush(stdout); +Index: texlive-bin-2007/build/source/texk/web2c/texmfmem.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/texmfmem.h 2006-06-20 14:03:18.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/texmfmem.h 2007-08-13 16:22:35.000000000 +0200 +@@ -112,25 +112,13 @@ + #else + twohalves hhfield; + #endif +-#ifdef WORDS_BIGENDIAN + #ifdef XeTeX +- struct +- { +- integer CINT; +- integer CINT1; +- } x; +-#else +- integer cint; ++ voidpointer ptr; + #endif ++#ifdef WORDS_BIGENDIAN ++ integer cint; + fourquarters qqqq; + #else /* not WORDS_BIGENDIAN */ +-#ifdef XeTeX +- struct +- { +- integer CINT1; +- integer CINT; +- } x; +-#else + struct + { + #if defined (TeX) && !defined (SMALLTeX) || defined (MF) && !defined (SMALLMF) || defined (MP) && !defined (SMALLMP) +@@ -138,7 +126,6 @@ + #endif /* big {TeX,MF,MP} */ + integer CINT; + } u; +-#endif + + struct + { +@@ -159,28 +146,13 @@ + typedef union + { + #ifdef WORDS_BIGENDIAN +-#ifdef XeTeX +- struct +- { +- integer CINT; +- } x; +-#else + integer cint; +-#endif + fourquarters qqqq; + #else /* not WORDS_BIGENDIAN */ +-#ifdef XeTeX +- struct +- { +- halfword junk; +- integer CINT; +- } x; +-#else + struct + { + integer CINT; + } u; +-#endif + + struct + { +@@ -199,14 +171,9 @@ + #define rh v.RH + #define lhfield v.LH + +-#ifdef XeTeX +-#define cint x.CINT +-#define cint1 x.CINT1 +-#else + #ifndef WORDS_BIGENDIAN + #define cint u.CINT + #endif +-#endif /* XeTeX */ + + #ifndef WORDS_BIGENDIAN + #define qqqq v.QQQQ +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-08-13 16:22:35.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-08-13 16:22:35.000000000 +0200 +@@ -236,9 +236,9 @@ + } + + +-extern char* gettexstring(int strNumber); ++extern char* gettexstring(integer strNumber); + void +-setinputfileencoding(UFILE* f, int mode, int encodingData) ++setinputfileencoding(UFILE* f, integer mode, integer encodingData) + { + if ((f->encodingMode == ICUMAPPING) && (f->conversionData != NULL)) + ucnv_close((UConverter*)(f->conversionData)); +@@ -288,9 +288,9 @@ + static char* byteBuffer = NULL; + + UInt32 bytesRead = 0; +- int i; ++ int i; + UConverter* cnv; +- long outLen; ++ int outLen; + UErrorCode errorCode = 0; + + if (byteBuffer == NULL) +@@ -355,10 +355,9 @@ + static int brkLocaleStrNum = 0; + + void +-linebreakstart(int localeStrNum, const UniChar* text, int textLength) ++linebreakstart(integer localeStrNum, const UniChar* text, integer textLength) + { + UErrorCode status = 0; +- int i; + + if ((localeStrNum != brkLocaleStrNum) && (brkIter != NULL)) { + ubrk_close(brkIter); +@@ -392,8 +391,8 @@ + return ubrk_next((UBreakIterator*)brkIter); + } + +-long +-getencodingmodeandinfo(long* info) ++int ++getencodingmodeandinfo(integer* info) + { + /* \XeTeXinputencoding "enc-name" + * -> name is packed in |nameoffile| as a C string, starting at [1] +@@ -811,7 +810,7 @@ + } + + void* +-findnativefont(unsigned char* uname, long scaled_size) ++findnativefont(unsigned char* uname, integer scaled_size) + /* scaled_size here is in TeX points */ + { + void* rval = 0; +@@ -950,7 +949,6 @@ + otgetfontmetrics(void* pEngine, scaled* ascent, scaled* descent, scaled* xheight, scaled* capheight, scaled* slant) + { + XeTeXLayoutEngine engine = (XeTeXLayoutEngine)pEngine; +- long rval = 0; + float a, d; + int glyphID; + +@@ -977,8 +975,8 @@ + *capheight = *ascent; /* arbitrary figure if there's no 'X' in the font */ + } + +-long +-otfontget(int what, void* pEngine) ++integer ++otfontget(integer what, void* pEngine) + { + XeTeXLayoutEngine engine = (XeTeXLayoutEngine)pEngine; + XeTeXFont fontInst = getFont(engine); +@@ -995,8 +993,8 @@ + } + + +-long +-otfontget1(int what, void* pEngine, long param) ++integer ++otfontget1(integer what, void* pEngine, integer param) + { + XeTeXLayoutEngine engine = (XeTeXLayoutEngine)pEngine; + XeTeXFont fontInst = getFont(engine); +@@ -1013,8 +1011,8 @@ + } + + +-long +-otfontget2(int what, void* pEngine, long param1, long param2) ++integer ++otfontget2(integer what, void* pEngine, integer param1, integer param2) + { + XeTeXLayoutEngine engine = (XeTeXLayoutEngine)pEngine; + XeTeXFont fontInst = getFont(engine); +@@ -1032,8 +1030,8 @@ + } + + +-long +-otfontget3(int what, void* pEngine, long param1, long param2, long param3) ++integer ++otfontget3(integer what, void* pEngine, integer param1, integer param2, integer param3) + { + XeTeXLayoutEngine engine = (XeTeXLayoutEngine)pEngine; + XeTeXFont fontInst = getFont(engine); +@@ -1091,7 +1089,7 @@ + xdvbuffer = (char*)xmalloc(xdvBufSize); + } + +- glyph_info = (void*)native_glyph_info_ptr(p); ++ glyph_info = native_glyph_info_ptr(p); + locations = (FixedPoint*)glyph_info; + glyphIDs = (UInt16*)(locations + glyphCount); + +@@ -1138,8 +1136,8 @@ + return ((char*)cp - xdvbuffer); + } + +-long +-makefontdef(long f) ++int ++makefontdef(integer f) + { + UInt16 flags = 0; + UInt32 variationCount = 0; +@@ -1349,7 +1347,7 @@ + } + + void +-getnativecharheightdepth(int font, int ch, scaled* height, scaled* depth) ++getnativecharheightdepth(integer font, integer ch, scaled* height, scaled* depth) + { + #define QUAD(f) fontinfo[6+parambase[f]].cint + #define X_HEIGHT(f) fontinfo[5+parambase[f]].cint +@@ -1389,7 +1387,7 @@ + } + + scaled +-getnativecharht(int f, int c) ++getnativecharht(integer f, integer c) + { + scaled h, d; + getnativecharheightdepth(f, c, &h, &d); +@@ -1397,7 +1395,7 @@ + } + + scaled +-getnativechardp(int f, int c) ++getnativechardp(integer f, integer c) + { + scaled h, d; + getnativecharheightdepth(f, c, &h, &d); +@@ -1405,7 +1403,7 @@ + } + + void +-getnativecharsidebearings(int font, int ch, scaled* lsb, scaled* rsb) ++getnativecharsidebearings(integer font, integer ch, scaled* lsb, scaled* rsb) + { + float l, r; + +@@ -1432,7 +1430,7 @@ + } + + scaled +-getnativecharic(int f, int c) ++getnativecharic(integer f, integer c) + { + scaled lsb, rsb; + getnativecharsidebearings(f, c, &lsb, &rsb); +@@ -1443,7 +1441,7 @@ + } + + scaled +-getnativecharwd(int f, int c) ++getnativecharwd(integer f, integer c) + { + scaled wd = 0; + #ifdef XETEX_MAC +@@ -1515,7 +1513,7 @@ + void* glyph_info = 0; + static float* positions = 0; + static UInt32* glyphs = 0; +- static long maxGlyphs = 0; ++ static int maxGlyphs = 0; + + FixedPoint* locations; + UInt16* glyphIDs; +@@ -1591,7 +1589,7 @@ + + node_width(node) = X2Fix(wid); + native_glyph_count(node) = realGlyphCount; +- native_glyph_info_ptr(node) = (long)glyph_info; ++ native_glyph_info_ptr(node) = glyph_info; + } + else { + int i; +@@ -1632,7 +1630,7 @@ + } + + native_glyph_count(node) = realGlyphCount; +- native_glyph_info_ptr(node) = (long)glyph_info; ++ native_glyph_info_ptr(node) = glyph_info; + } + + ubidi_close(pBiDi); +@@ -1787,8 +1785,8 @@ + } + } + +-int +-mapchartoglyph(int font, unsigned int ch) ++integer ++mapchartoglyph(integer font, integer ch) + { + if (ch > 0x10ffff || ((ch >= 0xd800) && (ch <= 0xdfff))) + return 0; +@@ -1805,8 +1803,8 @@ + } + } + +-int +-mapglyphtoindex(int font) ++integer ++mapglyphtoindex(integer font) + /* glyph name is at nameoffile+1 */ + { + #ifdef XETEX_MAC +@@ -1822,8 +1820,8 @@ + } + } + +-int +-getfontcharrange(int font, int first) ++integer ++getfontcharrange(integer font, int first) + { + #ifdef XETEX_MAC + if (fontarea[font] == AAT_FONT_FLAG) +@@ -1928,10 +1926,10 @@ + #endif + } + +-long ++int + atsufontget(int what, ATSUStyle style) + { +- long rval = -1; ++ int rval = -1; + + #ifdef XETEX_MAC + ATSUFontID fontID; +@@ -1966,10 +1964,10 @@ + return rval; + } + +-long ++int + atsufontget1(int what, ATSUStyle style, int param) + { +- long rval = -1; ++ int rval = -1; + + #ifdef XETEX_MAC + ATSUFontID fontID; +@@ -2026,10 +2024,10 @@ + return rval; + } + +-long ++int + atsufontget2(int what, ATSUStyle style, int param1, int param2) + { +- long rval = -1; ++ int rval = -1; + + #ifdef XETEX_MAC + ATSUFontID fontID; +@@ -2063,10 +2061,10 @@ + return rval; + } + +-long ++int + atsufontgetnamed(int what, ATSUStyle style) + { +- long rval = -1; ++ int rval = -1; + + #ifdef XETEX_MAC + ATSUFontID fontID; +@@ -2090,10 +2088,10 @@ + return rval; + } + +-long ++int + atsufontgetnamed1(int what, ATSUStyle style, int param) + { +- long rval = -1; ++ int rval = -1; + + #ifdef XETEX_MAC + ATSUFontID fontID; +@@ -2220,7 +2218,7 @@ + } + + void +-printglyphname(int font, int gid) ++printglyphname(integer font, integer gid) + { + char* s; + int len = 0; +@@ -2243,8 +2241,8 @@ + printchar(*s++); + } + +-boolean +-u_open_in(unicodefile* f, int filefmt, const_string fopen_mode, int mode, int encodingData) ++int ++u_open_in(unicodefile* f, integer filefmt, const_string fopen_mode, integer mode, integer encodingData) + { + boolean rval; + *f = malloc(sizeof(UFILE)); +@@ -2287,7 +2285,7 @@ + return rval; + } + +-boolean ++int + open_dvi_output(FILE** fptr) + { + if (nopdfoutput) { +@@ -2391,7 +2389,7 @@ + return rval; + } + +-boolean ++int + input_line(UFILE* f) + { + int i; +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/XeTeX_ext.h 2006-12-29 18:54:26.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.h 2007-08-13 16:23:36.000000000 +0200 +@@ -141,10 +141,10 @@ + #define node_width(node) node[width_offset].cint + #define node_depth(node) node[depth_offset].cint + #define node_height(node) node[height_offset].cint +-#define native_length(node) node[native_info_offset].hh.v.RH +-#define native_font(node) node[native_info_offset].hh.b1 +-#define native_glyph_count(node) node[native_glyph_info_offset].hh.v.LH +-#define native_glyph_info_ptr(node) node[native_glyph_info_offset].hh.v.RH ++#define native_length(node) node[native_info_offset].qqqq.b2 ++#define native_font(node) node[native_info_offset].qqqq.b1 ++#define native_glyph_count(node) node[native_info_offset].qqqq.b3 ++#define native_glyph_info_ptr(node) node[native_glyph_info_offset].ptr + #define native_glyph_info_size 10 /* info for each glyph is location (FixedPoint) + glyph ID (UInt16) */ + + #define native_glyph(p) native_length(p) /* glyph ID field in a glyph_node */ +@@ -206,6 +206,8 @@ + extern const UInt32 byteMask; + extern const UInt32 byteMark; + ++#include /* for FILE */ ++ + #include "trans.h" + + #ifdef __cplusplus +@@ -213,51 +215,62 @@ + #endif + void initversionstring(char **versions); + +- void setinputfileencoding(unicodefile f, int mode, int encodingData); ++ void setinputfileencoding(unicodefile f, integer mode, integer encodingData); + void uclose(unicodefile f); + int input_line_icu(unicodefile f); +- void linebreakstart(int localeStrNum, const UniChar* text, int textLength); ++ void linebreakstart(integer localeStrNum, const UniChar* text, integer textLength); + int linebreaknext(); +- long getencodingmodeandinfo(long* info); ++ int getencodingmodeandinfo(integer* info); + void printutf8str(const unsigned char* str, int len); + void printchars(const unsigned short* str, int len); + void* load_mapping_file(const char* s, const char* e); +- void* findnativefont(unsigned char* name, long scaled_size); ++ void* findnativefont(unsigned char* name, integer scaled_size); + void releasefontengine(void* engine, int type_flag); + +- /* 'integer' params here are really TeX 'scaled' values, but that typedef isn't available every place this is included */ ++ /* the metrics params here are really TeX 'scaled' values, but that typedef isn't available every place this is included */ + void otgetfontmetrics(void* engine, integer* ascent, integer* descent, integer* xheight, integer* capheight, integer* slant); +- void getnativecharheightdepth(int font, int ch, integer* height, integer* depth); +- void getnativecharsidebearings(int font, int ch, integer* lsb, integer* rsb); ++ void getnativecharheightdepth(integer font, integer ch, integer* height, integer* depth); ++ void getnativecharsidebearings(integer font, integer ch, integer* lsb, integer* rsb); + + /* single-purpose metrics accessors */ +- integer getnativecharwd(int font, int ch); +- integer getnativecharht(int font, int ch); +- integer getnativechardp(int font, int ch); +- integer getnativecharic(int font, int ch); +- +- long otfontget(int what, void* engine); +- long otfontget1(int what, void* engine, long param); +- long otfontget2(int what, void* engine, long param1, long param2); +- long otfontget3(int what, void* engine, long param1, long param2, long param3); ++ integer getnativecharwd(integer font, integer ch); ++ integer getnativecharht(integer font, integer ch); ++ integer getnativechardp(integer font, integer ch); ++ integer getnativecharic(integer font, integer ch); ++ ++ integer otfontget(integer what, void* engine); ++ integer otfontget1(integer what, void* engine, integer param); ++ integer otfontget2(integer what, void* engine, integer param1, integer param2); ++ integer otfontget3(integer what, void* engine, integer param1, integer param2, integer param3); + int makeXDVGlyphArrayData(void* p); +- long makefontdef(long f); ++ int makefontdef(integer f); + int applymapping(void* cnv, const UniChar* txtPtr, int txtLen); + void store_justified_native_glyphs(void* node); + void measure_native_node(void* node, int use_glyph_metrics); + Fixed get_native_ital_corr(void* node); + Fixed get_native_glyph_ital_corr(void* node); + void measure_native_glyph(void* node, int use_glyph_metrics); +- int mapchartoglyph(int font, unsigned int ch); +- int mapglyphtoindex(int font); +- ++ integer mapchartoglyph(integer font, integer ch); ++ integer mapglyphtoindex(integer font); ++ integer getfontcharrange(integer font, int first); ++ void printglyphname(integer font, integer gid); ++ ++ double read_double(const char** s); ++ unsigned int read_rgb_a(const char** cp); ++ + const char* getGlyphNamePtr(const char* buffer, int tableSize, UInt16 gid, int* len); + + int find_pic_file(char** path, realrect* bounds, int pdfBoxType, int page); ++ int u_open_in(unicodefile* f, integer filefmt, const char* fopen_mode, integer mode, integer encodingData); ++ int open_dvi_output(FILE** fptr); ++ void dviclose(FILE* fptr); ++ int get_uni_c(UFILE* f); ++ int input_line(UFILE* f); ++ void makeutf16name(); + + #ifdef XETEX_MAC + /* functions in XeTeX_mac.c */ +- void* loadAATfont(ATSFontRef fontRef, long scaled_size, const char* cp1); ++ void* loadAATfont(ATSFontRef fontRef, integer scaled_size, const char* cp1); + void DoAtsuiLayout(void* node, int justify); + void GetGlyphBBox_AAT(ATSUStyle style, UInt16 gid, GlyphBBox* bbox); + float GetGlyphWidth_AAT(ATSUStyle style, UInt16 gid); +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_mac.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/XeTeX_mac.c 2006-12-06 18:29:15.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_mac.c 2007-08-13 16:22:35.000000000 +0200 +@@ -162,7 +162,7 @@ + lsDelta -= lsUnit; + + native_glyph_count(node) = realGlyphCount; +- native_glyph_info_ptr(node) = (long)glyph_info; ++ native_glyph_info_ptr(node) = glyph_info; + + if (!justify) + node_width(node) = FixedPStoTeXPoints(layoutRec[count-1].realPos) + lsDelta; +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/jpegimage.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/jpegimage.c 2006-07-26 18:19:45.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/jpegimage.c 2007-08-13 16:22:35.000000000 +0200 +@@ -81,6 +81,8 @@ + + #include + ++#include "kpathsea/lib.h" /* for xmalloc/xrealloc prototypes */ ++ + #define JPEG_DEBUG_STR "JPEG" + #define JPEG_DEBUG 3 + +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex-new.ch +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/xetex-new.ch 2007-01-03 17:25:04.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex-new.ch 2007-08-13 16:22:35.000000000 +0200 +@@ -56,7 +56,7 @@ + + @d XeTeX_version=0 + @d XeTeX_revision==".996" +-@d XeTeX_version_string=='-0.996' {current \XeTeX\ version} ++@d XeTeX_version_string=='-0.996-patch1' {current \XeTeX\ version} + @z + + @x +@@ -706,29 +706,28 @@ + + To support ``native'' fonts, we build |native_word_nodes|, which are variable size whatsits. + These have the same |width|, |depth|, and |height| fields as a |box_node|, at offsets 1-3, +-and then a word containing a size field for the node, a font number, and a length. +-Then there is a field containing two halfwords, a glyph count and a C pointer to a glyph info array; +-these are set by |set_native_metrics|. Copying and freeing of these nodes needs to take account of this! ++and then a word containing a size field for the node, a font number, a length, and a glyph count. ++Then there is a field containing a C pointer to a glyph info array; ++this and the glyph count are set by |set_native_metrics|. ++Copying and freeing of these nodes needs to take account of this! + This is followed by |length| bytes, for the actual characters of the string. + (Yes, we count in bytes, even though what we store there is UTF-16.) + + So |native_node_size|, which does not include any space for the actual text, is 6.} + +-@d deleted_native_node=41 {native words that have been superseded by their successors} +- + @d native_node_size=6 {size of a native_word node (plus the actual chars) -- see also xetex.h} +-@d native_size(#)==mem[#+4].hh.b0 +-@d native_font(#)==mem[#+4].hh.b1 +-@d native_length(#)==mem[#+4].hh.rh +-@d native_glyph_count(#)==mem[#+5].hh.lh +-@d native_glyph_info_ptr(#)==mem[#+5].hh.rh ++@d native_size(#)==mem[#+4].qqqq.b0 ++@d native_font(#)==mem[#+4].qqqq.b1 ++@d native_length(#)==mem[#+4].qqqq.b2 ++@d native_glyph_count(#)==mem[#+4].qqqq.b3 ++@d native_glyph_info_ptr(#)==mem[#+5].ptr + @d native_glyph_info_size=10 { number of bytes of info per glyph: 16-bit glyph ID, 32-bit x and y coords } + + @d free_native_glyph_info(#) == + begin +- if native_glyph_info_ptr(#) <> 0 then begin +- libc_free(cast_to_ptr(native_glyph_info_ptr(#))); +- native_glyph_info_ptr(#) := 0; ++ if native_glyph_info_ptr(#) <> null_ptr then begin ++ libc_free(native_glyph_info_ptr(#)); ++ native_glyph_info_ptr(#) := null_ptr; + native_glyph_count(#) := 0; + end + end +@@ -736,10 +735,10 @@ + @p procedure copy_native_glyph_info(src:pointer; dest:pointer); + var glyph_count:integer; + begin +- if native_glyph_info_ptr(src) <> 0 then begin ++ if native_glyph_info_ptr(src) <> null_ptr then begin + glyph_count := native_glyph_count(src); +- native_glyph_info_ptr(dest) := cast_to_integer(xmalloc_array(char, glyph_count * native_glyph_info_size)); +- memcpy(cast_to_ptr(native_glyph_info_ptr(dest)), cast_to_ptr(native_glyph_info_ptr(src)), glyph_count * native_glyph_info_size); ++ native_glyph_info_ptr(dest) := xmalloc_array(char, glyph_count * native_glyph_info_size); ++ memcpy(native_glyph_info_ptr(dest), native_glyph_info_ptr(src), glyph_count * native_glyph_info_size); + native_glyph_count(dest) := glyph_count; + end + end; +@@ -2936,8 +2935,7 @@ + end + + @ @= +-while (q <> null) and (not is_char_node(q)) +- and ( (type(q) = disc_node) or ((type(q) = whatsit_node) and (subtype(q) = deleted_native_node)) ) do ++while (q <> null) and (not is_char_node(q)) and (type(q) = disc_node) do + q := link(q) + + @ We ought to give special care to the efficiency of one part of |hlist_out|, +@@ -3293,7 +3291,6 @@ + or (subtype(v)=pic_node) + or (subtype(v)=pdf_node) + then break_width[1]:=break_width[1]-width(v) +- else if subtype(v)=deleted_native_node then do_nothing + else confusion("disc1a"); + othercases confusion("disc1") + @z +@@ -3307,7 +3304,6 @@ + or (subtype(s)=pic_node) + or (subtype(s)=pdf_node) + then break_width[1]:=break_width[1]+width(s) +- else if subtype(s)=deleted_native_node then do_nothing + else confusion("disc2a"); + othercases confusion("disc2") + @z +@@ -3327,7 +3323,6 @@ + or (subtype(s)=pic_node) + or (subtype(s)=pdf_node) + then disc_width:=disc_width+width(s) +- else if subtype(s)=deleted_native_node then do_nothing + else confusion("disc3a"); + othercases confusion("disc3") + @z +@@ -3341,7 +3336,6 @@ + or (subtype(s)=pic_node) + or (subtype(s)=pdf_node) + then act_width:=act_width+width(s) +- else if subtype(s)=deleted_native_node then do_nothing + else confusion("disc4a"); + othercases confusion("disc4") + @z +@@ -3784,7 +3778,7 @@ + @!main_p:pointer; {temporary register for list manipulation} + @y + @!main_p:pointer; {temporary register for list manipulation} +-@!main_pp:pointer; {another temporary register for list manipulation} ++@!main_pp,@!main_ppp:pointer; {more temporary registers for list manipulation} + @!main_h:pointer; {temp for hyphen offset in native-font text} + @!is_hyph:boolean; {whether the last char seen is the font's hyphenchar} + @z +@@ -3859,11 +3853,22 @@ + + if mode=hmode then begin + ++ main_ppp := head; ++ if main_ppp<>main_pp then ++ while (link(main_ppp)<>main_pp) do ++ main_ppp:=link(main_ppp); { find node preceding tail } ++ + temp_ptr := str_start_macro(str_ptr); + repeat + if main_h = 0 then main_h := main_k; + +- if (not is_char_node(main_pp)) and (type(main_pp)=whatsit_node) and (subtype(main_pp)=native_word_node) and (native_font(main_pp)=main_f) then begin ++ if (not is_char_node(main_pp)) ++ and (type(main_pp)=whatsit_node) ++ and (subtype(main_pp)=native_word_node) ++ and (native_font(main_pp)=main_f) ++ and (main_ppp<>main_pp) ++ and type(main_ppp)<>disc_node ++ then begin + + { make a new temp string that contains the concatenated text of |tail| + the current word/fragment } + main_k := main_h + native_length(main_pp); +@@ -3888,9 +3893,13 @@ + do incr(main_h); { look for next hyphen or end of text } + if (main_h < main_k) then incr(main_h); + +- { flag the previous node as no longer valid } +- free_native_glyph_info(main_pp); +- subtype(main_pp) := deleted_native_node; ++ { remove the preceding node from the list } ++ link(main_ppp) := link(main_pp); ++ link(main_pp) := null; ++ flush_node_list(main_pp); ++ main_pp := tail; ++ while (link(main_ppp)<>main_pp) do ++ main_ppp:=link(main_ppp); + + end else begin + +@@ -3929,9 +3938,14 @@ + set_native_char(tail, main_p + native_length(main_pp), str_pool[str_start_macro(str_ptr) + main_p]); + set_native_metrics(tail, XeTeX_use_glyph_metrics); + +- { flag the previous node as no longer valid } +- free_native_glyph_info(main_pp); +- subtype(main_pp) := deleted_native_node; ++ { remove the preceding node from the list } ++ main_p := head; ++ if main_p<>main_pp then ++ while link(main_p)<>main_pp do ++ main_p := link(main_p); ++ link(main_p) := link(main_pp); ++ link(main_pp) := null; ++ flush_node_list(main_pp); + end else begin + { package the current string into a |native_word| whatsit } + link(main_pp) := new_native_word_node(main_f, main_k); +@@ -3997,7 +4011,6 @@ + @y + if type(p)<>kern_node then if type(p)<>ligature_node then + if (type(p)<>whatsit_node) or ((subtype(p)<>native_word_node) +- and (subtype(p)<>deleted_native_node) + and (subtype(p)<>glyph_node)) then + begin print_err("Improper discretionary list"); + @z +@@ -4802,8 +4815,10 @@ + print_char(" "); + print_native_word(p); + end; ++@{ + deleted_native_node: + print("[DELETED]"); ++@} + glyph_node:begin + print_esc(font_id_text(native_font(p))); + print(" glyph#"); +@@ -4837,12 +4852,9 @@ + r:=get_node(words); + while words > 0 do + begin decr(words); mem[r+words]:=mem[p+words]; end; +- native_glyph_info_ptr(r):=0; native_glyph_count(r):=0; ++ native_glyph_info_ptr(r):=null_ptr; native_glyph_count(r):=0; + copy_native_glyph_info(p, r); + end; +-deleted_native_node: begin words:=native_size(p); +- r:=get_node(words); +- end; + glyph_node: begin r:=get_node(glyph_node_size); + words:=glyph_node_size; + end; +@@ -4858,7 +4870,6 @@ + othercases confusion("ext3") + @y + native_word_node: begin free_native_glyph_info(p); free_node(p,native_size(p)); end; +-deleted_native_node: free_node(p,native_size(p)); + glyph_node: free_node(p,glyph_node_size); + pic_node,pdf_node: free_node(p,total_pic_node_size(p)); + pdf_save_pos_node: +@@ -5106,7 +5117,7 @@ + dvi_two(native_glyph(p)); + cur_h := cur_h + width(p); + end else begin +- if native_glyph_info_ptr(p) <> 0 then begin ++ if native_glyph_info_ptr(p) <> null_ptr then begin + len := make_xdv_glyph_array_data(p); + for k := 0 to len-1 do + dvi_out(xdv_buffer_byte(k)); +@@ -5231,7 +5242,7 @@ + @x + language_node:do_nothing; + @y +-language_node,deleted_native_node:do_nothing; ++language_node:do_nothing; + @z + + @x +@@ -6012,6 +6023,11 @@ + goto next_p; + + @ Here we compute the effective width of a glue node as in |hlist_out|. ++ ++@= ++glue_node: begin round_glue; ++ @; ++ end; + @z + + @x +@@ -6106,7 +6122,7 @@ + native_length(q) := n; + + native_glyph_count(q) := 0; +- native_glyph_info_ptr(q) := 0; ++ native_glyph_info_ptr(q) := null_ptr; + + new_native_word_node := q; + end; +@@ -6163,7 +6179,7 @@ + + native_size(p) := native_node_size + 1; + native_glyph_count(p) := 0; +- native_glyph_info_ptr(p) := 0; ++ native_glyph_info_ptr(p) := null_ptr; + native_font(p) := f; + + if c > @"FFFF then begin +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.defines +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/xetex.defines 2006-12-06 18:29:15.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.defines 2007-08-13 16:22:35.000000000 +0200 +@@ -32,6 +32,8 @@ + + { xetex.defines: additions for xetex } + ++@define @field ptr; ++@define const nullptr; + @define type voidpointer; + @define function getnativechar(); + @define procedure setnativechar(); +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/xetex.h 2006-12-06 18:29:15.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.h 2007-08-13 16:22:35.000000000 +0200 +@@ -63,8 +63,7 @@ + + #define dviopenout(f) open_dvi_output(&(f)) + +-#define casttoptr(x) (void*)(x) +-#define casttointeger(x) (long)(x) ++#define nullptr (NULL) + #define glyphinfobyte(p,k) ((unsigned char*)p)[k] + #define casttoushort(x) (unsigned short)(x) + +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/xetex.mk 2007-08-13 16:22:35.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk 2007-08-13 16:22:35.000000000 +0200 +@@ -279,7 +279,7 @@ + + xefmtdir = $(web2cdir)/xetex + $(xefmtdir):: +- $(SHELL) $(top_srcdir)/../mkinstalldirs $(xefmtdir) ++ $(SHELL) $(top_srcdir)/../mkinstalldirs ${DESTDIR}$(xefmtdir) + + xetex.fmt: xetex + $(dumpenv) $(MAKE) progname=xetex files="xetex.ini unicode-letters.tex plain.tex cmr10.tfm" prereq-check +@@ -298,7 +298,7 @@ + + install-programs: @XETEX@ install-xetex-programs + install-xetex-programs: xetex $(bindir) +- for p in xetex; do $(INSTALL_LIBTOOL_PROG) $$p $(bindir); done ++ for p in xetex; do $(INSTALL_LIBTOOL_PROG) $$p ${DESTDIR}$(bindir); done + + install-links: @XETEX@ install-xetex-links + install-xetex-links: install-xetex-programs +@@ -308,13 +308,13 @@ + install-fmts: @XETEX@ install-xetex-fmts + install-xetex-fmts: xefmts $(xefmtdir) + xefmts="$(all_xefmts)"; \ +- for f in $$xefmts; do $(INSTALL_DATA) $$f $(xefmtdir)/$$f; done ++ for f in $$xefmts; do $(INSTALL_DATA) $$f ${DESTDIR}$(xefmtdir)/$$f; done + xefmts="$(xefmts)"; \ + for f in $$xefmts; do base=`basename $$f .fmt`; \ +- (cd $(bindir) && (rm -f $$base; $(LN) xetex $$base)); done ++ (cd ${DESTDIR}$(bindir) && (rm -f $$base; $(LN) xetex $$base)); done + + install-data:: @XETEX@ install-xetex-data + install-xetex-pool: xetex.pool $(texpooldir) +- $(INSTALL_DATA) xetex.pool $(texpooldir)/xetex.pool ++ $(INSTALL_DATA) xetex.pool ${DESTDIR}$(texpooldir)/xetex.pool + + # end of xetex.mk +Index: texlive-bin-2007/build/source/texk/xdvipdfmx/src/tt_cmap.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/xdvipdfmx/src/tt_cmap.c 2006-09-29 17:15:10.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/xdvipdfmx/src/tt_cmap.c 2007-08-13 16:22:35.000000000 +0200 +@@ -303,6 +303,9 @@ + if (cc >= map->startCount[i]) { + if (map->idRangeOffset[i] == 0) { + gid = (cc + map->idDelta[i]) & 0xffff; ++ } else if (cc == 0xffff && map->idRangeOffset[i] == 0xffff) { ++ /* this is for protection against some old broken fonts... */ ++ gid = 0; + } else { + j = map->idRangeOffset[i] - (segCount - i) * 2; + j = (cc - map->startCount[i]) + (j / 2); +@@ -630,6 +633,9 @@ + ch = c0 + j; + if (map->idRangeOffset[i] == 0) { + gid = (ch + map->idDelta[i]) & 0xffff; ++ } else if (c0 == 0xffff && c1 == 0xffff && map->idRangeOffset[i] == 0xffff) { ++ /* this is for protection against some old broken fonts... */ ++ gid = 0; + } else { + gid = (map->glyphIndexArray[j+d] + + map->idDelta[i]) & 0xffff; +@@ -952,6 +958,9 @@ + ch = c0 + j; + if (map->idRangeOffset[i] == 0) { + gid = (ch + map->idDelta[i]) & 0xffff; ++ } else if (c0 == 0xffff && c1 == 0xffff && map->idRangeOffset[i] == 0xffff) { ++ /* this is for protection against some old broken fonts... */ ++ gid = 0; + } else { + gid = (map->glyphIndexArray[j+d] + + map->idDelta[i]) & 0xffff; --- texlive-bin-2007.dfsg.1.orig/debian/patches/22_xdvi +++ texlive-bin-2007.dfsg.1/debian/patches/22_xdvi @@ -0,0 +1,43 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 22_xdvi.dpatch +## +## DP: force input focus for the text input +## DP: field that appears after hitting Ctrl-F (string search). +## DP: thanks Florent, taken from tetex. +## DP: fix segfault when hitting g with -nogrey, upstream fix from Stefan Ulrich + +@DPATCH@ + build/source/texk/xdvik/dvi-draw.c | 3 +++ + build/source/texk/xdvik/gui/search-dialog.c | 5 +++++ + 2 files changed, 8 insertions(+) + +Index: texlive-bin-2006.svn3816/build/source/texk/xdvik/gui/search-dialog.c +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/gui/search-dialog.c 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/xdvik/gui/search-dialog.c 2007-01-26 04:00:04.000000000 +0100 +@@ -694,6 +694,11 @@ + #ifdef MOTIF + XtAddCallback(searchbox_input, XmNactivateCallback, cb_search_get_term, settings); + #endif ++ ++ /* Fix for #1499566: Force input focus for text input field */ ++#ifndef MOTIF ++ XtSetKeyboardFocus(find_paned, searchbox_input); ++#endif + + /* + * form for left row of options checkbuttons +Index: texlive-bin-2006.svn3816/build/source/texk/xdvik/dvi-draw.c +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/dvi-draw.c 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/xdvik/dvi-draw.c 2007-01-26 04:00:04.000000000 +0100 +@@ -1255,6 +1255,9 @@ + do_color_change(); + } + #endif ++ if (pixeltbl == NULL) { ++ do_color_change(); ++ } + + /* TODO: rounding errors causing color fringing (see HACK comment below): + --- texlive-bin-2007.dfsg.1.orig/debian/patches/13_fmtutil_fixes +++ texlive-bin-2007.dfsg.1/debian/patches/13_fmtutil_fixes @@ -0,0 +1,83 @@ +# 13_fmtutil_fixes +# +# Remove the following calls to BuildFormat: +# - texmf/bin-metafont.tpm BuildFormat/metafont +# call moved to texlive-base/metafont.tpm +# - texmf/bin-etex.tpm BuildFormat/etex +# call moved to texlive-base/plain.tpm +# - texmf/bin-pdftex.tpm BuildFormat/pdftex +# call moved to texlive-base/plain.tpm +# - texmf/bin-tex.tpm BuildFormat/tex +# call moved to texlive-base/plain.tpm +# (see texlive-base/debian/patches/10_fmtutil_fixes) +# +# Reason behind: the ini files are only available in the texlive-base +# package. +# +# We don't need to fix the formats.XXXX.cnf files itself, because they will +# not be read at all. But we have to included FIXES format.XXXX.cnf files +# in texlive-base, because the postrm script uses the information therein +# to remove the formats. + + texmf/tpm/bin-etex.tpm | 3 --- + texmf/tpm/bin-metafont.tpm | 3 --- + texmf/tpm/bin-pdftex.tpm | 3 --- + texmf/tpm/bin-tex.tpm | 3 --- + 4 files changed, 12 deletions(-) + +Index: texlive-bin-2007/texmf/tpm/bin-metafont.tpm +=================================================================== +--- texlive-bin-2007.orig/texmf/tpm/bin-metafont.tpm 2007-02-07 12:34:15.000000000 +0100 ++++ texlive-bin-2007/texmf/tpm/bin-metafont.tpm 2007-05-21 13:02:53.000000000 +0200 +@@ -94,9 +94,6 @@ + + + +- +- +- + TLCore/bin-metafont + + +Index: texlive-bin-2007/texmf/tpm/bin-etex.tpm +=================================================================== +--- texlive-bin-2007.orig/texmf/tpm/bin-etex.tpm 2007-05-21 13:05:05.000000000 +0200 ++++ texlive-bin-2007/texmf/tpm/bin-etex.tpm 2007-05-21 13:05:53.000000000 +0200 +@@ -51,9 +51,6 @@ + + + +- +- +- + TLCore/bin-etex + + +Index: texlive-bin-2007/texmf/tpm/bin-pdftex.tpm +=================================================================== +--- texlive-bin-2007.orig/texmf/tpm/bin-pdftex.tpm 2007-05-21 13:05:29.000000000 +0200 ++++ texlive-bin-2007/texmf/tpm/bin-pdftex.tpm 2007-05-21 13:05:44.000000000 +0200 +@@ -212,9 +212,6 @@ + + + +- +- +- + TLCore/bin-pdftex + + +Index: texlive-bin-2007/texmf/tpm/bin-tex.tpm +=================================================================== +--- texlive-bin-2007.orig/texmf/tpm/bin-tex.tpm 2007-05-21 13:05:24.000000000 +0200 ++++ texlive-bin-2007/texmf/tpm/bin-tex.tpm 2007-05-21 13:06:00.000000000 +0200 +@@ -56,9 +56,6 @@ + + + +- +- +- + TLCore/bin-tex + + --- texlive-bin-2007.dfsg.1.orig/debian/patches/a2ping-man-fixes +++ texlive-bin-2007.dfsg.1/debian/patches/a2ping-man-fixes @@ -0,0 +1,522 @@ +a2ping-man-fixes +remove all .pl extensions of a2ping in the a2ping script and its pod +documentation. Then also update the man page +--- + build/source/texk/tetex/a2ping | 38 +++---- + texmf/doc/man/man1/a2ping.1 | 221 ++++++++++++++++++++++++++++------------- + 2 files changed, 170 insertions(+), 89 deletions(-) + +Index: texlive-bin-2007/build/source/texk/tetex/a2ping +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/a2ping 2007-06-29 08:08:38.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/tetex/a2ping 2007-06-29 08:09:39.000000000 +0200 +@@ -12,8 +12,8 @@ + # + # !! Imp: merge back to a2ping.pa + # !! Ghostcript compute pipe too slow +-# $ a2ping.pl -v debrecen-hyph.ps de brecen-hyph.pdf +-# a2ping.pl 2.77p, 2004-04-28 -- Written by from April 2003. ++# $ a2ping -v debrecen-hyph.ps de brecen-hyph.pdf ++# a2ping 2.77p, 2004-04-28 -- Written by from April 2003. + # This is free software, GNU GPL >=2.0. There is NO WARRANTY. + # (epstopdf 2.7 Copyright 1998-2001 by Sebastian Rahtz et al.) + # * Strongest BoundingBox comment: %%HiResBoundingBox: +@@ -340,7 +340,7 @@ + BEGIN{$ INC{'Htex/a2ping.pm'}='Htex/a2ping.pm'} + + package Htex::a2ping; +-# a2ping.pl -- convert between PS, EPS and PDF and other page description formats ++# a2ping -- convert between PS, EPS and PDF and other page description formats + # by pts@fazekas.hu et al. at Wed Apr 16 14:54:13 CEST 2003 + # a2ping.pa created at Sun Apr 20 22:25:47 2003 + # +@@ -358,7 +358,7 @@ + # Imp: gs(704?!) sometimes finds too small bbox, see Univers.eps + # Imp: respect bbox in METAPOST %! (not EPS), don't use Compute-GS T- + # Imp: -sPDFPassword=... +-# Imp: `a2ping.pl -v jf.eps pdf1: t.pdf' PDF1: must be forced to have --below ++# Imp: `a2ping -v jf.eps pdf1: t.pdf' PDF1: must be forced to have --below + # Imp: option to `clip' an EPS to the specified bbox -- does file size decrease? + # Imp: fix bug a2ping -v ~/a2ping_bug.ps a2ping_bug.pdf; running type1fix on + # all fonts with dff.pl has fixed the problem +@@ -387,7 +387,7 @@ + # Imp: possibly accept /PageSize from %%DocumentMedia + # Imp: /DocumentMedia seems to screw up sub-pt placement in gv(1) + # +-# Dat: example: a2ping.pl --extra=-c:ijg:50 -r86 nn1.eps nn1.jpg ++# Dat: example: a2ping --extra=-c:ijg:50 -r86 nn1.eps nn1.jpg + # Dat: calling ``showpage'' is not required for -sDEVICE=pdfwrite with gs 6.50, + # but -sDEVICE=pgmraw depends on it + # Dat: the functionality of pdfboxes.pl cannot be provided here with a shorter +@@ -400,7 +400,7 @@ + # /ImagingBBox /HWResolution /HWSize /.MediaSize (we undef all) + + ### program identification +-my $program = "a2ping.pl"; ++my $program = "a2ping"; + my $filedate="2007-03-07"; # my $filedate="2001/03/05"; + my $copyright = "Written by from April 2003. + This is free software, GNU GPL >=2.0. There is NO WARRANTY. +@@ -1439,7 +1439,7 @@ + # chance to override its settings.) So we emit a fake + # %%BeginSetup..%%EndSetup pair just before our code doing + # `setpagedevice'. +- # !! ?? run pstops first, and then a2ping.pl ++ # !! ?? run pstops first, and then a2ping + # !! why does a PDF -> PS conversion need $is_restored? + # vvv Dat: `mark' is necessary, because pstops 1.17 from xpdf(1) emits lines + # lines leaving `false' on the stack: +@@ -1974,7 +1974,7 @@ + my $ofn=$OutputFilename; + if (is_via_sam2p()) { + # Dat: fortunately the following file format names are commin in sam2p(1) +- # and a2ping.pl: PNG XWD BMP TIFF JPEG GIF XPM ++ # and a2ping: PNG XWD BMP TIFF JPEG GIF XPM + @pnm2sampled_cmd=('sam2p',"$FileFormat:",'--'); # Imp: use convert(1) if no sam2p(1) + $ofn=fix_force_out('SS.pnm'); + push @pnm2sampled_cmd, $ofn, $OutputFilename; +@@ -2263,7 +2263,7 @@ + if (@pnm2sampled_cmd) { # $scale3_pnm_fn -> $OutputFilename + do_system @pnm2sampled_cmd; # Dat: uses @extra -- really share that? + temp_unlink $scale3_pnm_fn; +-} else { # BUGFIX for `a2ping.pl -v --antialias=no negyzet.eps negyzet.png' at Wed Jul 20 21:34:29 CEST 2005 ++} else { # BUGFIX for `a2ping -v --antialias=no negyzet.eps negyzet.png' at Wed Jul 20 21:34:29 CEST 2005 + fix_close_out(); + } + undef $unlink_OutputFilename; +@@ -2298,14 +2298,14 @@ + + =head1 NAME + +-a2ping.pl -- convert between PS, EPS and PDF and other page description ++a2ping -- convert between PS, EPS and PDF and other page description + formats + + =head1 SYNOPSIS + +-Z<> B [B<-->]B +- B [B<-->]B +- B [I] > [[I:] I] ++Z<> B [B<-->]B ++ B [B<-->]B ++ B [I] > [[I:] I] + + =head1 DESCRIPTION + +@@ -2338,8 +2338,8 @@ + + =head1 EXTERNAL PROGRAMS + +-The internal file format of B is PS/EPS. Everything read is +-first converted to PS or EPS, then processed by B, then ++The internal file format of B is PS/EPS. Everything read is ++first converted to PS or EPS, then processed by B, then + converted to the output format. + + To analyse the bounding box and other properties of non-EPS PS files +@@ -2352,7 +2352,7 @@ + + Sampled input formats are PNG, JPEG, TIFF, PNM, BMP, GIF, LBM, XPM, PCX + and TGA. To read sampled input formats, B is used. B is +-a raster image converter written in C++ by the author of B. ++a raster image converter written in C++ by the author of B. + + Extra output formats are PNG, XWD, BMP, TIFF, JPEG, GIF and XPM. To + write extra output formats, B and GS are used. +@@ -2455,7 +2455,7 @@ + =item * + + If your EPS contains a wrong bounding box, you can fix it by running +-C ++C + + =item * + +@@ -2481,7 +2481,7 @@ + =item * + + If you have an incompatible PS that GS can read but your printer cannot print, +-just run C ++just run C + + =item * + +@@ -2644,7 +2644,7 @@ + * improved bbox discovery + * many bugfixes + * MetaPost EPS input fixes for prologues:=0; +- * a2ping.pl -v --papersize=50,60 --bboxfrom=compute-gs t.ps t2.ps ++ * a2ping -v --papersize=50,60 --bboxfrom=compute-gs t.ps t2.ps + * consistent bbox, --PageSize, /PageSize handling + * consistent --Resolution and --Duplex handling + +Index: texlive-bin-2007/texmf/doc/man/man1/a2ping.1 +=================================================================== +--- texlive-bin-2007.orig/texmf/doc/man/man1/a2ping.1 2007-06-29 08:09:50.000000000 +0200 ++++ texlive-bin-2007/texmf/doc/man/man1/a2ping.1 2007-06-29 08:10:05.000000000 +0200 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13 ++.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 + .\" + .\" Standard preamble: + .\" ======================================================================== +@@ -25,11 +25,11 @@ + .. + .\" Set up some character translations and predefined strings. \*(-- will + .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +-.\" double quote, and \*(R" will give a right double quote. | will give a +-.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +-.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +-.\" expand to `' in nroff, nothing in troff, for use with C<>. +-.tr \(*W-|\(bv\*(Tr ++.\" double quote, and \*(R" will give a right double quote. \*(C+ will ++.\" give a nicer C++. Capital omega is used to do unbreakable dashes and ++.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, ++.\" nothing in troff, for use with C<>. ++.tr \(*W- + .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' + .ie n \{\ + . ds -- \(*W- +@@ -129,7 +129,7 @@ + .\" ======================================================================== + .\" + .IX Title "A2PING 1" +-.TH A2PING 1 "2004-05-26" "perl v5.8.1" "User Contributed Perl Documentation" ++.TH A2PING 1 "2007-06-29" "perl v5.8.8" "User Contributed Perl Documentation" + .ds pts-dev \*[.T] + .do if '\*[.T]'ascii' .ds pts-dev tty + .do if '\*[.T]'ascii8' .ds pts-dev tty +@@ -145,13 +145,13 @@ + .ad n + + .SH "NAME" +-a2ping.pl \-\- convert between PS, EPS and PDF and other page description ++a2ping \-\- convert between PS, EPS and PDF and other page description + formats + .SH "SYNOPSIS" + .IX Header "SYNOPSIS" +-\&\& \fBa2ping.pl\fR [\fB\-\-\fR]\fBhelp\fR +- \fBa2ping.pl\fR [\fB\-\-\fR]\fBdoc\fR +- \fBa2ping.pl\fR [\fIoptions\fR] <\fIinputfile\fR> [[\fIoutformat\fR:] \fIoutputfile\fR] ++\&\& \fBa2ping\fR [\fB\-\-\fR]\fBhelp\fR ++ \fBa2ping\fR [\fB\-\-\fR]\fBdoc\fR ++ \fBa2ping\fR [\fIoptions\fR] <\fIinputfile\fR> [[\fIoutformat\fR:] \fIoutputfile\fR] + .SH "DESCRIPTION" + .IX Header "DESCRIPTION" + \&\fBa2ping\fR is a \s-1UNIX\s0 command line utility written in Perl that +@@ -182,8 +182,8 @@ + extension of the output file determines the FileFormat (\fIoutformat\fR). + .SH "EXTERNAL PROGRAMS" + .IX Header "EXTERNAL PROGRAMS" +-The internal file format of \fBa2ping.pl\fR is \s-1PS/EPS\s0. Everything read is +-first converted to \s-1PS\s0 or \s-1EPS\s0, then processed by \fBa2ping.pl\fR, then ++The internal file format of \fBa2ping\fR is \s-1PS/EPS\s0. Everything read is ++first converted to \s-1PS\s0 or \s-1EPS\s0, then processed by \fBa2ping\fR, then + converted to the output format. + .PP + To analyse the bounding box and other properties of non-EPS \s-1PS\s0 files +@@ -196,42 +196,106 @@ + .PP + Sampled input formats are \s-1PNG\s0, \s-1JPEG\s0, \s-1TIFF\s0, \s-1PNM\s0, \s-1BMP\s0, \s-1GIF\s0, \s-1LBM\s0, \s-1XPM\s0, \s-1PCX\s0 + and \s-1TGA\s0. To read sampled input formats, \fBsam2p\fR is used. \fBsam2p\fR is +-a raster image converter written in \*(C+ by the author of \fBa2ping.pl\fR. ++a raster image converter written in \*(C+ by the author of \fBa2ping\fR. + .PP + Extra output formats are \s-1PNG\s0, \s-1XWD\s0, \s-1BMP\s0, \s-1TIFF\s0, \s-1JPEG\s0, \s-1GIF\s0 and \s-1XPM\s0. To + write extra output formats, \fBsam2p\fR and \s-1GS\s0 are used. + .PP + \&\s-1PNM\s0 output formats are \s-1PGM\s0, \s-1PGM\s0 and \s-1PPM\s0. To write \s-1PNM\s0 output formats, \s-1GS\s0 + is used. ++.SH "OPTIONS" ++.IX Header "OPTIONS" ++.Sh "General Options" ++.IX Subsection "General Options" ++.IP "\fB\-h\fR, \fB\-\-help\fR" 2 ++.IX Item "-h, --help" ++Show a summary of the usage ++.IP "\fB\-\-doc\fR" 2 ++.IX Item "--doc" ++Show the man page ++.IP "\fB\-v\fR, \fB\-\-(no)verbose\fR" 2 ++.IX Item "-v, --(no)verbose" ++Show progress and debug messages (default: no) ++.Sh "Options for the Bounding box" ++.IX Subsection "Options for the Bounding box" ++.IP "\fB\-\-(no)hires\fR" 2 ++.IX Item "--(no)hires" ++Use HiResBoundingBox in the input file, if present (default: yes) ++.IP "\fB\-\-(no)exact\fR" 2 ++.IX Item "--(no)exact" ++Use ExactBoundingBox in the input file, if present (default: no) ++.IP "\fB\-\-(no)keepoldmediabox\fR" 2 ++.IX Item "--(no)keepoldmediabox" ++keep only old, [0 0]\-based MediaBox in \s-1PDF\s0 (default: no) ++.IP "\fB\-\-bboxfrom=\fR\fIadsc|compute\-gs|guess|pagesize\fR" 2 ++.IX Item "--bboxfrom=adsc|compute-gs|guess|pagesize" ++Method for determining the BoundingBox (default: guess) ++.IP "\fB\-\-(no)below\fR" 2 ++.IX Item "--(no)below" ++Allow page content below and left of the origin (default: no) ++.Sh "Options for graphics and fonts" ++.IX Subsection "Options for graphics and fonts" ++.IP "\fB\-\-(no)compress\fR" 2 ++.IX Item "--(no)compress" ++use compression (default: best) ++.IP "\fB\-\-(no)antialias\fR" 2 ++.IX Item "--(no)antialias" ++render shades at outlines. Possible values: (=\fIscale3yes\fR =\fIno\fR =\fIyes\fR) (default: scale3no) ++.IP "\fB\-\-(no)lossy\fR" 2 ++.IX Item "--(no)lossy" ++allow lossy image filters (\s-1EPS\-\s0>\s-1PDF\s0) (default: yes) ++.IP "\fB\-\-papersize=\fR\fIunchanged|force\-unknown|600bpx5cm\fR" 2 ++.IX Item "--papersize=unchanged|force-unknown|600bpx5cm" ++(default: default) (bp) ++.IP "\fB\-\-threshold=\fR" 2 ++.IX Item "--threshold=" ++min color for 1 in 8\->1 bit conv (default: 128) ++.Sh "Options for debugging and changing internals" ++.IX Subsection "Options for debugging and changing internals" ++.IP "\fB\-\-(no)tmpunlink\fR" 2 ++.IX Item "--(no)tmpunlink" ++Unlink temporary files (default: yes). Use \fB\-\-notmpunklink\fR if you ++want to inspect intermediate files. ++.IP "\fB\-\-gs\-cmd=\fR\fIpath\fR" 2 ++.IX Item "--gs-cmd=path" ++path to Ghostscript program (default: gs or gswin32c) ++.IP "\fB\-\-gs\-ccmd=\fR\fIpath\fR" 2 ++.IX Item "--gs-ccmd=path" ++path to Ghostscript for BoundingBox calculation (default: gs or gswin32c) ++.IP "\fB\-\-gsextra=\fR\fI\s-1GS_ARGS\s0\fR" 2 ++.IX Item "--gsextra=GS_ARGS" ++Pass extra arguments to gs ++.IP "\fB\-\-extra=\fR" 2 ++.IX Item "--extra=" ++Pass extra arguments to external program (i.e pdftops) + .SH "TIPS AND TRICKS" + .IX Header "TIPS AND TRICKS" +-.IP "\(bu" 2 +-Call with the \fB\-v\fR option to see progress and debug messages. +-.IP "\(bu" 2 ++.RS 2 ++.IP "*" 2 + If your \s-1EPS\s0 contains a wrong bounding box, you can fix it by running +-\&\f(CW\*(C`a2ping.pl \-v \-\-bboxfrom=compute\-gs thefile.eps \-\-\*(C'\fR +-.IP "\(bu" 2 ++\&\f(CW\*(C`a2ping \-v \-\-bboxfrom=compute\-gs thefile.eps \-\-\*(C'\fR ++.IP "*" 2 + You can specify \fB\-\fR as \fIinputfile\fR to get stdin and as \fIoutputfile\fR + to get stdout. This works even for \s-1PDF\s0 files (which must be seekable), + because \fBa2ping\fR copies them to a temporary file automatically. +-.IP "\(bu" 2 ++.IP "*" 2 + If \fIinputfile\fR and \fIoutputfile\fR are the same, \fBa2ping\fR copies the + \&\fIinputfile\fR to a temporary location first. However, this usage is + recommended only if there is a backup of the file to be restored in case + \&\fBa2ping\fR doesn't produce the desired result. +-.IP "\(bu" 2 ++.IP "*" 2 + If you specify \fB\-\-\fR as \fIoutputfile\fR, it will be the same as \fIinputfile\fR. +-.IP "\(bu" 2 ++.IP "*" 2 + \&\fBa2ping\fR respects \fB\-\-Duplex\fR for FileFormat \s-1PCL5\s0, even though \s-1GS\s0 doesn't. +-.IP "\(bu" 2 ++.IP "*" 2 + If you have an incompatible \s-1PS\s0 that \s-1GS\s0 can read but your printer cannot print, +-just run \f(CW\*(C`a2ping.pl foo.ps PDF: \- | a2ping.pl \- PS: foo.ps\*(C'\fR +-.IP "\(bu" 2 ++just run \f(CW\*(C`a2ping foo.ps PDF: \- | a2ping \- PS: foo.ps\*(C'\fR ++.IP "*" 2 + If you have a \s-1PS\s0 coming from Win32 (often with extension \f(CW\*(C`.prn\*(C'\fR), run + it through \fBa2ping\fR. It will remove the resolution changes and the + progress text printed to the terminal (which confuses \fIgv\fR\|(1) and makes + some filters in the print queue emit incorrect output). +-.IP "\(bu" 2 ++.IP "*" 2 + \&\fBa2ping\fR does antialiasing (\fB\-\-antialias=scale3no\fR) of glyphs and + curves when emitting a sampled image (FileFormats such as \s-1PGM\s0 and \s-1PPM\s0). + This improves readability of the glyphs. \fB=yes\fR instructs \s-1GS\s0 to do +@@ -240,49 +304,59 @@ + as big, and then scales it back down. \fB=scale3no\fR turns on both 3x3 + scaling and \s-1GS\s0 internal antialiasing, which results in thicker lines and + worse quality in general. +-.IP "\(bu" 2 ++.IP "*" 2 + When creating a \s-1PBM\s0 file, antialiasing usually doesn't improve the + quality, so it is switched off by default. But if you set + \&\fB\-\-antialias=scale3no\fR or \fB\-\-antialias=scale3yes\fR, \s-1GS\s0 will render a \s-1PGM\s0 file, + and the value of \fB\-\-threshold\fR determines the minimum intensity for white in + the final \s-1PBM\s0. +-.IP "\(bu" 2 ++.IP "*" 2 + If you need a bigger sampled output file, specify a larger + \&\fB\-\-Resolution\fR. The default is \fB\-\-Resolution=72\fR. If your sampled output file + is going to be really big, you should specify \fB\-\-AntiAlias=yes\fR instead of + the default \fB\-\-AntiAlias=scale3no\fR to speed up conversion. ++.IP "*" 2 ++To make sure fonts are included in a \s-1PDF\s0 file generated from eps, use ++\&\fB\-\-gsextra='\-dEmbedAllFonts=true \-dPDFSETTINGS=/printer'\fR. ++.RE ++.RS 2 + .SH "MISC" + .IX Header "MISC" +-.IP "\(bu" 2 ++.IP "*" 2 + Doesn't depend on the filename or extension of the input file. +-.IP "\(bu" 2 ++.IP "*" 2 + Conversion from \s-1EPS\s0 to \s-1PDF:\s0 fixes glitches etc., calls gs + \&\-sDEVICE=pdfwrite +-.IP "\(bu" 2 ++.IP "*" 2 + Conversion from \s-1EPS\s0 to \s-1EPS:\s0 fixes various glitches, moves (llx,lly) to + (0,0), removes binary junk from the beginning of the \s-1EPS\s0 etc. +-.IP "\(bu" 2 ++.IP "*" 2 + Conversion from \s-1PDF\s0 to \s-1PDF:\s0 keeps the file intact +-.IP "\(bu" 2 ++.IP "*" 2 + Conversion from \s-1PDF\s0 to \s-1EPS:\s0 calls pdftops \-eps (of the xpdf package) +-.IP "\(bu" 2 ++.IP "*" 2 + Conversion from \s-1PS\s0 to \s-1EPS:\s0 keeps 1st page only, removes setpagedevice etc. ++.RE ++.RS 2 + .SH "AUTHORS" + .IX Header "AUTHORS" +-The author of \fBa2ping\fR is Szab Pter <\fIpts@fazekas.hu\fR>. +-.PP ++The author of \fBa2ping\fR is Pter Szab <\fIpts@fazekas.hu\fR>. ++.Sp + \&\fBa2ping\fR is inspired by and historically based on the \fBepstopdf\fR Perl + script modified by Thomas Esser, Sept. 1998, but his modifications have + been removed from \fBa2ping\fR, and also \fBa2ping\fR and \fBepstopdf\fR do not + share common code anymore. \fBepstopdf\fR is written by Sebastian Rahtz, + for Elsevier Science. \fBepstopdf\fR contained extra tricks from Hans Hagen's + texutil. ++.Sp ++\&\fBa2ping\fR contains contributions from several people, see the \s-1HISTORY\s0 for ++details. Thank you all for contributing! + .SH "HISTORY" + .IX Header "HISTORY" + .Sh "1999/05/06 v2.5 (Heiko Oberdiek)" + .IX Subsection "1999/05/06 v2.5 (Heiko Oberdiek)" + .Vb 14 +-\& * New options: --hires, --exact, --filter, --help. ++\& * New options: \-\-hires, \-\-exact, \-\-filter, \-\-help. + \& * Many cosmetics: title, usage, ... + \& * New code for debug, warning, error + \& * Detecting of cygwin perl +@@ -308,73 +382,80 @@ + \& * Newline before grestore for the case that there is no + \& whitespace at the end of the eps file. + .Ve +-.Sh "2003/02/02 (Szab Pter)" +-.IX Subsection "2003/02/02 (Szab Pter)" ++.Sh "2003/02/02 (Pter Szab)" ++.IX Subsection "2003/02/02 (Pter Szab)" + .Vb 10 +-\& * option --below ++\& * option \-\-below + \& * removes DOS EPSF binary junk correctly + \& * adds all 3 BoundingBox DSC comments + \& * reads all 3 BoundingBox DSC comments, and picks the best + \& * forces BoundingBox to be an integer +-\& * adds %%EndComments and proper %!PS-Adobe-?-? EPSF-?.? header ++\& * adds %%EndComments and proper %!PS\-Adobe\-?\-? EPSF\-?.? header + \& * adds %%Pages: + \& * adds invocation syntax: a2ping + \& * can convert PDF to EPS (by calling pdftops(1)) and PDF to PDF + \& * emulates work for PDF input + .Ve +-.Sh "2003/04/16 (Szab Pter)" +-.IX Subsection "2003/04/16 (Szab Pter)" ++.Sh "2003/04/16 (Pter Szab)" ++.IX Subsection "2003/04/16 (Pter Szab)" + .Vb 7 + \& * added PS and sam2p support, renamed to a2ping +-\& * sam2p and pdftops if $InputFilename eq '-'; ++\& * sam2p and pdftops if $InputFilename eq '\-'; + \& * remove PJL UEL header from the beginning +-\& * works for PS non-EPS files for input ++\& * works for PS non\-EPS files for input + \& * input support for PNG JPEG TIFF PNM BMP GIF LBM XPM PCX TGA via sam2p + \& * removes ^L (form feed) from end of EPS file +-\& * -x=-c:rle to add sam2p options ++\& * \-x=\-c:rle to add sam2p options + .Ve +-.Sh "2003/04/26 (Szab Pter)" +-.IX Subsection "2003/04/26 (Szab Pter)" ++.Sh "2003/04/26 (Pter Szab)" ++.IX Subsection "2003/04/26 (Pter Szab)" + .Vb 14 + \& * omit the unnecessary setpagedevice calls when creating normal eps +-\& * --noverbose --nocompress supported differently +-\& * no more option defaults :-( ++\& * \-\-noverbose \-\-nocompress supported differently ++\& * no more option defaults :\-( + \& * justlib2 +-\& * multi-page output with PS:, PDF:, PCL5: +-\& * after `a2ping -pa4', file out.pcl says: `HP PCL printer data - A4 page ++\& * multi\-page output with PS:, PDF:, PCL5: ++\& * after `a2ping \-pa4', file out.pcl says: `HP PCL printer data \- A4 page + \& size', instead of `US letter' +-\& * justlib2-ified doesn't depend on Getopt::Long anymore ++\& * justlib2\-ified doesn't depend on Getopt::Long anymore + \& * fully supports filtering (stdin and/or stdout), PDF and PCL5 output to + \& pipe (!$$ll_zero) + \& * adds DSC ``%%DocumentMedia: plain 612 792 0 () ()'' +-\& * BoundingBox precedence for EPS input: --PageSize, %%*BoundingBox, +-\& setpagedevice. Precedence for other inputs: --PageSize, setpagedevice, ++\& * BoundingBox precedence for EPS input: \-\-PageSize, %%*BoundingBox, ++\& setpagedevice. Precedence for other inputs: \-\-PageSize, setpagedevice, + \& %%*BoundingBox + .Ve +-.Sh "2003/09/25 (Szab Pter)" +-.IX Subsection "2003/09/25 (Szab Pter)" ++.Sh "2003/09/25 (Pter Szab)" ++.IX Subsection "2003/09/25 (Pter Szab)" + .Vb 7 +-\& * --bboxfrom=adsc: %%BoundingBox overrides -sDEVICE=bbox ++\& * \-\-bboxfrom=adsc: %%BoundingBox overrides \-sDEVICE=bbox + \& * improved bbox discovery + \& * many bugfixes + \& * MetaPost EPS input fixes for prologues:=0; +-\& * a2ping.pl -v --papersize=50,60 --bboxfrom=compute-gs t.ps t2.ps +-\& * consistent bbox, --PageSize, /PageSize handling +-\& * consistent --Resolution and --Duplex handling ++\& * a2ping \-v \-\-papersize=50,60 \-\-bboxfrom=compute\-gs t.ps t2.ps ++\& * consistent bbox, \-\-PageSize, /PageSize handling ++\& * consistent \-\-Resolution and \-\-Duplex handling + .Ve +-.Sh "2003/12/02 (Szab Pter)" +-.IX Subsection "2003/12/02 (Szab Pter)" ++.Sh "2003/12/02 (Pter Szab)" ++.IX Subsection "2003/12/02 (Pter Szab)" + .Vb 1 +-\& * --bboxfrom=compute-gs option to fix PS -> EPS bbox (gs -sDEVICE=bbox), tuzv.eps ++\& * \-\-bboxfrom=compute\-gs option to fix PS \-> EPS bbox (gs \-sDEVICE=bbox), tuzv.eps + .Ve +-.Sh "2004/02/10 v2.77 (Szab Pter)" +-.IX Subsection "2004/02/10 v2.77 (Szab Pter)" ++.Sh "2004/02/10 v2.77p fixed (Pter Szab)" ++.IX Subsection "2004/02/10 v2.77p fixed (Pter Szab)" + .Vb 7 +-\& * the compute-pipe routine is now run unless --bboxfrom=guess with EPS +-\& * added --gsextra= +-\& * added --antialias= ++\& * the compute\-pipe routine is now run unless \-\-bboxfrom=guess with EPS ++\& * added \-\-gsextra= ++\& * added \-\-antialias= + \& * added FileFormat PBM, PGM, PPM + \& * separated FileFormat features to FL_* constants +-\& * added --doc ++\& * added \-\-doc + \& * there is no default FileFormat (PDF) anymore + .Ve ++.Sh "2007/03/07 (Pter Szab and Frank Kster)" ++.IX Subsection "2007/03/07 (Pter Szab and Frank Kster)" ++.Vb 3 ++\& * various improvements for tetex2 and tetex3 compatibility ++\& * various other improvements ++\& * POD documentation enhancements (font embedding tricks) by Frank Kster ++.Ve --- texlive-bin-2007.dfsg.1.orig/debian/patches/a2ping-upstream-fixes +++ texlive-bin-2007.dfsg.1/debian/patches/a2ping-upstream-fixes @@ -0,0 +1,833 @@ +a2ping-upstream-fixes +include fixes made by upstream: +2007/03/07 (Pter Szab and Frank Kster) + +* various improvements for tetex2 and tetex3 compatibility +* various other improvements +* POD documentation enhancements (font embedding tricks) by Frank Kster +--- + build/source/texk/tetex/a2ping | 446 ++++++++++++++++++++++++++++++++--------- + 1 file changed, 358 insertions(+), 88 deletions(-) + +Index: texlive-bin-2007/build/source/texk/tetex/a2ping +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/a2ping 2007-06-29 08:05:33.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/tetex/a2ping 2007-06-29 08:06:09.000000000 +0200 +@@ -10,6 +10,29 @@ + # This program is free software, licensed under the GNU GPL, >=2.0. + # This software comes with absolutely NO WARRANTY. Use at your own risk! + # ++# !! Imp: merge back to a2ping.pa ++# !! Ghostcript compute pipe too slow ++# $ a2ping.pl -v debrecen-hyph.ps de brecen-hyph.pdf ++# a2ping.pl 2.77p, 2004-04-28 -- Written by from April 2003. ++# This is free software, GNU GPL >=2.0. There is NO WARRANTY. ++# (epstopdf 2.7 Copyright 1998-2001 by Sebastian Rahtz et al.) ++# * Strongest BoundingBox comment: %%HiResBoundingBox: ++# * Doing --PaperSize unchanged ++# * Output filename: debrecen-hyph.pdf ++# * Output FileFormat: PDF ++# * Ghostscript ps2pdf command: gs -dSAFER ++# * Compression: zip ++# * Input filename: debrecen-hyph.ps ++# * Computing BBox info from non-EPS PS file ++# * Ghostscript compute pipe: gs -dSAFER -dWRITESYSTEMDICT -dNOPAUSE -sDEVICE=bbox -sFN=debrecen-hyph.ps /tmp/a2ping_pl-16977-298938572-c.tgs 2>&1 ++# * Applying BoundingBox from Compute-GS T-: 71 81 539 769 ++# * Applying HiResBoundingBox from Compute-GS T-H: 71.837998 81.971997 538.235984 768.113977 ++# * Scanning header for BoundingBox ++# * Applying BoundingBox from ADSC T-: 0 0 596 842 ++# * Final BoundingBox: 0 0 596 842 ++# * Ghostscript ps2pdf pipe: gs -dSAFER -q -dBATCH -sDEVICE=pdfwrite -sOutputFile =debrecen-hyph.pdf - ++# * Done OK, created PDF file debrecen-hyph.pdf (338451 bytes) ++# + package just; BEGIN{$INC{'just.pm'}='just.pm'} + BEGIN{ $just::VERSION=2 } + sub end(){1} +@@ -329,8 +352,9 @@ + use strict; + use integer; + use Htex::papers; +-BEGIN { $Htex::a2ping::VERSION="2.77p" } ++BEGIN { $Htex::a2ping::VERSION="2.78p" } + ++# Imp: option to ignore `%%Orientation: Portrait', which gs respects and rotates by 90 degrees if necessary + # Imp: gs(704?!) sometimes finds too small bbox, see Univers.eps + # Imp: respect bbox in METAPOST %! (not EPS), don't use Compute-GS T- + # Imp: -sPDFPassword=... +@@ -377,7 +401,7 @@ + + ### program identification + my $program = "a2ping.pl"; +-my $filedate="2004-04-28"; # my $filedate="2001/03/05"; ++my $filedate="2007-03-07"; # my $filedate="2001/03/05"; + my $copyright = "Written by from April 2003. + This is free software, GNU GPL >=2.0. There is NO WARRANTY. + (epstopdf 2.7 Copyright 1998-2001 by Sebastian Rahtz et al.)\n"; +@@ -420,7 +444,7 @@ + } + END { unlink keys %tmpfiles; } + sub temp_unlink($) { +- if (exists $tmpfiles{$_[0]}) { ++ if (defined $_[0] and exists $tmpfiles{$_[0]}) { + unlink $_[0] if $tmpunlink_p; + delete $tmpfiles{$_[0]}; + } +@@ -436,19 +460,18 @@ + } + + #** @return arg rounded down to int +-sub floor($) { ++sub myfloor($) { + # Dat: Perl int() rounds towards zero + no integer; +- $_[0] < 0 ? -int(-$_[0]) : int($_[0]) ++ $_[0]==int($_[0]) ? $_[0] : $_[0] < 0 ? -int(1-$_[0]) : int($_[0]) + } + + #** @return arg rounded up to int +-sub ceil($) { +- no integer; +- $_[0]==int($_[0]) ? $_[0] : 1+ ($_[0] < 0 ? -int(-$_[0]) : int($_[0])) ++sub myceil($) { ++ no integer; #### BUGFIX at Wed Nov 15 17:23:29 CET 2006 ++ $_[0]==int($_[0]) ? $_[0] : 1+ ($_[0] < 0 ? -int(-$_[0]) : int($_[0])); + } + +- + just::main; + + # --- +@@ -460,8 +483,8 @@ + sub FL_SAMPLED(){16} # is it a sampled (raster, pixel-based) + sub FL_ANY_ORIGIN_OK(){32} # (llx,lly) may be anything, not just (0,0) + sub FL_HAS_ANTIALIAS(){64} +-sub FL_VIA_SAM2P(){128} # sam2p(1) can convert PNM to such a format +-sub FL_OK_SAM2P(){256} ++sub FL_VIA_SAM2P(){128} # sam2p(1) should convert PNM to such a format ++sub FL_OK_SAM2P(){256} # sam2p(1) can convert PNM to such a format + + my %fmts=( # Name=>[flags] + 'EPS'=>[FL_PAGE1_STOP], +@@ -511,6 +534,8 @@ + --(no)below allow below+left_from baseline (def: no) + --(no)tmpunlink unlink temporary files (def: yes) + --(no)antialias render shades at outlines (def: scale3no) (=scale3yes =no =yes) ++--(no)lossy allow lossy image filters (EPS->PDF) (def: yes) ++--(no)keepoldmediabox keep only old, [0 0]-based MediaBox in PDF (def: no) + --gs-cmd= path to Ghostscript (def: gs or gswin32c) + --gs-ccmd= path to Ghostscript, 4 bbox calc (def: gs or gswin32c) + --gsextra= extra arg to gs +@@ -547,6 +572,8 @@ + # $::opt_filter=0; # deprecated + # $::opt_outputfile=undef; # deprecated + $::opt_below=undef; ++$::opt_keepoldmediabox=0; ++$::opt_lossy=1; + $::opt_antialias=undef; # render shades at path outlines for better readability + $::opt_gs_cmd=undef; + $::opt_extra=""; +@@ -634,7 +661,7 @@ + my %argnone=qw(help 1 verbose 1 noverbose 1 nocompress 1 noantialias 1); # 0 arg + my %argmaybe=qw(); # 0 or 1 arg + my %argbool=qw(hires 1 exact 1 below 1 gs 1 filter 1 tmpunlink 1 +- approx 1); # boolean arg ++ approx 1 lossy 1 keepoldmediabox 1); # boolean arg + # Dat: --noverbose --nocompress + my $opts_ok=1; + for ($I=0; $I<@ARGV; $I++) { +@@ -693,6 +720,8 @@ + elsif ($optname eq "hires") { $::opt_hires =$optval } + elsif ($optname eq "exact") { $::opt_exact =$optval } + elsif ($optname eq "below") { $::opt_below =$optval } ++ elsif ($optname eq "keepoldmediabox") { $::opt_keepoldmediabox=$optval } ++ elsif ($optname eq "lossy") { $::opt_lossy =$optval } + elsif ($optname eq "approx") { $::opt_approx=$optval } + elsif ($optname eq "threshold") { $::opt_threshold=$optval+0 } # Imp: accept only int 0..256 + elsif ($optname eq "filter") { +@@ -750,8 +779,9 @@ + $GS=$::opt_gs_cmd if defined $::opt_gs_cmd; + my $CGS=$GS; + $CGS=$::opt_gs_ccmd if defined $::opt_gs_ccmd; +-$GS.= " -dSAFER"; # -dWRITESYSTEMDICT +-$CGS.=" -dSAFER"; # -dWRITESYSTEMDICT ++# vvv SUXX: (r) file doesn't work with gs 8.5x -DSAFER ++#$GS.= " -dSAFER"; # -dWRITESYSTEMDICT ++#$CGS.=" -dSAFER"; # -dWRITESYSTEMDICT + + ### get input and output filename + if (!defined $InputFilename and defined $OutputFilename) { # --filter +@@ -863,6 +893,7 @@ + + #**** pts **** + sub read_error() { error "read $InputFilename: $!" } ++my $in_mac_p=0; # 0: "\n" or "\r\n" is line terminator; 1: "\r" is line terminator + my $bytes_left=-1; # -1==unlimited + my $already_read=0; + sub dem1($){defined$_[0]?$_[0]:-1} +@@ -875,7 +906,10 @@ + if (defined $_[0]) { read_error if 0>dem1 read IN, $S, $_[0] } + else { + $!=0; # clean up error code +- $S=; ++ if ($in_mac_p) { ++ local $/="\r"; ++ $S=~s@\r\Z(?!\n)@\n@ if defined($S=); ++ } else { $S= } + read_error if !defined($S) and $!; + $S="" if !defined $S; # EOF + } +@@ -1005,6 +1039,81 @@ + } + binmode IN; + ++#** Dat: uses $FileFormat, $InputFileName, $OutputFileName ++#** @param $S prepend to pipe ++sub run_sam2p($$) { ++ my($approx_p,$S)=@_; ++ # Imp: why isn't sam2p(1) PNG -> PNG idempotent? ++ my $tfmt=$FileFormat eq'markedEPS' || $FileFormat eq 'EPS' ? 'EPS' ++ : $FileFormat eq'markedPS' || $FileFormat eq 'PS' ? 'PS' # Dat: emits no /PageSize ++ : $FileFormat eq'PDF1' || $FileFormat eq 'PDF' ? 'PDF' ++ : undef; ++ if (defined $tfmt) {} ++ elsif (is_via_sam2p() or is_ok_sam2p()) {$tfmt=$FileFormat; $::opt_approx=1} ++ else { error "sam2p doesn't support our FileFormat $FileFormat" } ++ fix_pipe_in ".img", $S, 0; ++ if ($approx_p) { ++ if ($tfmt eq 'GIF') { ++ # Dat: reduce palette to 8-bit if necessary ++ my @args=('sam2p',@extra,"$tfmt:",'--',$InputFilename,$OutputFilename); ++ debug "Running: @args"; ++ my $cmd=join(' ',map{fnq$_}@args)." 2>&1"; ++ my $res=readpipe($cmd); ++ if ($res=~/\binvalid combination, no applicable OutputRule\b/) { ++ # Dat: reduce palette to 8-bit ++ #die "NOR"; ++ my $have_convert_p; ++ my $have_pnmquant_p=0; ++ for my $dir (split/:/,$ENV{PATH}) { ++ if ((-f"$dir/pnmquant")) { $have_pnmquant_p=1 } ++ } ++ if (!$have_pnmquant_p) { ++ $have_convert_p=0; ++ for my $dir (split/:/,$ENV{PATH}) { ++ if ((-f"$dir/convert")) { $have_convert_p=1 } ++ } ++ } ++ my $cmd; ++ if ($have_pnmquant_p) { ++ my @args1=('sam2p','PPM:','--',$InputFilename,'-'); ++ my @args2=('sam2p',@extra,"$tfmt:",'--','-',$OutputFilename); ++ $cmd=join(' ',map{fnq$_}@args1)." | pnmquant 256 | ". ++ join(' ',map{fnq$_}@args2); ++ } elsif ($have_convert_p) { ++ my @args1=('sam2p','PPM:','--',$InputFilename,'-'); ++ my @args2=('sam2p',@extra,"$tfmt:",'--','-',$OutputFilename); ++ # vvv Dat: `convert - GIF:-' does quantize (and emits GIF) ++ $cmd=join(' ',map{fnq$_}@args1)." | convert - GIF:- | ". ++ join(' ',map{fnq$_}@args2); ++ } ++ debug "Running pipe: $cmd"; ++ exec($cmd); ++ } elsif ($? !=0) { die $res } ++ # die $cmd; ++ #debug "Running: $progname @extra @_"; ++ #error "prog $progname failed: $? $!" ++ #if 0!=system $progname, @extra, @_; # Dat: non-zero exit() or not found ++ } ++ do_exec('sam2p', ("$tfmt:", '--', $InputFilename, $OutputFilename)); ++ } else { ++ warning "post-processing of sam2p PDF output increases file size" if $tfmt eq 'PDF'; ++ $tfmt='EPS' if $tfmt eq 'PDF'; # Imp: PDF1<->PDF ++ close IN; ++ my $tpfn=temp_prefix()."Psimg"; ++ error "Cannot open temp pipe dest: $tpfn" unless open TP, "> $tpfn"; ++ $tmpfiles{$tpfn}=1; ++ die unless close TP; ++ do_system('sam2p', ("$tfmt:", '--', $InputFilename, $tpfn)); ++ error "Cannot open temp pipe src: $tpfn" unless open IN, "< $tpfn"; ++ $already_read=0; $bytes_left=-1; ++ $InputFilename=$tpfn; # '-' ++ goto SCAN_AGAIN ++ } ++} ++ ++#** Force this value for %%HiResBoundingBox if a %BoundingBox is read ++my $force_hiresbbox_value; ++ + ### scan first line, check for DOS EPSF (and remove DOS headers) + my $header; + { SCAN_AGAIN: +@@ -1049,44 +1158,37 @@ + $S.=readIN; + $S=substr($S,1); + error "$InputFilename: bad HP PJL UEL header: ".(~chomp($S)&&$S) +- if $S!~/\A%-12345X\@PJL ENTER LANGUAGE\s*=\s*POSTSCRIPT\s*\r?$/i; ++ if $S!~/\A\\e?%-12345X\@PJL ENTER LANGUAGE\s*=\s*POSTSCRIPT\s*\r?$/i; + 1 while length($S=readIN())!=0 and substr($S,0,4)ne'%!PS'; + die "$InputFilename: premature HP PJL UEL header" if length($S)==0; + } elsif ($iff eq "P") { + # no-op yet, see later + } elsif ($iff eq "?") { + error "unknown input image format: $InputFilename"; +- } else { # some vector graphics format +- # Imp: why isn't sam2p(1) PNG -> PNG idempotent? +- my $sfmt=$FileFormat eq'markedEPS' || $FileFormat eq 'EPS' ? 'EPS' +- : $FileFormat eq'markedPS' || $FileFormat eq 'PS' ? 'PS' # Dat: emits no /PageSize +- : $FileFormat eq'PDF1' || $FileFormat eq 'PDF' ? 'PDF' +- : undef; +- if (defined $sfmt) {} +- elsif (is_via_sam2p() or is_ok_sam2p()) {$sfmt=$FileFormat; $::opt_approx=1} +- else { error "sam2p doesn't support our FileFormat $FileFormat" } +- fix_pipe_in ".img", $S, 0; +- if ($::opt_approx) { +- do_exec('sam2p', ("$sfmt:", '--', $InputFilename, $OutputFilename)); +- } else { +- warning "post-processing of sam2p PDF output increases file size" if $sfmt eq 'PDF'; +- $sfmt='EPS' if $sfmt eq 'PDF'; # Imp: PDF1<->PDF +- close IN; +- my $tpfn=temp_prefix()."Psimg"; +- error "Cannot open temp pipe dest: $tpfn" unless open TP, "> $tpfn"; +- $tmpfiles{$tpfn}=1; +- die unless close TP; +- do_system('sam2p', ("$sfmt:", '--', $InputFilename, $tpfn)); +- error "Cannot open temp pipe src: $tpfn" unless open IN, "< $tpfn"; +- $already_read=0; $bytes_left=-1; +- $InputFilename=$tpfn; # '-' +- goto SCAN_AGAIN +- } ++ } else { # source file is in some raster graphics format ++ run_sam2p($::opt_approx,$S); ++ goto SCAN_AGAIN + } + + # now deal with PS, EPS and PDF + if (substr($S,0,1) eq '%') { +- $S.=readIN; ++ { my $max=128; ++ my $C; ++ while (length($S)<$max and defined($C=readIN(1)) and ++ $C ne "\n" and $C ne "\r") { $S.=$C } ++ error "couldn't find end of PS/PDF header line in $max bytes\n" if ++ length($S)>=$max or !defined($C); ++ $C=($C eq "\r") ? readIN(1) : "NONE"; ++ if (!defined$C or ($C ne "\n" and $C ne "NONE")) { ++ use IO::Handle; # Dat: needed for ungetc ++ IN->ungetc(ord($C)) if defined $C; ++ debug "MAC \\r detected"; ++ $in_mac_p=1; ++ } elsif ($C eq "\n") { # Dat: \r\n, DOS CRLF ++ $in_mac_p=0; $S.="\r"; ++ } else { $in_mac_p=0 } ++ $S.="\n"; ++ } # $S.=readIN; + if (substr($S,0,4)eq'%PDF') { + # error "$InputFilename: won't read a PDF file"; + if ($FileFormat eq 'PDF') { # convert PDF to PDF +@@ -1147,21 +1249,34 @@ + error "closing PIPE: $?" unless close PIPE; + error "BoundingBox not found in pdftops output" if !@L; + debug "Got PaperSize: @L"; +- $L[0]=ceil $L[0]; $L[1]=ceil $L[1]; # Dat: pdftops expects integer papersize :-( ) ++ ++ # vvv Dat: pdftops without -eps doesn't report HiResBoundingBox, ++ # so we force it here ++ # at Wed Nov 15 17:19:23 CET 2006 ++ $::opt_bboxfrom='adsc' if $::opt_bboxfrom eq 'guess'; ++ $force_hiresbbox_value="0 0 @L"; ++ ++ #die defined $L[1]; ++ $L[0]=myceil $L[0]; $L[1]=myceil $L[1]; # Dat: pdftops expects integer papersize :-( ) + if ($::opt_approx) { +- do_exec 'pdftops', '-paperw', $L[0], '-paperh', $L[1], $InputFilename, $OutputFilename; ++ # vvv Dat: even pdftops 3.01 accepts only integer for -paperw and paperh ++ do_exec 'pdftops', '-paperw', myfloor($L[0]+0.5), '-paperh', myfloor($L[1]+0.5), $InputFilename, $OutputFilename; + } else { + my $tpfn=temp_prefix()."Pps"; + error "Cannot open temp pipe dest: $tpfn" unless open TP, "> $tpfn"; + $tmpfiles{$tpfn}=1; + die unless close TP; +- do_system 'pdftops', '-paperw', $L[0], '-paperh', $L[1], $InputFilename, $tpfn; ++ do_system 'pdftops', '-paperw', myfloor($L[0]+0.5), '-paperh', myfloor($L[1]+0.5), $InputFilename, $tpfn; + error "Cannot open temp pipe src: $tpfn" unless open IN, "< $tpfn"; + $already_read=0; $bytes_left=-1; + $InputFilename=$tpfn; # '-' + goto SCAN_AGAIN + } ++ } elsif (is_ok_sam2p() or is_via_sam2p()) { ++ # Dat: PDF to GIF conversion ++ run_sam2p(1,$S); + } ++ + error "cannot create from PDF: FileFormat $FileFormat"; + OK: + } +@@ -1211,11 +1326,11 @@ + ($px,$py)=($1+0,$2+0) if $after_correct=~m@/PageSize\s*\[(\S+)\s+(\S+)+\]@; + my @paper=Htex::papers::any("$px,$py"); + $paper[0]=defined $paper[0] ? "%%DocumentPaperSizes: $paper[0]\n" : ""; +- $bbx.="%%BoundingBox: ".floor($llx)." ".floor($lly)." ". +- ceil($urx)." ". ceil($ury)."\n"; ++ $bbx.="%%BoundingBox: ".myfloor($llx)." ".myfloor($lly)." ". ++ myceil($urx)." ". myceil($ury)."\n"; + $bbx.="%%HiResBoundingBox: $llx $lly $urx $ury\n". +- "%%ExactBoundingBox: $llx $lly $urx $ury\n" if floor($llx)!=$llx +- or floor($lly)!=$lly or ceil($urx)!=$urx or ceil($ury)!=$ury; ++ "%%ExactBoundingBox: $llx $lly $urx $ury\n" if myfloor($llx)!=$llx ++ or myfloor($lly)!=$lly or myceil($urx)!=$urx or myceil($ury)!=$ury; + $bbx.="%%DocumentMedia: plain $px $py 0 () ()\n". # like pdftops(1) + "$paper[0]"; + # ^^^ Imp: can DocumentMedia be non-integer? As of us, it can. +@@ -1250,10 +1365,10 @@ + } + my $new_bbox="$llx $lly $urx $ury"; + if ($old_bbox eq $new_bbox) { +- debug "Final BoundingBox: $new_bbox"; ++ debug "Final (HiRes)BoundingBox: $new_bbox"; + } else { +- debug "Old BoundingBox: $old_bbox"; +- debug "Final corrected BoundingBox: $new_bbox"; ++ debug "Old (HiRes)BoundingBox: $old_bbox"; ++ debug "Final corrected (HiRes)BoundingBox: $new_bbox"; + } + $pagedev_mark="/pdfmark where{pop}{/pdfmark/cleartomark load def}ifelse\n$pagedev_mark" + if length($pagedev_mark)!=0; +@@ -1263,27 +1378,42 @@ + # recompress the images already compressed in the EPS file, but keep + # them in their original, compressed form. So we rather instruct GS to + # recompress ++ # !! Dat: /CompatibilityLevel 1.3 %PDF-1.2 -- Dat: 1.2 won't embed Courier + my $markpagedevices=""; ++ my $imagesopts=($::opt_lossy ? " ++/AutoFilterMonoImages true ++/AutoFilterGrayImages true ++/AutoFilterColorImages true ++/MonoImageFilter /CCITTFaxEncode ++/GrayImageFilter /DCTEncode ++/ColorImageFilter /DCTEncode ++" : " ++/AutoFilterMonoImages false ++/AutoFilterGrayImages false ++/AutoFilterColorImages false ++/MonoImageFilter /LZWEncode ++/GrayImageFilter /LZWEncode ++/ColorImageFilter /LZWEncode ++"); # Dat: assumes new, patent-free LZW + if (is_pdfmark()) { ++ # Dat: CompatibilityLevel 1.3 is required for font embedding & all /FlateDecode + $markpagedevices=" +-/CompatibilityLevel 1.2 %PDF-1.2 ++/CompatibilityLevel 1.3 %PDF-1.3 + /EmbedAllFonts true + /Optimize true % ignored by gs-6.70 + /AutoRotatePages /None + /UseFlateCompression ".($::opt_compression ne 'none'?"true":"false")." + /AutoPositionEPSFiles false +-/AutoFilterGrayImages false + /ConvertImagesToIndexed false + /DownsampleMonoImages false + /DownsampleGrayImages false + /DownsampleColorImages false +-/AutoFilterColorImages false + /EncodeMonoImages true + /EncodeGrayImages true + /EncodeColorImages true + /AntiAliasMonoImages false + /AntiAliasGrayImages false +-/AntiAliasColorImages false\n"; ++/AntiAliasColorImages false\n$imagesopts"; + $markpagedevices=(length($markpagedevices)!=0 ? "<< $markpagedevices >> setpagedevice\n" : ""); + $markpagedevices.="1 dict dup /ImagingBBox null put setpagedevice\n"; + $markpagedevices.="1 dict dup /Policies 1 dict dup /PageSize 3 put put setpagedevice\n"; # ripped from pdftops(1) +@@ -1298,7 +1428,7 @@ + # Dat: true for FileFormat PGM + # Dat: emit /PageSize even for PDF1 + # Dat: Ghostscript 6.70 rounds /PageSize down, but we need up when creating /MediaBox for PDF +- $setpagesize="2 dict dup /PageSize [".ceil($urx)." ".ceil($ury)."] put setpagedevice\n"; ++ $setpagesize="2 dict dup /PageSize [".myceil($urx)." ".myceil($ury)."] put setpagedevice\n"; + # ^^^ Dat: PLRM.pdf doesn't forbid a non-integer /PageSize + } + my $bsetup=is_page1_stop()?"":"%%BeginSetup\n%%EndSetup\n"; +@@ -1310,7 +1440,20 @@ + # %%BeginSetup..%%EndSetup pair just before our code doing + # `setpagedevice'. + # !! ?? run pstops first, and then a2ping.pl +- my $save=$is_restored?"save\n":""; ++ # !! why does a PDF -> PS conversion need $is_restored? ++ # vvv Dat: `mark' is necessary, because pstops 1.17 from xpdf(1) emits lines ++ # lines leaving `false' on the stack: ++ # %%BeginResource: font SKPOPP+LMRoman12-Regular ++ # %!PS-AdobeFont-1.0: LMRoman12-Regular 0.86 ++ # %%CreationDate: 4th August (Monday) 2003 ++ # % Generated by MetaType1 (a MetaPost-based engine) ++ # % CM sources: copyright (C) 1997 AMS, all rights reserved; METATYPE1/Type 1 ver ++ # % ADL: 694 194 112 ++ # %%EndComments ++ # FontDirectory/LMRoman12-Regular known{/LMRoman12-Regular findfont dup/UniqueID ++ # /UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse ++ # {save true}{false}ifelse}{false}ifelse ++ my $save=$is_restored?"save mark\n":""; + $bbx.$fontsdefs."%%EndComments\n".$bsetup.$setpagesize.$markpagedevices.$pagedev_mark.$after_correct.$save.$translate + } + +@@ -1532,9 +1675,9 @@ + ## die $res; + temp_unlink $tfn; + ## print STDERR $res; +- error "not a GS output from $GS" ++ error $?==11 ? "segmentation fault in $GS" : "not a GS output from $GS ($?)" + if !defined $res # BUGFIX at Sun Mar 7 18:51:34 CET 2004 +- or $res!~s/\A\w+ Ghostscript \d.*\n// # AFPL Ghostscript 6.50 (2000-12-02) ++ or $res!~s/\A(?:\w+ Ghostscript \d|Copyright .* artofcode ).*\n// # AFPL Ghostscript 6.50 (2000-12-02) + or $res!~s/.*?^bbox-begin\n//m; + if ($res!~s/\nbbox-success\n\Z(?!\n)/\n/) { + warning # not `error', mpost(1) `prologues:=0; ... btex fonts' output won't compile +@@ -1587,6 +1730,7 @@ + elsif ($line=~/^sides-dumplex==false$/) { $duplexi=2 } + elsif ($line=~/^sides-tumble==true$/) { $tumblei=1 } + elsif ($line=~/^sides-tumble==false$/) { $tumblei=2 } ++ elsif ($line=~/^add-showpage==\d+$/) { } # !! + elsif (length($line)==0 or $line=~/^(?:Copyright |This software )/) {} + elsif ($line=~/^Loading (\S+) font from.*[.][.][.]/) { debug "GS builtin font used: $1" } + else { debug "unknown line ($line)" } +@@ -1619,7 +1763,7 @@ + die if is_page1_stop(); + # vvv ($llx,$lly,$urx,$ury)=(0,0,$papersize_x,$papersize_y); + # $do_bb_line->("set 0 0 $papersize_x $papersize_y"," from /PageSize"); +- $after_correct.="1 dict dup /PageSize [".ceil($papersize_x)." ".ceil($papersize_y)."] put setpagedevice\n"; ++ $after_correct.="1 dict dup /PageSize [".myceil($papersize_x)." ".myceil($papersize_y)."] put setpagedevice\n"; + # ^^^ Dat: both PS and markedPS would benefit from /PaperSize + # ^^^ Dat: will be put after CorrectBoundingBox + # Dat: unneeded: $allow_adsc_bb=0 if $FileFormat eq 'PDF'; # force this into /CropBox (otherwise only /MediaBox) +@@ -1655,8 +1799,11 @@ + } + } + # vvv Dat: save...restore is _always_ necessary to undo the changes made +- # in the file itself +- $is_restored=1; # $after_comments.="save\n"; ++ # by the file itself (??) ++ # vvv BUGFIX (only EPS) at Tue Feb 8 21:40:11 CET 2005 ++ # vvv Dat: now with PS output it is possible that garbage is left on ++ # the stack (see the `LMRoman' example above) ++ $is_restored=1 if $FileFormat eq'EPS' or $FileFormat eq'markedEPS'; + $after_comments.=$undefs; # after our precious setpagedevice calls + # debug "pop_count=$pop_count;"; + # debug "end_count=$end_count;"; +@@ -1696,7 +1843,7 @@ + my %fontsnames; + my @creator; + read_again: while (length($_=readIN)) { +- ##print STDERR "(($_))\n"; ++ #print STDERR "(($_))\n"; + ### end of header + next unless /\S/; + y@\r@@d; chomp; +@@ -1715,8 +1862,9 @@ + $creator_adobeps_p=1; + } elsif (/^%%Creator:\s*MetaPost\b/i) { + $creator_metapost_p=1; +- } elsif ((substr($_,0,2)ne'%%' and substr($_,0,7)ne'%*Font:') +- and substr($_,0,5)ne'%EPS ' # epsincl.mp ++ } elsif ((substr($_,0,2)ne'%%' and substr($_,0,7)ne'%*Font:' and ++ substr($_,0,5)ne'%ADO_' and !/^%AI\d_/ # Dat: %ADO_DSC_..., %AI7_Thumbnail ++ and substr($_,0,5)ne'%EPS ') # epsincl.mp + or !$creator_metapost_p and substr($_,0,5)eq'%%End' + or /^%%Begin(?:Prolog|Setup)\b/i + ) { $after_comments.="$_\n"; last } +@@ -1741,7 +1889,12 @@ + } elsif (/^$BBregex$BBValues/oi) { ### BoundingBox with values + s@($BBregex)\s*1\s+1\s+@$1 0 0 @ if $creator_adobeps_p; + # vvv $bbtype may be possibly already set by compute-gs +- $do_bb_line->($_," from ADSC") if $allow_adsc_bb; ++ if ($allow_adsc_bb) { ++ $do_bb_line->($_," from ADSC"); ++ if ($force_hiresbbox_value) { ++ $do_bb_line->("%%HiResBoundingBox: $force_hiresbbox_value"," from ADSC"); ++ } ++ } + } elsif (/^$BBregex\s*\(atend\)/oi) { + ### BoundingBox with (atend) + debug "At end $1BoundingBox"; +@@ -1750,6 +1903,8 @@ + $do_atend=1 + } elsif (/^%%Page:/i and !$creator_metapost_p) { # at Thu Sep 25 15:59:52 CEST 2003 + $after_comments.="$_\n"; last ++ } elsif (/^%(?:ADO_DSC_|AI\d_)/) { # Dat: example: %ADO_DSC_Encoding: MacOS Roman ++ $to_OUT.="%$_\n"; + } elsif (/^%\*Font:\s+(\S+)\s+/) { # mpost(1) output + ## debug $_; + $fontsdefs.="$_\n"; # put in front (before `gsave ... translate') +@@ -1884,7 +2039,7 @@ + # vvv Dat: $after_code is pop+end + print OUT "\n$extra_trailer$after_code", + ("grestore\n"x$need_grestore), +- ("restore\n"x$is_restored), ++ ("cleartomark restore\n"x$is_restored), + "%%EOF\n"; + error "closing gs filter: $? $!" unless close OUT; + +@@ -1939,6 +2094,7 @@ + my $tfn=temp_prefix()."p.tgs"; + error "temp open $tfn: $!" unless open F, "> $tfn"; + $tmpfiles{$tfn}=1; ++ # vvv Dat: doesn't work with gs 8.53: Error: /undefined in readxrefentry + die unless print F "% this is temporary gs command file created by $program".' + GS_PDF_ProcSet begin + pdfdict begin +@@ -1949,7 +2105,10 @@ + % vvv Dat: modifies Objects[0] + 1 pdffindpageref 0 get + Objects 0 OFT put +- readxrefentry === ++ %=== ++ %print_xref ++ { readxrefentry } stopped { Objects exch lget } if ++ === + currentdict pdfclose end end end + '; + die unless close F; +@@ -1957,6 +2116,7 @@ + my $gs2="$GS -dNODISPLAY -dBATCH -sFN=".fnq(fix_pipe_out(undef))." -q ".fnq($tfn); + debug "Ghostscript dup pipe: $gs2"; + my $offset=`$gs2`; ++ #die $offset; + chomp $offset; + temp_unlink $tfn; + if ($offset=~/\A\d+\Z(?!\n)/) { +@@ -1966,14 +2126,26 @@ + die unless seek F, $offset+=0, 0; + my $pageobj; + die unless 32 $OutputFilename + do_system @pnm2sampled_cmd; # Dat: uses @extra -- really share that? + temp_unlink $scale3_pnm_fn; ++} else { # BUGFIX for `a2ping.pl -v --antialias=no negyzet.eps negyzet.png' at Wed Jul 20 21:34:29 CEST 2005 ++ fix_close_out(); + } +-fix_close_out(); + undef $unlink_OutputFilename; + if ($OutputFilename eq '-') { + debug "Done OK, stdout is $FileFormat" +@@ -2187,14 +2360,97 @@ + PNM output formats are PGM, PGM and PPM. To write PNM output formats, GS + is used. + ++=head1 OPTIONS + +-=head1 TIPS AND TRICKS ++=head2 General Options + + =over 2 + +-=item * ++=item B<-h>, B<--help> ++ ++Show a summary of the usage ++ ++=item B<--doc> ++ ++Show the man page ++ ++=item B<-v>, B<--(no)verbose> ++ ++Show progress and debug messages (default: no) ++ ++=head2 Options for the Bounding box ++ ++=item B<--(no)hires> ++ ++Use HiResBoundingBox in the input file, if present (default: yes) ++ ++=item B<--(no)exact> ++ ++Use ExactBoundingBox in the input file, if present (default: no) + +-Call with the B<-v> option to see progress and debug messages. ++=item B<--(no)keepoldmediabox> ++ ++keep only old, [0 0]-based MediaBox in PDF (default: no) ++ ++=item B<--bboxfrom=>I ++ ++Method for determining the BoundingBox (default: guess) ++ ++=item B<--(no)below> ++ ++Allow page content below and left of the origin (default: no) ++ ++ ++=head2 Options for graphics and fonts ++ ++=item B<--(no)compress> ++ ++use compression (default: best) ++ ++=item B<--(no)antialias> ++ ++render shades at outlines. Possible values: (=I =I =I) (default: scale3no) ++ ++=item B<--(no)lossy> ++ ++allow lossy image filters (EPS->PDF) (default: yes) ++ ++=item B<--papersize=>I ++ ++(default: default) (bp) ++ ++=item B<--threshold=> ++ ++min color for 1 in 8->1 bit conv (default: 128) ++ ++ ++=head2 Options for debugging and changing internals ++ ++=item B<--(no)tmpunlink> ++ ++Unlink temporary files (default: yes). Use B<--notmpunklink> if you ++want to inspect intermediate files. ++ ++=item B<--gs-cmd=>I ++ ++path to Ghostscript program (default: gs or gswin32c) ++ ++=item B<--gs-ccmd=>I ++ ++path to Ghostscript for BoundingBox calculation (default: gs or gswin32c) ++ ++=item B<--gsextra=>I ++ ++Pass extra arguments to gs ++ ++=item B<--extra=> ++ ++Pass extra arguments to external program (i.e pdftops) ++ ++ ++=head1 TIPS AND TRICKS ++ ++=over 2 + + =item * + +@@ -2260,6 +2516,11 @@ + is going to be really big, you should specify B<--AntiAlias=yes> instead of + the default B<--AntiAlias=scale3no> to speed up conversion. + ++=item * ++ ++To make sure fonts are included in a PDF file generated from eps, use ++B<--gsextra='-dEmbedAllFonts=true -dPDFSETTINGS=/printer'>. ++ + =back + + +@@ -2297,7 +2558,7 @@ + + =head1 AUTHORS + +-The author of B is Szab Pter >. ++The author of B is Pter Szab >. + + B is inspired by and historically based on the B Perl + script modified by Thomas Esser, Sept. 1998, but his modifications have +@@ -2306,6 +2567,9 @@ + for Elsevier Science. B contained extra tricks from Hans Hagen's + texutil. + ++B contains contributions from several people, see the HISTORY for ++details. Thank you all for contributing! ++ + =head1 HISTORY + + =head2 1999/05/06 v2.5 (Heiko Oberdiek) +@@ -2334,7 +2598,7 @@ + * Newline before grestore for the case that there is no + whitespace at the end of the eps file. + +-=head2 2003/02/02 (Szab Pter) ++=head2 2003/02/02 (Pter Szab) + + * option --below + * removes DOS EPSF binary junk correctly +@@ -2347,7 +2611,7 @@ + * can convert PDF to EPS (by calling pdftops(1)) and PDF to PDF + * emulates work for PDF input + +-=head2 2003/04/16 (Szab Pter) ++=head2 2003/04/16 (Pter Szab) + + * added PS and sam2p support, renamed to a2ping + * sam2p and pdftops if $InputFilename eq '-'; +@@ -2357,7 +2621,7 @@ + * removes ^L (form feed) from end of EPS file + * -x=-c:rle to add sam2p options + +-=head2 2003/04/26 (Szab Pter) ++=head2 2003/04/26 (Pter Szab) + + * omit the unnecessary setpagedevice calls when creating normal eps + * --noverbose --nocompress supported differently +@@ -2374,7 +2638,7 @@ + setpagedevice. Precedence for other inputs: --PageSize, setpagedevice, + %%*BoundingBox + +-=head2 2003/09/25 (Szab Pter) ++=head2 2003/09/25 (Pter Szab) + + * --bboxfrom=adsc: %%BoundingBox overrides -sDEVICE=bbox + * improved bbox discovery +@@ -2384,11 +2648,11 @@ + * consistent bbox, --PageSize, /PageSize handling + * consistent --Resolution and --Duplex handling + +-=head2 2003/12/02 (Szab Pter) ++=head2 2003/12/02 (Pter Szab) + + * --bboxfrom=compute-gs option to fix PS -> EPS bbox (gs -sDEVICE=bbox), tuzv.eps + +-=head2 2004/02/10 v2.77 (Szab Pter) ++=head2 2004/02/10 v2.77p fixed (Pter Szab) + + * the compute-pipe routine is now run unless --bboxfrom=guess with EPS + * added --gsextra= +@@ -2397,3 +2661,9 @@ + * separated FileFormat features to FL_* constants + * added --doc + * there is no default FileFormat (PDF) anymore ++ ++=head2 2007/03/07 (Pter Szab and Frank Kster) ++ ++ * various improvements for tetex2 and tetex3 compatibility ++ * various other improvements ++ * POD documentation enhancements (font embedding tricks) by Frank Kster --- texlive-bin-2007.dfsg.1.orig/debian/patches/config.ps-update +++ texlive-bin-2007.dfsg.1/debian/patches/config.ps-update @@ -0,0 +1,635 @@ +Update config.ps from TeX Live 2007. +This fixes some bugs with setting the right page size in created pdf +documents. +--- + texmf/dvips/config/config.ps | 525 ++++++++++++++++++++++++++++++++++++------- + 1 file changed, 443 insertions(+), 82 deletions(-) + +Index: texlive-bin-2007/texmf/dvips/config/config.ps +=================================================================== +--- texlive-bin-2007.orig/texmf/dvips/config/config.ps 2007-07-02 07:42:08.000000000 +0200 ++++ texlive-bin-2007/texmf/dvips/config/config.ps 2007-07-02 07:42:26.000000000 +0200 +@@ -1,4 +1,5 @@ +-% teTeX's config.ps. Thomas Esser, 1998, public domain. ++% config.ps - configuration file for dvips. ++% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain. + + % Memory available. Download the three-line PostScript file: + % %! Hey, we're PostScript +@@ -11,7 +12,7 @@ + % `\special' and config files (via the `E' option) and opening of any + % absolute filenames. z1, the default, forbids shell escapes but + % allows absolute filenames. z0 allows both. The corresponding +-% commandline options are -R0|-R1|-R2 ++% command line options are -R0|-R1|-R2 + z1 + + % How to print, maybe with lp instead lpr, etc. If commented-out, output +@@ -43,167 +44,527 @@ + + % Partially download Type 1 fonts by default. Only reason not to do + % this is if you encounter bugs. (Please report them to +-% @email{tex-k@@mail.tug.org} if you do.) ++% @email{tex-k@tug.org} if you do.) + j + + % This shows how to add your own map file. + % Remove the comment and adjust the name: + % p +myfonts.map + +-% 0 0 595 842 is the right bounding box that most applications expect +-% for A4. Since dvips always rounds up, choose something slightly smaller. ++% If we have setpagedevice, use that. ++% else if we have the a4 resp. letter operator, use that. ++% else do nothing to set the page size. ++% ++% In the past, the a4size and letterSize definitions did not set the ++% page size, but we want to set it if we can so that ps2pdf can work ++% properly. Here, a4 and a4size, and letter and letterSize, are ++% identical, and we prefer the a4/letter names -- texconfig uses them. ++ ++% 0 0 595 842 is the right bounding box that applications expect ++% for A4. Since dvips always rounds up, choose something slightly ++% smaller for our paper size. + +-@ A4size 594.99bp 841.99bp ++@ a4 210mm 297mm + @+ ! %%DocumentPaperSizes: a4 +-@+ %%PaperSize: A4 ++@+ %%BeginPaperSize: a4 ++@+ /setpagedevice where ++@+ { pop << /PageSize [595 842] >> setpagedevice } ++@+ { /a4 where { pop a4 } if } ++@+ ifelse ++@+ %%EndPaperSize + +-@ letterSize 8.5in 11in ++@ letter 8.5in 11in + @+ ! %%DocumentPaperSizes: Letter ++@+ %%BeginPaperSize: Letter ++@+ /setpagedevice where ++@+ { pop << /PageSize [612 792] >> setpagedevice } ++@+ { /letter where { pop letter } if } ++@+ ifelse ++@+ %%EndPaperSize + +-@ letter 8.5in 11in ++@ a4size 210mm 297mm ++@+ ! %%DocumentPaperSizes: a4 ++@+ %%BeginPaperSize: a4 ++@+ /setpagedevice where ++@+ { pop << /PageSize [595 842] >> setpagedevice } ++@+ { /a4 where { pop a4 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ letterSize 8.5in 11in + @+ ! %%DocumentPaperSizes: Letter + @+ %%BeginPaperSize: Letter +-@+ letter ++@+ /setpagedevice where ++@+ { pop << /PageSize [612 792] >> setpagedevice } ++@+ { /letter where { pop letter } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ halfexecutive 133mm 184mm ++@+ ! %%DocumentPaperSizes: halfexecutive ++@+ %%BeginPaperSize: halfexecutive ++@+ /setpagedevice where ++@+ { pop << /PageSize [378 522] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ halfletter 140mm 216mm ++@+ ! %%DocumentPaperSizes: halfletter ++@+ %%BeginPaperSize: halfletter ++@+ /setpagedevice where ++@+ { pop << /PageSize [396 612] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ statement 140mm 216mm ++@+ ! %%DocumentPaperSizes: statement ++@+ %%BeginPaperSize: statement ++@+ /setpagedevice where ++@+ { pop << /PageSize [396 612] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ executive 184mm 267mm ++@+ ! %%DocumentPaperSizes: executive ++@+ %%BeginPaperSize: executive ++@+ /setpagedevice where ++@+ { pop << /PageSize [522 756] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++% for powerdot ++@ screen 8.25in 11in ++@+ ! %%DocumentPaperSizes: Screen ++@+ %%BeginPaperSize: Screen ++@+ /setpagedevice where ++@+ { pop << /PageSize [594 792] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++% a common size for printers (in north america). ++@ sixbynine 6in 9in ++@+ ! %%DocumentPaperSizes: SixByNine ++@+ %%BeginPaperSize: SixByNine ++@+ /setpagedevice where ++@+ { pop << /PageSize [432 648] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ quarto 215mm 275mm ++@+ ! %%DocumentPaperSizes: quarto ++@+ %%BeginPaperSize: quarto ++@+ /setpagedevice where ++@+ { pop << /PageSize [610 780] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ note 216mm 279mm ++@+ ! %%DocumentPaperSizes: note ++@+ %%BeginPaperSize: note ++@+ /setpagedevice where ++@+ { pop << /PageSize [612 792] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ folio 216mm 330mm ++@+ ! %%DocumentPaperSizes: folio ++@+ %%BeginPaperSize: folio ++@+ /setpagedevice where ++@+ { pop << /PageSize [612 936] >> setpagedevice } ++@+ if + @+ %%EndPaperSize + + @ legal 8.5in 14in + @+ ! %%DocumentPaperSizes: Legal + @+ %%BeginPaperSize: Legal +-@+ legal ++@+ /setpagedevice where ++@+ { pop << /PageSize [612 1008] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ 10x14 10in 14in ++@+ ! %%DocumentPaperSizes: 10x14 ++@+ %%BeginPaperSize: 10x14 ++@+ /setpagedevice where ++@+ { pop << /PageSize [720 1008] >> setpagedevice } ++@+ if + @+ %%EndPaperSize + + @ ledger 17in 11in + @+ ! %%DocumentPaperSizes: Ledger + @+ %%BeginPaperSize: Ledger +-@+ ledger ++@+ /setpagedevice where ++@+ { pop << /PageSize [1224 792] >> setpagedevice } ++@+ if + @+ %%EndPaperSize + + @ tabloid 11in 17in + @+ ! %%DocumentPaperSizes: Tabloid + @+ %%BeginPaperSize: Tabloid +-@+ 11x17 +-@+ %%EndPaperSize +- +-@ a6 105mm 148mm +-@+ ! %%DocumentPaperSizes: a6 +-@+ %%BeginPaperSize: a6 +-@+ a6 +-@+ %%EndPaperSize +- +-@ a5 148mm 210mm +-@+ ! %%DocumentPaperSizes: a5 +-@+ %%BeginPaperSize: a5 +-@+ a5 ++@+ /setpagedevice where ++@+ { pop << /PageSize [792 1224] >> setpagedevice } ++@+ if + @+ %%EndPaperSize + +-@ a4 594.99bp 841.99bp +-@+ ! %%DocumentPaperSizes: a4 +-@+ %%BeginPaperSize: a4 +-@+ a4 ++@ 11x17 11in 17in ++@+ ! %%DocumentPaperSizes: 11x17 ++@+ %%BeginPaperSize: 11x17 ++@+ /setpagedevice where ++@+ { pop << /PageSize [792 1224] >> setpagedevice } ++@+ if + @+ %%EndPaperSize + +-@ a3 297mm 420mm +-@+ ! %%DocumentPaperSizes: a3 +-@+ %%BeginPaperSize: a3 +-@+ a3 +-@+ %%EndPaperSize +- +-@ a2 420mm 595mm +-@+ ! %%DocumentPaperSizes: a2 +-@+ %%BeginPaperSize: a2 +-@+ a2 ++@ a0 841mm 1189mm ++@+ ! %%DocumentPaperSizes: a0 ++@+ %%BeginPaperSize: a0 ++@+ /setpagedevice where ++@+ { pop << /PageSize [2384 3370] >> setpagedevice } ++@+ { /a0 where { pop a0 } if } ++@+ ifelse + @+ %%EndPaperSize + +-@ a1 595mm 841mm ++@ a1 594mm 841mm + @+ ! %%DocumentPaperSizes: a1 + @+ %%BeginPaperSize: a1 +-@+ a1 ++@+ /setpagedevice where ++@+ { pop << /PageSize [1684 2384] >> setpagedevice } ++@+ { /a1 where { pop a1 } if } ++@+ ifelse + @+ %%EndPaperSize + +-@ a0 841mm 1189mm +-@+ ! %%DocumentPaperSizes: a0 +-@+ %%BeginPaperSize: a0 +-@+ a0 +-@+ %%EndPaperSize +- +-@ b6 125mm 176mm +-@+ ! %%DocumentPaperSizes: b6 +-@+ %%BeginPaperSize: b6 +-@+ b6 ++@ a2 420mm 594mm ++@+ ! %%DocumentPaperSizes: a2 ++@+ %%BeginPaperSize: a2 ++@+ /setpagedevice where ++@+ { pop << /PageSize [1191 1684] >> setpagedevice } ++@+ { /a2 where { pop a2 } if } ++@+ ifelse + @+ %%EndPaperSize + +-@ b5 176mm 250mm +-@+ ! %%DocumentPaperSizes: b5 +-@+ %%BeginPaperSize: b5 +-@+ b5 ++@ a3 297mm 420mm ++@+ ! %%DocumentPaperSizes: a3 ++@+ %%BeginPaperSize: a3 ++@+ /setpagedevice where ++@+ { pop << /PageSize [842 1191] >> setpagedevice } ++@+ { /a3 where { pop a3 } if } ++@+ ifelse + @+ %%EndPaperSize + +-@ b4 250mm 353mm +-@+ ! %%DocumentPaperSizes: b4 +-@+ %%BeginPaperSize: b4 +-@+ b4 ++@ a5 148mm 210mm ++@+ ! %%DocumentPaperSizes: a5 ++@+ %%BeginPaperSize: a5 ++@+ /setpagedevice where ++@+ { pop << /PageSize [420 595] >> setpagedevice } ++@+ { /a5 where { pop a5 } if } ++@+ ifelse + @+ %%EndPaperSize + +-@ b3 353mm 500mm +-@+ ! %%DocumentPaperSizes: b3 +-@+ %%BeginPaperSize: b3 +-@+ b3 ++@ a6 105mm 148mm ++@+ ! %%DocumentPaperSizes: a6 ++@+ %%BeginPaperSize: a6 ++@+ /setpagedevice where ++@+ { pop << /PageSize [298 420] >> setpagedevice } ++@+ { /a6 where { pop a6 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ a7 74mm 105mm ++@+ ! %%DocumentPaperSizes: a7 ++@+ %%BeginPaperSize: a7 ++@+ /setpagedevice where ++@+ { pop << /PageSize [210 298] >> setpagedevice } ++@+ { /a7 where { pop a7 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ a8 52mm 74mm ++@+ ! %%DocumentPaperSizes: a8 ++@+ %%BeginPaperSize: a8 ++@+ /setpagedevice where ++@+ { pop << /PageSize [147 210] >> setpagedevice } ++@+ { /a8 where { pop a8 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ a9 37mm 52mm ++@+ ! %%DocumentPaperSizes: a9 ++@+ %%BeginPaperSize: a9 ++@+ /setpagedevice where ++@+ { pop << /PageSize [105 147] >> setpagedevice } ++@+ { /a9 where { pop a9 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ a10 26mm 37mm ++@+ ! %%DocumentPaperSizes: a10 ++@+ %%BeginPaperSize: a10 ++@+ /setpagedevice where ++@+ { pop << /PageSize [74 105] >> setpagedevice } ++@+ { /a10 where { pop a10 } if } ++@+ ifelse + @+ %%EndPaperSize + + @ jisb0 1030mm 1456mm + @+ ! %%DocumentPaperSizes: jisb0 + @+ %%BeginPaperSize: jisb0 +-@+ jisb0 ++@+ /setpagedevice where ++@+ { pop << /PageSize [2920 4127] >> setpagedevice } ++@+ { /jisb0 where { pop jisb0 } if } ++@+ ifelse + @+ %%EndPaperSize + + @ jisb1 728mm 1030mm + @+ ! %%DocumentPaperSizes: jisb1 + @+ %%BeginPaperSize: jisb1 +-@+ jisb1 ++@+ /setpagedevice where ++@+ { pop << /PageSize [2064 2920] >> setpagedevice } ++@+ { /jisb1 where { pop jisb1 } if } ++@+ ifelse + @+ %%EndPaperSize + + @ jisb2 515mm 728mm + @+ ! %%DocumentPaperSizes: jisb2 + @+ %%BeginPaperSize: jisb2 +-@+ jisb2 ++@+ /setpagedevice where ++@+ { pop << /PageSize [1460 2064] >> setpagedevice } ++@+ { /jisb2 where { pop jisb2 } if } ++@+ ifelse + @+ %%EndPaperSize + + @ jisb3 364mm 515mm + @+ ! %%DocumentPaperSizes: jisb3 + @+ %%BeginPaperSize: jisb3 +-@+ jisb3 ++@+ /setpagedevice where ++@+ { pop << /PageSize [1032 1460] >> setpagedevice } ++@+ { /jisb3 where { pop jisb3 } if } ++@+ ifelse + @+ %%EndPaperSize + + @ jisb4 257mm 364mm + @+ ! %%DocumentPaperSizes: jisb4 + @+ %%BeginPaperSize: jisb4 +-@+ jisb4 ++@+ /setpagedevice where ++@+ { pop << /PageSize [729 1032] >> setpagedevice } ++@+ { /jisb4 where { pop jisb4 } if } ++@+ ifelse + @+ %%EndPaperSize + + @ jisb5 182mm 257mm + @+ ! %%DocumentPaperSizes: jisb5 + @+ %%BeginPaperSize: jisb5 +-@+ jisb5 ++@+ /setpagedevice where ++@+ { pop << /PageSize [516 729] >> setpagedevice } ++@+ { /jisb5 where { pop jisb5 } if } ++@+ ifelse + @+ %%EndPaperSize + + @ jisb6 128mm 182mm + @+ ! %%DocumentPaperSizes: jisb6 + @+ %%BeginPaperSize: jisb6 +-@+ jisb6 ++@+ /setpagedevice where ++@+ { pop << /PageSize [363 516] >> setpagedevice } ++@+ { /jisb6 where { pop jisb6 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ jisb7 91mm 128mm ++@+ ! %%DocumentPaperSizes: jisb7 ++@+ %%BeginPaperSize: jisb7 ++@+ /setpagedevice where ++@+ { pop << /PageSize [258 363] >> setpagedevice } ++@+ { /jisb7 where { pop jisb7 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ jisb8 64mm 91mm ++@+ ! %%DocumentPaperSizes: jisb8 ++@+ %%BeginPaperSize: jisb8 ++@+ /setpagedevice where ++@+ { pop << /PageSize [181 258] >> setpagedevice } ++@+ { /jisb8 where { pop jisb8 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ b0 1000mm 1414mm ++@+ ! %%DocumentPaperSizes: b0 ++@+ %%BeginPaperSize: b0 ++@+ /setpagedevice where ++@+ { pop << /PageSize [2835 4008] >> setpagedevice } ++@+ { /b0 where { pop b0 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ b1 707mm 1000mm ++@+ ! %%DocumentPaperSizes: b1 ++@+ %%BeginPaperSize: b1 ++@+ /setpagedevice where ++@+ { pop << /PageSize [2004 2835] >> setpagedevice } ++@+ { /b1 where { pop b1 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ b2 500mm 707mm ++@+ ! %%DocumentPaperSizes: b2 ++@+ %%BeginPaperSize: b2 ++@+ /setpagedevice where ++@+ { pop << /PageSize [1417 2004] >> setpagedevice } ++@+ { /b2 where { pop b2 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ b3 353mm 500mm ++@+ ! %%DocumentPaperSizes: b3 ++@+ %%BeginPaperSize: b3 ++@+ /setpagedevice where ++@+ { pop << /PageSize [1001 1417] >> setpagedevice } ++@+ { /b3 where { pop b3 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ b4 250mm 353mm ++@+ ! %%DocumentPaperSizes: b4 ++@+ %%BeginPaperSize: b4 ++@+ /setpagedevice where ++@+ { pop << /PageSize [709 1001] >> setpagedevice } ++@+ { /b4 where { pop b4 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ b5 176mm 250mm ++@+ ! %%DocumentPaperSizes: b5 ++@+ %%BeginPaperSize: b5 ++@+ /setpagedevice where ++@+ { pop << /PageSize [499 709] >> setpagedevice } ++@+ { /b5 where { pop b5 } if } ++@+ ifelse + @+ %%EndPaperSize + +-% not defined in Ghostscript, per Akira. +-% @ jisb7 91mm 128mm +-% @+ ! %%DocumentPaperSizes: jisb7 +-% @+ %%BeginPaperSize: jisb7 +-% @+ jisb7 +-% @+ %%EndPaperSize +-% +-% @ jisb8 64mm 91mm +-% @+ ! %%DocumentPaperSizes: jisb8 +-% @+ %%BeginPaperSize: jisb8 +-% @+ jisb8 +-% @+ %%EndPaperSize ++@ b6 125mm 176mm ++@+ ! %%DocumentPaperSizes: b6 ++@+ %%BeginPaperSize: b6 ++@+ /setpagedevice where ++@+ { pop << /PageSize [354 499] >> setpagedevice } ++@+ { /b6 where { pop b6 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ c5 162mm 229mm ++@+ ! %%DocumentPaperSizes: c5 ++@+ %%BeginPaperSize: c5 ++@+ /setpagedevice where ++@+ { pop << /PageSize [459 649] >> setpagedevice } ++@+ { /c5 where { pop c5 } if } ++@+ ifelse ++@+ %%EndPaperSize ++ ++@ DL 110mm 220mm ++@+ ! %%DocumentPaperSizes: DL ++@+ %%BeginPaperSize: DL ++@+ /setpagedevice where ++@+ { pop << /PageSize [312 624] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ Comm10 105mm 241mm ++@+ ! %%DocumentPaperSizes: Comm10 ++@+ %%BeginPaperSize: Comm10 ++@+ /setpagedevice where ++@+ { pop << /PageSize [297 684] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ Monarch 98.4mm 190.5mm ++@+ ! %%DocumentPaperSizes: Monarch ++@+ %%BeginPaperSize: Monarch ++@+ /setpagedevice where ++@+ { pop << /PageSize [279 540] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ archE 36in 48in ++@+ ! %%DocumentPaperSizes: archE ++@+ %%BeginPaperSize: archE ++@+ /setpagedevice where ++@+ { pop << /PageSize [2592 3456] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ archD 24in 36in ++@+ ! %%DocumentPaperSizes: archD ++@+ %%BeginPaperSize: archD ++@+ /setpagedevice where ++@+ { pop << /PageSize [1728 2592] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ archC 18in 24in ++@+ ! %%DocumentPaperSizes: archC ++@+ %%BeginPaperSize: archC ++@+ /setpagedevice where ++@+ { pop << /PageSize [1296 1728] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ archB 12in 18in ++@+ ! %%DocumentPaperSizes: archB ++@+ %%BeginPaperSize: archB ++@+ /setpagedevice where ++@+ { pop << /PageSize [864 1296] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ archA 9in 12in ++@+ ! %%DocumentPaperSizes: archA ++@+ %%BeginPaperSize: archA ++@+ /setpagedevice where ++@+ { pop << /PageSize [648 864] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ flsa 216mm 330.2mm ++@+ ! %%DocumentPaperSizes: flsa ++@+ %%BeginPaperSize: flsa ++@+ /setpagedevice where ++@+ { pop << /PageSize [612 936] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ flse 216mm 330.2mm ++@+ ! %%DocumentPaperSizes: flse ++@+ %%BeginPaperSize: flse ++@+ /setpagedevice where ++@+ { pop << /PageSize [612 936] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ csheet 431.8mm 558.8mm ++@+ ! %%DocumentPaperSizes: csheet ++@+ %%BeginPaperSize: csheet ++@+ /setpagedevice where ++@+ { pop << /PageSize [1224 1584] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ dsheet 558.8mm 863.6mm ++@+ ! %%DocumentPaperSizes: dsheet ++@+ %%BeginPaperSize: dsheet ++@+ /setpagedevice where ++@+ { pop << /PageSize [1584 2448] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ esheet 863.6mm 1117.6mm ++@+ ! %%DocumentPaperSizes: esheet ++@+ %%BeginPaperSize: esheet ++@+ /setpagedevice where ++@+ { pop << /PageSize [2448 3168] >> setpagedevice } ++@+ if ++@+ %%EndPaperSize ++ ++@ unknown 0in 0in ++@+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin { ++@+ setpageparams } stopped end } { true } ifelse { statusdict /setpage known ++@+ { hsize vsize 1 statusdict begin { setpage } stopped pop end } if } if + + @ unknown 0in 0in + @+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin { --- texlive-bin-2007.dfsg.1.orig/debian/patches/30_libpoppler_0.5.9 +++ texlive-bin-2007.dfsg.1/debian/patches/30_libpoppler_0.5.9 @@ -0,0 +1,454 @@ +# 30_libpoppler.dpatch +# +# use libpoppler instead of libxpdf in pdfetex and xetex +# don't build pdftosrc as it needs libpoppler from experimental + +@DPATCH@ + build/source/configure | 6 +- + build/source/configure.in | 8 +-- + build/source/texk/web2c/pdftexdir/Makefile.in | 2 + build/source/texk/web2c/pdftexdir/depend.mk | 58 +---------------------- + build/source/texk/web2c/pdftexdir/pdftex.mk | 9 ++- + build/source/texk/web2c/pdftexdir/pdftexextra.in | 2 + build/source/texk/web2c/pdftexdir/pdftoepdf.cc | 54 ++++++++++----------- + build/source/texk/web2c/pdftexdir/pdftosrc.cc | 40 ++++++++------- + build/source/texk/web2c/pdftexdir/utils.c | 4 - + build/source/texk/web2c/xetexdir/XeTeX_ext.c | 4 - + build/source/texk/web2c/xetexdir/pdfimage.cpp | 24 +++++++-- + build/source/texk/web2c/xetexdir/xetex.mk | 8 ++- + 12 files changed, 96 insertions(+), 123 deletions(-) + +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/depend.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/depend.mk 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/depend.mk 2007-07-03 12:08:40.000000000 +0200 +@@ -1,55 +1,5 @@ +-epdf.o: epdf.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-mapfile.o: mapfile.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-papersiz.o: papersiz.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \ +- ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \ +- ../../../libs/md5/md5.h pdftexextra.h \ +- ../../../libs/obsdcompat/openbsd-compat.h +-vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \ +- ../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \ +- ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writet3.o: writet3.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h +-writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-writettf.o: writettf.c ptexlib.h writettf.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h macnames.c +-writejpg.o: writejpg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-writepng.o: writepng.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \ +- ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \ +- ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \ +- ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \ +- ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \ +- ../../../libs/xpdf/xpdf/Error.h epdf.h ++pdftoepdf.o: pdftoepdf.cc epdf.h ../../kpathsea/c-auto.h \ ++ ../../kpathsea/c-proto.h ../../web2c/c-auto.h ../../web2c/config.h \ ++ ../../kpathsea/c-fopen.h ../../web2c/pdftexdir/ptexmac.h + ttf2afm.o: ttf2afm.c writettf.h macnames.c +-pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \ +- ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \ +- ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \ +- ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \ +- ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \ +- ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h ++pdftosrc.o: pdftosrc.cc +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftoepdf.cc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftoepdf.cc 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftoepdf.cc 2007-07-03 12:08:40.000000000 +0200 +@@ -26,25 +26,24 @@ + #include + #include + #include +-#include +-#include +-#include +-#include +-#include + #include +-#include "Object.h" +-#include "Stream.h" +-#include "Array.h" +-#include "Dict.h" +-#include "XRef.h" +-#include "Catalog.h" +-#include "Link.h" +-#include "Page.h" +-#include "GfxFont.h" +-#include "PDFDoc.h" +-#include "GlobalParams.h" +-#include "Error.h" +- ++#include ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Link.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" + #include "epdf.h" + + // This file is mostly C and not very much C++; it's just used to interface +@@ -169,7 +168,7 @@ + fprintf(stderr, "\npdfTeX Debug: Creating %s (%d)\n", p->file_name, + p->occurences); + #endif +- GString *docName = new GString(p->file_name); ++ GooString *docName = new GooString(p->file_name); + p->doc = new PDFDoc(docName); // takes ownership of docName + if (!p->doc->isOk() || !p->doc->okToPrint()) { + pdftex_fail("xpdf: reading PDF image failed"); +@@ -511,7 +510,7 @@ + int i, l, c; + Ref ref; + char *p; +- GString *s; ++ GooString *s; + if (obj->isBool()) { + pdf_printf("%s", obj->getBool()? "true" : "false"); + } else if (obj->isInt()) { +@@ -703,7 +702,7 @@ + epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); + if (page_name) { + // get page by name +- GString name(page_name); ++ GooString name(page_name); + LinkDest *link = pdf_doc->doc->findDest(&name); + if (link == 0 || !link->isOk()) + pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftosrc.cc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftosrc.cc 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftosrc.cc 2007-07-03 12:08:58.000000000 +0200 +@@ -25,22 +25,23 @@ + #include + #include + #include +-#include + #include +-#include +-#include +-#include +-#include "Object.h" +-#include "Stream.h" +-#include "Array.h" +-#include "Dict.h" +-#include "XRef.h" +-#include "Catalog.h" +-#include "Page.h" +-#include "GfxFont.h" +-#include "PDFDoc.h" +-#include "GlobalParams.h" +-#include "Error.h" ++ ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" + + static XRef *xref = 0; + +@@ -48,7 +49,7 @@ + { + char *p, buf[1024]; + PDFDoc *doc; +- GString *fileName; ++ GooString *fileName; + Stream *s; + Object srcStream, srcName, catalogDict; + FILE *outfile; +@@ -62,8 +63,8 @@ + "Usage: pdftosrc []\n"); + exit(1); + } +- fileName = new GString(argv[1]); +- globalParams = new GlobalParams(); ++ fileName = new GooString(argv[1]); ++ globalParams = new GlobalParams(NULL); + doc = new PDFDoc(fileName); + if (!doc->isOk()) { + fprintf(stderr, "Invalid PDF file\n"); +@@ -83,7 +84,7 @@ + } + srcStream.initNull(); + if (objnum == 0) { +- catalogDict.dictLookup("SourceObject", &srcStream); ++ catalogDict.dictLookup(UGooString("SourceObject"), &srcStream); + if (!srcStream.isStream("SourceFile")) { + fprintf(stderr, "No SourceObject found\n"); + exit(1); +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/Makefile.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/Makefile.in 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/Makefile.in 2007-07-03 12:08:40.000000000 +0200 +@@ -8,7 +8,7 @@ + kpathsea_srcdir_parent = $(srcdir)/../.. + kpathsea_dir_parent = ../.. + +-ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) @LIBXPDFCPPFLAGS@ -I$(LIBOBSDCOMPATDIR) -I$(LIBOBSDCOMPATDIR)/.. -I$(LIBOBSDCOMPATFSRCDIR) -I$(LIBOBSDCOMPATFSRCDIR)/.. ++ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) -I/usr/include/poppler -I$(LIBOBSDCOMPATDIR) -I$(LIBOBSDCOMPATDIR)/.. -I$(LIBOBSDCOMPATFSRCDIR) -I$(LIBOBSDCOMPATFSRCDIR)/.. + CXX = @CXX@ + + .SUFFIXES: .cc .o +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftex.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftex.mk 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftex.mk 2007-07-03 12:08:40.000000000 +0200 +@@ -2,6 +2,9 @@ + # This fragment contains the parts of the makefile that are most likely to + # differ between releases of pdfeTeX. + ++# use libpoppler instead of included xpdf code ++ADDLDFLAGS = -lpoppler ++ + # We build pdftex + pdftex = @PETEX@ pdftex + pdftexdir = pdftexdir +@@ -29,7 +32,7 @@ + + # Making pdftex + pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep) +- @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ ++ @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) + + # C file dependencies. + $(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) $(srcdir)/$(pdftexdir)/pdftex.defines $(srcdir)/$(pdftexdir)/pdftex.h +@@ -153,10 +156,10 @@ + rm -f ttf2afm.c macnames.c + # + # pdftosrc +-pdftosrc = pdftosrc ++pdftosrc = + + pdftosrc: $(pdftexdir)/pdftosrc.o $(LIBXPDFDEP) +- @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ ++ @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS) + $(pdftexdir)/pdftosrc.o:$(srcdir)/$(pdftexdir)/pdftosrc.cc + cd $(pdftexdir) && $(MAKE) pdftosrc.o + check: pdftosrc-check +Index: texlive-bin-2007/build/source/configure +=================================================================== +--- texlive-bin-2007.orig/build/source/configure 2007-07-03 12:08:40.000000000 +0200 ++++ texlive-bin-2007/build/source/configure 2007-07-03 12:08:40.000000000 +0200 +@@ -3459,9 +3459,9 @@ + + # we need libxpdf for pdf[ex]tex, xetex + test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} +-test "$with_pdftex" != no && : ${needs_libxpdf=yes} +-test "$with_pdfetex" != no && : ${needs_libxpdf=yes} +-test "$with_xetex" != no && : ${needs_libxpdf=yes} ++test "$with_pdftex" != no && : ${needs_libxpdf=no} ++test "$with_pdfetex" != no && : ${needs_libxpdf=no} ++test "$with_xetex" != no && : ${needs_libxpdf=no} + : ${needs_libxpdf=no} + export needs_libxpdf + +Index: texlive-bin-2007/build/source/configure.in +=================================================================== +--- texlive-bin-2007.orig/build/source/configure.in 2007-07-03 12:08:40.000000000 +0200 ++++ texlive-bin-2007/build/source/configure.in 2007-07-03 12:08:40.000000000 +0200 +@@ -157,9 +157,9 @@ + + # we need libxpdf for pdf[ex]tex, xetex + test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} +-test "$with_pdftex" != no && : ${needs_libxpdf=yes} +-test "$with_pdfetex" != no && : ${needs_libxpdf=yes} +-test "$with_xetex" != no && : ${needs_libxpdf=yes} ++test "$with_pdftex" != no && : ${needs_libxpdf=no} ++test "$with_pdfetex" != no && : ${needs_libxpdf=no} ++test "$with_xetex" != no && : ${needs_libxpdf=no} + : ${needs_libxpdf=no} + export needs_libxpdf + +@@ -207,7 +207,7 @@ + sinclude(libs/libpng/libpng.ac) + sinclude(libs/zlib/zlib.ac) + sinclude(libs/ncurses/ncurses.ac) +-sinclude(libs/xpdf/libxpdf.ac) ++#sinclude(libs/xpdf/libxpdf.ac) + sinclude(libs/t1lib/t1lib.ac) + sinclude(libs/gd/gd.ac) + sinclude(libs/freetype/freetype.ac) +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-07-03 12:08:40.000000000 +0200 +@@ -33,7 +33,7 @@ + */ + + #ifdef XETEX_OTHER +-#include "xpdf/config.h" ++#include "poppler/poppler-config.h" + #include "png.h" + #endif + +@@ -194,7 +194,7 @@ + #else + "Compiled with fontconfig version %d.%d.%d; using %d.%d.%d\n" + "Compiled with libpng version %s; using %s\n" +- "Compiled with xpdf version %s\n" ++ "Compiled with libpoppler version %s\n" + #endif + ; + +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/pdfimage.cpp +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/pdfimage.cpp 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/pdfimage.cpp 2007-07-03 12:08:40.000000000 +0200 +@@ -11,10 +11,24 @@ + + #include "pdfimage.h" + +-#include "PDFDoc.h" +-#include "Catalog.h" +-#include "Page.h" +-#include "GString.h" ++#include ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Link.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" ++ + + #include "XeTeX_ext.h" + +@@ -28,7 +42,7 @@ + int + pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box) + { +- GString* name = new GString(filename); ++ GooString* name = new GooString(filename); + PDFDoc* doc = new PDFDoc(name); + + if (!doc) { +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/xetex.mk 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk 2007-07-03 12:08:40.000000000 +0200 +@@ -4,6 +4,10 @@ + + Makefile: $(srcdir)/xetexdir/xetex.mk + ++# use libpoppler instead of included xpdf code ++ADDLDFLAGS = -lpoppler ++ ++ + # We build xetex unless configure decides to skip it + xetex = @XETEX@ xetex + +@@ -29,7 +33,7 @@ + + @XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER + +-@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ ++@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ $(ADDLDFLAGS) + + @XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@ + +@@ -144,7 +148,7 @@ + $(compile) $(ALL_CFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@ + + pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h +- $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@ ++ $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -I/usr/include/poppler -c $< -o $@ + + XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs) + $(compile) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/utils.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/utils.c 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/utils.c 2007-07-03 12:08:40.000000000 +0200 +@@ -37,7 +37,7 @@ + #include "zlib.h" + #include "ptexlib.h" + #include "png.h" +-#include "xpdf/config.h" /* just to get the xpdf version */ ++#include "poppler/poppler-config.h" /* just to get the xpdf version */ + + #define check_nprintf(size_get, size_want) \ + if ((unsigned)(size_get) >= (unsigned)(size_want)) \ +@@ -1261,7 +1261,7 @@ + (void) asprintf(versions, + "Compiled with libpng %s; using libpng %s\n" + "Compiled with zlib %s; using zlib %s\n" +- "Compiled with xpdf version %s\n", ++ "Compiled with libpoppler version %s\n", + PNG_LIBPNG_VER_STRING, png_libpng_ver, + ZLIB_VERSION, zlib_version, xpdfVersion); + } +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftexextra.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftexextra.in 2007-07-03 12:03:20.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftexextra.in 2007-07-03 12:08:40.000000000 +0200 +@@ -26,7 +26,7 @@ + (generated from ../lib/texmfmp.c). + */ + +-#define BANNER "This is pdfTeX, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION" ++#define BANNER "This is pdfTeX using libpoppler, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION" + #define COPYRIGHT_HOLDER "Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX)" + #define AUTHOR NULL + #define PROGRAM_HELP PDFTEXHELP --- texlive-bin-2007.dfsg.1.orig/debian/patches/30_libpoppler_0.5.4 +++ texlive-bin-2007.dfsg.1/debian/patches/30_libpoppler_0.5.4 @@ -0,0 +1,510 @@ +# 30_libpoppler.dpatch +# +# use libpoppler instead of libxpdf in pdfetex and xetex +# don't build pdftosrc as it needs libpoppler from experimental + +@DPATCH@ + build/source/configure | 6 +- + build/source/configure.in | 8 +-- + build/source/texk/web2c/pdftexdir/Makefile.in | 2 + build/source/texk/web2c/pdftexdir/depend.mk | 58 +---------------------- + build/source/texk/web2c/pdftexdir/pdftex.mk | 9 ++- + build/source/texk/web2c/pdftexdir/pdftexextra.in | 2 + build/source/texk/web2c/pdftexdir/pdftoepdf.cc | 54 ++++++++++----------- + build/source/texk/web2c/pdftexdir/pdftosrc.cc | 40 ++++++++------- + build/source/texk/web2c/pdftexdir/utils.c | 4 - + build/source/texk/web2c/xetexdir/XeTeX_ext.c | 4 - + build/source/texk/web2c/xetexdir/pdfimage.cpp | 24 +++++++-- + build/source/texk/web2c/xetexdir/xetex.mk | 8 ++- + 12 files changed, 96 insertions(+), 123 deletions(-) + +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/depend.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/depend.mk 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/depend.mk 2007-05-19 14:21:27.000000000 +0200 +@@ -1,55 +1,5 @@ +-epdf.o: epdf.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-mapfile.o: mapfile.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-papersiz.o: papersiz.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \ +- ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \ +- ../../../libs/md5/md5.h pdftexextra.h \ +- ../../../libs/obsdcompat/openbsd-compat.h +-vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \ +- ../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \ +- ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writet3.o: writet3.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ +- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h +-writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h +-writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h +-writettf.o: writettf.c ptexlib.h writettf.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h macnames.c +-writejpg.o: writejpg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-writepng.o: writepng.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ +- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ +- ptexmac.h image.h +-pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \ +- ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \ +- ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \ +- ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \ +- ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \ +- ../../../libs/xpdf/xpdf/Error.h epdf.h ++pdftoepdf.o: pdftoepdf.cc epdf.h ../../kpathsea/c-auto.h \ ++ ../../kpathsea/c-proto.h ../../web2c/c-auto.h ../../web2c/config.h \ ++ ../../kpathsea/c-fopen.h ../../web2c/pdftexdir/ptexmac.h + ttf2afm.o: ttf2afm.c writettf.h macnames.c +-pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \ +- ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \ +- ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \ +- ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \ +- ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \ +- ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h ++pdftosrc.o: pdftosrc.cc +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftoepdf.cc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftoepdf.cc 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftoepdf.cc 2007-05-19 14:21:27.000000000 +0200 +@@ -26,25 +26,25 @@ + #include + #include + #include +-#include +-#include +-#include +-#include +-#include + #include +-#include "Object.h" +-#include "Stream.h" +-#include "Array.h" +-#include "Dict.h" +-#include "XRef.h" +-#include "Catalog.h" +-#include "Link.h" +-#include "Page.h" +-#include "GfxFont.h" +-#include "PDFDoc.h" +-#include "GlobalParams.h" +-#include "Error.h" +- ++#include ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/UGooString.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Link.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" + #include "epdf.h" + + // This file is mostly C and not very much C++; it's just used to interface +@@ -169,7 +169,7 @@ + fprintf(stderr, "\npdfTeX Debug: Creating %s (%d)\n", p->file_name, + p->occurences); + #endif +- GString *docName = new GString(p->file_name); ++ GooString *docName = new GooString(p->file_name); + p->doc = new PDFDoc(docName); // takes ownership of docName + if (!p->doc->isOk() || !p->doc->okToPrint()) { + pdftex_fail("xpdf: reading PDF image failed"); +@@ -212,7 +212,7 @@ + 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)); ++ obj->dictAdd(*(new UGooString (*dict->getKey(i))), dict->getValNF(i, &obj1)); + } + } + +@@ -291,7 +291,7 @@ + static void copyDictEntry(Object * obj, int i) + { + PdfObject obj1; +- copyName(obj->dictGetKey(i)); ++ copyName(obj->dictGetKey(i)->getCString()); + pdf_puts(" "); + obj->dictGetValNF(i, &obj1); + copyObject(&obj1); +@@ -318,7 +318,7 @@ + pdf_puts("<<\n"); + assert(r->type == objFont); // FontDescriptor is in fd_tree + for (i = 0, l = obj->dictGetLength(); i < l; ++i) { +- key = obj->dictGetKey(i); ++ key = obj->dictGetKey(i)->getCString(); + if (strncmp("FontDescriptor", key, strlen("FontDescriptor")) == 0 + || strncmp("BaseFont", key, strlen("BaseFont")) == 0 + || strncmp("Encoding", key, strlen("Encoding")) == 0) +@@ -424,7 +424,7 @@ + for (i = 0, l = obj->dictGetLength(); i < l; ++i) { + obj->dictGetValNF(i, &fontRef); + if (fontRef->isRef()) +- copyFont(obj->dictGetKey(i), &fontRef); ++ copyFont(obj->dictGetKey(i)->getCString(), &fontRef); + else + pdftex_fail("PDF inclusion: invalid font in reference type <%s>", + fontRef->getTypeName()); +@@ -511,7 +511,7 @@ + int i, l, c; + Ref ref; + char *p; +- GString *s; ++ GooString *s; + if (obj->isBool()) { + pdf_printf("%s", obj->getBool()? "true" : "false"); + } else if (obj->isInt()) { +@@ -677,7 +677,7 @@ + float pdf_version_found, pdf_version_wanted; + // initialize + if (!isInit) { +- globalParams = new GlobalParams(); ++ globalParams = new GlobalParams(NULL); + globalParams->setErrQuiet(gFalse); + isInit = gTrue; + } +@@ -703,7 +703,7 @@ + epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); + if (page_name) { + // get page by name +- GString name(page_name); ++ UGooString name(page_name); + LinkDest *link = pdf_doc->doc->findDest(&name); + if (link == 0 || !link->isOk()) + pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); +@@ -924,7 +924,7 @@ + pdf_puts("/Resources <<\n"); + for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { + obj1->dictGetVal(i, &obj2); +- key = obj1->dictGetKey(i); ++ key = obj1->dictGetKey(i)->getCString(); + if (strcmp("Font", key) == 0) + copyFontResources(&obj2); + else if (strcmp("ProcSet", key) == 0) +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftosrc.cc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftosrc.cc 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftosrc.cc 2007-05-19 14:21:27.000000000 +0200 +@@ -25,22 +25,24 @@ + #include + #include + #include +-#include + #include +-#include +-#include +-#include +-#include "Object.h" +-#include "Stream.h" +-#include "Array.h" +-#include "Dict.h" +-#include "XRef.h" +-#include "Catalog.h" +-#include "Page.h" +-#include "GfxFont.h" +-#include "PDFDoc.h" +-#include "GlobalParams.h" +-#include "Error.h" ++ ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/UGooString.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" + + static XRef *xref = 0; + +@@ -48,7 +50,7 @@ + { + char *p, buf[1024]; + PDFDoc *doc; +- GString *fileName; ++ GooString *fileName; + Stream *s; + Object srcStream, srcName, catalogDict; + FILE *outfile; +@@ -62,8 +64,8 @@ + "Usage: pdftosrc []\n"); + exit(1); + } +- fileName = new GString(argv[1]); +- globalParams = new GlobalParams(); ++ fileName = new GooString(argv[1]); ++ globalParams = new GlobalParams(NULL); + doc = new PDFDoc(fileName); + if (!doc->isOk()) { + fprintf(stderr, "Invalid PDF file\n"); +@@ -83,7 +85,7 @@ + } + srcStream.initNull(); + if (objnum == 0) { +- catalogDict.dictLookup("SourceObject", &srcStream); ++ catalogDict.dictLookup(UGooString("SourceObject"), &srcStream); + if (!srcStream.isStream("SourceFile")) { + fprintf(stderr, "No SourceObject found\n"); + exit(1); +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/Makefile.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/Makefile.in 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/Makefile.in 2007-05-19 14:21:27.000000000 +0200 +@@ -8,7 +8,7 @@ + kpathsea_srcdir_parent = $(srcdir)/../.. + kpathsea_dir_parent = ../.. + +-ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) @LIBXPDFCPPFLAGS@ -I$(LIBOBSDCOMPATDIR) -I$(LIBOBSDCOMPATDIR)/.. -I$(LIBOBSDCOMPATFSRCDIR) -I$(LIBOBSDCOMPATFSRCDIR)/.. ++ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) -I/usr/include/poppler -I$(LIBOBSDCOMPATDIR) -I$(LIBOBSDCOMPATDIR)/.. -I$(LIBOBSDCOMPATFSRCDIR) -I$(LIBOBSDCOMPATFSRCDIR)/.. + CXX = @CXX@ + + .SUFFIXES: .cc .o +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftex.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftex.mk 2006-12-27 00:37:34.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftex.mk 2007-05-19 14:21:27.000000000 +0200 +@@ -2,6 +2,9 @@ + # This fragment contains the parts of the makefile that are most likely to + # differ between releases of pdfeTeX. + ++# use libpoppler instead of included xpdf code ++ADDLDFLAGS = -lpoppler ++ + # We build pdftex + pdftex = @PETEX@ pdftex + pdftexdir = pdftexdir +@@ -29,7 +32,7 @@ + + # Making pdftex + pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep) +- @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ ++ @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) + + # C file dependencies. + $(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) $(srcdir)/$(pdftexdir)/pdftex.defines $(srcdir)/$(pdftexdir)/pdftex.h +@@ -153,10 +156,10 @@ + rm -f ttf2afm.c macnames.c + # + # pdftosrc +-pdftosrc = pdftosrc ++pdftosrc = + + pdftosrc: $(pdftexdir)/pdftosrc.o $(LIBXPDFDEP) +- @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ ++ @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS) + $(pdftexdir)/pdftosrc.o:$(srcdir)/$(pdftexdir)/pdftosrc.cc + cd $(pdftexdir) && $(MAKE) pdftosrc.o + check: pdftosrc-check +Index: texlive-bin-2007/build/source/configure +=================================================================== +--- texlive-bin-2007.orig/build/source/configure 2007-05-19 14:21:16.000000000 +0200 ++++ texlive-bin-2007/build/source/configure 2007-05-19 14:21:27.000000000 +0200 +@@ -3459,9 +3459,9 @@ + + # we need libxpdf for pdf[ex]tex, xetex + test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} +-test "$with_pdftex" != no && : ${needs_libxpdf=yes} +-test "$with_pdfetex" != no && : ${needs_libxpdf=yes} +-test "$with_xetex" != no && : ${needs_libxpdf=yes} ++test "$with_pdftex" != no && : ${needs_libxpdf=no} ++test "$with_pdfetex" != no && : ${needs_libxpdf=no} ++test "$with_xetex" != no && : ${needs_libxpdf=no} + : ${needs_libxpdf=no} + export needs_libxpdf + +Index: texlive-bin-2007/build/source/configure.in +=================================================================== +--- texlive-bin-2007.orig/build/source/configure.in 2007-05-19 14:21:16.000000000 +0200 ++++ texlive-bin-2007/build/source/configure.in 2007-05-19 14:21:27.000000000 +0200 +@@ -157,9 +157,9 @@ + + # we need libxpdf for pdf[ex]tex, xetex + test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} +-test "$with_pdftex" != no && : ${needs_libxpdf=yes} +-test "$with_pdfetex" != no && : ${needs_libxpdf=yes} +-test "$with_xetex" != no && : ${needs_libxpdf=yes} ++test "$with_pdftex" != no && : ${needs_libxpdf=no} ++test "$with_pdfetex" != no && : ${needs_libxpdf=no} ++test "$with_xetex" != no && : ${needs_libxpdf=no} + : ${needs_libxpdf=no} + export needs_libxpdf + +@@ -207,7 +207,7 @@ + sinclude(libs/libpng/libpng.ac) + sinclude(libs/zlib/zlib.ac) + sinclude(libs/ncurses/ncurses.ac) +-sinclude(libs/xpdf/libxpdf.ac) ++#sinclude(libs/xpdf/libxpdf.ac) + sinclude(libs/t1lib/t1lib.ac) + sinclude(libs/gd/gd.ac) + sinclude(libs/freetype/freetype.ac) +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-01-15 14:04:36.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/XeTeX_ext.c 2007-05-19 14:21:27.000000000 +0200 +@@ -33,7 +33,7 @@ + */ + + #ifdef XETEX_OTHER +-#include "xpdf/config.h" ++#include "poppler/poppler-config.h" + #include "png.h" + #endif + +@@ -194,7 +194,7 @@ + #else + "Compiled with fontconfig version %d.%d.%d; using %d.%d.%d\n" + "Compiled with libpng version %s; using %s\n" +- "Compiled with xpdf version %s\n" ++ "Compiled with libpoppler version %s\n" + #endif + ; + +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/pdfimage.cpp +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/pdfimage.cpp 2006-12-09 11:29:12.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/pdfimage.cpp 2007-05-19 14:21:27.000000000 +0200 +@@ -11,10 +11,24 @@ + + #include "pdfimage.h" + +-#include "PDFDoc.h" +-#include "Catalog.h" +-#include "Page.h" +-#include "GString.h" ++#include ++#include ++#include ++#include ++#include ++#include "poppler/Object.h" ++#include "poppler/Stream.h" ++#include "poppler/Array.h" ++#include "poppler/Dict.h" ++#include "poppler/XRef.h" ++#include "poppler/Link.h" ++#include "poppler/Catalog.h" ++#include "poppler/Page.h" ++#include "poppler/GfxFont.h" ++#include "poppler/PDFDoc.h" ++#include "poppler/GlobalParams.h" ++#include "poppler/Error.h" ++ + + #include "XeTeX_ext.h" + +@@ -28,7 +42,7 @@ + int + pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box) + { +- GString* name = new GString(filename); ++ GooString* name = new GooString(filename); + PDFDoc* doc = new PDFDoc(name); + + if (!doc) { +Index: texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/xetexdir/xetex.mk 2007-01-20 13:44:35.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/xetexdir/xetex.mk 2007-05-19 14:21:27.000000000 +0200 +@@ -4,6 +4,10 @@ + + Makefile: $(srcdir)/xetexdir/xetex.mk + ++# use libpoppler instead of included xpdf code ++ADDLDFLAGS = -lpoppler ++ ++ + # We build xetex unless configure decides to skip it + xetex = @XETEX@ xetex + +@@ -29,7 +33,7 @@ + + @XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER + +-@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ ++@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ $(ADDLDFLAGS) + + @XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@ + +@@ -144,7 +148,7 @@ + $(compile) $(ALL_CFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@ + + pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h +- $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@ ++ $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -I/usr/include/poppler -c $< -o $@ + + XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs) + $(compile) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/utils.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/utils.c 2007-01-01 18:20:03.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/utils.c 2007-05-19 14:21:27.000000000 +0200 +@@ -37,7 +37,7 @@ + #include "zlib.h" + #include "ptexlib.h" + #include "png.h" +-#include "xpdf/config.h" /* just to get the xpdf version */ ++#include "poppler/poppler-config.h" /* just to get the xpdf version */ + + #define check_nprintf(size_get, size_want) \ + if ((unsigned)(size_get) >= (unsigned)(size_want)) \ +@@ -1261,7 +1261,7 @@ + (void) asprintf(versions, + "Compiled with libpng %s; using libpng %s\n" + "Compiled with zlib %s; using zlib %s\n" +- "Compiled with xpdf version %s\n", ++ "Compiled with libpoppler version %s\n", + PNG_LIBPNG_VER_STRING, png_libpng_ver, + ZLIB_VERSION, zlib_version, xpdfVersion); + } +Index: texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftexextra.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/web2c/pdftexdir/pdftexextra.in 2007-05-19 14:23:01.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/web2c/pdftexdir/pdftexextra.in 2007-05-19 14:23:31.000000000 +0200 +@@ -26,7 +26,7 @@ + (generated from ../lib/texmfmp.c). + */ + +-#define BANNER "This is pdfTeX, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION" ++#define BANNER "This is pdfTeX using libpoppler, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION" + #define COPYRIGHT_HOLDER "Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX)" + #define AUTHOR NULL + #define PROGRAM_HELP PDFTEXHELP --- texlive-bin-2007.dfsg.1.orig/debian/patches/dviljk-security-fixes +++ texlive-bin-2007.dfsg.1/debian/patches/dviljk-security-fixes @@ -0,0 +1,2267 @@ +security fixes from Joachim Schrod +(present in the security branch of TeX Live 2007 branch2007) +This update is all about security fixes: + 1) dviljk did not check any memory bounds. Any read operation, any + string handling was done without bounds checking and could be + exploited for buffer overflows. + + I discovered ca. 30 places where this happens and fixed all of + them. I did not do a full code review and therefore can not + promise that there are even more, but all occurences of fread() + with arbitrary lengths, strcpy and friends, string copying by + "*dest++ = *src++", and other fixed array accesses are now + checked. + + 2) dviljk had a tempfile creation race condition, due to the usage of + tmpnam(). (There are more cases in the texk source tree, btw.) + Since mkstemp() cannot be utilized here, I changed the code to use + a temporary directory created with mkdtemp(). (If mkdtemp() is not + available, I fall back to use tmpnam(); it's not worse than + before.) At the same time, the temporary files (and directory) are + deleted now at the end of the program run. +--- + build/source/texk/dviljk/ChangeLog | 47 + + build/source/texk/dviljk/c-auto.in | 26 + build/source/texk/dviljk/config.h | 28 - + build/source/texk/dviljk/configure | 56 ++ + build/source/texk/dviljk/configure.in | 2 + build/source/texk/dviljk/dvi2xx.c | 889 +++++++++++++++++----------------- + build/source/texk/dviljk/dvi2xx.h | 30 - + 7 files changed, 631 insertions(+), 447 deletions(-) + +Index: texlive-bin-2007/build/source/texk/dviljk/ChangeLog +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dviljk/ChangeLog 2007-07-03 13:44:19.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dviljk/ChangeLog 2007-07-03 13:45:10.000000000 +0200 +@@ -1,3 +1,42 @@ ++2007-07-02 Joachim Schrod ++ ++ * dvi2xx.c (DoSpecial): Security issue: usage of tmpnam() caused ++ tempfile race condition. I use mkdtemp() if it's available and ++ fall back to tmpnam. ++ ++ Special parsing of include files was inconsistent, unify it. The ++ current parsing code still allows lots of non-sensical special ++ commands, but at least it doesn't access unrelated variables any ++ more. ++ ++2007-06-28 Joachim Schrod ++ ++ * dvi2xx.c: Fixed a whole bunch of buffer overflows: The program ++ did not check memory bounds for any string operation. All places ++ where strings are copied with strcpy are replaced by dynamically ++ allocated strings (with xstrdup from kpathsea) or bounded string ++ operations. Fixed also manual string copy operations on special ++ strings. Fixed array buffer overflow in defpoint and fill special ++ operations. ++ (DoSpecial): Call of ghostscript for psfile special had also a ++ potential buffer overflow caused by unchecked usage of sprintf. ++ Fix core dump: Check if all required parameters of psfile special ++ are passed. ++ ++ Bumped version number up to 2.6p3. ++ ++ * dvi2xx.h: Some fixed sized string arrays are pointers now, they ++ get dynamically allocated. ++ (GetBytes): Another buffer overflow: Check that the buffer size is ++ sufficient to store the read bytes. That relies on the invariant ++ that the GetBytes macro is always called with an array as argument ++ and not with a pointer. ++ ++ * config.h: Throw an error if kpathsea is not used. dvi2xx.c ++ had previously already kpathsea dependencies without protecting ++ them with #if KPATHSEA. We go that road further since upstream ++ does not exist any more. ++ + 2006-05-29 Karl Berry + + * Makefile.in (install-exec): cd $(bindir) in case we are doing +@@ -17,7 +56,7 @@ + Olaf Weber + Sat Jan 17 15:09:59 1998 Sebastian Rahtz + +- * assorted patches from Peter Breitenlohner, Olaf Weber, ++ * assorted patches from Peter Breitenlohner, Olaf Weber, + Eli Zaretskii, Fabrice Popineau etc. Hope it all still works. + + +@@ -54,7 +93,7 @@ + Mon Dec 9 00:53:30 1996 Ulrik Vieth + + * dvihp: Use `basename $0` in usage and version messages for +- consistency with other programs and scripts. ++ consistency with other programs and scripts. + Also accept -help, -version in addition to --help, --version. + + Sat Dec 7 17:15:54 1996 Karl Berry +@@ -218,7 +257,7 @@ + Fri Dec 30 15:25:54 1994 Karl Berry + + * Makefile.in (install-exec): Don't depend on default, so dvilj4 +- doesn't get made if the user didn't want it. ++ doesn't get made if the user didn't want it. + (install-data): mkdirchain on texinputdir and fontdir. + From Joachim. + +@@ -325,7 +364,7 @@ + * config.h (RESOLUTION, MFMODE) [LJ4L]: Set to 300/cx for this new + symbol. + +- * dvi2xx.c (DecodeArgs): Always scale pgsiz_dots. ++ * dvi2xx.c (DecodeArgs): Always scale pgsiz_dots. + (main) [LJ4]: Don't hardwire 600dpi. + These fixes from ajp@eng.cam.ac.uk. + +Index: texlive-bin-2007/build/source/texk/dviljk/c-auto.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dviljk/c-auto.in 2007-07-03 13:44:35.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dviljk/c-auto.in 2007-07-03 13:45:10.000000000 +0200 +@@ -1,9 +1,23 @@ +-/* c-auto.in. Generated automatically from configure.in by autoheader. */ ++/* c-auto.in. Generated from configure.in by autoheader. */ ++/* acconfig.h -- used by autoheader when generating c-auto.in. + +-/* Define if type char is unsigned and you are not using gcc. */ +-#ifndef __CHAR_UNSIGNED__ +-#undef __CHAR_UNSIGNED__ +-#endif ++ If you're thinking of editing acconfig.h to fix a configuration ++ problem, don't. Edit the c-auto.h file created by configure, ++ instead. Even better, fix configure to give the right answer. */ ++ ++/* Define to 1 if you have the `mkdtemp' function. */ ++#undef HAVE_MKDTEMP ++ ++/* Define to 1 if you have the `rmdir' function. */ ++#undef HAVE_RMDIR + +-/* The number of bytes in a long. */ ++/* Define to 1 if you have the `unlink' function. */ ++#undef HAVE_UNLINK ++ ++/* The size of a `long', as computed by sizeof. */ + #undef SIZEOF_LONG ++ ++/* Define to 1 if type `char' is unsigned and you are not using gcc. */ ++#ifndef __CHAR_UNSIGNED__ ++# undef __CHAR_UNSIGNED__ ++#endif +Index: texlive-bin-2007/build/source/texk/dviljk/config.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dviljk/config.h 2007-07-03 13:44:27.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dviljk/config.h 2007-07-03 13:45:10.000000000 +0200 +@@ -216,12 +216,7 @@ + #endif + + #ifndef KPATHSEA +-extern bool findfile( +-#if NeedFunctionPrototypes +-char path[], char n[], long4 fontmag, char name[], +- bool tfm, int level +-#endif +- ); ++#error "Would need changed findfile, dviljk has changed allocation semantic of name member in tfontptr" + #endif + + +@@ -444,3 +439,24 @@ + /* If we have neither, should fall back to fprintf with fixed args. */ + #endif + #endif ++ ++/* If unlink and rmdir are not there, we don't delete the temporary files. */ ++#ifndef HAVE_RMDIR ++#define rmdir(dir) ++#endif ++#ifndef HAVE_UNLINK ++#define unlink(file) ++#endif ++ ++/* If mkdtemp() does not exist, we have to use tmpnam(). */ ++#ifndef HAVE_MKDTEMP ++#define mkdtemp(dir) (tmpnam(dir) ? \ ++ ( mkdir(dir, 0700) == -1 ? NULL : dir ) : \ ++ ( errno = EINVAL, NULL ) ) ++#endif ++ ++#ifndef KPATHSEA ++/* FIXME: Should provide a strdup function. But currently this tree is ++ only used in connection with kpathsea anyhow. */ ++#error "Need xstrdup and xmalloc function, e.g. from kpathsea" ++#endif +Index: texlive-bin-2007/build/source/texk/dviljk/configure +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dviljk/configure 2007-07-03 13:43:54.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dviljk/configure 2007-07-03 13:45:10.000000000 +0200 +@@ -1283,6 +1283,62 @@ + + + ++for ac_func in rmdir unlink mkdtemp ++do ++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ++echo "configure:1290: checking for $ac_func" >&5 ++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ cat > conftest.$ac_ext < ++/* Override any gcc2 internal prototype to avoid an error. */ ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char $ac_func(); ++ ++int main() { ++ ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_$ac_func) || defined (__stub___$ac_func) ++choke me ++#else ++$ac_func(); ++#endif ++ ++; return 0; } ++EOF ++if { (eval echo configure:1318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++ rm -rf conftest* ++ eval "ac_cv_func_$ac_func=yes" ++else ++ echo "configure: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ rm -rf conftest* ++ eval "ac_cv_func_$ac_func=no" ++fi ++rm -f conftest* ++fi ++ ++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then ++ echo "$ac_t""yes" 1>&6 ++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ++ cat >> confdefs.h <&6 ++fi ++done ++ ++ + ac_config_files="$ac_config_files Makefile" + + trap '' 1 2 15 +Index: texlive-bin-2007/build/source/texk/dviljk/configure.in +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dviljk/configure.in 2007-07-03 13:44:09.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dviljk/configure.in 2007-07-03 13:45:10.000000000 +0200 +@@ -14,5 +14,7 @@ + AC_C_CHAR_UNSIGNED + AC_CHECK_SIZEOF(long) + ++AC_CHECK_FUNCS(rmdir unlink mkdtemp) ++ + KPSE_CONFIG_FILES([Makefile]) + AC_OUTPUT +Index: texlive-bin-2007/build/source/texk/dviljk/dvi2xx.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dviljk/dvi2xx.c 2007-07-03 13:44:43.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dviljk/dvi2xx.c 2007-07-03 13:45:10.000000000 +0200 +@@ -1,5 +1,5 @@ + /* $Id: dvi2xx.c,v 2.5 1997/12/08 20:52:20 neumann Exp $ */ +-#define VERSION "2.6p2 (dviljk)" ++#define VERSION "dviljk (version 2.6p3)" + /* + #define DEBUGGS 1 + */ +@@ -165,7 +165,7 @@ + # endif + #endif + +- /* Initialize pixel_files */ ++ /* Initialize pixel_files */ + for (i = 0; i <= MAXOPEN; i++) + pixel_files[i].pixel_file_id = FPNULL; + +@@ -173,7 +173,7 @@ + y_origin = YDEFAULTOFF; /* y-origin in dots */ + + setbuf(ERR_STREAM, NULL); +- (void) strcpy(G_progname, argv[0]); ++ G_progname = argv[0]; + #ifdef KPATHSEA + kpse_set_progname(argv[0]); + kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile); +@@ -275,7 +275,7 @@ + EMIT1("@PJL SET PAGEPROTECT=OFF\012"); + EMIT1("@PJL ENTER LANGUAGE=PCL\012"); + if (econoMode && LJ6) +- EMIT1("@PJL SET ECONOMODE=ON\012"); ++ EMIT1("@PJL SET ECONOMODE=ON\012"); + EMIT3("\033&u%dD\033*t%dR",RESOLUTION,RESOLUTION); + if (econoMode && !LJ6) + EMIT1("\033*v1T"); +@@ -431,8 +431,8 @@ + /* + fprintf(ERR_STREAM,"FirstPart\n count %d, mod %d, pp %d\n",(int)count[0],(int)count[0]%2,PageParity); + */ +- SkipMode = +- (bool)(PageParity != (short)((count[0]<0 ? ++ SkipMode = ++ (bool)(PageParity != (short)((count[0]<0 ? + labs(count[0])+1 : count[0])%2)); + if (count[0] == 0) SkipMode = (bool)!SkipMode; + } +@@ -641,7 +641,7 @@ + is not buffered. */ + + /* read a buffered byte */ +-char ++char + #if NeedFunctionPrototypes + b_read(FILEPTR spfp) + #else +@@ -661,7 +661,7 @@ + } + + #ifdef RISC_BUFFER +-void ++void + #if NeedFunctionPrototypes + b_write(FILEPTR spfp, char c) /* write a buffered byte */ + #else +@@ -677,7 +677,7 @@ + buffout[boact++] = c; + } + +-void ++void + #if NeedFunctionPrototypes + b_wrtmult(FILEPTR spfp, char *buf, int len) /* write a sequence of bytes to the output buffer */ + #else +@@ -693,22 +693,22 @@ + write_multi(buffout,1,boact,spfp); + /* Copy only small blocks; large ones are written directly */ + if (len < (BUFFSIZE/4)) { +- for (i = 0; i 0 ) { + EMIT4("\033*p%c%d%c",sign,pos,dir); +-#ifdef DEBUGGS ++#ifdef DEBUGGS + fprintf(stderr, "relative: *p%c%d%c\n", sign, pos, dir); + #endif + } else if (pos>0) { + EMIT3("\033*p%d%c",pos,dir); +-#ifdef DEBUGGS ++#ifdef DEBUGGS + fprintf(stderr, "absolute: *p%d%c\n", pos, dir); + #endif +- if (dir == 'X') ++ if (dir == 'X') + last_rx = pos; +- else ++ else + last_ry = pos; + } else { + /*EMIT3("\033*p%d%c",pos,dir);*/ +-#ifdef DEBUGGS ++#ifdef DEBUGGS + fprintf(stderr, "Relative: *p%d%c\n", pos, dir); + #endif + } +@@ -832,7 +832,7 @@ + unwanted commands from the input file and outputs the rest */ + + /* reset the input buffer */ +- binumber = 0; ++ binumber = 0; + biact = 0; + + qfprintf(ERR_STREAM," [%s", str); +@@ -853,16 +853,16 @@ + /* of the commands (x first, y first) */ + + if (t=='Y' || t=='y') { +- if (numstr[0]!='+' && numstr[0]!='-' && num0x60; ++ for (t = (char)b_read(spfp); t<0x40 || t>0x60; + t = (char)b_read(spfp)) + EMITC(t); + EMITC(t); +@@ -1110,7 +1110,7 @@ + long4 x = 0; /* number being constructed */ + unsigned char h; + while (n--) { +- x <<= 8; ++ x <<= 8; + read_byte(fp,h); + x |= h; + } +@@ -1143,7 +1143,7 @@ + #ifdef SIGN_DEBUG + long4 x0; /* copy of x */ + #endif +- read_byte(fp,h); ++ read_byte(fp,h); + x = h; /* get first (high-order) byte */ + n1 = n--; + while (n--) { +@@ -1296,7 +1296,7 @@ + /* ---> result in DX */ + + if ( (regs.h.dl & 0x80) /* file handle points to a device */ +- && !(regs.h.dl & 0x07) ) { /* neither console i/o or null */ ++ && !(regs.h.dl & 0x07) ) { /* neither console i/o or null */ + + regs.h.dl |= 0x20; /* set BINARY bit in device info */ + regs.h.ah = (unsigned char) 0x44; /* IOCTL */ +@@ -1501,20 +1501,20 @@ + /* For COMPRESSED CHARS */ + if (PrevSize < nbpl) { + PrevSize = nbpl; +- if (PrevLine != NULL) ++ if (PrevLine != NULL) + free(PrevLine); +- if ((PrevLine = (unsigned char*)malloc(PrevSize*sizeof(char))) ++ if ((PrevLine = (unsigned char*)malloc(PrevSize*sizeof(char))) + == NULL) { +- PrevSize = 0; ++ PrevSize = 0; + Fatal("EmitChar: Out of memory error!\n"); + } + } + /* Clear seed line */ +- for (i = 0; iid == pk89) +@@ -1530,11 +1530,11 @@ + CompressedCharLine(ce,nbpl,sl); + } + # else +- for (i = num_rows; i > 0; i--) ++ for (i = num_rows; i > 0; i--) + CompressedCharLine(ce,nbpl,(bits + (i-1)*nbpl)); + # endif /* USEPXL */ + } +- else ++ else + CChar_Off = -1; + # endif /* LJ4 */ + +@@ -1544,10 +1544,10 @@ + # ifdef LJ4 + /* printf("raw: %d (%d * %d), comp: %d\n", + total,ce->width,ce->height,CChar_Off); */ +- /* Characters that don't compress well are usually rather small so +- reading them again and writing them uncompressed won't take ++ /* Characters that don't compress well are usually rather small so ++ reading them again and writing them uncompressed won't take + much time anyway. */ +- if (CChar_Off > total) ++ if (CChar_Off > total) + CChar_Off = -1; + if (CChar_Off >= 0) { + EMIT4("\033*c%sd%dE\033(s%ldW", cnv_buffer, +@@ -1606,7 +1606,7 @@ + } + #endif + } +- ++ + #ifdef IBM3812 + #ifdef USEPXL + used_fontstorage += (long4)ce->height * ((ce->width + 15) >> 4) * 2 + 14; +@@ -1652,7 +1652,7 @@ + int repeatcount; + + void /* */ +-#if NeedFunctionPrototypes ++#if NeedFunctionPrototypes + PkRaster(struct char_entry *ce, int raster) + #else + PkRaster(ce, raster) +@@ -1735,7 +1735,7 @@ + if (wordweight < 31) { + #ifdef COMMENT + # ifdef DRAWGLYPH +- { ++ { + int k; + for (k = 15; k>=0; k--) { + if ((power[k] & word)!=0) printf("Z"); +@@ -1749,7 +1749,7 @@ + for (j = 3; j >= (wordwidth * 4 - (long4)nbpl); j--) { + OUTCHAR(((word >> (j << 3)) & 0xff)); + #ifdef DRAWGLYPH +- { ++ { + int k; + for (k = 7; k>=0; k--) { + if ((power[k] & ((word >> (j << 3)) & 0xff))!=0) printf("M"); +@@ -1760,9 +1760,9 @@ + } + + } +- ++ + switch (raster) { +- case 1: ++ case 1: + RasterLine(ce, nbpl, current_line, raster_line_buf); + current_line++; + break; +@@ -1826,7 +1826,7 @@ + OUTCHAR((tl & 0xFF)); + + #ifdef DRAWGLYPH +- { ++ { + int k; + for (k = 31; k>=0; k--) { + if ((power[k] & row[ii])!=0) printf("M"); +@@ -1839,7 +1839,7 @@ + for (j = 3; j >= (wordwidth *4 - (long4)nbpl); j--) { + OUTCHAR(((tl >> (j << 3)) & 0xff)); + #ifdef DRAWGLYPH +- { ++ { + int k; + for (k = 7; k>=0; k--) { + if ((power[k] & ((tl >> (j << 3)) & 0xff))!=0) printf("M"); +@@ -1850,7 +1850,7 @@ + } + + switch (raster) { +- case 1: ++ case 1: + RasterLine(ce, (unsigned int)nbpl, current_line, raster_line_buf); + current_line++; + break; +@@ -1969,7 +1969,7 @@ + + #ifdef LJ4 + /* Compress a raster line in compression mode 2 */ +-int ++int + #if NeedFunctionPrototypes + CompressLine2(unsigned char *buffer, unsigned char *buffout, int emitbytes) + #else +@@ -1984,13 +1984,13 @@ + char last,c; + + /* trap empty lines (otherwise problems with Packbits) */ +- if (emitbytes == 0) ++ if (emitbytes == 0) + return(0); + /* Use Packbits compression (mode 2) on raster line */ +- pos = buffer; +- litpos = buffer; +- pack = 1; +- ppos = buffout; ++ pos = buffer; ++ litpos = buffer; ++ pack = 1; ++ ppos = buffout; + last = *pos++; + upper = buffer + emitbytes; + while (pos < upper) { +@@ -2000,14 +2000,14 @@ + /* At least three equal bytes ==> write out preceding literal sequence */ + if ((pack == 3) && ((lit = (int)(pos - litpos - 3)) != 0)) { + while (lit >= 128) { +- *ppos++ = 127; +- for (i = 1; i<=128; i++) ++ *ppos++ = 127; ++ for (i = 1; i<=128; i++) + *ppos++ = *litpos++; + lit -= 128; + } + if (lit != 0) { +- *ppos++ = lit-1; +- while ((lit--) > 0) ++ *ppos++ = lit-1; ++ while ((lit--) > 0) + *ppos++ = *litpos++; + /* litpos is now pos-3 (i.e. first of the sequence) */ + } +@@ -2015,19 +2015,19 @@ + } + else { + while (pack >= 128) { +- *ppos++ = 129; +- *ppos++ = last; +- litpos += 128; ++ *ppos++ = 129; ++ *ppos++ = last; ++ litpos += 128; + pack -= 128; + } + /* At least 3 equal bytes or 2 that don't break a literal sequence + ==> write out packed sequence */ + if ((pack >= 3) || ((pack == 2) && (litpos == pos-3))) { +- *ppos++ = 257 - pack; +- *ppos++ = last; ++ *ppos++ = 257 - pack; ++ *ppos++ = last; + litpos += pack; + } +- pack = 1; ++ pack = 1; + last = c; + } + if (ppos > (buffout + BUFFSIZE/2 - 129)) { +@@ -2036,28 +2036,28 @@ + return(0); + } + } +- ++ + while (pack >= 128) { +- *ppos++ = 129; +- *ppos++ = last; +- litpos += 128; ++ *ppos++ = 129; ++ *ppos++ = last; ++ litpos += 128; + pack -= 128; + } + if ((pack >= 3) || ((pack == 2) && (litpos == pos-3))) { +- *ppos++ = 257 - pack; +- *ppos++ = last; ++ *ppos++ = 257 - pack; ++ *ppos++ = last; + litpos += pack; + } + else if ((lit = (int)(pos - litpos)) != 0) { + while (lit >= 128) { +- *ppos++ = 127; +- for (i = 1; i<=128; i++) ++ *ppos++ = 127; ++ for (i = 1; i<=128; i++) + *ppos++ = *litpos++; + lit -= 128; + } + if (lit != 0) { +- *ppos++ = lit-1; +- while ((lit--) > 0) ++ *ppos++ = lit-1; ++ while ((lit--) > 0) + *ppos++ = *litpos++; + } + } +@@ -2079,24 +2079,24 @@ + int lit,i,pack; + + /* Use compression mode 3 */ +- pos = buffer; +- ppos = buffout; +- upper = buffer + emitbytes; ++ pos = buffer; ++ ppos = buffout; ++ upper = buffer + emitbytes; + prev = PrevLine; + while(pos < upper) { + litpos = pos; + while ((*prev == *pos) && (pos < upper)) { +- prev++; ++ prev++; + pos++; + } + if (pos < upper) { +- pack = (int)(pos - litpos); ++ pack = (int)(pos - litpos); + litpos = pos; +- i = upper - pos; +- if (i > 8) ++ i = upper - pos; ++ if (i > 8) + i = 8; + while ((*pos != *prev) && (i > 0)) { +- *prev++ = *pos++; ++ *prev++ = *pos++; + i--; + } + i = (int)(pos - litpos - 1); +@@ -2105,16 +2105,16 @@ + *ppos++ = lit + pack; + } + else { +- *ppos++ = lit + 31; ++ *ppos++ = lit + 31; + pack -= 31; + while (pack >= 255) { +- *ppos++ = 255; ++ *ppos++ = 255; + pack -= 255; + } + *ppos++ = pack; + } + while (i >= 0) { +- *ppos++ = *litpos++; ++ *ppos++ = *litpos++; + i--; + } + } +@@ -2134,7 +2134,7 @@ + /**********************************************************************/ + void + #if NeedFunctionPrototypes +-RasterLine(struct char_entry *ce, unsigned int nbpl, ++RasterLine(struct char_entry *ce, unsigned int nbpl, + unsigned int current_line, unsigned char *buffer) + #else + RasterLine(ce, nbpl, current_line, buffer) +@@ -2208,21 +2208,21 @@ + EMIT2("\033*b%dW", emitbytes); + EMITL(emitbytes, buffer); + break; +- ++ + case 2: + i = CompressLine2(buffer,buffin,emitbytes); + EMIT2("\033*b%dW", i); + EMITL(i,buffin); + break; +- ++ + case 3: + i = CompressLine3(buffer,buffin + BUFFSIZE/2,(int)nbpl); + EMIT2("\033*b%dW", i); + EMITL(i,buffin + BUFFSIZE/2); + break; +- +- default: +- fprintf(ERR_STREAM,"Unsupported compression mode!\n"); ++ ++ default: ++ fprintf(ERR_STREAM,"Unsupported compression mode!\n"); + } + # else + EMIT2("\033*b%dW", emitbytes); +@@ -2280,10 +2280,10 @@ + if (CompressCharMode == 3) { + /* Check if PrevLine big enough; claim more space if not */ + if (((int)nbpl) > PrevSize) { +- if (PrevLine != NULL) ++ if (PrevLine != NULL) + free(PrevLine); + if ((PrevLine = (unsigned char *)malloc(nbpl*sizeof(char))) == NULL) { +- PrevSize = 0; ++ PrevSize = 0; + Fatal("RasterChar: out of memory!\n"); + } + PrevSize = (int)nbpl; +@@ -2419,7 +2419,7 @@ + if (bytes > 0) { + /* do NOT load Huge characters */ + if ((bytes > HUGE_CHAR_PATTERN) && (fontptr->id != pk89)) { +- qfprintf(ERR_STREAM,"Huge Character <%c> (%ld Bytes)\n", ++ qfprintf(ERR_STREAM,"Huge Character <%c> (%ld Bytes)\n", + (char)c, bytes); + ptr->charsize = HUGE_SIZE; + ptr->where.isloaded = _FALSE; +@@ -2505,7 +2505,7 @@ + SetPosn(h, v); + } + +- /* ++ /* + fprintf(ERR_STREAM, + "(%d) hh=%ld (+%ld/+%ld), h=%ld, xh=%ld,xhh=%ld, [%ld|%ld] ->%d\n", + (int)do_posn,hh,(long4)ptr->cw,(long4)ptr->cw*(long4)hconv,h, +@@ -2553,7 +2553,7 @@ + int tmp; + char sign; + +- if (!do_posn) ++ if (!do_posn) + SetPosn(h, v); + + #ifdef USEPXL +@@ -2563,7 +2563,7 @@ + #endif + if (tmp != 0) { + if (tmp < 0) { +- sign = '-'; ++ sign = '-'; + tmp = -tmp; + } else + sign = '+'; +@@ -2576,7 +2576,7 @@ + #endif + if (tmp != 0) { + if (tmp < 0) { +- sign = '-'; ++ sign = '-'; + tmp = -tmp; + } else + sign = '+'; +@@ -2644,7 +2644,7 @@ + fprintf(stderr,"--> hh(%ld) += cw(%ld) * hconv(%ld)", + (long)hh, (long)ptr->cw, (long) hconv); + */ +-#ifdef LJ ++#ifdef LJ + /* the guessed position must be a multiple of pixels */ + if (RESOLUTION == 300) + hh += (long4) ((ptr->cw)/4)*4*hconv; +@@ -2661,7 +2661,7 @@ + if (command <= SET4) + h += ptr->tfmw; + +- if (pos_after) ++ if (pos_after) + SetPosn(h, v); + else + last_rx = (int)PIXROUND(h, hconv) + x_goffset; +@@ -2682,7 +2682,7 @@ + } + fonts_used_on_this_page = 0; + #endif +- for (p = hfontptr; p; p = p->next) ++ for (p = hfontptr; p; p = p->next) + p->used_on_this_page = _FALSE; + } + +@@ -2740,7 +2740,7 @@ + rx = (int)PIXROUND(x, hconv) + x_goffset; + ry = (int)PIXROUND(y, vconv) + y_goffset; + +- /* ++ /* + fprintf(ERR_STREAM, + "setposn to %ld/%ld, %d/%d, last: %d/%d\n", + (long)x,(long)y, +@@ -2804,13 +2804,13 @@ + offset in the buffer, CChar_Last is the first byte of the last + compacted row (line repeat count). Updates the previous line + (PrevLine) if necessary. */ +-void ++void + #if NeedFunctionPrototypes + CompressedCharLine(struct char_entry *ce, int nbpl, unsigned char *buffer) + #else + CompressedCharLine(ce, nbpl, buffer) + struct char_entry *ce; +-int nbpl; ++int nbpl; + unsigned char *buffer; + #endif + { +@@ -2821,31 +2821,31 @@ + int t,mode,max; + register int x,y,i; + +- prev = PrevLine; +- obuf = buffer; +- end = buffer + nbpl; ++ prev = PrevLine; ++ obuf = buffer; ++ end = buffer + nbpl; + x = 0; + while (obuf < end) { + if (*obuf != *prev) { +- *prev = *obuf; ++ *prev = *obuf; + x = 1; + } +- obuf++; ++ obuf++; + prev++; + } + if (x == 0 && CChar_Last >= 0) { +- (buffin[CChar_Last])++; ++ (buffin[CChar_Last])++; + return; /* line repeat count +1 */ + } + +- end = buffin + BUFFSIZE - 16; +- obuf = buffin + CChar_Off; ++ end = buffin + BUFFSIZE - 16; ++ obuf = buffin + CChar_Off; + buff = buffer; + *obuf++ = 0; /* Line repeat count = 0 */ + t = 0; + CChar_Last = CChar_Off; /* Next line */ +- mode = 0; +- y = *buff++; ++ mode = 0; ++ y = *buff++; + i = 7; /* i = current bit */ + while ((t < ce->width) && (obuf < end)) { + max = ce->width - t; /* maximum pixels left to do */ +@@ -2853,13 +2853,13 @@ + if (mode == 0) { + /* white run */ + while ((y & (1< max) ++ if (x > max) + x = max; + t += x; + /* make precautions for very long runs */ + while (x > 0xff) { +- *obuf++ = 0xff; +- *obuf++ = 0; ++ *obuf++ = 0xff; ++ *obuf++ = 0; + x -= 0xff; + } + *obuf++ = x; +@@ -2968,8 +2968,8 @@ + #endif + { + int argind; /* argument index for flags */ +- char curarea[STRSIZE]; /* current file area */ +- char curname[STRSIZE]; /* current file name */ ++ char *curarea; /* current file area */ ++ char *curname; /* current file name */ + char *tcp, *tcp1; /* temporary character pointers */ + char *this_arg; + double x_offset = 0.0, y_offset = 0.0; +@@ -2988,9 +2988,9 @@ + #endif + #endif + +- if (argc == 2 && (strcmp (argv[1], "--version") == 0)) { ++ if (argc == 2 && EQ(argv[1], "--version")) { + extern KPSEDLL char *kpathsea_version_string; +- puts ("dvilj(k) 2.6"); ++ puts (VERSION); + puts (kpathsea_version_string); + puts ("Copyright (C) 1997 Gustaf Neumann.\n\ + There is NO warranty. You may redistribute this software\n\ +@@ -2998,7 +2998,7 @@ + For more information about these matters, see the files\n\ + named COPYING and dvi2xx.c.\n\ + Primary author of Dvi2xx: Gustaf Neumann; -k maintainer: K. Berry."); +- exit (0); ++ exit (0); + } + + #ifdef LJ4 +@@ -3048,9 +3048,9 @@ + #ifdef LJ2P + case 'd': /* d selects DUPLEX mode */ + tcp++; +- if (*tcp == '1' ) ++ if (*tcp == '1' ) + DuplexMode = 1; +- else if (*tcp == '2') ++ else if (*tcp == '2') + DuplexMode = 2; + else { + Warning("Invalid DUPLEX mode, assuming DUPLEX=1, Long-Edge Binding"); +@@ -3062,13 +3062,13 @@ + DoublePage = _TRUE; + tcp++; + if (*tcp == '1' || *tcp == '2') { +- if (*tcp == '2') ++ if (*tcp == '2') + PrintFirstPart = _FALSE; +- else ++ else + PrintSecondPart = _FALSE; + tcp++; + } +- if (*tcp == '-') ++ if (*tcp == '-') + PrintEmptyPages = _FALSE; + break; + #ifdef LJ4 +@@ -3256,14 +3256,14 @@ + #ifdef LJ + case 'V': /* bugfixes for various vendor's PCL emulations */ + tcp++; +- if (*tcp == 'K' || *tcp == 'k') ++ if (*tcp == 'K' || *tcp == 'k') + kyocera_mode = _TRUE; + else +- if (*tcp == 'B' || *tcp == 'b') ++ if (*tcp == 'B' || *tcp == 'b') + brother_mode = _TRUE; + # ifdef LJ4 + else +- if (*tcp == '6' || *tcp == '6') ++ if (*tcp == '6' || *tcp == '6') + LJ6 = _TRUE; + # endif + break; +@@ -3306,7 +3306,7 @@ + #endif + #ifdef __riscos + case 'i': /* name of directory to store diagrams in */ +- tcp++; ++ tcp++; + ddi = 0; + while (*tcp != ' ' && *tcp != '\0' && ddi < DIAGDIRSIZE-1) { + diagdir[ddi++] = *tcp++; +@@ -3328,8 +3328,8 @@ + } + } else { + +- (void) strcpy(filename, tcp); +- if (!strcmp(filename, "-")) { ++ filename = tcp; ++ if (EQ(filename, "-")) { + EmitFileName = "-"; + #ifdef RISC_USE_OSL + dvifp = BINOPEN("Kbd:"); +@@ -3339,57 +3339,68 @@ + AssureBinary(fileno(dvifp)); + #endif + } else { ++ /* Since this code is used only once during startup, we don't care ++ about free()ing the allocated strings that represent filenames. ++ It will be more work to realize proper deallocation handling than ++ it's worth in terms of saving a few bytes. We consider these ++ bytes actually static memory where we don't know the size in ++ advance and don't add them to the allocated_storage count. ++ [27 Jun 07 -js] */ + #ifdef KPATHSEA + /* split into directory + file name */ + int tcplen, argvlen; + tcp = (char *)xbasename(argv[argind]);/* this knows about any kind of slashes */ + tcplen = strlen(tcp); ++ if ( tcplen == 0 ) { ++ /* This happens when the DVI file name has a trailing slash; this ++ is not a valid name. Then we terminate the argument parsing ++ loop, a usage message will be output below. */ ++ break; ++ } + argvlen = strlen(argv[argind]); + if (tcplen == argvlen) +- curarea[0] = '\0'; ++ curarea = ""; + else { +- (void) strcpy(curarea, argv[argind]); ++ curarea = xstrdup(argv[argind]); + curarea[argvlen-tcplen] = '\0'; + } + #else + tcp = strrchr(argv[argind], '/'); + /* split into directory + file name */ + if (tcp == NULL) { +- curarea[0] = '\0'; ++ curarea[0] = ""; + tcp = argv[argind]; + } else { +- (void) strcpy(curarea, argv[argind]); ++ curarea = xstrdup(argv[argind]); + curarea[tcp-argv[argind]+1] = '\0'; + tcp += 1; + } + #endif + +- (void) strcpy(curname, tcp); ++ curname = (char *) xmalloc(strlen(tcp)+5); /* + space for ".dvi" */ ++ (void) strcpy(curname, tcp); + /* split into file name + extension */ +- tcp1 = strrchr(tcp, '.'); ++ tcp1 = strrchr(curname, '.'); + if (tcp1 == NULL) { +- (void) strcpy(rootname, curname); ++ rootname = xstrdup(curname); + strcat(curname, ".dvi"); + } else { + *tcp1 = '\0'; +- (void) strcpy(rootname, curname); ++ rootname = xstrdup(curname); + *tcp1 = '.'; + } + ++ filename = (char *) xmalloc(strlen(curarea)+strlen(curname)+1); + (void) strcpy(filename, curarea); + (void) strcat(filename, curname); + + if ((dvifp = BINOPEN(filename)) == FPNULL) { + /* do not insist on .dvi */ + if (tcp1 == NULL) { +- int l = strlen(curname); +- if (l > 4) +- curname[l - 4] = '\0'; +- l = strlen(filename); +- if (l > 4) +- filename[l - 4] = '\0'; ++ filename[strlen(filename) - 4] = '\0'; ++ dvifp = BINOPEN(filename); + } +- if (tcp1 != NULL || (dvifp = BINOPEN(filename)) == FPNULL) { ++ if (dvifp == FPNULL) { + #ifdef MSC5 + Fatal("%s: can't find DVI file \"%s\"\n\n", + G_progname, filename); +@@ -3411,7 +3422,7 @@ + y_goffset = (short) MM_TO_PXL(y_offset) + y_origin; + + if (dvifp == FPNULL) { +- fprintf(ERR_STREAM,"\nThis is the DVI to %s converter version %s", ++ fprintf(ERR_STREAM,"\nThis is the DVI to %s converter %s", + PRINTER, VERSION); + #ifdef SEVENBIT + fprintf(ERR_STREAM,", 7bit"); +@@ -3507,13 +3518,8 @@ + exit(1); + } + if (EQ(EmitFileName, "")) { +- if ((EmitFileName = (char *)malloc( STRSIZE )) != NULL) +- allocated_storage += STRSIZE; +- else +- Fatal("Can't allocate storage of %d bytes\n",STRSIZE); +- (void) strcpy(EmitFileName, curname); +- if ((tcp1 = strrchr(EmitFileName, '.'))) +- *tcp1 = '\0'; ++ EmitFileName = (char *) xmalloc(strlen(rootname)+sizeof(EMITFILE_EXTENSION)); ++ (void) strcpy(EmitFileName, rootname); + strcat(EmitFileName, EMITFILE_EXTENSION); + } + if (G_quiet) +@@ -3668,7 +3674,7 @@ + if (PrintTestPage) EMIT1("\033z"); + #ifdef vms + /* last record is not flushed to file, unless it is completely filled */ +- for (kk = (int)((*outfp)->_cnt); kk > 0; --kk) ++ for (kk = (int)((*outfp)->_cnt); kk > 0; --kk) + putc('\0',outfp); + fflush(outfp); + #endif +@@ -3698,6 +3704,8 @@ + #endif + } + CloseFiles(); ++ if ( tmp_dir[0] != '\0' ) ++ rmdir (tmp_dir); /* ignore errors */ + exit(G_errenc); + } + +@@ -3764,15 +3772,15 @@ + #endif + { + char *a,*b; +- +- a = s1; ++ ++ a = s1; + b = s2; + while (*a != '\0') { + if (tolower(*a) != tolower(*b)) return(_FALSE); +- a++; ++ a++; + b++; + } +- *end = b; ++ *end = b; + return(_TRUE); + } + +@@ -3791,18 +3799,18 @@ + { + char *s; + int count = 0; +- ++ + s = str; + while ((*s != '\0') && (count < number)) { +- while ((*s == ' ') || (*s == ',') || (*s == '=')) ++ while ((*s == ' ') || (*s == ',') || (*s == '=')) + s++; + if (*s != '\0') { + result[count++] = strtod(s,&s); + } + } +- while ((*s == ' ') || (*s == ',') || (*s == '=')) ++ while ((*s == ' ') || (*s == ',') || (*s == '=')) + s++; +- *end = s; ++ *end = s; + return(count); + } + +@@ -3822,22 +3830,22 @@ + int results[4],no; + + s = str; +- while (*s == ' ') ++ while (*s == ' ') + s++; + if ((StrCompare("drawfile",s,&s)) || (StrCompare("DVIview_diagram",s,&s))) { + +- if (printdiag == _FALSE) ++ if (printdiag == _FALSE) + return(_TRUE); /* it's a diagram, but don't print */ + +- while ((*s == ' ') || (*s == '=')) ++ while ((*s == ' ') || (*s == '=')) + s++; /* space or '=' separates keyword/keyval */ + + if (*s == '\0') { +- fprintf(ERR_STREAM,"No filename given for \\special-diagram!\n"); ++ fprintf(ERR_STREAM,"No filename given for \\special-diagram!\n"); + return(_TRUE); + } + sh = diagname; +- while ((*s != ' ') && (*s != ',') && (*s != '\0')) ++ while ((*s != ' ') && (*s != ',') && (*s != '\0')) + *sh++ = *s++; + *sh = '\0'; + +@@ -3845,7 +3853,7 @@ + dt.scalex = dt.scaley = 100; + dt.cropl = dt.cropb = dt.cropr = dt.cropt = 0; + while (*s != '\0') { +- while ((*s == ' ') || (*s == ',')) ++ while ((*s == ' ') || (*s == ',')) + s++; + if (*s != '\0') { + if (StrCompare("scale",s,&s)) { +@@ -3853,7 +3861,7 @@ + fprintf(ERR_STREAM, + "Too few arguments (%d) given for - ignored.\n",no); + } +- dt.scalex = results[0]; ++ dt.scalex = results[0]; + dt.scaley = results[1]; + } + else if (StrCompare("crop",s,&s)) { +@@ -3861,15 +3869,15 @@ + fprintf(ERR_STREAM, + "Too few arguments (%d) given for - ignored.\n",no); + } +- dt.cropl = results[0]; ++ dt.cropl = results[0]; + dt.cropr = results[1]; +- dt.cropt = results[2]; ++ dt.cropt = results[2]; + dt.cropb = results[3]; + } + else { + fprintf(ERR_STREAM,"Bad \\special keyword - <%s> ignored\n",s); + /* skip over this word */ +- while ((*s != ' ') && (*s != ',') && (*s != '=') && (*s != '\0')) ++ while ((*s != ' ') && (*s != ',') && (*s != '=') && (*s != '\0')) + s++; + } + } +@@ -3879,7 +3887,7 @@ + diagram(diagname,&dt); + return(_TRUE); + } +- else ++ else + return(_FALSE); + } + # endif /* LJ */ +@@ -3895,70 +3903,58 @@ + int n; + #endif + { +- char spbuf[STRSIZE], xs[STRSIZE], ys[STRSIZE]; +- char *sf = NULL, *psfile = NULL; ++ char xs[STRSIZE], ys[STRSIZE]; ++ char *include_file = NULL; ++ enum { VerbFile, HPFile, PSFile } file_type; + float x,y; + long4 x_pos, y_pos; + KeyWord k; + int i, j, j1; + static int GrayScale = 10, Pattern = 1; + static bool GrayFill = _TRUE; +- static long4 p_x[80], p_y[80]; +- int llx=0, lly=0, urx=0, ury=0, rwi=0, rhi=0; +-#ifdef WIN32 +- char *gs_path; +-#endif ++ static long4 p_x[MAX_SPECIAL_DEFPOINTS], p_y[MAX_SPECIAL_DEFPOINTS]; ++ int llx=0, lly=0, urx=0, ury=0, rwi=0; + + str[n] = '\0'; +- spbuf[0] = '\0'; ++ for ( i=0 ; i0) { +- x_pos = h; ++ if ( j < 0 || j >= MAX_SPECIAL_DEFPOINTS ) { ++ Warning ("defpoint %d ignored, must be between 0 and %d", ++ j, MAX_SPECIAL_DEFPOINTS); ++ break; ++ } ++ x_pos = h; + y_pos = v; + if (i>1) { + if (sscanf(xs,"%fpt",&x)>0) { +@@ -4010,20 +4008,34 @@ + } + p_x[j]=x_pos; + p_y[j]=y_pos; +- } else +-#ifdef KPATHSEA +- if (!kpse_tex_hush ("special")) +-#endif +- Warning("invalid point definition\n"); +- +- sf = NULL; ++ } else { ++ Warning("invalid point definition"); ++ } + break; + + case FILL: +- (void) strcpy(spbuf, k.Val); +- i = sscanf(spbuf,"%d/%d %s",&j,&j1,xs); ++ /* 254 is STRSIZE-1. cpp should be used to construct that number. */ ++ i = sscanf(k.Val,"%d/%d %254s",&j,&j1,xs); + if (i>1) { + #ifdef LJ ++ if ( j < 0 || j >= MAX_SPECIAL_DEFPOINTS ) { ++ Warning ("fill ignored, point %d must be between 0 and %d", ++ j, MAX_SPECIAL_DEFPOINTS); ++ break; ++ } ++ if ( p_x[j] == -1 ) { ++ Warning ("fill ignored, point %d is undefined\n", j); ++ break; ++ } ++ if ( j1 < 0 || j1 >= MAX_SPECIAL_DEFPOINTS ) { ++ Warning ("fill ignored, point %d must be between 0 and %d", ++ j1, MAX_SPECIAL_DEFPOINTS); ++ break; ++ } ++ if ( p_x[j1] == -1 ) { ++ Warning ("fill ignored, point %d is undefined\n", j1); ++ break; ++ } + SetPosn(p_x[j], p_y[j]); + x_pos = (long4)PIXROUND(p_x[j1]-p_x[j], hconv); + y_pos = (long4)PIXROUND(p_y[j1]-p_y[j], vconv); +@@ -4043,22 +4055,18 @@ + if ((k.v.i >= 0) && (k.v.i < 101)) { + GrayScale = k.v.i; + GrayFill = _TRUE; +- } else +-#ifdef KPATHSEA +- if (!kpse_tex_hush ("special")) +-#endif ++ } else { + Warning( "Invalid gray scale (%d) given; ignored.", k.v.i); ++ } + break; + + case PATTERN: + if ((k.v.i >= 0) && (k.v.i < 7)) { + Pattern = k.v.i; + GrayFill = _FALSE; +- } else +-#ifdef KPATHSEA +- if (!kpse_tex_hush ("special")) +-#endif ++ } else { + Warning( "Invalid pattern (%d) given; ignored.", k.v.i); ++ } + break; + + case LLX: llx = k.v.i; break; +@@ -4066,103 +4074,161 @@ + case URX: urx = k.v.i; break; + case URY: ury = k.v.i; break; + case RWI: rwi = k.v.i; break; +- case RHI: rhi = k.v.i; break; ++ case RHI: ++ if (!kpse_tex_hush ("special")) ++ Warning("Whatever rhi was good for once, it is ignored now."); ++ break; + + default: +-#ifdef KPATHSEA +- if (!kpse_tex_hush ("special")) +-#endif +- Warning("Can't handle %s=%s command; ignored.", k.Key, k.Val); ++ if ( !kpse_tex_hush ("special") ) ++ Warning("Can't handle %s=%s command; ignored.", k.Key, k.Val); + break; + } +- +- else +-#ifdef KPATHSEA +- if (!kpse_tex_hush ("special")) +-#endif ++ ++ } else if (!kpse_tex_hush ("special")) { + Warning("Invalid keyword or value in \\special - <%s> ignored", k.Key); ++ } ++ ++ free (k.Key); ++ if ( k.Val != NULL ) free(k.Val); + } + +- if ( sf || psfile ) { ++ if ( include_file ) { + last_rx = last_ry = UNKNOWN; + #ifdef IBM3812 + PMPflush; + #endif +- if (sf) { +- if (i == HPFILE) +- CopyHPFile( sf ); +- else +- CopyFile( sf ); +- } +- else ++ + #ifdef LJ +- if (psfile) { +- /* int height = rwi * (urx - llx) / (ury - lly);*/ +- int width = urx - llx; +- int height = ury - lly; +- char cmd[255]; +- int scale_factor = 3000 * width / rwi; +- int adjusted_height = height * 300/scale_factor; +- int adjusted_llx = llx * 300/scale_factor; +- char *printer = "ljetplus"; /* use the most stupid one */ +- +- +- char scale_file_name[255]; +- char *scale_file = tmpnam(scale_file_name); +- char *pcl_file = tmpnam(NULL); +- FILEPTR scalef; +- +- if ( (scalef = BOUTOPEN(scale_file)) == FPNULL ) { +- Warning("Unable to open file %s for writing", scale_file ); +- return; +- } +- fprintf(scalef, "%.2f %.2f scale\n%d %d translate\n", +- 300.0/scale_factor, 300.0/scale_factor, +- 0, adjusted_height == height ? 0 : ury); +- BCLOSE( scalef ); ++ if ( file_type == PSFile) { ++ /* int height = rwi * (urx - llx) / (ury - lly);*/ ++ int width = urx - llx; ++ int height = ury - lly; ++ char cmd[255]; ++ char *cmd_format = "%s -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit"; ++ char *gs_cmd; ++ int scale_factor, adjusted_height, adjusted_llx; ++ char *printer = "ljetplus"; /* use the most stupid one */ ++ ++ char pcl_file[STRSIZE]; ++ char scale_file[STRSIZE]; ++ FILEPTR scalef; ++ ++ if ( urx == 0 || ury == 0 || rwi == 0 ) { ++ /* Since dvips' psfile special has a different syntax, this might ++ well be one of those specials, i.e., a non-dviljk special. Then ++ the Warning should be suppressable. */ ++ if ( !kpse_tex_hush ("special") ) ++ Warning ("Ignoring psfile special without urx, ury and rwi attributes"); ++ free (include_file); ++ return; ++ } ++ scale_factor = 3000 * width / rwi; ++ adjusted_height = height * 300/scale_factor; ++ adjusted_llx = llx * 300/scale_factor; ++ ++ /* We cannot use mkstemp, as we cannot pass two open file descriptors ++ portably to Ghostscript. We don't want to use tmpnam() or tempnam() ++ either, as they have tempfile creation race conditions. Instead we ++ create a temporary directory with mkdtemp() -- if that's available. ++ If not, we are thrown back to tempnam(), to get our functionality ++ at all. We need to create the temporary directory only once per ++ run; it will be deleted in AllDone(). */ ++ if ( tmp_dir[0] == '\0' ) { ++ char * base_dir; ++ if ( (base_dir = getenv("TMPDIR")) == NULL ) { ++ base_dir = "/tmp"; ++ } else if ( strlen(base_dir) > STRSIZE - sizeof("/dviljkXXXXXX/include.pcl") ) { ++ Warning ("TMPDIR %s is too long, using /tmp instead", base_dir); ++ base_dir = "/tmp"; ++ } ++ if ( base_dir[0] == '/' && base_dir[1] == '\0' ) { ++ Warning ("Feeling naughty, do we? / is no temporary directory, dude"); ++ base_dir = "/tmp"; ++ } ++ strcpy (tmp_dir, base_dir); ++ strcat (tmp_dir, "/dviljkXXXXXX"); ++ if ( mkdtemp(tmp_dir) == NULL ) { ++ Warning ("Could not create temporary directory %s, errno = %d; ignoring include file special", ++ tmp_dir, errno); ++ return; ++ } ++ } ++ strcpy(pcl_file, tmp_dir); ++ strcat(pcl_file, "/include.pcl"); ++ strcpy(scale_file, tmp_dir); ++ strcat(scale_file, "/scale.ps"); ++ ++ if ( (scalef = BOUTOPEN(scale_file)) == FPNULL ) { ++ Warning("Unable to open file %s for writing", scale_file ); ++ free (include_file); ++ unlink(scale_file); /* ignore error */ ++ return; ++ } ++ fprintf(scalef, "%.2f %.2f scale\n%d %d translate\n", ++ 300.0/scale_factor, 300.0/scale_factor, ++ 0, adjusted_height == height ? 0 : ury); ++ BCLOSE( scalef ); + + #ifdef WIN32 +- gs_path = getenv("GS_PATH"); +- if (!gs_path) +- gs_path = "gswin32c.exe"; +- sprintf(cmd,"%s -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit", +- gs_path, printer, pcl_file, scale_file, psfile); +-#else +- sprintf(cmd,"gs -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit", +- printer, pcl_file, scale_file, psfile); +-#endif +-#ifdef DEBUGGS +- fprintf(stderr, +- "PS-file '%s' w=%d, h=%d, urx=%d, ury=%d, llx=%d, lly=%d, rwi=%d\n", +- psfile, urx - llx, height, urx,ury,llx,lly, rwi); +- fprintf(stderr,"%s\n",cmd); ++ if ( (gs_cmd = getenv("GS_PATH")) == NULL ) ++ gs_cmd = "gswin32c.exe"; ++#else ++ gs_cmd = "gs"; + #endif +- if (system(cmd)) { +- Warning("execution of '%s' returned an error", cmd); +- } else { +-#ifdef DEBUGGS +- fprintf(stderr, "o=%d, h=%d, so=%d, sh=%d\n", +- llx, height, adjusted_llx, adjusted_height); +- +- fprintf(stderr, "OLD x=%d, y=%d\n", +- (int)PIXROUND(h, hconv) + x_goffset, +- (int)PIXROUND(v, vconv) + y_goffset); +-#endif +- v -= 65536l*adjusted_height; /**300/scale_factor;*/ +- h -= 65536l*adjusted_llx; /* *300/scale_factor;*/ +- SetPosn(h, v); +-#ifdef DEBUGGS +- fprintf(stderr, "NEW x=%d, y=%d\n", +- (int)PIXROUND(h, hconv) + x_goffset, +- (int)PIXROUND(v, vconv) + y_goffset); +-#endif +- +- CopyHPFile( pcl_file ); +- /* unlink(pcl_file); */ +- /* unlink(scale_file); */ +- } ++ if ( strlen(cmd_format)-10 + strlen(gs_cmd) + strlen(printer) + ++ strlen(pcl_file) + strlen(scale_file) + strlen(include_file) +1 > ++ sizeof(cmd) ) { ++ Warning ("Ghostscript command for %s would be too long, skipping special", include_file); ++ free (include_file); ++ unlink(scale_file); /* ignore errors */ ++ unlink(pcl_file); ++ return; ++ } ++ sprintf(cmd, cmd_format, ++ gs_cmd, printer, pcl_file, scale_file, include_file); ++#ifdef DEBUGGS ++ fprintf(stderr, ++ "PS-file '%s' w=%d, h=%d, urx=%d, ury=%d, llx=%d, lly=%d, rwi=%d\n", ++ include_file, urx - llx, height, urx,ury,llx,lly, rwi); ++ fprintf(stderr,"%s\n",cmd); ++#endif ++ if (system(cmd)) { ++ Warning("execution of '%s' returned an error", cmd); ++ } else { ++#ifdef DEBUGGS ++ fprintf(stderr, "o=%d, h=%d, so=%d, sh=%d\n", ++ llx, height, adjusted_llx, adjusted_height); ++ ++ fprintf(stderr, "OLD x=%d, y=%d\n", ++ (int)PIXROUND(h, hconv) + x_goffset, ++ (int)PIXROUND(v, vconv) + y_goffset); ++#endif ++ v -= 65536l*adjusted_height; /**300/scale_factor;*/ ++ h -= 65536l*adjusted_llx; /* *300/scale_factor;*/ ++ SetPosn(h, v); ++#ifdef DEBUGGS ++ fprintf(stderr, "NEW x=%d, y=%d\n", ++ (int)PIXROUND(h, hconv) + x_goffset, ++ (int)PIXROUND(v, vconv) + y_goffset); ++#endif ++ ++ CopyHPFile( pcl_file ); + } ++ unlink(scale_file); /* ignore errors */ ++ unlink(pcl_file); ++ } ++ else + #endif /* LJ */ ++ ++ if ( file_type == HPFile ) ++ CopyHPFile( include_file ); ++ else if ( file_type == VerbFile ) ++ CopyFile( include_file ); ++ else ++ Warning ("This can't happen: unknown file_type value %d", file_type); ++ ++ if ( include_file != NULL ) free(include_file); + } + } + +@@ -4173,12 +4239,11 @@ + /**********************************************************************/ + /***************************** GetKeyStr ****************************/ + /**********************************************************************/ +-/* extract first keyword-value pair from string (value part may be null) +- * return pointer to remainder of string +- * return NULL if none found ++/* Extract first keyword-value pair from string (value part may be null), ++ * keyword and value are allocated and must be free by caller. ++ * Return pointer to remainder of string, ++ * return NULL if none found. + */ +-char KeyStr[STRSIZE]; +-char ValStr[STRSIZE]; + #if NeedFunctionPrototypes + char *GetKeyStr(char *str, KeyWord *kw ) + #else +@@ -4187,39 +4252,46 @@ + KeyWord *kw; + #endif + { +- char *s, *k, *v, t; ++ char *s, *start; ++ char save_char, quote_char; + if ( !str ) + return( NULL ); + for (s = str; *s == ' '; s++) + ; /* skip over blanks */ + if (*s == '\0') + return( NULL ); +- for (k = KeyStr; /* extract keyword portion */ +- *s != ' ' && *s != '\0' && *s != '='; +- *k++ = *s++) +- ; +- *k = '\0'; +- kw->Key = KeyStr; +- kw->Val = v = NULL; ++ start = s++; /* start of keyword */ ++ while ( *s != ' ' && *s != '\0' && *s != '=' ) /* locate end */ ++ s++; ++ save_char = *s; ++ *s = '\0'; ++ kw->Key = xstrdup(start); ++ kw->Val = NULL; + kw->vt = None; +- for ( ; *s == ' '; s++) +- ; /* skip over blanks */ +- if ( *s != '=' ) /* look for "=" */ ++ if ( save_char == '\0' ) /* shortcut when we're at the end */ ++ return (s); ++ *s = save_char; /* restore keyword end char */ ++ while ( *s == ' ' ) s++ ; /* skip over blanks */ ++ if ( *s != '=' ) /* no "=" means no value */ + return( s ); +- for (s++; *s == ' '; s++); /* skip over blanks */ +- if ( *s == '\'' || *s == '\"' ) /* get string delimiter */ +- t = *s++; ++ for (s++; *s == ' '; s++) ++ ; /* skip over blanks */ ++ if ( *s == '\'' || *s == '\"' ) /* get string delimiter */ ++ quote_char = *s++; + else +- t = ' '; +- for (v = ValStr; /* copy value portion up to delim */ +- *s != t && *s != '\0'; +- *v++ = *s++) +- ; +- if ( t != ' ' && *s == t ) +- s++; +- *v = '\0'; +- kw->Val = ValStr; ++ quote_char = ' '; ++ start = s; /* no increment, might be "" as value */ ++ while ( *s != quote_char && *s != '\0' ) ++ s++; /* locate end of value portion */ ++ save_char = *s; ++ *s = '\0'; ++ kw->Val = xstrdup(start); + kw->vt = String; ++ if ( save_char != '\0' ) { /* save_char is now quote_char */ ++ *s = save_char; ++ if ( quote_char != ' ' ) /* we had real quote chars */ ++ s++; ++ } + return( s ); + } + +@@ -4281,7 +4353,7 @@ + #endif + { + char *x, *y; +- ++ + for (x = a, y = b; *a; a++, b++) + if ( tolower(*a) != tolower(*b) ) + return( _FALSE ); +@@ -4469,10 +4541,10 @@ + * process for simplicity always horizontally + */ + +- /* ++ /* + fprintf(ERR_STREAM,"large box: w=%d,x=%d,y=%d\n",(int)yy,(int)xx,0); + */ +- ++ + hor_offset = HOR_HALF(30); + MoveHor(hor_offset); + vert_offset = VERT_HALF(30); +@@ -4547,7 +4619,7 @@ + yy += (long4)pgsiz_dots - (long4)last_ry; + + if ((yy>0) && (xx>0)) +- EMIT4("\033*p-%ldY\033*c%lda%ldbP", ++ EMIT4("\033*p-%ldY\033*c%lda%ldbP", + (long)yy - 1, (long)xx, (long)yy); + #endif + last_rx = last_ry = UNKNOWN; /* next time full positioning */ +@@ -4708,7 +4780,7 @@ + if ((fid = pixel_files[least_used].pixel_file_id) != NO_FILE) { + /* mark file as being closed in the entry */ + fp = hfontptr; +- while (fp != NULL && fp->font_file_id != fid) ++ while (fp != NULL && fp->font_file_id != fid) + fp = fp->next; + if (fp == NULL) + Fatal("Open file %x not found in font entry list.\n", fid); +@@ -4763,9 +4835,9 @@ + while ((fp != NULL) && (fp->font_file_id != f)) + fp = fp->next; + +- if (fp == NULL) ++ if (fp == NULL) + Fatal("Open file %x not found in font entry list.\n",f); +- else ++ else + fp->font_file_id = FPNULL; + } + BCLOSE(f); +@@ -4819,13 +4891,14 @@ + the resident fonts. */ + if (tfm_read_info(fontptr->n, &tfm_info) + && tfm_info.family[0] +- && strcmp((char *)tfm_info.family, "HPAUTOTFM") == 0) { ++ && EQ((char *)tfm_info.family, "HPAUTOTFM")) { + unsigned i; + double factor = fontptr->s / (double)0x100000; + + resident_count++; + fontptr->resident_p = _TRUE; +- strcpy(fontptr->symbol_set, (char *)tfm_info.coding_scheme); ++ strncpy(fontptr->symbol_set, (char *)tfm_info.coding_scheme, 39); ++ fontptr->symbol_set[39] = '\0'; + fontptr->resid = tfm_info.typeface_id; + fontptr->spacing = tfm_info.spacing; + fontptr->style = tfm_info.style; +@@ -4878,7 +4951,7 @@ + fontptr->resident_p = _FALSE; + + if (tfm_info.family[0] +- && strcmp((char *)tfm_info.family, "UNSPECIFIED") == 0) { ++ && EQ((char *)tfm_info.family, "UNSPECIFIED")) { + Warning("font family for %s is UNSPECIFIED; need to run dvicopy?", + fontptr->n); + fontptr->font_file_id = NO_FILE; +@@ -5005,7 +5078,7 @@ + GetBytes(dvifp, tfontptr->n, tfontptr->a + tfontptr->l); + tfontptr->n[tfontptr->a+tfontptr->l] = '\0'; + +- tfontptr->font_mag = ++ tfontptr->font_mag = + (long4)((ActualFactor((long4)(1000.0*tfontptr->s/(double)tfontptr->d+0.5)) + * ActualFactor(mag) + #ifdef USEPXL +@@ -5031,10 +5104,9 @@ + if (tfontptr->resident_p) + return; + +- if (!(resident_font_located)) { ++ if (!(resident_font_located)) + #endif + +-#ifdef KPATHSEA + { + kpse_glyph_file_type font_ret; + char *name; +@@ -5042,14 +5114,14 @@ + = kpse_magstep_fix ((unsigned) (tfontptr->font_mag / 5.0 + .5), + RESOLUTION, NULL); + tfontptr->font_mag = dpi * 5; /* save correct dpi */ +- ++ + name = kpse_find_pk (tfontptr->n, dpi, &font_ret); + if (name) + { + font_found = _TRUE; +- strcpy (tfontptr->name, name); +- free (name); +- ++ tfontptr->name = name; ++ allocated_storage += strlen(name)+1; ++ + if (!FILESTRCASEEQ (tfontptr->n, font_ret.name)) { + fprintf (stderr, + "dvilj: Font %s not found, using %s at %d instead.\n", +@@ -5071,29 +5143,6 @@ + tfontptr->n, dpi); + } + } +-#else /* not KPATHSEA */ +- if (!(findfile(PXLpath, +- tfontptr->n, +- tfontptr->font_mag, +- tfontptr->name, +- _FALSE, +- 0))) { +- Warning(tfontptr->name); /* contains error messsage */ +- tfontptr->font_file_id = NO_FILE; +-#ifdef __riscos +- MakeMetafontFile(PXLpath, tfontptr->n, tfontptr->font_mag); +-#endif +- } +- else { +- font_found = _TRUE; +- if (G_verbose) +- fprintf(ERR_STREAM,"%d: using font <%s>\n", plusid, tfontptr->name); +- } +-#endif /* not KPATHSEA */ +- +-#ifdef LJ_RESIDENT_FONTS +- } +-#endif + + tfontptr->plusid = plusid; + plusid++; +@@ -5107,7 +5156,7 @@ + HANDLE_MAX_FONTS); + #endif + if (tfontptr != pfontptr) { +- if (font_found) ++ if (font_found) + OpenFontFile(); + else + pxlfp = NO_FILE; +@@ -5146,7 +5195,7 @@ + if (t == PK_PRE) { + unsigned char temp_byte; + temp_byte = (unsigned char) NoSignExtend(pxlfp, 1); +- if (temp_byte != PK_ID) ++ if (temp_byte != PK_ID) + Fatal( "Wrong Version of pk file! (%d should be 89)\n", + (int)temp_byte); + else +@@ -5163,7 +5212,7 @@ + + tfontptr->magnification = NoSignExtend(pxlfp, 4); + tfontptr->designsize = NoSignExtend(pxlfp, 4); +- ++ + if (tfontptr->id == id1001) + FSEEK(pxlfp, (long)(NoSignExtend(pxlfp, 4) * 4), SEEK_SET); + else +@@ -5232,7 +5281,7 @@ + hppp = NoSignExtend(pxlfp, 4); + vppp = NoSignExtend(pxlfp, 4); + if (hppp != vppp) +- Warning("aspect ratio is %ld:%ld (should be 1:1)!", ++ Warning("aspect ratio is %ld:%ld (should be 1:1)!", + (long)hppp, (long)vppp); + tfontptr->magnification = (long4)(hppp * 72.27 * 5 / 65536l + 0.5); + +@@ -5515,7 +5564,7 @@ + { + int a, l; + char n[STRSIZE]; +- ++ + (void) NoSignExtend(dvifp, 4); + (void) NoSignExtend(dvifp, 4); + (void) NoSignExtend(dvifp, 4); +@@ -5524,7 +5573,7 @@ + GetBytes(dvifp, n, a + l); + } + +- ++ + + /*------------------------ end dvifont.c -------------------------------*/ + +@@ -5598,7 +5647,7 @@ + #endif + if ( G_nowarn || G_quiet ) + return; +- ++ + fprintf(ERR_STREAM, "%s: warning: ", G_progname); + vfprintf(ERR_STREAM, fmt, args); + fprintf(ERR_STREAM, "\n"); +Index: texlive-bin-2007/build/source/texk/dviljk/dvi2xx.h +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dviljk/dvi2xx.h 2007-07-03 13:44:51.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/dviljk/dvi2xx.h 2007-07-03 13:45:10.000000000 +0200 +@@ -10,8 +10,8 @@ + + #ifdef KPATHSEA + #include ++#include + #include +-#include + #include + #include + #include +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #ifdef unix + #include + #endif +@@ -41,9 +42,6 @@ + #ifdef MSC5 + #include /* only for binaryopen on device */ + #endif +-#if defined (unix) && !defined (KPATHSEA) +-#include +-#endif + + + #include "config.h" +@@ -116,6 +114,7 @@ + #define HUGE_SIZE (unsigned char) 2 + #define HUGE_CHAR_PATTERN 32767l + #define BYTES_PER_PIXEL_LINE 500 /* max number of bytes per pixel line */ ++#define MAX_SPECIAL_DEFPOINTS 80 /* max number of defpoint specials */ + + + #define PK_POST 245 +@@ -281,7 +280,14 @@ + #define VisChar(c) (unsigned char)(c) + #endif + +-#define GetBytes(fp,buf,n) read_multi(buf,1,n,fp) /* used to be a function */ ++/* Used to be a function. buf is always an array, never a pointer. ++ Without that invariant, we would have to introduce full dynamic ++ memory management in this driver -- probably it would be easier to ++ write a new one. [27 Jun 07 -js] */ ++#define GetBytes(fp,buf,n) \ ++ ( sizeof(buf) != sizeof(void *) && sizeof(buf) > n ? \ ++ read_multi(buf, 1, n, fp) \ ++ : Fatal("Try to read %d bytes in an array of size %d", n, sizeof(buf)) ) + + + /**********************************************************************/ +@@ -307,6 +313,7 @@ + int sscanf(); + int strcmp(); + char *strcpy(); ++char *strncpy(); + # ifdef MSC5 + unsigned int strlen(); + # endif +@@ -393,7 +400,7 @@ + char n[STRSIZE]; /* FNT_DEF command parameters */ + long4 font_mag; /* computed from FNT_DEF s and d parameters */ + /*char psname[STRSIZE];*/ /* PostScript name of the font */ +- char name[STRSIZE]; /* full name of PXL file */ ++ char *name; /* full name of PXL file */ + FILEPTR font_file_id; /* file identifier (NO_FILE if none) */ + #ifdef USEPXL + long4 magnification; /* magnification read from PXL file */ +@@ -487,8 +494,8 @@ + long4 NoSignExtend DVIPROTO((FILEPTR, int)); + void OpenFontFile DVIPROTO((void)); + long4 PixRound DVIPROTO((long4, long4)); +-void PkRaster DVIPROTO((struct char_entry *, int)); +-void RasterLine DVIPROTO((struct char_entry *, unsigned int, ++void PkRaster DVIPROTO((struct char_entry *, int)); ++void RasterLine DVIPROTO((struct char_entry *, unsigned int, + unsigned int, unsigned char *)); + void RasterChar DVIPROTO((struct char_entry *)); + void ReadFontDef DVIPROTO((long4)); +@@ -534,11 +541,12 @@ + #ifndef KPATHSEA + char *PXLpath = FONTAREA; + #endif +-char G_progname[STRSIZE]; /* program name */ +-char filename[STRSIZE]; /* DVI file name */ +-char rootname[STRSIZE]; /* DVI filename without extension */ ++char *G_progname; /* program name */ ++char *filename; /* DVI file name */ ++char *rootname; /* DVI filename without extension */ + char *HeaderFileName = ""; /* file name & path of Headerfile */ + char *EmitFileName = ""; /* file name & path for output */ ++char tmp_dir[STRSIZE] = ""; /* temporary directory for auxilliary files */ + #ifdef IBM3812 + bool FirstAlternate = _FALSE; /* first page from alternate casette ? */ + #endif --- texlive-bin-2007.dfsg.1.orig/debian/patches/icu-powerpc-buildfix-patch +++ texlive-bin-2007.dfsg.1/debian/patches/icu-powerpc-buildfix-patch @@ -0,0 +1,139 @@ +Fix building on hurd-i386. From Samuel Thibault +> texlive-bin currently FTBFS on hurd-i386 because of the copy of icu that +> it embeds. Here is the patch that already got applied to the icu package +> and is being forwarded icu upstream. + +> There was also a problem with xxx.l which uses the NOFILE macro which is +> linux-only. +--- + build/source/libs/icu-xetex/aclocal.m4 | 1 + build/source/libs/icu-xetex/config/mh-gnu | 81 ++++++++++++++++++++++++++++++ + build/source/libs/icu-xetex/configure | 1 + build/source/texk/detex/detex.l | 4 + + 4 files changed, 87 insertions(+) + +Index: texlive-bin-2007/build/source/libs/icu-xetex/aclocal.m4 +=================================================================== +--- texlive-bin-2007.orig/build/source/libs/icu-xetex/aclocal.m4 2007-08-16 11:12:26.000000000 +0200 ++++ texlive-bin-2007/build/source/libs/icu-xetex/aclocal.m4 2007-08-16 11:16:36.000000000 +0200 +@@ -31,6 +31,7 @@ + icu_cv_host_frag=mh-linux-va + fi ;; + *-*-linux*) icu_cv_host_frag=mh-linux ;; ++*-*-gnu*) icu_cv_host_frag=mh-gnu ;; + *-*-cygwin) + if test "$GCC" = yes; then + icu_cv_host_frag=mh-cygwin +Index: texlive-bin-2007/build/source/libs/icu-xetex/config/mh-gnu +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ texlive-bin-2007/build/source/libs/icu-xetex/config/mh-gnu 2007-08-16 11:16:36.000000000 +0200 +@@ -0,0 +1,81 @@ ++## -*-makefile-*- ++## GNU-specific setup ++## Copyright (c) 1999-2004, International Business Machines Corporation and ++## others. All Rights Reserved. ++ ++## Commands to generate dependency files ++GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) ++GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) ++ ++## Flags for position independent code ++SHAREDLIBCFLAGS = -fPIC ++SHAREDLIBCXXFLAGS = -fPIC ++SHAREDLIBCPPFLAGS = -DPIC ++ ++## Additional flags when building libraries and with threads ++LIBCPPFLAGS = -D_REENTRANT ++THREADSCPPFLAGS = -D_REENTRANT ++ ++## Compiler switch to embed a runtime search path ++LD_RPATH= ++LD_RPATH_PRE = -Wl,-rpath, ++ ++## These are the library specific LDFLAGS ++LDFLAGSICUDT=-nodefaultlibs -nostdlib ++ ++## Compiler switch to embed a library name ++# The initial tab in the next line is to prevent icu-config from reading it. ++ LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) ++#SH# # We can't depend on MIDDLE_SO_TARGET being set. ++#SH# LD_SONAME= ++ ++## Shared object suffix ++SO = so ++## Non-shared intermediate object suffix ++STATIC_O = ao ++ ++## Compilation rules ++%.$(STATIC_O): $(srcdir)/%.c ++ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< ++%.o: $(srcdir)/%.c ++ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< ++ ++%.$(STATIC_O): $(srcdir)/%.cpp ++ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< ++%.o: $(srcdir)/%.cpp ++ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< ++ ++ ++## Dependency rules ++%.d: $(srcdir)/%.c ++ @echo "generating dependency information for $<" ++ @$(SHELL) -ec '$(GEN_DEPS.c) $< \ ++ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++%.d: $(srcdir)/%.cpp ++ @echo "generating dependency information for $<" ++ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ ++ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++## Versioned libraries rules ++ ++%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) ++ $(RM) $@ && ln -s ${= 4.3) compiler. +Patch taken from 2007-12ubuntu3, so I assume it was made by +Matthias Klose . +--- + build/source/libs/teckit/source/Engine.cpp | 1 + + build/source/libs/teckit/source/ulong_chartraits.h | 1 + + 2 files changed, 2 insertions(+) + +Index: texlive-bin-2007/build/source/libs/teckit/source/Engine.cpp +=================================================================== +--- texlive-bin-2007.orig/build/source/libs/teckit/source/Engine.cpp 2007-09-24 16:00:10.000000000 +0200 ++++ texlive-bin-2007/build/source/libs/teckit/source/Engine.cpp 2007-09-24 16:00:48.000000000 +0200 +@@ -64,6 +64,7 @@ + int traceLevel = 1; + #endif + ++#include + #include + #include + +Index: texlive-bin-2007/build/source/libs/teckit/source/ulong_chartraits.h +=================================================================== +--- texlive-bin-2007.orig/build/source/libs/teckit/source/ulong_chartraits.h 2007-09-24 16:00:03.000000000 +0200 ++++ texlive-bin-2007/build/source/libs/teckit/source/ulong_chartraits.h 2007-09-24 16:00:48.000000000 +0200 +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + /* + This used to be defined for unsigned long; changed to unsigned int for 64-bit architecture. --- texlive-bin-2007.dfsg.1.orig/debian/patches/hps-segfault-fix +++ texlive-bin-2007.dfsg.1/debian/patches/hps-segfault-fix @@ -0,0 +1,86 @@ +--- + build/source/texk/dvipsk/hps.c | 60 ++++++++++++++++++++++++++--------------- + 1 file changed, 39 insertions(+), 21 deletions(-) + +Index: texlive-bin-2007.dfsg.1/build/source/texk/dvipsk/hps.c +=================================================================== +--- texlive-bin-2007.dfsg.1.orig/build/source/texk/dvipsk/hps.c 2007-10-22 07:24:00.000000000 +0200 ++++ texlive-bin-2007.dfsg.1/build/source/texk/dvipsk/hps.c 2007-10-22 07:24:29.000000000 +0200 +@@ -441,19 +441,28 @@ + + void stamp_hps P1C(Hps_link *, pl) + { +- char tmpbuf[200] ; ++ char * tmpbuf; + if (pl == NULL) { +- error("Null pointer, oh no!") ; ++ error("stamp_hps: null pl pointer, oh no!") ; + return ; +- } else { +- /* print out the proper pdfm with local page info only +- * target info will be in the target dictionary */ +- (void)sprintf(tmpbuf, +- " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ", pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury, +- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4], +- pl->color[0], pl->color[1], pl->color[2]) ; +- cmdout(tmpbuf) ; +- } ++ } ++ if(pl->title == NULL) { ++ error("stamp_hps: null pl->title pointer, oh no!") ; ++ return ; ++ } ++ ++ tmpbuf = (char *) xmalloc(strlen(pl->title)+200); ++ ++ /* print out the proper pdfm with local page info only ++ * target info will be in the target dictionary */ ++ (void)sprintf(tmpbuf, ++ " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ", ++ pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury, ++ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4], ++ pl->color[0], pl->color[1], pl->color[2]) ; ++ cmdout(tmpbuf) ; ++ free(tmpbuf); ++ + + } + +@@ -462,18 +471,27 @@ + */ + void stamp_external P2C(char *, s, Hps_link *, pl) + { +- char tmpbuf[200]; ++ char *tmpbuf; + if (pl == NULL) { +- error("Null pointer, oh no!") ; ++ error("stamp_external: null pl pointer, oh no!") ; + return ; +- } else { +- /* print out the proper pdfm with local page info only +- * target info will be in the target dictionary */ +- (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ", pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury, +- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4], +- pl->color[0], pl->color[1], pl->color[2], s) ; +- cmdout(tmpbuf) ; +- } ++ } ++ ++ if (s == NULL) { ++ error("stamp_external: null s pointer, oh no!") ; ++ return ; ++ } ++ ++ tmpbuf = (char *) xmalloc(strlen(s) + 200); ++ ++ /* print out the proper pdfm with local page info only ++ * target info will be in the target dictionary */ ++ (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ", ++ pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury, ++ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4], ++ pl->color[0], pl->color[1], pl->color[2], s) ; ++ cmdout(tmpbuf) ; ++ free(tmpbuf); + } + + void finish_hps P1H(void) { --- texlive-bin-2007.dfsg.1.orig/debian/patches/53_builtin-searchpath-fix +++ texlive-bin-2007.dfsg.1/debian/patches/53_builtin-searchpath-fix @@ -0,0 +1,85 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 53_builtin-searchpath-fix.dpatch +## +## DP: adjust built-in search paths for kpathsea library to Debian standard + +@DPATCH@ + build/source/texk/kpathsea/Makefile.in | 5 ----- + build/source/texk/kpathsea/texmf.in | 14 +++++++------- + 2 files changed, 7 insertions(+), 12 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/kpathsea/Makefile.in +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/Makefile.in 2007-01-08 00:31:48.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/Makefile.in 2007-01-26 04:02:50.000000000 +0100 +@@ -127,11 +127,6 @@ + | sed '/^$$/d' \ + | sed 's/^\([^ =]*\)[ ]*=*[ ]*\(.*\)/#ifndef DEFAULT_\1%#define DEFAULT_\1 "\2"%#endif/' \ + | tr '%' '\012' \ +- | sed -e 's%\$$TEXMFMAIN%$(texmf)%g' \ +- -e 's%\$$TEXMF%$(texmf)%g' \ +- -e 's%\$$VARTEXFONTS%$(vartexfonts)%g' \ +- -e 's%\$$web2cdir%$(web2cdir)%g' \ +- -e 's%\$$prefix%$(prefix)%g' \ + | sed -e 's%;%:%g' \ + >>paths.tmp + @if cmp -s paths.h paths.tmp 2>/dev/null; then \ +Index: texlive-bin-2006.svn3816/build/source/texk/kpathsea/texmf.in +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/texmf.in 2007-01-20 01:38:30.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/texmf.in 2007-01-26 04:02:50.000000000 +0100 +@@ -56,15 +56,15 @@ + + % The tree containing the runtime files closely related to the specific + % program version used: +-TEXMFMAIN = @texmf@ ++TEXMFMAIN = /usr/share/texmf + + % The main distribution tree: +-TEXMFDIST = @texmf@-dist ++TEXMFDIST = /usr/share/texmf-texlive + + % A place for local additions to a "standard" texmf tree. + % This tree is not used for local configuration maintained by + % texconfig, it uses TEXMFCONFIG below. +-TEXMFLOCAL = @texmf@-local ++TEXMFLOCAL = /usr/local/share/texmf + + % TEXMFSYSVAR, where texconfig-sys stores variable runtime data. + % With teTeX-3.0 or later, this must be set. +@@ -72,7 +72,7 @@ + % TEXMFSYSVAR = $TEXMFMAIN + % For using a separate tree: + % TEXMFSYSVAR = @texmf@-var +-TEXMFSYSVAR = @texmf@-var ++TEXMFSYSVAR = /var/lib/texmf + + % TEXMFSYSCONFIG, where texconfig-sys stores configuration data. + % With teTeX-3.0 or later, this must be set. +@@ -80,7 +80,7 @@ + % TEXMFSYSCONFIG = $TEXMFMAIN + % For using a separate tree: + % TEXMFSYSCONFIG = @texmf@-config +-TEXMFSYSCONFIG = @texmf@-config ++TEXMFSYSCONFIG = /etc/texmf + + % User texmf trees are allowed as follows. + % This used to be HOMETEXMF. +@@ -122,7 +122,7 @@ + % Where generated fonts may be written. This tree is used when the sources + % were found in a system tree and either that tree wasn't writable, or the + % varfonts feature was enabled in MT_FEATURES in mktex.cnf. +-VARTEXFONTS = @vartexfonts@ ++VARTEXFONTS = /var/cache/fonts + + % Where to look for ls-R files. There need not be an ls-R in the + % directories in this path, but if there is one, Kpathsea will use it. +@@ -382,7 +382,7 @@ + % + % For security reasons, it is better not to have . part of the path. + % +-TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c};/.$TETEXDIR;$TEXMF/web2c;@web2c@ ++TEXMFCNF = /usr/share/texmf/web2c;/usr/share/texmf-texlive/web2c;/usr/local/share/texmf/web2c + + # $progname: kpathsea v. 3.5.3 or later overwrites this at runtime. To + # avoid empty expansions from binaries linked against an earlier --- texlive-bin-2007.dfsg.1.orig/debian/patches/12_fix_epstopdf_invocation +++ texlive-bin-2007.dfsg.1/debian/patches/12_fix_epstopdf_invocation @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 12_fix_epstopdf_invocation.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix invocation of epstopdf to get rid of magic + +@DPATCH@ + build/source/texk/tetex/epstopdf | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/tetex/epstopdf +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/tetex/epstopdf 2006-12-17 20:58:20.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/tetex/epstopdf 2007-01-26 03:57:16.000000000 +0100 +@@ -1,5 +1,4 @@ +-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' +- if 0; ++#!/usr/bin/perl + use strict; + + # Change by Thomas Esser, Sept. 1998: The above lines allows us to find --- texlive-bin-2007.dfsg.1.orig/debian/patches/41_maketexmf +++ texlive-bin-2007.dfsg.1/debian/patches/41_maketexmf @@ -0,0 +1,43 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 41_maketexmf.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: fix for mktexmf script from perforce depot + +@DPATCH@ + build/source/texk/kpathsea/mktexmf | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexmf +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/mktexmf 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexmf 2007-01-26 04:01:50.000000000 +0100 +@@ -36,17 +36,20 @@ + rootfile=$sauterroot + rootname=b-$rootname + else +- case $rootname in ++ case $name in + # csso12[0-5][0-9] from CJK package; unsupported by mktexmf + csso12[0-5][0-9]) +- rootfile=;; +- cs*|lcsss*|icscsc*|icstt*|ilcsss*) +- rootfile=`kpsewhich cscode.mf`;; +- wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]|l[abcdhl][bcdfiorstuvx]*) +- lhprefix=`echo "$name" | sed 's/^\(..\).*/\1/'` +- rootfile=`kpsewhich ${lhprefix}codes.mf 2>/dev/null`;; ++ rootfile=;; + *) +- rootfile=`kpsewhich $rootname.mf 2>/dev/null`;; ++ case $rootname in ++ cs*|lcsss*|icscsc*|icstt*|ilcsss*) ++ rootfile=`kpsewhich cscode.mf`;; ++ wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]|l[abcdhl][bcdfiorstuvx]*) ++ lhprefix=`echo "$name" | sed 's/^\(..\).*/\1/'` ++ rootfile=`kpsewhich ${lhprefix}codes.mf 2>/dev/null`;; ++ *) ++ rootfile=`kpsewhich $rootname.mf 2>/dev/null`;; ++ esac;; + esac + fi + { test -z "$rootfile" || test ! -f "$rootfile"; } && exit 1 --- texlive-bin-2007.dfsg.1.orig/debian/patches/52_feynmf-perl-sec-fix +++ texlive-bin-2007.dfsg.1/debian/patches/52_feynmf-perl-sec-fix @@ -0,0 +1,31 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 52_feynmf-perl-sec-fix.dpatch by Kevin B. McCarty +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: secure tmp file handling + +@DPATCH@ +--- ./texmf-dist/source/latex/feynmf/feynmf.pl.orig ++++ ./texmf-dist/source/latex/feynmf/feynmf.pl +@@ -270,10 +270,11 @@ + my @tfm = @_; + # Prepare a fake temporary PL file + # (/dev/null won't do, because the font must not be empty): +- my ($pl) = "/tmp/feynmf$$.pl"; ++ my ($pl) = `/bin/tempfile -p feynmf -s .pl`; + my ($tfm); + $pltotf_prog + or die "feynmf: fatal: pltopf programm required unless -notfm\n"; ++ chop ($pl); + open (PL, ">$pl") or die "feynmf: can't open temporary file $pl: $!\n"; + push @temporay_files, $pl; + print PL <<__END_PL__; +@@ -373,7 +374,7 @@ + maybe_run "$gftopk_prog $gf" if $gftopk_prog; + } + } +- close (); ++ close (LOG); + } + } + } --- texlive-bin-2007.dfsg.1.orig/debian/patches/19_dvipdfm_config +++ texlive-bin-2007.dfsg.1/debian/patches/19_dvipdfm_config @@ -0,0 +1,33 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 19_dvipdfm_config.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Add a patch for dvipdfm's config file that allows proper inclusion of +## DP: really large Postscript files, as reported by Thomas Esser and Laurent +## DP: Siebenmann on the TeXLive list. + +@DPATCH@ + texmf/dvipdfm/config/config | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +Index: texlive-bin-2006.svn3816/texmf/dvipdfm/config/config +=================================================================== +--- texlive-bin-2006.svn3816.orig/texmf/dvipdfm/config/config 2006-07-24 01:13:11.000000000 +0200 ++++ texlive-bin-2006.svn3816/texmf/dvipdfm/config/config 2007-01-26 03:59:35.000000000 +0100 +@@ -4,7 +4,15 @@ + + % Distiller config. Uses ghostscript and works on compressed and + % uncompressed files. +-D "zcat -f %i | gs -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.2 -dUseFlateCompression=true -dSAFER -sOutputFile=%o - -c quit" ++% D "zcat -f %i | gs -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.2 -dUseFlateCompression=true -dSAFER -sOutputFile=%o - -c quit" ++%%%%%%%%%%%%%% begin bug comment ++% Laurent S. & Heiko Oberdiek bugfix of May 2006 on comp.text.tex: ++% Any fixed papersize as in above line will cause unwanted clipping of very big objects, ++% so -- following a (version 8.50) gs log suggestion spotted by Heiko Oberdiek ++% -- use "-dEPSCrop" instead of "-sPAPERSIZE=a0". ++% The other gs suggestion "-dEPSFitPage" causes unwanted downscaling. Here is the revised line: ++%%%%%%%%%%%%%% end bug comment ++D "zcat -f %i | gs -q -sDEVICE=pdfwrite -dEPSCrop -dCompatibilityLevel=1.2 -dUseFlateCompression=true -dSAFER -sOutputFile=%o - -c quit" + + % Set default paper size here + p a4 --- texlive-bin-2007.dfsg.1.orig/debian/patches/14_etex_takes_buildformat +++ texlive-bin-2007.dfsg.1/debian/patches/14_etex_takes_buildformat @@ -0,0 +1,30 @@ +# 14_etex_takes_buildformat +# +# Move the BuildFormat call of etex to Packag/etex instead of bin-etex +# since bin-etex is in collection-basicbin, and etex in collection-basic + +@DPATCH@ +--- /data/TeX/texlive/./Master/texmf-dist/tpm/etex.tpm 2005-09-30 15:42:37.000000000 +0200 ++++ ./texmf-dist/tpm/etex.tpm 2005-11-22 02:15:26.000000000 +0100 +@@ -38,6 +38,9 @@ + texmf-dist/doc/etex/base/nts-group.html + texmf-dist/doc/etex/base/webmerge.tex + ++ ++ ++ + Package/etex + + +--- /data/TeX/texlive/./Master/texmf/tpm/bin-etex.tpm 2005-11-02 00:53:10.000000000 +0100 ++++ ./texmf/tpm/bin-etex.tpm 2005-11-22 02:15:10.000000000 +0100 +@@ -47,9 +47,6 @@ + + + +- +- +- + TLCore/bin-etex + + --- texlive-bin-2007.dfsg.1.orig/debian/patches/16_texdoctk +++ texlive-bin-2007.dfsg.1/debian/patches/16_texdoctk @@ -0,0 +1,170 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 21_texdoctk.dpatch by Preining, Kster +## +## DP: fix for loading Tk, stolen from tetex +## DP: make texdoctk work with texmf-tetex and texmf-texlive pathes + +@DPATCH@ + build/source/texk/tetex/texdoctk | 48 ++++++++++++++++++++++++++++++--------- + texmf/texdoctk/texdocrc.defaults | 21 ++++++++--------- + 2 files changed, 48 insertions(+), 21 deletions(-) + +Index: texlive-bin-2007/build/source/texk/tetex/texdoctk +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/texdoctk 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/tetex/texdoctk 2007-05-03 08:54:15.000000000 +0200 +@@ -9,11 +9,30 @@ + # and the full disclaimer. + ############################################################################### + use strict; +-use Tk; + use Getopt::Long; + Getopt::Long::config('bundling'); + use File::Basename; + ++BEGIN { ++ eval { require Tk; import Tk; }; ++ if ($@) { ++ my $progname = basename($0); ++ my $message; ++ if ($@ =~ /^Can\'t locate Tk\.pm/) { ++ $message = "$progname: you must have the perl-tk package installed\nto use this script\n"; ++ } else { ++ $message = "$progname: problem loading the Tk module:\n $@\nHave you installed the perl-tk package?\n"; ++ } ++ ++ if (! -t STDOUT and exists $ENV{DISPLAY}) ++ { ++ exec("xmessage", $message); ++ } else { ++ die $message; ++ } ++ } ++} ++ + my $IsWin32 = ($^O =~ /MSWin32/i); + + #if ($IsWin32) { +@@ -32,8 +51,8 @@ + my $srchflag=0; + my $tmpfno; + # system variables +-my ($texmfmain,$texmfdist,$texmfdoc,$texmflocal,$texmfhome, +- $texdocpath,$distdocpath,$docdocpath,$localdocpath,$homedocpath, ++my ($texmfmain,$texmfdist_tetex,$texmfdist_texlive,$texmfdoc,$texmflocal,$texmfhome, ++ $texdocpath,$distdocpath_tetex,$distdocpath_texlive,$docdocpath,$localdocpath,$homedocpath, + $datadir, + $dvi_viewer,$dvips_conv,$ps_viewer,$pdf_viewer, + $pdfps_conv,$html_viewer,$htmlps_conv,$htmlps_redir, +@@ -637,7 +656,7 @@ + sub finddoc { + my($slcdoc,$slc,$parframe)=@_; + my ($dummy,$status); +- SLCDOCFIND: foreach ($texdocpath,$distdocpath,$docdocpath) { ++ SLCDOCFIND: foreach ($texdocpath,$distdocpath_tetex,$distdocpath_texlive,$docdocpath) { + $slcdoc="$_/$slc"; + if (-e $slcdoc) { + # found where it should be +@@ -721,7 +740,8 @@ + my $found=0; + if ($docselect =~ /\.sty$/) { + STYPATH: foreach my $fullpath ("$texmfmain/tex/$docselect", +- "$texmfdist/tex/$docselect", ++ "$texmfdist_tetex/tex/$docselect", ++ "$texmfdist_texlive/tex/$docselect", + "$texmflocal/tex/$docselect", + "$texmfhome/tex/$docselect") { + if (-e $fullpath) { +@@ -734,7 +754,8 @@ + &popmsg(2,"Selected file:\n$docselect\ndoes not exist.",$tpbframe) } + } else { + DOCPATH: foreach my $fullpath ("$texdocpath/$docselect", +- "$distdocpath/$docselect", ++ "$distdocpath_tetex/$docselect", ++ "$distdocpath_texlive/$docselect", + "$docdocpath/$docselect", + "$localdocpath/$docselect", + "$homedocpath/$docselect") { +@@ -950,7 +971,8 @@ + -fill=>'x', + -expand=>1); + my $docframestring="\nDistribution documentation root path(s):\n$texdocpath"; +- $docframestring.=", $distdocpath" if (-e $distdocpath); ++ $docframestring.=", $distdocpath_tetex" if (-e $distdocpath_tetex); ++ $docframestring.=", $distdocpath_texlive" if (-e $distdocpath_texlive); + $docframestring.=", $docdocpath" if (length $docdocpath); + if ($localdocpath && $localdocpath ne $texdocpath) { + $docframestring.="\nLocal documentation root path: $localdocpath\n"; +@@ -1536,10 +1558,14 @@ + $texmfmain=`kpsewhich --expand-path=${qq}\$TEXMFMAIN${qq}`; + chomp $texmfmain; + $texdocpath="$texmfmain/$texdocpath"; +- $texmfdist=`kpsewhich --expand-path=${qq}\$TEXMFDIST${qq}`; +- chomp $texmfdist; +- $distdocpath=join('/',"$texmfdist",basename($texdocpath,"")) +- if (length $texmfdist); ++# $texmfdist=`kpsewhich --expand-path=${qq}\$TEXMFDIST${qq}`; ++# chomp $texmfdist; ++ $texmfdist_tetex="/usr/share/texmf-tetex"; ++ $texmfdist_texlive="/usr/share/texmf-texlive"; ++ $distdocpath_tetex=join('/',"$texmfdist_tetex",basename($texdocpath,"")) ++ if (length $texmfdist_tetex); ++ $distdocpath_texlive=join('/',"$texmfdist_texlive",basename($texdocpath,"")) ++ if (length $texmfdist_texlive); + # TeXLive has this texmf-doc + $texmfdoc=join('/',"$texmfmain-doc",basename($texdocpath,"")); + if (-e $texmfdoc) { +Index: texlive-bin-2007/texmf/texdoctk/texdocrc.defaults +=================================================================== +--- texlive-bin-2007.orig/texmf/texdoctk/texdocrc.defaults 2007-05-03 08:54:54.000000000 +0200 ++++ texlive-bin-2007/texmf/texdoctk/texdocrc.defaults 2007-05-03 08:57:22.000000000 +0200 +@@ -7,7 +7,7 @@ + # item empty, but *do not* delete/uncomment it. The same holds for options you + # want/need to leave empty. + +-# root of doc directory (from $TEXMFMAIN) ++# root of doc directory (from $TEXMFMAIN and $TEXMFDIST) + TEXDOCPATH=doc + # root of local doc directory (from $TEXMFLOCAL) + # can be left empty if equal to TEXDOCPATH or if $TEXMFLOCAL is undefined +@@ -22,30 +22,31 @@ + DVIPS_OPTS=-q + + # PostScript handling +-PS_VIEWER=ghostview ++PS_VIEWER=see + + # PDF handling +-PDF_VIEWER=acroread +-PDFPS_CONV=acroread +-PDFPS_OPTS=-toPostScript -pairs ++PDF_VIEWER=see ++PDFPS_CONV=pdf2ps ++PDFPS_OPTS= ++#PDFPS_OPTS=-toPostScript -pairs + + # HTML handling +-HTML_VIEWER=netscape +-HTMLPS_CONV= ++HTML_VIEWER=x-terminal-emulator -e see ++HTMLPS_CONV=html2ps + # HTMLPS_REDIR must be on, if the html->ps converter normally writes its output + # to stdout instead of a file (e.g. as html2ps) (y or yes to make active) +-HTMLPS_REDIR= ++HTMLPS_REDIR=y + + # Plain text handling + # TDK_OWN is texdoctk's own text file viewer + TXT_VIEWER=TDK_OWN +-TXTPS_CONV=a2ps ++TXTPS_CONV=a2ps -q + # TXTPS_REDIR must be on, if the txt->ps converter normally writes its output + # to stdout instead of a file (e.g. as a2ps) (y or yes to make active) + TXTPS_REDIR=yes + + # printer + PRINT_CMD=lpr +-PRINT_OPTS=-h -Plp ++PRINT_OPTS=-h + + # end of config --- texlive-bin-2007.dfsg.1.orig/debian/patches/17_texdoc +++ texlive-bin-2007.dfsg.1/debian/patches/17_texdoc @@ -0,0 +1,221 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 17_texdoc.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: texdoc should follow symlinks, and man pages, and sec fixes, from tetex + +@DPATCH@ + build/source/texk/tetex/texdoc | 75 +++++++++++++++++++++++-------------- + build/source/texk/tetex/texdoc.man | 32 ++++++++++++--- + 2 files changed, 72 insertions(+), 35 deletions(-) + +Index: texlive-bin-2007/build/source/texk/tetex/texdoc +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/texdoc 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/tetex/texdoc 2007-08-11 13:43:46.000000000 +0200 +@@ -17,6 +17,15 @@ + # + # Support for compressed documentation implemented by adopting changes + # made by debian. Thomas Esser, Dec. 2004. ++# ++# Debian specific changes: ++# Denis Barbier , Feb 15 2000 ++# * accept gzipped files on input ++# * temporary directory set according to TMPDIR ++# ++# Frank Kster , 2004-11-23 ++# * do not uncompress dvi.gz, xdvi can handle this ++# * go to background with uncompressed files + + test -f /bin/sh5 && test -z "$RUNNING_SH5" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ +@@ -30,22 +39,22 @@ + + export PATH + +-needsCleanup=false ++# needsCleanup=false + progname=texdoc +-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ ++# tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ + + ############################################################################### + # setupTmpDir() + # set up a temp directory and a trap to remove it + ############################################################################### +-setupTmpDir() +-{ +- $needsCleanup && return ++# setupTmpDir() ++# { ++# $needsCleanup && return + +- trap 'cleanup --force' 1 2 3 7 13 15 +- needsCleanup=true +- mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'" +-} ++# trap 'cleanup --force' 1 2 3 7 13 15 ++# needsCleanup=true ++# mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'" ++# } + + ############################################################################### + # abort(errmsg) +@@ -65,15 +74,21 @@ + ############################################################################### + cleanup() + { +- case $1 in +- --force) +- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ +- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; } +- ;; +- *) # directory might not be empty if some other viewer is still +- # running, so be quiet about it +- rmdir $tmpdir >/dev/null 2>&1;; +- esac ++# case $1 in ++# --force) ++# $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ ++# && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; } ++# ;; ++# *) # directory might not be empty if some other viewer is still ++# # running, so be quiet about it ++# rmdir $tmpdir >/dev/null 2>&1;; ++# esac ++ # is the temporary directory empty? If not, texdoc was called with ++ # two or more arguments, and one viewer is still running ++ if test "`echo $tmpdir/*`" = $tmpdir/'*' ++ then ++ rm -rf $tmpdir ++ fi + } + + +@@ -91,13 +106,12 @@ + extlist='.pdf .ps .txt .dvi .html' + ;; + *) +- : ${TEXDOCVIEW_dvi='(xdvi %s) &'} +- : ${TEXDOCVIEW_pdf='(acroread %s) &'} +- : ${TEXDOCVIEW_ps='(gv %s) &'} +- : ${TEXDOCVIEW_html='mozilla -remote openURL'"'(%s)'"' 2>/dev/null || mozilla %s &'} +- : ${TEXDOCVIEW_txt="${PAGER-more} %s"} +- : ${TEXDOCVIEW_="${PAGER-more} %s"} # no extension, default to pager +- extlist='.dvi .dvi.gz .dvi.bz2 .pdf .pdf.gz .pdf.bz2 .ps .ps.gz .ps.bz2 .txt .txt.gz .txt.bz2 .html' ++ : ${TEXDOCVIEW_dvi='(see %s) &'} ++ : ${TEXDOCVIEW_pdf='(see %s) &'} ++ : ${TEXDOCVIEW_ps='(see %s) &'} ++ : ${TEXDOCVIEW_html='(see %s) &'} ++ : ${TEXDOCVIEW_txt='(see %s) &'} ++ : ${TEXDOCVIEW_='(see %s) &'} # no extension, default to pager + + # Commands run to uncompress files, according to filename extension. + : ${TEXDOCUNZIP_gz='gzip -d -c'} +@@ -105,6 +119,10 @@ + ;; + esac + ++extlist=`kpsewhich --expand-brace='$TEXDOCEXT' | tr ':' ' '` ++test -z "$extlist" && \ ++extlist='.dvi .dvi.gz .dvi.bz2 .pdf .pdf.gz .pdf.bz2 .ps .ps.gz .ps.bz2 .txt .txt.gz .txt.bz2 .html' ++ + mode=viewer + help='Usage: texdoc [OPTION]... [NAME]... + Search for NAME in the TeX documentation and start a viewer. +@@ -136,11 +154,14 @@ + ;; + esac + ++tmpdir=`mktemp -d -t texdoc.XXXXXXXX` ++trap 'rc=$?; cleanup; exit $rc' 1 2 6 13 15 ++ + for name + do + case $mode in + search) +- find `kpsewhich --expand-path='$TEXMF/doc' | tr : ' '` -type f -print | ++ find `kpsewhich --expand-path='$TEXMF/doc' | tr : ' '` -follow -type f -print | + egrep $name + continue + ;; +@@ -153,7 +174,6 @@ + + found=false + for ext in "" $extlist; do +- + filename=`kpsewhich -format='TeX system documentation' $name$ext 2>/dev/null` + test -z "$filename" && continue + found=true +@@ -177,7 +197,6 @@ + # than once + test -f "$tmpdir/$src" && break + +- setupTmpDir + eval "$uncompress $filename > $tmpdir/$src" + filename=$tmpdir/$src + viewer=`eval echo $viewer | sed -e "s|%s|$filename; rm -f $filename; cleanup|"` +Index: texlive-bin-2007/build/source/texk/tetex/texdoc.man +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/texdoc.man 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/tetex/texdoc.man 2007-08-11 13:42:46.000000000 +0200 +@@ -28,12 +28,17 @@ + .PP + .SH "OPTIONS" + .PP +-.IP "\fB--help\fP" ++.IP "\fB\-\-help\fP" + Display a brief summary of options\&. + .IP +-.IP "\fB-l\fP" ++.IP "\fB\-l\fP" + List matching files\&. Does not start a viewer\&. +-.IP "\fB-v\fP" ++.PP ++.IP "\fB\-s\fP" ++Search the disk. From all documentation files found by texdoc, the ++ones whose names match the remaining arguments (as egrep pattern) will ++be displayed. ++.IP "\fB\-v\fP" + Sets verbose mode\&. Shows the command being used to + display the documentation\&. + .PP +@@ -42,14 +47,18 @@ + .IP "\fB$TEXDOCVIEW_dvi\fP" + DVI viewer\&. Defaults to \fBxdvi\fP(1)\&. + .IP "\fB$TEXDOCVIEW_pdf\fP" +-PDF viewer\&. Defaults to \fBacroread\fP(1)\&. ++PDF viewer\&. The default is to use the program defined in the ++\fImailcap\fP file, see \fBmailcap\fP(5)\&. + .IP "\fB$TEXDOCVIEW_ps\fP" +-PostScript viewer\&. Defaults to ++PostScript viewer\&. The default is to use the program defined in the ++\fImailcap\fP file, see \fBmailcap\fP(5)\&. + \fBghostview\fP(1)\&. + .IP "\fB$TEXDOCVIEW_html\fP" +-HTML viewer\&. Defaults to \fBnetscape\fP(1)\&. ++HTML viewer\&. The default is to use the program defined in the ++\fImailcap\fP file, see \fBmailcap\fP(5)\&. + .IP "\fB$TEXDOCVIEW_txt\fP" +-Text viewer\&. Defaults to \fB$PAGER-more\fP\&. ++Text viewer\&. Defaults is to use the program indicated by the ++\fB$PAGER\fP variable, or \fBmore\fP if this is unset\&. + .PP + The environment variables should be set with a ``%s\&'\&' as a placeholder + for the name of the file\&. For example, +@@ -66,6 +75,15 @@ + hostname$ export TEXDOCVIEW_html + .EE + .PP ++.SH "SPECIFIC TO DEBIAN" ++.PP ++The Debian teTeX packages texdoc use the mime-support package to determine ++the appropriate viewer for the respective file type except for ++\fIdvi\fP and \fItxt\fP. texdoc of Debian is able to handle gzip- and ++bzip2-compressed files. If texdoc finds more than on file for a string ++the first hit is displayed. The file extensions are regarded and the ++search order can be configured in \fItexmf.cnf\fP (\fI90TeXDoc.cnf\fP). ++.PP + .SH "SEE ALSO" + .PP + \fBacroread\fP(1), \fBgv\fP(1), \fBkpsewhich\fP(1), --- texlive-bin-2007.dfsg.1.orig/debian/patches/12c_fix_pdfcrop_invocation +++ texlive-bin-2007.dfsg.1/debian/patches/12c_fix_pdfcrop_invocation @@ -0,0 +1,19 @@ +12c_fix_pdfcrop_invocation.dpatch +Fix invocation of pdfcrop to get rid of magic +--- + build/source/texk/tetex/pdfcrop | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/tetex/pdfcrop +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/tetex/pdfcrop 2006-01-03 00:53:39.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/tetex/pdfcrop 2007-01-26 03:58:07.000000000 +0100 +@@ -1,7 +1,5 @@ +-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' +- if 0; ++#!/usr/bin/perl -w + use strict; +-$^W=1; # turn warning on + # + # pdfcrop.pl + # --- texlive-bin-2007.dfsg.1.orig/debian/patches/23_use_xdvi.bin +++ texlive-bin-2007.dfsg.1/debian/patches/23_use_xdvi.bin @@ -0,0 +1,22 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 23_use_xdvi.bin.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: use xdvi.bin as xdvi binary, which is handled via alternatives +## DP: and not xdvi-xaw.real. The alternatives setting updates xdvi.bin +## DP: to xdvi-xaw.real + +@DPATCH@ + build/source/texk/xdvik/xdvi-sh.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/xdvik/xdvi-sh.in +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/xdvi-sh.in 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/xdvik/xdvi-sh.in 2007-01-26 04:00:27.000000000 +0100 +@@ -43,4 +43,4 @@ + XFILESEARCHPATH="$xdviapppath:${XFILESEARCHPATH-%D}"; export XFILESEARCHPATH + fi + +-exec @final_exec_name@ $NAMEOPT ${1+"$@"} ++exec xdvi.bin $NAMEOPT ${1+"$@"} --- texlive-bin-2007.dfsg.1.orig/debian/patches/55_texconfig_stuff +++ texlive-bin-2007.dfsg.1/debian/patches/55_texconfig_stuff @@ -0,0 +1,563 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 55_texconfig_stuff.dpatch by Frank Kster +## +## DP: expand texconfig man page, some random texconfig fixes + +@DPATCH@ + build/source/texk/tetex/texconfig | 19 +- + build/source/texk/tetex/texconfig.man | 224 ++++++++++++++++++++++++++++++++-- + texmf/doc/man/man1/texconfig.1 | 224 ++++++++++++++++++++++++++++++++-- + 3 files changed, 445 insertions(+), 22 deletions(-) + +Index: texlive-bin-2007/build/source/texk/tetex/texconfig +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/texconfig 2007-06-14 10:24:46.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/tetex/texconfig 2007-06-18 10:23:02.000000000 +0200 +@@ -919,8 +919,8 @@ + + faq) + setupTexmfmain +- if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then +- <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more} ++ if test -f $MT_TEXMFDIST/doc/tetex/teTeX-FAQ.gz; then ++ <$MT_TEXMFDIST/doc/tetex/teTeX-FAQ.gz eval zcat | ${PAGER-sensible-pager} + else + echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2 + rc=1 +@@ -955,16 +955,19 @@ + ;; + *) + tcBatchFontVardir=$3 +- tfc=`kpsewhich texmf.cnf` ++ tfcs=$(grep -l '^[[:space:]]*VARTEXFONTS[[:space:]]*=' /etc/texmf/texmf.d/*.cnf) ++ # last match wins ++ for file in $tfcs; do tfc=$file; done + if test -n "$tfc"; then + if test -w "$tfc"; then + configReplace "$tfc" '^VARTEXFONTS' "VARTEXFONTS = $tcBatchFontVardir" ++ update-texmf + else + echo "$progname: setting up vardir failed. Reason: no permission to write file \`$tfc'" >&2 + rc=1 + fi + else +- echo "$progname: setting up vardir failed. Reason: failed to find file texmf.cnf" >&2 ++ echo "$progname: setting up vardir failed. Reason: failed to find file \`$tfc'" >&2 + rc=1 + fi + ;; +@@ -1076,6 +1079,11 @@ + rc=1 + return + ;; ++ /var/lib/texmf/*) ++ echo "$progname: The hyphenation file for $tcBatchHyphenFormat is a generated file in Debian" ++ echo "You cannot use this texconfig command, use \`update-language(1)' instead." ++ echo "Please read its manual page or /usr/share/tex-common/TeX-on-Debian*" ++ ;; + esac + + getRelDir "$tcBatchHyphenFile" +@@ -1103,7 +1111,7 @@ + fi + ;; + esac +- ${VISUAL-${EDITOR-vi}} "$tcBatchHFEdit" ++ ${VISUAL:-${EDITOR:-sensible-editor}} "$tcBatchHFEdit" + if cmp "$tcBatchHFEdit" "$tcBatchHFOrig" >/dev/null 2>&1; then + echo "$progname: configuration unchanged." >&2 + else +@@ -1145,7 +1153,6 @@ + case $2 in + "") + if fmtutil --all \ +- && texlinks --multiplatform \ + && updmap; then + : + else +Index: texlive-bin-2007/build/source/texk/tetex/texconfig.man +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/tetex/texconfig.man 2007-06-14 10:24:46.000000000 +0200 ++++ texlive-bin-2007/build/source/texk/tetex/texconfig.man 2007-06-18 09:53:55.000000000 +0200 +@@ -6,22 +6,230 @@ + .SH SYNOPSIS + .B texconfig + .LP ++.B texconfig ++[\fB commands\fR ...] ++.LP + .B texconfig-sys + .SH DESCRIPTION + .I texconfig +-allows to configure and maintain ++allows one to configure and maintain ++.I teTeX ++in an easy and convenient manner, offering a series of dialog boxes to ++the user. After choosing settings or options, the appropriate files ++are changed automatically and the new settings are applied for the ++user. If needed, copies of files in ++.I TEXMFDIST ++or ++.I TEXMFMAIN ++will be made in the user's ++.I TEXMFCONFIG ++tree. ++.PP ++.I texconfig ++uses either the ++.IR whiptail (1) ++or ++.IR dialog (1) ++program to communicate with the user, so must be run in a terminal. ++.PP ++For making system-wide changes, which will apply to all users of + .I teTeX +-in an easy and convenient manner. It uses the +-.I dialog +-program to draw nice input boxes. After answering the dialoges, the +-appropriate files are changed automatically and all necessary +-steps are involved to apply the new settings. ++(for example, default paper size and so on), run ++.I texconfig-sys ++instead. Changed or generated files will be placed in ++.I TEXMFSYSCONFIG. ++(You may need ot be root to do this.) ++.PP ++Note that on a Debian system, changes to formats, font setup, ++hyphenation for different languages, etc. should not be done with ++texconfig, because ++.B fmtutil.cnf(5), updmap.cfg(5), texmf.cnf ++and ++.B language.dat ++are generated files in Debian. See ++.I TeX-on-Debian.pdf, TeX-on-Debian.txt.gz ++or ++.I TeX-on-Debian.hmlt/index.html ++in ++.I /usr/share/doc/tex-common/ ++for alternatives. ++.PP ++.I texconfig ++also offers a non-interactive batch mode which can be accessed with ++the following commands ++.SH COMMANDS ++Commands that accept further options usually display available options ++if called without them. For example, ++.B texconfig dvipdfm paper ++will inform about valid paper settings. ++.PP ++.B ++.IP conf ++Display the system configuration. Note that some of the files listed ++as configuration files are generated files on a Debian system. ++.PP ++.TP ++.B dvipdfm paper [letter|legal|ledger|tabloid|a4|a3] ++Set up dvipdfm to use papersize PAPER by default. ++.TP ++.B dvips add PRINTERNAME ++Create a new (empty) configuration file ++.I TEXMFCONFIG/dvips/config/config.PRINTERNAME. ++This file can later be filled with the ++.B mode, offset ++or ++.B printcmd ++options ++.TP ++.B dvips del PRINTERNAME ++Remove ++.I config.PRINTERNAME ++.TP ++.B dvips mode ++List available MetaFont modes. ++.TP ++.B dvips [-P PRINTER] mode MODE ++Change the MetaFont mode to ++.I MODE ++for ++.I PRINTER ++or for all output files ++.I (config.ps), ++if no ++.B -P ++option is given. ++.TP ++.B dvips [-P PRINTER] offset x-OFFSET,y-OFFSET ++Set printer offset for ++.I PRINTER ++or for all output files ++.I (config.ps), ++if no ++.B -P ++option is given. Offsets must be given with units, e.g. ++.I 0pt,10pt ++You can use testpage.tex from the LaTeX distribution to find these ++numbers. ++.TP ++.B dvips [-P PRINTER] printcmd CMD ++Set the printing command for ++.I PRINTER ++or for all output files ++.I (config.ps), ++if no ++.B -P ++option is given. Commands might be ++.B lp ++or ++.B lpr. ++See the description of the ++.I o ++option in ++.B info dvips ++or the ++.I -O ++option in ++.B dvips(1). ++.TP ++.B faq ++Display the list of Frequently Asked Questions about ++.B teTeX ++(and their answers). ++.TP ++.B font vardir DIR, font ro, font ro ++These options should not be used on a Debian system unless you really ++know what you are doing. For details, look at the output of ++.B texconfig fonts ++and read section 2.5, font caching, in the TeX-on-Debian documentation ++in ++.I /usr/share/doc/tex-common/. ++.TP ++.B formats ++This command allows to edit ++.B fmtutil.cnf(5) ++and (re)creates any new or changed formats afterwards. It should not ++be used on Debian systems, unless you want to temporarily create and ++test a specific format, because ++.B fmtutil.cnf(5) ++is a generated file in Debian, and changes will be overwritten. See ++.B update-fmtutil ++for details. ++.TP ++.B hyphen FORMAT ++This command allows to edit the hyphenation configuration file for ++formats that support this, and recreates the formats afterwards to ++enable the new languages. Available formats are shown when no ++.I FORMAT ++is given. ++.IP ++Note that for formats that use LaTeX's ++.I language.dat, ++ e.g. ++.I (pdf)jadetex ++and ++.I latex ++itself, this change is not persistent, since this file is a generated ++file. You should not use this command in these cases, read ++.B update-language(1) ++for alternatives. ++.TP ++.B init [format] ++Recreate ++.I format ++or all formats if none is given, and the font information. This is ++the same as calling ++.B fmtutil --byfmt format ++or ++.B fmtutil --all, ++respectively, followed by ++.B updmap. ++.TP ++.B mode-list ++List available printer modes, together with the printers they were ++developed for, and their DPI resolution ++.TP ++.B mode MODE ++Set the default printer mode in ++.I /etc/texmf/web2c/mktex.cnf ++or the respective user file in ++.I $TEXMFCONFIG/web2c ++to ++.B MODE. ++.TP ++.B paper [a4|letter] ++Set the default papersize for ++.B dvips, dvipdfm, pdftex ++and ++.B xdvi. ++The set is restricted because not all programs understand all sizes. ++.TP ++.B pdftex paper [a4|letter] ++Set the default paper size for ++.B pdftex. ++.TP ++.B rehash ++Call ++.B mktexlsr. ++.TP ++.B xdvi paper PAPER ++Set the default paper size for ++.B xdvi. ++The (long) list is available with ++.B texconfig xdvi paper. ++ ++.SH ENVIRONMENT ++To let you change files, ++.B texconfig ++will open the editor specified in the VISUAL or EDITOR variables, or ++.B sensible-editor ++if both are unset. + .SH "SEE ALSO" ++.IR whiptail (1), + .IR dialog (1), +-.IR initex (1), ++.IR tex (1), + .IR mf (1), + .IR vi (1), + .IR EDITOR +-environment-variable. ++environment variable. + .SH AUTHOR + Thomas Esser +Index: texlive-bin-2007/texmf/doc/man/man1/texconfig.1 +=================================================================== +--- texlive-bin-2007.orig/texmf/doc/man/man1/texconfig.1 2007-06-14 10:24:46.000000000 +0200 ++++ texlive-bin-2007/texmf/doc/man/man1/texconfig.1 2007-06-18 09:53:55.000000000 +0200 +@@ -6,22 +6,230 @@ + .SH SYNOPSIS + .B texconfig + .LP ++.B texconfig ++[\fB commands\fR ...] ++.LP + .B texconfig-sys + .SH DESCRIPTION + .I texconfig +-allows to configure and maintain ++allows one to configure and maintain ++.I teTeX ++in an easy and convenient manner, offering a series of dialog boxes to ++the user. After choosing settings or options, the appropriate files ++are changed automatically and the new settings are applied for the ++user. If needed, copies of files in ++.I TEXMFDIST ++or ++.I TEXMFMAIN ++will be made in the user's ++.I TEXMFCONFIG ++tree. ++.PP ++.I texconfig ++uses either the ++.IR whiptail (1) ++or ++.IR dialog (1) ++program to communicate with the user, so must be run in a terminal. ++.PP ++For making system-wide changes, which will apply to all users of + .I teTeX +-in an easy and convenient manner. It uses the +-.I dialog +-program to draw nice input boxes. After answering the dialoges, the +-appropriate files are changed automatically and all necessary +-steps are involved to apply the new settings. ++(for example, default paper size and so on), run ++.I texconfig-sys ++instead. Changed or generated files will be placed in ++.I TEXMFSYSCONFIG. ++(You may need ot be root to do this.) ++.PP ++Note that on a Debian system, changes to formats, font setup, ++hyphenation for different languages, etc. should not be done with ++texconfig, because ++.B fmtutil.cnf(5), updmap.cfg(5), texmf.cnf ++and ++.B language.dat ++are generated files in Debian. See ++.I TeX-on-Debian.pdf, TeX-on-Debian.txt.gz ++or ++.I TeX-on-Debian.hmlt/index.html ++in ++.I /usr/share/doc/tex-common/ ++for alternatives. ++.PP ++.I texconfig ++also offers a non-interactive batch mode which can be accessed with ++the following commands ++.SH COMMANDS ++Commands that accept further options usually display available options ++if called without them. For example, ++.B texconfig dvipdfm paper ++will inform about valid paper settings. ++.PP ++.B ++.IP conf ++Display the system configuration. Note that some of the files listed ++as configuration files are generated files on a Debian system. ++.PP ++.TP ++.B dvipdfm paper [letter|legal|ledger|tabloid|a4|a3] ++Set up dvipdfm to use papersize PAPER by default. ++.TP ++.B dvips add PRINTERNAME ++Create a new (empty) configuration file ++.I TEXMFCONFIG/dvips/config/config.PRINTERNAME. ++This file can later be filled with the ++.B mode, offset ++or ++.B printcmd ++options ++.TP ++.B dvips del PRINTERNAME ++Remove ++.I config.PRINTERNAME ++.TP ++.B dvips mode ++List available MetaFont modes. ++.TP ++.B dvips [-P PRINTER] mode MODE ++Change the MetaFont mode to ++.I MODE ++for ++.I PRINTER ++or for all output files ++.I (config.ps), ++if no ++.B -P ++option is given. ++.TP ++.B dvips [-P PRINTER] offset x-OFFSET,y-OFFSET ++Set printer offset for ++.I PRINTER ++or for all output files ++.I (config.ps), ++if no ++.B -P ++option is given. Offsets must be given with units, e.g. ++.I 0pt,10pt ++You can use testpage.tex from the LaTeX distribution to find these ++numbers. ++.TP ++.B dvips [-P PRINTER] printcmd CMD ++Set the printing command for ++.I PRINTER ++or for all output files ++.I (config.ps), ++if no ++.B -P ++option is given. Commands might be ++.B lp ++or ++.B lpr. ++See the description of the ++.I o ++option in ++.B info dvips ++or the ++.I -O ++option in ++.B dvips(1). ++.TP ++.B faq ++Display the list of Frequently Asked Questions about ++.B teTeX ++(and their answers). ++.TP ++.B font vardir DIR, font ro, font ro ++These options should not be used on a Debian system unless you really ++know what you are doing. For details, look at the output of ++.B texconfig fonts ++and read section 2.5, font caching, in the TeX-on-Debian documentation ++in ++.I /usr/share/doc/tex-common/. ++.TP ++.B formats ++This command allows to edit ++.B fmtutil.cnf(5) ++and (re)creates any new or changed formats afterwards. It should not ++be used on Debian systems, unless you want to temporarily create and ++test a specific format, because ++.B fmtutil.cnf(5) ++is a generated file in Debian, and changes will be overwritten. See ++.B update-fmtutil ++for details. ++.TP ++.B hyphen FORMAT ++This command allows to edit the hyphenation configuration file for ++formats that support this, and recreates the formats afterwards to ++enable the new languages. Available formats are shown when no ++.I FORMAT ++is given. ++.IP ++Note that for formats that use LaTeX's ++.I language.dat, ++ e.g. ++.I (pdf)jadetex ++and ++.I latex ++itself, this change is not persistent, since this file is a generated ++file. You should not use this command in these cases, read ++.B update-language(1) ++for alternatives. ++.TP ++.B init [format] ++Recreate ++.I format ++or all formats if none is given, and the font information. This is ++the same as calling ++.B fmtutil --byfmt format ++or ++.B fmtutil --all, ++respectively, followed by ++.B updmap. ++.TP ++.B mode-list ++List available printer modes, together with the printers they were ++developed for, and their DPI resolution ++.TP ++.B mode MODE ++Set the default printer mode in ++.I /etc/texmf/web2c/mktex.cnf ++or the respective user file in ++.I $TEXMFCONFIG/web2c ++to ++.B MODE. ++.TP ++.B paper [a4|letter] ++Set the default papersize for ++.B dvips, dvipdfm, pdftex ++and ++.B xdvi. ++The set is restricted because not all programs understand all sizes. ++.TP ++.B pdftex paper [a4|letter] ++Set the default paper size for ++.B pdftex. ++.TP ++.B rehash ++Call ++.B mktexlsr. ++.TP ++.B xdvi paper PAPER ++Set the default paper size for ++.B xdvi. ++The (long) list is available with ++.B texconfig xdvi paper. ++ ++.SH ENVIRONMENT ++To let you change files, ++.B texconfig ++will open the editor specified in the VISUAL or EDITOR variables, or ++.B sensible-editor ++if both are unset. + .SH "SEE ALSO" ++.IR whiptail (1), + .IR dialog (1), +-.IR initex (1), ++.IR tex (1), + .IR mf (1), + .IR vi (1), + .IR EDITOR +-environment-variable. ++environment variable. + .SH AUTHOR + Thomas Esser --- texlive-bin-2007.dfsg.1.orig/debian/patches/60_getnonfreefonts_bash +++ texlive-bin-2007.dfsg.1/debian/patches/60_getnonfreefonts_bash @@ -0,0 +1,14 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 60_getnonfreefonts_bash.dpatch by Norbert Preining +## +## DP: use bash as shell for getnonfreefonts + +@DPATCH@ +--- ./bin.special/getnonfreefonts.orig 2006-12-09 15:57:40.000000000 +0100 ++++ ./bin.special/getnonfreefonts 2006-12-09 15:57:46.000000000 +0100 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + ## getnonfreefonts + ## Copyright 2005 Reinhard Kotucha --- texlive-bin-2007.dfsg.1.orig/debian/patches/61_dvipdfm_timezone +++ texlive-bin-2007.dfsg.1/debian/patches/61_dvipdfm_timezone @@ -0,0 +1,59 @@ +# 61_dvipdfm_timezone by "Mark A. Wicks" +# +# fix crash of dvipdfm with 0.5 timezones + + build/source/texk/dvipdfm/pdfdoc.c | 34 +++++++++++++++++++++++----------- + 1 file changed, 23 insertions(+), 11 deletions(-) + +Index: texlive-bin-2007/build/source/texk/dvipdfm/pdfdoc.c +=================================================================== +--- texlive-bin-2007.orig/build/source/texk/dvipdfm/pdfdoc.c 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2007/build/source/texk/dvipdfm/pdfdoc.c 2007-02-15 15:53:08.000000000 +0100 +@@ -232,13 +232,7 @@ + + static char *asn_date (void) + { +-#ifndef HAVE_TIMEZONE +- #ifdef TM_GM_TOFF +- #define timezone (bdtime->gm_toff) +- #else +- #define timezone 0l +-#endif /* TM_GM_TOFF */ +-#endif /* HAVE_TIMEZONE */ ++ long tz_offset; + static char date_string[24]; + time_t current_time; + struct tm *bd_time; +@@ -247,10 +241,28 @@ + } + time(¤t_time); + bd_time = localtime(¤t_time); +- sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%+03ld'%02ld'", +- bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday, +- bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec, +- -timezone/3600, timezone%3600); ++ ++#ifdef HAVE_TM_GMTOFF /* Preferred way to get time zone offset */ ++ tz_offset = bd_time->tm_gmtoff; ++#else ++#ifdef HAVE_TIMEZONE /* Plan B --- use external variable 'timezone' ++ /* (may not provide correct offset for daylight savings time) */ ++ tz_offset = - timezone; ++#else /* Last resort --- without more information, set offset to zero */ ++ tz_offset = 0l; ++#endif /* HAVE_TIMEZONE */ ++#endif /* HAVE_TM_GMTOFF */ ++ ++ if (tz_offset == 0l) { ++ sprintf (date_string, "D:%04d%02d%02d%02d%02d%02dZ00'00'", ++ bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday, ++ bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec); ++ } else { ++ sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%c%02ld'%02ld'", ++ bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday, ++ bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec, ++ (tz_offset>0)? '+':'-', labs(tz_offset)/3600, (labs(tz_offset)/60)%60); ++ } + return date_string; + } + --- texlive-bin-2007.dfsg.1.orig/debian/patches/54_checklib_fixes +++ texlive-bin-2007.dfsg.1/debian/patches/54_checklib_fixes @@ -0,0 +1,62 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 54_checklib_fixes.dpatch by Norbert Preining +## +## DP: fix unnecessary libraries in the ELF header, ie libs which were +## DP: added to teh bin at linking stage + +@DPATCH@ + build/source/texk/web2c/Makefile.in | 4 ++-- + build/source/texk/xdvik/Makefile.in | 4 ++-- + build/source/utils/pdfopen/Makefile.in | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +Index: texlive-bin-2006.svn3816/build/source/texk/web2c/Makefile.in +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/web2c/Makefile.in 2007-01-10 18:39:42.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/web2c/Makefile.in 2007-01-26 04:03:16.000000000 +0100 +@@ -55,10 +55,10 @@ + # All the x_... variables will be empty if we aren't supporting X. + x_cppflags = @X_CFLAGS@ + x_ldflags = @X_LIBS@ +-x_pre_libs = @X_PRE_LIBS@ ++x_pre_libs = # disabled since it created unnecessary deps @X_PRE_LIBS@ + x_extra_libs = @X_EXTRA_LIBS@ + x_tool_libs = @x_tool_libs@ +-x_ext_lib = @x_ext_lib@ ++x_ext_lib = # disabled since it created unnecessary deps @x_ext_lib@ + wlibs = @wlibs@ + # Follow the library order used in X11R6 itself: + # -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 (some may not be present). +Index: texlive-bin-2006.svn3816/build/source/texk/xdvik/Makefile.in +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/Makefile.in 2006-01-17 22:41:51.000000000 +0100 ++++ texlive-bin-2006.svn3816/build/source/texk/xdvik/Makefile.in 2007-01-26 04:03:16.000000000 +0100 +@@ -17,13 +17,13 @@ + # This matches web2c (needed only for Metafont). + x_cppflags=@X_CFLAGS@ @iconv_includes@ + x_ldflags=@X_LIBS@ @x_linker_options@ @iconv_libpath@ +-x_pre_libs=@X_PRE_LIBS@ ++x_pre_libs= # disabled as it generates unnecessary deps @X_PRE_LIBS@ + x_extra_libs=@X_EXTRA_LIBS@ @iconv_libs@ + x_tool_libs=@x_tool_libs@ + x_xmu_lib=@x_xmu_lib@ + x_xpm_libs=@x_xpm_libs@ + # -lXp and -lXext +-x_ext_lib=@x_ext_lib@ ++x_ext_lib= # disabled as it generates unnecessary deps @x_ext_lib@ + + # Follow the library order used in X11R6 itself. + # It seems that on Cygwin, libXaw needs _XpmReadFileToPixmap, so we put +Index: texlive-bin-2006.svn3816/build/source/utils/pdfopen/Makefile.in +=================================================================== +--- texlive-bin-2006.svn3816.orig/build/source/utils/pdfopen/Makefile.in 2006-06-15 15:28:00.000000000 +0200 ++++ texlive-bin-2006.svn3816/build/source/utils/pdfopen/Makefile.in 2007-01-26 04:03:16.000000000 +0100 +@@ -158,7 +158,7 @@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ + AM_CFLAGS = $(X_CFLAGS) +-LDADD = $(X_LIBS) -lX11 -lXmu $(X_EXTRA_LIBS) ++LDADD = $(X_LIBS) -lX11 $(X_EXTRA_LIBS) + pdfopen_SOURCES = pdfopen.c sendx.c + pdfclose_SOURCES = pdfclose.c sendx.c + all: all-am --- texlive-bin-2007.dfsg.1.orig/debian/texlive-lang-indic.root/usr/share/man/man1/devnag.1 +++ texlive-bin-2007.dfsg.1/debian/texlive-lang-indic.root/usr/share/man/man1/devnag.1 @@ -0,0 +1,35 @@ +.TH DEVNAG "1" "April 2006" "devnag 2.13" "User Commands" +.SH NAME +devnag \- Devanagari for TeX preprocessor +.SH SYNOPSIS +.B devnag in[.dn] [out[.tex]] +.SH DESCRIPTION +.PP +.B devnag +is a preprocessor that reads transliterated Devanagari input delimited by +\dn and converts it into a form with which TeX is familiar. +.PP +The preprocessor +handles the details of character placement such as the alignment of +vowel diacritics and consonant ligatures. The rest of the layout, +however, must be managed by the user. +.PP +For specification of the format please see the documentation accompanying +the package. +.SH OPTIONS +.TP +in[.dn] out[.tex] +The default file extension for an input file is .dn and for an output +file .tex. The output filename is optional. If an output filename is +not specified, the preprocessor will name it after the input file. +.TP +\fB\-v\fR +report devnag version +.SH AUTHORS +.B devnag +was written by Frans J. Velthuis and is currently +maintained by Zdenek Wagner . +This manpage +was written by Norbert Preining for Debian/GNU Linux and may be used, +modified and/or distributed freely by anyone. + --- texlive-bin-2007.dfsg.1.orig/debian/create-doc-links +++ texlive-bin-2007.dfsg.1/debian/create-doc-links @@ -0,0 +1,21 @@ +# +# create-doc-links +# +# (c) 2006 Norbert Preining +# $Id$ +# create links from every file under /usr/share/doc/$1/ to +# /usr/share/doc/$2/ +# + +pref="./debian/$1" +src="usr/share/doc/$1" +dst="usr/share/doc/$2" + +mkdir -p "$dst" + +for f in $(cd "$pref/$src"; find . -mindepth 2 -type f) ; do + g=$(echo $f | cut -b 3-) + echo "$src/$g" "$dst/$g" +done + + --- texlive-bin-2007.dfsg.1.orig/debian/bug.script +++ texlive-bin-2007.dfsg.1/debian/bug.script @@ -0,0 +1,87 @@ +#!/bin/bash +# $Id: bug.script 2906 2007-05-29 11:01:20Z frank $ +set -e + +cat <&3 <&3 +echo " List of ls-R files" >&3 +echo >&3 +for file in $ls_R_files; do + ls -l $file >&3 +# echo >&3 +# cat $file >&3 +# echo "######################################" >&3 +done + +echo "######################################" >&3 +echo " Config files" >&3 +for i in texmf.cnf fmtutil.cnf updmap.cfg ; do + f=$(kpsewhich --format='web2c files' $i) + if [ -z "$f" ] ; then + echo "Warning: $i cannot be found with kpsewhich!" >&3 + else + ls -l $f >&3 + fi +done +for i in language.dat ; do + f=$(kpsewhich -progname=latex $i) + if [ -z "$f" ] ; then + echo "Warning: $i cannot be found with kpsewhich!" >&3 + else + ls -l $f >&3 + fi +done + +echo "######################################" >&3 +echo " Files in /etc/texmf/web2c/" >&3 +ls -l /etc/texmf/web2c/ >&3 + +echo "######################################" >&3 +echo " md5sums of texmf.d" >&3 +md5sum /etc/texmf/texmf.d/* >&3 + --- texlive-bin-2007.dfsg.1.orig/debian/compat +++ texlive-bin-2007.dfsg.1/debian/compat @@ -0,0 +1 @@ +5 --- texlive-bin-2007.dfsg.1.orig/debian/update-link-files.sh +++ texlive-bin-2007.dfsg.1/debian/update-link-files.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# +# update-link-files.sh +# $Id: update-link-files.sh 2583 2007-03-15 20:12:56Z frank $ +# +# This script serves two purposes: +# 1) it copies the content of $package.links.dist to $package.links +# 2) it adjusts the links in $package.links.generated to files which +# have been compressed by dh_compress +# +# Norbert Preining, 2005-2006 +# GPL +set -e +shopt -s nullglob + +# +# first copy the dist link files to the normal +for i in debian/*.links.dist ; do + cp $i debian/`basename $i .dist` +done + +for i in debian/*.links.generated ; do + bn=`basename $i .links.generated` + while read a b ; do + case "$a" in + usr/share/doc/$bn/* ) + if [ -r debian/$bn/$a ] ; then + echo "$a $b" + else + if [ -r debian/$bn/$a.gz ] ; then # + echo "$a.gz $b.gz" + else + echo "Missing $a" >&2 + fi + fi + ;; + * ) + echo "$a $b" + ;; + esac + done < $i >> debian/$bn.links +done + --- texlive-bin-2007.dfsg.1.orig/debian/convert-info-files-to-unix.sh +++ texlive-bin-2007.dfsg.1/debian/convert-info-files-to-unix.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# convert-info-files-to-unix.sh +# +# info files in texlive are with DOS lineendings. Fix this here +# +# $Id: convert-info-files-to-unix.sh 2583 2007-03-15 20:12:56Z frank $ +# Norbert Preining, 2005 +# GPL +set -e +shopt -s nullglob + +for f in debian/*.info ; do + for i in `cat $f` ; do + sed -e 's/\r$//' $i > $i.new + mv $i.new $i + done +done + --- texlive-bin-2007.dfsg.1.orig/debian/tpm2liclines +++ texlive-bin-2007.dfsg.1/debian/tpm2liclines @@ -0,0 +1,1318 @@ +12many: not-in-catalogue +a0poster: lppl (verification data:1.22b:1.22b:2006-02-08:norbusan:) +aastex: lppl (verification data:5.2:5.2:2006-02-08:norbusan:) +abbr: pd (unverified) +abc: lppl (unverified) +abstract: lppl (verification data:1.1:1.1:2006-02-08:norbusan:) +abstyles: not-in-catalogue +accfonts: gpl (unverified) +achemso: lppl (unverified) +acmconf: lppl (unverified) +acmtrans: unknown (unverified) +acronym: lppl (verification data:1.26:1.17:2006-03-07:frank:header) +active-conf: lppl (unverified) +adobeuro: not-in-catalogue +adrconv: lppl (verification data:1.2c:1.2b:2006-03-07:frank:header) +adrlist: unknown (unverified) +ae: lppl (verification data:1.4:1.4:2007-05-29:frank:README) +aeguill: lppl (unverified) +aguplus: lppl (unverified) +ai: not-in-catalogue +aiaa: lppl (unverified) +akletter: lppl (verification data:1.5i:1.5i:2006-02-08:norbusan:) +alatex: gpl (unverified) +albertus: not-in-catalogue +aleph: unknown (unverified) +alg: lppl (verification data:2001-03-13:2001-03-13:2006-02-08:norbusan:) +algorithm2e: lppl (verification data:3.9:3.9:2006-02-08:norbusan:) +algorithmicx: lppl (verification data:::2006-10-12:norbusan:algorithmicx.pdf) +algorithms: lgpl (verification data::2005-07-05:2006-02-08:norbusan:) +allrunes: lppl (unverified) +alnumsec: lppl (verification data:v0.02:v0.02:2006-02-08:norbusan:) +altfont: gpl (unverified) +ams: not-in-catalogue +amscls: lppl (unverified) +amsfonts: lppl (unverified) +amsltx2: not-in-catalogue +amsmath: lppl (unverified) +amsrefs: lppl (unverified) +amstex: lppl (unverified) +answers: unknown (unverified) +antiqua: not-in-catalogue +antomega: lppl (unverified) +antp: pd (unverified) +antt: gfsl (unverified) +anysize: pd (unverified) +apa: lppl (unverified) +apacite: lppl (unverified) +apl: unknown (unverified) +appendix: lppl (verification data:1.2:1.2a:2006-07-24:frank:README) +ar: dfsg (unverified) +arabi: lppl (unverified) +arabtex: lppl (unverified) +archaic: lppl (unverified) +arcs: lppl (verification data:1:1:2006-10-12:norbusan:arcs.dtx) +arev: lppl (unverified) +armenian: not-in-catalogue +arphic: other-free (unverified) +arrayjob: lppl (unverified) +arydshln: lppl (verification data:1.71:1.71:2006-10-12:norbusan:arydshln.dtx) +asaetr: pd (unverified) +ascelike: lppl (verification data:1999-06-25:1999-06-25:2006-02-08:norbusan:) +ascii: lppl (verification data:2.0::2006/06/19:auth:graham:) +assignment: lppl (verification data:::2006-10-12:norbusan:README) +astro: unknown (unverified) +atqolive: not-in-catalogue +attachfile: lppl (verification data:v1.3:1.2a:2006-10-12:norbusan:README) +augie: lppl (verification data::2000-10-19:2006-02-08:norbusan:) +aurical: lppl (verification data:1.4:2004-04-16:2006-02-08:norbusan:) +aurora: nocommercial (unverified) +authorindex: lppl (unverified) +auto-pst-pdf: lppl (unverified) +autotab: unknown (unverified) +avantgar: gpl (unverified) +babel: lppl (verification data:3.8h:3.8h:2006-04-28:frank:legal.bbl) +babelbib: lppl (unverified) +backgammon: other-free (unverified) +bangtex: lppl (unverified) +barcode2: not-in-catalogue +barcodes: lppl (unverified) +bardiag: lppl (unverified) +barr: not-in-catalogue +bayer: gpl (unverified) +bbding: lppl (unverified) +bbm: unknown (unverified) +bbold: bsd (verification data:1.01:1.01:2006-03-14:frank:bbold.dtx,INSTALL) +beamer: gpl (verification data:3.07:3.06:2006-01-29:graham:) +beebe: not-in-catalogue +begriff: gpl (verification data:1.6:1.6:2006-10-17:norbusan:header) +belleek: pd (unverified) +bengali: not-in-catalogue +bera: nosell (unverified) +betababel: lppl (unverified) +beton: lppl (verification data::1.3:2006-07-24:frank:legal.txt) +bez123: lppl1.3 (unverified) +bezos: lppl (verification data::n/a:2006-07-24:frank:header) +bghyphen: lppl (unverified) +bibarts: gpl (unverified) +bibhtml: gpl (unverified) +bibleref: lppl (unverified) +biblist: unknown (unverified) +bibtex: dfsg (unverified) +bibtopic: gpl (verification data:1.1a:1.1a:2006-10-17:norbusan:header) +bibunits: lppl (verification data:2.2:2.4:2006-07-31::header) +bigfoot: gpl (unverified) +binomexp: lppl (unverified) +biocon: gpl (unverified) +bitfield: lppl (unverified) +bizcard: gpl (unverified) +blacklettert1: dfsg (unverified) +blindtext: lppl (unverified) +boites: gpl (unverified) +bookhands: lppl (unverified) +booklet: lppl (unverified) +bookman: gpl (unverified) +booktabs: gpl (verification data:1.61803:1.618:2006-07-31:frank:header) +bophook: lppl (unverified) +borceux: unknown (unverified) +boxhandler: lppl (unverified) +bpchem: lppl (unverified) +braille: lppl (unverified) +breakurl: lppl (unverified) +breqn: unknown (unverified) +bridge: unknown (unverified) +brushscr: pd (unverified) +burmese: lppl (unverified) +bussproofs: lppl1.3 (verification data:1.0:1.0:2006-11-02:norbusan:header) +bytefield: lppl (unverified) +c-pascal: pd (unverified) +c90enc: not-in-catalogue +calendar: nosell (unverified) +calligra: unknown (unverified) +calrsfs: unknown (unverified) +calxxxx: pd (unverified) +camel: unknown (unverified) +captcont: lppl (unverified) +caption: lppl (verification data:3.0q:3.0c,3.1:2006-03-15:frank:header) +carlisle: lppl (unverified) +casyl: unknown (unverified) +cb: lppl (unverified) +cbcoptic: lppl (unverified) +cc-pl: pd (unverified) +ccaption: lppl (verification data:3.2a:3.2a:2006-11-09:norbusan:README) +ccfonts: lppl (verification data:1.1:1.1:2006-03-14:frank:readme) +cchess: unknown (unverified) +cd-cover: gpl (unverified) +cd: unknown (unverified) +cdpbundl: lppl (verification data:0.34:0.34:2006-11-09:norbusan:manifest.txt) +cellspace: lppl (unverified) +cellular: unknown (unverified) +changebar: lppl (verification data:3.5c:3.4g:2006-08-21:frank:changebar.dtx) +chappg: lppl (unverified) +chapterfolder: lppl (unverified) +charter: other (verification data:::2006-05-03:frank:readme.charter) +chem-journal: gpl (unverified) +chemarrow: unknown (unverified) +chemcompounds: lppl (unverified) +chemcono: lppl (unverified) +cheq: nosell (unverified) +cherokee: unknown (unverified) +chess: pd (unverified) +china2e: unknown (unverified) +circ: gpl (unverified) +cirth: unknown (unverified) +cite: dfsg (unverified) +citeref: lppl (unverified) +cjhebrew: lppl (unverified) +CJK: gpl (unverified) +cjw: unknown (unverified) +clarendo: not-in-catalogue +clefval: lppl (verification data:::2006-11-09:norbusan:header) +clock: dfsg (unverified) +clrscode: lppl (unverified) +cm-lgc: gpl (unverified) +cm-super: gpl (unverified) +cm: knuth (unverified) +cmap: lppl (unverified) +cmarrows: lppl (unverified) +cmastro: unknown (unverified) +cmbright: lppl (verification data:8.1:7.1,8.1:2006-03-15:frank:README) +cmcyr: pd (unverified) +cmcyralt: not-in-catalogue +cmdtrack: dfsg (unverified) +cmex: not-in-catalogue +cmextra: not-in-catalogue +cmll: lppl (unverified) +cmpica: unknown (unverified) +cmsd: lppl (unverified) +cns: not-in-catalogue +codepage: unknown (unverified) +colorinfo: lppl (unverified) +colorsep: pd (unverified) +colortab: unknown (unverified) +colortbl: lppl (unverified) +combine: lppl (unverified) +commath: lppl (unverified) +comment: gpl (unverified) +compactbib: lppl (unverified) +complexity: lppl (unverified) +computational-complexity: lppl (unverified) +concmath: lppl (verification data:1999/03/18:1999/03/18:2006-03-30:frank:README) +concprog: gpl (unverified) +concrete: knuth (unverified) +context: nocommercial (unverified) +contour: lppl (unverified) +cooking: gpl (unverified) +cool: lgpl (unverified) +coollist: lgpl (unverified) +coolstr: lgpl (unverified) +cooltooltips: lppl (unverified) +coordsys: lppl (verification data:1.4:1.4:2006-11-09:norbusan:README) +coronet: not-in-catalogue +count1to: lppl (unverified) +courier-scaled: lppl (unverified) +courier: gpl (unverified) +courseoutline: unknown (unverified) +coursepaper: unknown (unverified) +coverpage: lppl (unverified) +covington: pd (unverified) +croatian: unknown (unverified) +crop: lppl (unverified) +crossreference: lppl (unverified) +crosswrd: unknown (unverified) +cryst: dfsg (unverified) +cs: gpl (unverified) +cslatex: gpl (unverified) +csplain: other (unverified) +csquotes: lppl (unverified) +csvtools: lppl (unverified) +ctable: lppl (unverified) +ctib: gpl (unverified) +cuisine: lppl (unverified) +currvita: gpl (unverified) +cursor: unknown (unverified) +curve: lppl (unverified) +curve2e: lppl (unverified) +curves: lppl (verification data:1.50:1.50:2006-03-15:frank:header) +custom-bib: lppl (verification data:4.20:4.14:2006-03-15:frank:header) +cv: gpl (unverified) +cweb: knuth (unverified) +cwpuzzle: not-in-catalogue +cyrillic: lppl (verification data:::2006-03-15:frank:00readme.txt,header) +cyrplain: lppl (unverified) +dancers: unknown (unverified) +dashbox: lppl (unverified) +dashrule: lppl (unverified) +dateiliste: lppl (unverified) +datenumber: lppl (unverified) +datetime: lppl (unverified) +dcpic: gpl (unverified) +decimal: lppl (unverified) +deleq: nosell (unverified) +diagnose: gpl (unverified) +dialogl: unknown (unverified) +dice: lppl (unverified) +dichokey: pd (unverified) +dictsym: lppl (unverified) +digiconfigs: lppl (unverified) +dinat: pd (unverified) +dinbrief: lppl (unverified) +dingbat: lppl (verification data:1.0:1.0:2006-11-09:norbusan:README) +directory: lppl (unverified) +dk-bib: dfsg (unverified) +dnaseq: lppl (unverified) +docmfp: lppl (unverified) +doipubmed: lppl (unverified) +dotseqn: unknown (unverified) +dottex: gpl (unverified) +doublestroke: dfsg (unverified) +dpfloat: lppl (verification data::2006-10-05:2006-11-09:norbusan:dpfloat.sty) +draftcopy: lppl (unverified) +draftwatermark: lppl (unverified) +dramatist: gpl (verification data:1.2d:1.2d:2006-11-09:norbusan:dramatist.dtx) +dratex: lppl (unverified) +dropping: nosell (unverified) +dtk: not-in-catalogue +duerer: unknown (unverified) +dvdcoll: lppl (verification data:v1.1:0.6a:2006-11-02:norbusan:README) +dvips: gpl (unverified) +dvipsconfig: gpl (unverified) +dyntree: lgpl (unverified) +ean: gpl (unverified) +easy: lppl (unverified) +ebezier: lppl (unverified) +ebong: pd (unverified) +ebsthesis: lppl (verification data:1.0:0.9i:2006-11-09:norbusan:LICENSE) +ec: lppl (unverified) +eCards: lppl (unverified) +ecc: lppl (unverified) +ecltree: lppl (unverified) +eco: gpl (unverified) +economic: lppl (unverified) +edmac: lppl (unverified) +ednotes: lppl (unverified) +eemeir: lppl (unverified) +eepic: dfsg (unverified) +egameps: lppl (unverified) +egplot: gpl (verification data:1.02a:1.02a:2006-11-09:norbusan:README) +eiad: unknown (unverified) +eijkhout: unknown (unverified) +ellipsis: lppl (unverified) +elmath: lppl (unverified) +elpres: lppl (unverified) +elsevier-bib: lppl (unverified) +elsevier: lppl (unverified) +elvish: dfsg (unverified) +em: not-in-catalogue +emp: gpl (unverified) +empheq: lppl (unverified) +emulateapj: lppl (unverified) +enctex: gpl (unverified) +endfloat: gpl (verification data:2.4i:2.4i:2006-03-31:frank:readme.enf) +endheads: lppl (unverified) +engpron: lppl (unverified) +engrec: lppl (unverified) +enumitem: dfsg (unverified) +envbig: unknown (unverified) +envlab: lppl (unverified) +epigraph: lppl (unverified) +epiolmec: lppl (unverified) +eplain: dfsg (unverified) +epsdice: lppl (unverified) +epsf: pd (unverified) +eqlist: unknown (unverified) +eqname: unknown (unverified) +eqnarray: unknown (unverified) +eqparbox: lppl (unverified) +esdiff: unknown (unverified) +ESIEEcv: lppl (unverified) +esint-type1: pd (unverified) +esint: pd (unverified) +eskd: lppl (unverified) +eskdx: lppl1.3 (verification data:0.97:0.96:2006-11-05:norbusan:README) +eso-pic: lppl (unverified) +esvect: gpl (unverified) +etaremune: lppl (unverified) +etex: other (unverified) +ethiop-t1: gpl (unverified) +ethiop: gpl (unverified) +euenc: lppl (unverified) +euler: lppl (unverified) +eulervm: lppl (verification data:4.0:4.0:2006-03-28:frank:README.eulervm) +euro-ce: not-in-catalogue +euro: lppl (unverified) +eurofont: other (unverified) +europecv: lppl (unverified) +eurosans: lppl (unverified) +eurosym: other (unverified) +euxm: not-in-catalogue +everypage: lppl (unverified) +everysel: lppl (unverified) +everyshi: lppl (unverified) +exam: lppl (unverified) +examdesign: lppl (unverified) +examplep: gpl (unverified) +exercise: gpl (unverified) +expdlist: lppl (unverified) +expl3: lppl (unverified) +export: lppl (unverified) +expressg: lppl (unverified) +extarrows: lgpl (unverified) +exteps: gpl (unverified) +extpfeil: lppl (unverified) +extract: lppl (verification data:1.8:1.8:2006-11-09:norbusan:README) +extsizes: lppl (unverified) +facsimile: lppl (unverified) +faktor: lppl (unverified) +fancybox: artistic (unverified) +fancyhdr: lppl (verification data:3.1:3.1:2006-03-31:frank:README) +fancynum: dfsg (unverified) +fancyref: gpl (unverified) +fancyvrb: artistic (verification data:1998/07/17:1998/07/17:2006-03-31:frank:fancyvrb.dtx,contrib/fvrb-ex.dtx) +fax: unknown (unverified) +fc: gpl (unverified) +featpost: gpl (unverified) +feyn: gpl (unverified) +feynmf: gpl (unverified) +figbib: lppl (unverified) +figsize: lppl (unverified) +filecontents: lppl (verification data:1.1a:1.1a:2006-11-09:norbusan:README) +finbib: not-in-catalogue +fink: lppl (unverified) +fixfoot: lppl (unverified) +fixme: lppl (unverified) +fixpdfmag: pd (unverified) +flabels: lppl (unverified) +flagderiv: gpl (unverified) +flashcards: gpl (unverified) +flippdf: lppl (unverified) +float: lppl (unverified) +floatflt: nosell (unverified) +floatrow: lppl (unverified) +flowfram: lppl (unverified) +fltpoint: dfsg (unverified) +fmp: lppl (unverified) +fmtcount: lppl (unverified) +fnbreak: lppl (unverified) +fncychap: dfsg (unverified) +foekfont: gpl (unverified) +foilhtml: lppl (unverified) +fontch: lppl (unverified) +fontinst: lppl (verification data:1.928:1.928:2006-02-23:frank:header) +fontname: gpl (unverified) +fontspec: lppl (unverified) +footbib: lppl (verification data:2.0.4:2.0.4:2006-11-09:norbusan:footbib.dtx) +footmisc: lppl (unverified) +footnpag: gpl (unverified) +forloop: lgpl (unverified) +formlett: unknown (unverified) +formula: gpl (unverified) +formular: lppl (unverified) +fourier: lppl (unverified) +fp: lppl (unverified) +fpl: gpl (verification data:1.002:1.002:2006-05-04:frank:README) +frcursive: gpl (unverified) +frenchle: lppl (unverified) +fribrief: unknown (unverified) +fullblck: unknown (unverified) +fullpict: unknown (unverified) +functan: lppl (unverified) +fundus: unknown (unverified) +futhark: unknown (unverified) +g-brief: lppl (unverified) +galley: not-in-catalogue +galois: lppl (unverified) +garamond: not-in-catalogue +garuda: not-in-catalogue +gastex: lppl (unverified) +gatech-thesis: gpl (unverified) +gauss: lppl (unverified) +genealogy: lppl (unverified) +genmisc: not-in-catalogue +genmpage: lppl (unverified) +geometry: lppl (unverified) +geomsty: unknown (unverified) +german: lppl (unverified) +germbib: unknown (unverified) +ginpenc: lppl (unverified) +gloss: lppl (unverified) +glossary: lppl (unverified) +glyphlist: not-in-catalogue +gmdoc: lppl (unverified) +gmiflink: lppl (unverified) +gmutils: lppl (unverified) +gmverb: lppl (unverified) +gnuplottex: gpl (verification data:0.2:0.2:2006-11-02:norbusan:header) +go: pd (unverified) +gost: lppl (unverified) +gothic: unknown (unverified) +graphics: lppl (unverified) +graphicx-psmin: lppl (unverified) +greek: not-in-catalogue +greektex: pd (unverified) +greenpoint: gpl (unverified) +grfpaste: lppl (unverified) +grnumalt: unknown (unverified) +groff: not-in-catalogue +grotesq: not-in-catalogue +grtimes: unknown (unverified) +grverb: not-in-catalogue +GuIT: not-in-catalogue +guitar: unknown (unverified) +gustlib: pd (unverified) +HA-prosper: lppl (unverified) +hands: unknown (unverified) +hanging: lppl (unverified) +harpoon: unknown (unverified) +harvard: unknown (unverified) +harvmac: unknown (unverified) +hatching: pd (unverified) +hc: dfsg (unverified) +helvetic: gpl (unverified) +hepparticles: lppl (unverified) +hepthesis: lppl (unverified) +hepunits: lppl (unverified) +hfbright: lppl (unverified) +hfoldsty: gpl (unverified) +hhtensor: lppl (unverified) +hieroglf: lppl (unverified) +hilowres: unknown (unverified) +histogr: lppl1.3 (verification data:1.01:1.01:2006-11-09:norbusan:histogr.dtx) +hitec: unknown (unverified) +hpsdiss: gpl (unverified) +hrlatex: lppl (unverified) +hvfloat: lppl (unverified) +hvmath: lppl (unverified) +hyper: lppl (unverified) +hyperref: lppl (unverified) +hyperxmp: lppl (unverified) +hyphenat: lppl (unverified) +hyplain: pd (unverified) +ibycus-babel: lppl (unverified) +ibycus: gpl (unverified) +ibygrk: gpl (unverified) +icsv: lppl (unverified) +IEEEconf: lppl (unverified) +ieeepes: lppl (unverified) +IEEEtran: lppl (unverified) +ifacmtg: other (unverified) +ifmslide: dfsg (unverified) +ifsym: dfsg (unverified) +ifxetex: lppl (unverified) +ijqc: lppl (unverified) +imac: gpl (unverified) +index: dfsg (unverified) +inlinebib: lppl (unverified) +insbox: pd (unverified) +interactiveworkbook: lppl (unverified) +invoice: dfsg (unverified) +iopart-num: lppl (unverified) +ipa: unknown (unverified) +iso: not-in-catalogue +iso10303: not-in-catalogue +isodate: lppl (unverified) +isorot: lppl (unverified) +isotope: lppl (unverified) +itrans: not-in-catalogue +iwona: gfsl (unverified) +jadetex: dfsg (unverified) +jhep: unknown (unverified) +jknapltx: gpl (unverified) +jmn: not-in-catalogue +jneurosci: lppl (unverified) +jpsj: lppl (unverified) +jsmisc: not-in-catalogue +jura: gpl (unverified) +juraabbrev: gpl (unverified) +jurabib: gpl (verification data:0.6:0.6:2006-11-09:norbusan:jurabib.dtx) +juramisc: lppl (unverified) +jurarsp: gpl (unverified) +kalender: unknown (unverified) +karnaugh: lppl (unverified) +kastrup: dfsg (unverified) +kdgreek: unknown (unverified) +kerkis: lppl (unverified) +kerntest: lppl (unverified) +keystroke: gpl (unverified) +kixfont: not-in-catalogue +kluwer: not-in-catalogue +knuthotherfonts: not-in-catalogue +koma-script: lppl (unverified) +labbook: lppl (unverified) +labelcas: lppl (unverified) +labels: lppl (unverified) +lambda: not-in-catalogue +lastpage: gpl (unverified) +latex-fonts: lppl (unverified) +latex-tds: lppl (unverified) +latex: lppl (verification data::2e:2006-04-25:frank:legal.txt) +latexconfig: not-in-catalogue +latexmp: pd (unverified) +layouts: lppl (unverified) +lazylist: lppl (unverified) +lcd: lppl (verification data:0.3:0.3:2006-11-09:norbusan:00readme) +lcg: lppl (unverified) +leaflet: lppl (unverified) +ledmac: lppl (unverified) +leftidx: lppl (unverified) +lettre: lppl (unverified) +lettrgth: not-in-catalogue +lettrine: lppl (unverified) +levy: not-in-catalogue +lewis: pd (unverified) +lexikon: lppl (unverified) +lfb: lppl (unverified) +lgreek: unknown (unverified) +lh: lppl (unverified) +lhcyr: other (unverified) +lhelp: gpl (unverified) +limap: lppl (unverified) +linearA: not-in-catalogue +lineno: lppl (unverified) +linguex: lppl (unverified) +lipsum: lppl (unverified) +listbib: gpl (unverified) +listings: lppl (verification data:1.4:1.4:2007-03-02:frank:README) +listliketab: lppl (unverified) +listofsymbols: lppl (unverified) +literat: not-in-catalogue +lkproof: gpl (unverified) +lm: gfsl (unverified) +lmextra: not-in-catalogue +localloc: dfsg (unverified) +logic: unknown (unverified) +logpap: lppl (unverified) +lsc: lppl (unverified) +ltablex: unknown (unverified) +ltabptch: lppl (unverified) +ltxindex: gpl (unverified) +ltxmisc: unknown (unverified) +ly1: unknown (unverified) +mafr: gpl (unverified) +magyar: lppl (unverified) +mailing: lppl (unverified) +makebox: lppl (unverified) +makecell: lppl (unverified) +makecirc: lppl (unverified) +makecmds: lppl (unverified) +makedtx: lppl (unverified) +makeglos: gpl (unverified) +makeindex: dfsg (unverified) +makeplot: lppl (unverified) +malayalam: not-in-catalogue +manfnt: lppl (unverified) +manjutex: gpl (unverified) +manuscript: lppl (unverified) +mapcodes: other (unverified) +maple: unknown (unverified) +marginnote: lppl (unverified) +marigold: not-in-catalogue +marvosym: gpl (unverified) +mathcomp: lppl (unverified) +mathdesign: gpl (unverified) +mathdots: lppl (unverified) +mathpazo: gpl (unverified) +maybemath: lppl (verification data:::2006-11-09:norbusan:README) +mcaption: lppl (unverified) +mceinleger: gpl (unverified) +mcite: gpl (unverified) +mdwtools: gpl (unverified) +memoir: lppl (unverified) +mentis: lppl (unverified) +menu: unknown (unverified) +metafont: not-in-catalogue +metaobj: lppl (verification data:0.83:0.83:2006-11-09:norbusan:README) +metaplot: lppl (verification data:0.91:0.91:2006-11-09:norbusan:README) +metapost: unknown (unverified) +metatex: gpl (unverified) +metauml: gpl (unverified) +method: lppl (unverified) +metre: lppl (unverified) +mex: pd (unverified) +mff: unknown (unverified) +mflogo: lppl (unverified) +mfnfss: lppl (unverified) +mfpic: lppl (unverified) +mft: not-in-catalogue +mftinc: lppl (unverified) +mftoeps: not-in-catalogue +mh: lppl (unverified) +mhchem: lppl (unverified) +mhequ: dfsg (unverified) +mhs: other (unverified) +microtype: lppl (unverified) +midnight: unknown (unverified) +miller: lppl (unverified) +minipage-marginpar: lppl (unverified) +miniplot: lppl (unverified) +minitoc: lppl (unverified) +minutes: dfsg (unverified) +misc: not-in-catalogue +misc209: not-in-catalogue +mkind-english: not-in-catalogue +mkind-german: not-in-catalogue +mla-paper: bsd (unverified) +mltex: unknown (unverified) +mnras: nosell (unverified) +moderncv: lppl (unverified) +modroman: lppl (unverified) +montex: gpl (unverified) +morehelp: other (unverified) +moresize: lppl (unverified) +moreverb: lppl (unverified) +morse: nosell (unverified) +movie15: lppl (verification data::2006-10-12:2006-11-02:norbusan:README) +mp3d: not-in-catalogue +mparhack: gpl (unverified) +mpattern: pd (unverified) +msc: lppl (unverified) +msg: lppl (unverified) +mslapa: unknown (unverified) +mtgreek: lppl (unverified) +multenum: unknown (unverified) +multi: not-in-catalogue +multibbl: lppl (unverified) +multibib: lppl (unverified) +multicap: lppl (unverified) +multido: lppl (unverified) +multirow: lppl (unverified) +multitoc: lppl (unverified) +munich: lppl (unverified) +musictex: unknown (unverified) +musixlyr: unknown (unverified) +musixps: not-in-catalogue +musixtex: gpl (unverified) +muthesis: lppl (unverified) +mwcls: lppl (verification data:0.65:0.65:2006-11-09:norbusan:README) +mwrite: other (unverified) +mxd: unknown (unverified) +mxedruli: unknown (unverified) +nag: lppl (unverified) +namespc: lppl (unverified) +natbib: lppl (unverified) +nath: gpl (unverified) +nature: unknown (unverified) +ncclatex: lppl (unverified) +ncctools: lppl (unverified) +ncntrsbk: not-in-catalogue +newalg: unknown (unverified) +newfile: lppl (unverified) +newlfm: lppl (unverified) +newsletr: other-free (unverified) +newthm: unknown (unverified) +newvbtm: lppl (unverified) +niceframe: unknown (unverified) +nih: lppl (unverified) +nkarta: unknown (unverified) +noitcrul: lppl (unverified) +nomencl: lppl (unverified) +nomentbl: lppl (unverified) +nonfloat: pd (unverified) +norasi: not-in-catalogue +notes: lppl (unverified) +nrc: lppl (unverified) +ntabbing: dfsg (unverified) +ntgclass: lppl (unverified) +ntheorem: lppl (unverified) +numline: unknown (unverified) +numprint: lppl (unverified) +oberdiek: lppl (verification data:::2006-11-03:norbusan:) +objectz: lppl (unverified) +oca: unknown (unverified) +ocherokee: lppl (unverified) +ocr-a: nosell (unverified) +ocr-latex: gpl (unverified) +octavo: lppl (unverified) +oesch: unknown (unverified) +ofs: knuth (unverified) +ogham: unknown (unverified) +ogonek: other (unverified) +oinuit: lppl (unverified) +oldstyle: lppl (unverified) +omega-devanagari: unknown (unverified) +omega: gpl (unverified) +onlyamsmath: lppl (unverified) +opcit: lppl (unverified) +optima: not-in-catalogue +ordinalpt: lppl (unverified) +osa: unknown (unverified) +osmanian: unknown (unverified) +ot2cyr: unknown (unverified) +othello: gpl (unverified) +otibet: not-in-catalogue +outline: unknown (unverified) +outliner: gpl (unverified) +overpic: lppl (unverified) +oxford: nosell (unverified) +pacioli: lppl (unverified) +pageno: other (unverified) +pagenote: lppl (unverified) +palatino: gpl (unverified) +paper: unknown (unverified) +papercdcase: lppl (unverified) +papertex: lppl (unverified) +paralist: lppl (unverified) +parallel: lppl (unverified) +paresse: lppl (unverified) +parrun: lppl (unverified) +passivetex: dfsg (unverified) +patch: lppl (unverified) +patchcmd: pd (unverified) +pauldoc: lppl (unverified) +pawpict: gpl (unverified) +pb-diagram: dfsg (unverified) +pbox: gpl (unverified) +pbsheet: lppl (unverified) +pclnfss: unknown (unverified) +pdcmac: gpl (unverified) +pdf-trans: pd (unverified) +pdfcprot: lppl (unverified) +pdfpages: lppl (unverified) +pdfscreen: lppl (verification data:1.5:1.5:2006-11-09:norbusan:header) +pdfslide: lppl (unverified) +pdfsync: lppl (unverified) +pdftex-def: lppl (unverified) +pdftricks: gpl (unverified) +pdfwin: not-in-catalogue +pecha: gpl (unverified) +perception: lppl (unverified) +perltex: lppl (unverified) +permute: lppl (unverified) +petri-nets: gpl (unverified) +pgf: lppl1.3 (verification data:1.10:1.10:2006-11-02:norbusan:LICENSE) +phaistos: lppl (unverified) +philokalia: lppl (unverified) +phonetic: unknown (unverified) +photo: lppl (unverified) +physe: unknown (unverified) +phyzzx: unknown (unverified) +picinpar: gpl (unverified) +pict2e: lppl (unverified) +pictex: unknown (unverified) +pictex2: lppl (unverified) +piechartmp: lppl (unverified) +pittetd: unknown (unverified) +pl: unknown (unverified) +placeins: pd (unverified) +plain: knuth (unverified) +plari: gpl (unverified) +plates: lppl (unverified) +platex: lppl (unverified) +play: lppl (unverified) +plgraph: not-in-catalogue +plnfss: lppl (unverified) +plweb: not-in-catalogue +pmgraph: unknown (unverified) +poemscol: lppl (unverified) +polyglot: not-in-catalogue +polynom: lppl (unverified) +polytable: lppl (verification data:0.8.2:0.8.2:2006-11-09:norbusan:README) +postcards: lppl (unverified) +powerdot: lppl (unverified) +ppower4: gpl (unverified) +ppr-prv: lppl (unverified) +pracjourn: gpl (unverified) +prelim2e: lppl (unverified) +preprint: lppl (unverified) +prettyref: unknown (unverified) +preview: gpl (verification data:11.84:11.81:2006-04-21:frank:header) +probsoln: lppl (unverified) +procIAGssymp: lppl (verification data:::2006-11-09:norbusan:procIAGssymp.sty) +progkeys: unknown (unverified) +program: gpl (unverified) +progress: lppl (unverified) +prosper: lppl (unverified) +protocol: lppl1.3 (verification data:1.9:1.9:2006-11-03:norbusan:readme) +psafm: not-in-catalogue +pseudocode: lppl (unverified) +psfig: nosell (unverified) +psfrag: dfsg (unverified) +psfragx: lppl (unverified) +psgo: lppl (unverified) +psizzl: lppl (unverified) +pslatex: lppl (unverified) +psnfss: lppl (verification data:9.2a:9.2:2006-05-02:frank:psfonts.dtx) +psnfssx: lppl (unverified) +pspicture: lppl (unverified) +pst-3d: lppl (verification data:1.0:1.0:2003-03-28:frank:header) +pst-3dplot: lppl (unverified) +pst-bar: lppl (verification data:::2006-11-09:norbusan:LICENSE) +pst-barcode: lppl (unverified) +pst-blur: lppl (unverified) +pst-circ: lppl (unverified) +pst-coil: lppl (unverified) +pst-dbicons: lppl (unverified) +pst-eps: lppl (unverified) +pst-eucl: lppl (unverified) +pst-fill: lppl (unverified) +pst-fr3d: lppl (unverified) +pst-func: lppl (unverified) +pst-geo: lppl (unverified) +pst-ghsb: not-in-catalogue +pst-gr3d: lppl (unverified) +pst-grad: lppl (unverified) +pst-infixplot: lppl (unverified) +pst-jtree: lppl (unverified) +pst-labo: lppl (verification data:2.03:2.03:2006-11-02:norbusan:header) +pst-lens: lppl (unverified) +pst-light3d: lppl (unverified) +pst-math: lppl (unverified) +pst-optic: dfsg (unverified) +pst-osci: lppl (unverified) +pst-pdf: lppl (unverified) +pst-pdgr: lppl (unverified) +pst-poly: lppl (verification data:1.60:1.60:2006-03-27:frank:header) +pst-slpe: lppl (unverified) +pst-text: lppl (unverified) +pst-uml: lppl (unverified) +pst-vue3d: lppl (unverified) +pstricks-add: lppl (unverified) +pstricks: lppl (unverified) +ptptex: unknown (unverified) +punk: knuth (unverified) +pxfonts: gpl (unverified) +qcm: lppl (unverified) +qfonts: gpl (unverified) +qobitree: unknown (unverified) +qpxqtx: not-in-catalogue +qsymbols: gpl (unverified) +qtree: lppl (unverified) +quotchap: lppl (unverified) +r-und-s: dfsg (unverified) +ragged2e: lppl (unverified) +randbild: lppl (unverified) +randtext: lppl (unverified) +rccol: dfsg (unverified) +rcs: gpl (unverified) +rcsinfo: lppl (unverified) +realcalc: nosell (unverified) +rectopma: lppl (unverified) +refcheck: gpl (unverified) +refman: lppl (unverified) +refstyle: lppl (unverified) +regcount: lppl (verification data:1.0:1.0:2006-11-09:norbusan:regcount.dtx) +register: lppl (verification data:1.5:1.4:2006-11-09:norbusan:register.dtx) +relenc: unknown (unverified) +repeatindex: lppl (unverified) +resume: lppl (unverified) +revtex: lppl (unverified) +rlepsf: lppl (unverified) +rmpage: unknown (unverified) +robustcommand: lppl (unverified) +robustindex: lppl (unverified) +roex: not-in-catalogue +romannum: lppl (unverified) +rotating: lppl (unverified) +rotfloat: lppl (unverified) +rotpages: lppl (unverified) +rsc: gpl (verification data:1.1:2006-10-30:2006-11-09:norbusan:header) +rsfs: lppl (unverified) +rst: nocommercial (unverified) +rtkinenc: lppl (verification data:1.0:1.0:2006-11-05:norbusan:rtkinenc.ins) +rtklage: not-in-catalogue +ruhyphen: lppl (unverified) +sae: nosell (unverified) +sanskrit: lppl (unverified) +sauerj: lppl (unverified) +sauter: unknown (unverified) +sauterfonts: gpl (verification data:::2006-11-05:norbusan:sauterfonts.fdd) +savefnmark: gpl (verification data:1.0:1.0:2006-11-05:norbusan:savefnmark.dtx) +savesym: lppl (verification data:1.1:1.1:2006-11-05:norbusan:header) +savetrees: lppl (verification data:1.2:1.1:2006-11-05:norbusan:README) +scale: gpl (verification data:1.1.2:1.1.2:2006-11-05:norbusan:README) +scalebar: lppl (verification data:1.0:1.0:2006-11-05:norbusan:header) +schedule: unknown (unverified) +scientificpaper: lppl (unverified) +sciposter: lppl (unverified) +sciwordconv: lppl (unverified) +screenplay: gpl (verification data:1.535:1.518:2006-11-03:norbusan:header) +script: unknown (unverified) +sectionbox: lppl (unverified) +sectsty: lppl (unverified) +semantic: lppl (unverified) +semaphor: gpl (verification data:::2006-11-05:norbusan:README) +seminar: lppl (unverified) +semioneside: lppl (unverified) +seqsplit: lppl (verification data:0.1:0.1:2006-11-05:norbusan:README) +setspace: pd (unverified) +sf298: lppl (unverified) +sffms: lppl (verification data:2.0:2.0:2006-11-05:norbusan:header) +sgame: lppl (unverified) +shadbox: other (unverified) +shadethm: lppl (unverified) +shapepar: nocommercial (unverified) +shortlst: unknown (unverified) +shorttoc: lppl (verification data:1.3:1.3:2006-11-05:norbusan:header) +showdim: unknown (unverified) +showexpl: lppl (unverified) +showlabels: gpl (verification data:1.6:1.6:2006-11-05:norbusan:README) +sidecap: lppl (verification data:1.6f:1.6f:2006-11-05:norbusan:header) +sides: gpl (unverified) +siggraph: other (unverified) +simpsons: unknown (unverified) +SIstyle: lppl (unverified) +SIunits: lppl (unverified) +skak: lppl (unverified) +skaknew: lppl (unverified) +skull: gpl (verification data:0.1:0.1:2006-11-05:norbusan:header) +slantsc: lppl (unverified) +slashbox: unknown (unverified) +slidenotes: unknown (unverified) +slideshow: other (unverified) +smalltableof: lppl (verification data:::2006-11-05:norbusan:README) +smartref: lppl (verification data:1.9:1.9:2006-11-05:norbusan:header) +smflatex: unknown (unverified) +snapshot: lppl (unverified) +songbook: lgpl-2.1 (unverified) +sort-by-letters: lppl (unverified) +soul: lppl (verification data:2.4:2.4:2006-11-05:norbusan:soul.txt) +soyombo: unknown (unverified) +sparklines: lppl (unverified) +spie: lppl (unverified) +splines: lppl1.3 (verification data:0.2:0.2:2006-11-05:norbusan:README) +splitbib: lppl (unverified) +splitindex: dfsg (unverified) +spotcolor: lppl (unverified) +sprite: unknown (unverified) +srcltx: pd (verification data:1.6:1.5:2006-11-05:norbusan:header) +sseq: lppl (verification data:1.03:1.03:2006-11-05:norbusan:sseq.dtx) +ssqquote: dfsg (unverified) +stack: lppl (verification data:1.00:1.00:2006-11-05:norbusan:stack.dtx) +stage: lppl1.3 (verification data:::2006-11-05:norbusan:header) +startex: unknown (unverified) +statistik: gpl (unverified) +stdclsdv: lppl (verification data:1.1:1.1:2006-11-05:norbusan:README) +stdpage: lppl1.2 (verification data:0.6:0.6:2006-11-05:norbusan:header) +stellenbosch: lppl (unverified) +stmaryrd: lppl (unverified) +struktex: lppl (unverified) +sttools: lppl (unverified) +subeqn: lppl (verification data:2.0b:2.0b:2006-11-05:norbusan:header) +subeqnarray: lppl (verification data:2.1c:2.1c:2006-11-05:norbusan:header) +subfig: lppl (unverified) +subfigure: lppl (unverified) +subfloat: lppl (verification data:2.14:2.14:2006-11-05:norbusan:README) +substr: lppl (verification data:1.1:1.1:2006-11-05:norbusan:README) +sudoku: lppl (unverified) +sudokubundle: lppl (unverified) +sugconf: lppl (unverified) +supertabular: lppl (unverified) +svgcolor: lppl (unverified) +svn-multi: dfsg (unverified) +svn: lppl (unverified) +svninfo: lppl (unverified) +swebib: lppl1.2 (verification data:::2006-11-05:norbusan:header) +swimgraf: lppl (unverified) +symbol: gpl (unverified) +syntax: gpl (verification data:::2006-11-05:norbusan:README) +syntrace: lppl (unverified) +synttree: lppl (unverified) +t-angles: gpl (unverified) +t2: lppl (unverified) +Tabbing: lppl (unverified) +tableaux: unknown (unverified) +tabto-ltx: lppl (unverified) +tabulary: lppl (unverified) +tabvar: lppl (unverified) +talk: lppl (unverified) +tap: pd (unverified) +tapir: gpl (unverified) +taupin: not-in-catalogue +tcldoc: not-in-catalogue +technics: lppl (unverified) +template: not-in-catalogue +tengwarscript: lppl (unverified) +tensor: lppl (verification data:2.1:2.1:2006-11-02:norbusan:header) +teubner: lppl (verification data:2.2c:2.2b:2006-11-02:norbusan:teubner.txt) +tex-gyre: gfsl (unverified) +tex-ps: pd (unverified) +tex4ht: lppl (unverified) +texdraw: dfsg (unverified) +texinfo: gpl (verification data:2007-05-04.09:4.8:2006-04-25:frank:header) +texlogos: lppl (unverified) +texmate: lppl (unverified) +texpower: gpl (unverified) +texshade: gpl (unverified) +texsis: lppl (unverified) +textcase: lppl (unverified) +textfit: dfsg (unverified) +textmerg: lppl (unverified) +textopo: gpl (verification data:1.4:1.4:2006-11-02:norbusan:textopo.txt) +textpath: lppl (unverified) +textpos: gpl (unverified) +thesis-titlepage-fhac: lppl (unverified) +thumb: gpl (verification data:1.0:1.0:2006-11-02:norbusan:README) +thumbpdf: lppl (unverified) +ticket: lppl (unverified) +times: gpl (unverified) +timescyr: not-in-catalogue +timesht: not-in-catalogue +timesnew: not-in-catalogue +timing: unknown (unverified) +tipa: unknown (unverified) +titlefoot: lppl (verification data::1999/03/02:2006-11-02:norbusan:header) +titlesec: lppl (unverified) +titling: lppl (verification data:2.1c:2.1c:2006-11-02:norbusan:README) +tmmath: lppl (unverified) +tocbibind: lppl (verification data:1.5g:1.5g:2006-11-02:norbusan:README) +tocloft: lppl1.3 (verification data:2.3c:2.3c:2006-11-02:norbusan:README) +tocvsec2: lppl1.3 (verification data:1.2:1.2:2006-11-02:norbusan:README) +todo: lppl (verification data:1.1:1.1:2006-11-02:norbusan:header) +tokenizer: lppl (unverified) +toolbox: lppl (unverified) +tools: lppl (verification data:::2006-05-02:frank:readme.txt) +topfloat: gpl (unverified) +totpages: lppl (unverified) +tpslifonts: gpl (unverified) +tracking: unknown (unverified) +trajan: lppl (unverified) +tree-dvips: unknown (unverified) +treetex: not-in-catalogue +trfsigns: gpl (unverified) +trsym: lppl1.2 (verification data:1.0:1.0:2006-11-02:norbusan:) +tugboat: lppl (unverified) +twoup: not-in-catalogue +txfonts: gpl (unverified) +type1cm: lppl (unverified) +typedref: unknown (unverified) +typespec: unknown (unverified) +typogrid: lppl (verification data:0.10:0.10:2006-11-02:norbusan:README) +uaclasses: unknown (unverified) +ucs: not-in-catalogue +ucthesis: lppl (verification data:3.2:3.2:2006-10-17:norbusan:) +uhc: not-in-catalogue +uhrzeit: unknown (unverified) +uiucthesis: lppl (unverified) +ukrhyph: lppl (unverified) +ulsy: unknown (unverified) +umich-thesis: lppl (verification data:1.20:1.20:2006-10-17:norbusan:) +uml: lppl (unverified) +umlaute: lppl (unverified) +umoline: lppl (unverified) +umrand: unknown (unverified) +underlin: lppl (unverified) +undertilde: unknown (unverified) +units: gpl (verification data:0.9b:0.9b:2006-10-17:norbusan:) +unitsdef: lppl (unverified) +univers: not-in-catalogue +universa: gpl (unverified) +upquote: lppl (verification data:v1.1:v1.1:2006-10-17:norbusan:) +urlbst: gpl (unverified) +ushort: dfsg (unverified) +utf8mex: not-in-catalogue +utopia: dfsg (unverified) +uwthesis: lppl (unverified) +vancouver: gpl (unverified) +variations: gpl (unverified) +varindex: dfsg (unverified) +vector: unknown (unverified) +velthuis: not-in-catalogue +venn: lppl (unverified) +verse: lppl (unverified) +versions: lppl (verification data:0.55:0.55::norbusan:) +vertex: unknown (unverified) +vhistory: lppl (unverified) +vita: unknown (unverified) +vmargin: lppl (verification data:2.5:2.5::norbusan:) +vntex: lppl (unverified) +volumes: lppl (unverified) +vpe: lppl (unverified) +vrb: unknown (unverified) +vrsion: lppl (unverified) +vtex: not-in-catalogue +wadalab: unknown (unverified) +wallpaper: lppl (unverified) +warning: lppl (verification data:0.01:0.01::norbusan:) +warpcol: unknown (unverified) +was: lppl (unverified) +wasy: dfsg (unverified) +wasysym: lppl (verification data:2.0:2.0:2006-03-06:frank:header) +webeq: not-in-catalogue +williams: unknown (unverified) +wnri: gpl (unverified) +wntamil: other (unverified) +wordcount: dfsg (unverified) +wordlike: lppl (unverified) +wrapfig: dfsg (unverified) +wsuipa: unknown (unverified) +xbmc: not-in-catalogue +xcolor: lppl (verification data:2.11:2.09:2004-06-25:frank:header) +xdoc: lppl (unverified) +xetex: not-in-catalogue +xetexconfig: not-in-catalogue +xetexurl: not-in-catalogue +xfrac: lppl (unverified) +xifthen: lppl (unverified) +xinitials: not-in-catalogue +xkeyval: lppl (verification data:2.5f:2.0,2.5e:2006-03-06:frank:README) +xltxtra: lppl (unverified) +xmlplay: pd (unverified) +xmltex: lppl (unverified) +xmpincl: gpl (unverified) +xor: not-in-catalogue +xparse: not-in-catalogue +xq: lppl (unverified) +xtab: lppl (verification data:2.3a:2.3a:2006-10-17:norbusan:README) +xtcapts: unknown (unverified) +xtheorem: not-in-catalogue +xu-hyphen: not-in-catalogue +xunicode: not-in-catalogue +xyling: lppl (verification data:1.1:1.1:2006-10-17:norbusan:header) +xypic: dfsg (unverified) +xytree: lppl (unverified) +yafoot: lppl (unverified) +yannisgr: unknown (unverified) +yfonts: lppl (unverified) +yhmath: lppl (unverified) +yi4latex: unknown (unverified) +york-thesis: lppl (unverified) +youngtab: lppl (unverified) +yplan: lppl (unverified) +ytex: unknown (unverified) +zapfchan: gpl (unverified) +zapfding: gpl (unverified) +zed-csp: other (unverified) +zefonts: unknown (unverified) +amslatex-primer: unknown (unverified) +amsldoc-it: not-in-catalogue +amsldoc-vn: not-in-catalogue +amsmath-it: not-in-catalogue +amsthdoc-it: not-in-catalogue +beamer-tut-pt: gpl (unverified) +catalogue: lppl (unverified) +components-of-TeX: not-in-catalogue +comprehensive: lppl (unverified) +cursolatex: gpl (unverified) +dtxtut: lppl (unverified) +epslatex-fr: not-in-catalogue +es-tex-faq: not-in-catalogue +fancyhdr-it: not-in-catalogue +FAQ-en: not-in-catalogue +FAQ-fr: not-in-catalogue +FAQ-ge: not-in-catalogue +firststeps: not-in-catalogue +free-math-font-survey: dfsg (unverified) +gentle-gr: not-in-catalogue +gentle: unknown (unverified) +guide-to-latex: not-in-catalogue +guides-pl: not-in-catalogue +help: not-in-catalogue +impatient-fr: not-in-catalogue +impatient: fdl (unverified) +knuth: not-in-catalogue +kopka: not-in-catalogue +l2picfaq: fdl (unverified) +l2tabu-english: gpl (unverified) +l2tabu-french: gpl (unverified) +l2tabu-it: not-in-catalogue +l2tabu: gpl (unverified) +latex-graphics-companion: not-in-catalogue +latex-tipps-und-tricks: not-in-catalogue +latex-web-companion: not-in-catalogue +latex2e-html: not-in-catalogue +lkort: unknown (unverified) +lshort-bulgarian: pd (unverified) +lshort-dutch: gpl (unverified) +lshort-english: dfsg (unverified) +lshort-finnish: unknown (unverified) +lshort-french: unknown (unverified) +lshort-german: dfsg (unverified) +lshort-italian: gpl (unverified) +lshort-japanese: gpl (unverified) +lshort-korean: unknown (unverified) +lshort-mongolian: unknown (unverified) +lshort-polish: pd (unverified) +lshort-portuguese: pd (unverified) +lshort-russian: gpl (unverified) +lshort-slovak: lppl (unverified) +lshort-spanish: unknown (unverified) +lshort-thai: pd (unverified) +lshort-turkish: pd (unverified) +lshort-ukrainian: not-in-catalogue +lshort-vietnamese: lppl (unverified) +make-tex-work: not-in-catalogue +math-into-latex: not-in-catalogue +mathmode: not-in-catalogue +MemoirChapStyles: not-in-catalogue +metafont-for-beginners: not-in-catalogue +metafp: lppl (unverified) +metapost-examples: dfsg (unverified) +ntg: dfsg (unverified) +ntheorem-vn: not-in-catalogue +pstricks-tutorial: not-in-catalogue +tamethebeast: lppl (unverified) +tds: unknown (unverified) +tex-refs: not-in-catalogue +tex-virtual-academy-pl: not-in-catalogue +texlive-common: not-in-catalogue +texlive-cz: not-in-catalogue +texlive-en: not-in-catalogue +texlive-fr: not-in-catalogue +texlive-ge: not-in-catalogue +texlive-pl: not-in-catalogue +texlive-ru: not-in-catalogue +texlive-zh-cn: not-in-catalogue +tlc2: not-in-catalogue +truetype: not-in-catalogue +Type1fonts: not-in-catalogue +visualfaq: lppl (unverified) +voss-de: not-in-catalogue +webguide: dfsg (unverified) +wp-conv: unknown (unverified) +xypic-tut-pt: gpl (unverified) +hyphen-arabic: not-in-catalogue +hyphen-base: not-in-catalogue +hyphen-basque: not-in-catalogue +hyphen-bulgarian: not-in-catalogue +hyphen-coptic: not-in-catalogue +hyphen-croatian: not-in-catalogue +hyphen-czechslovak: not-in-catalogue +hyphen-danish: not-in-catalogue +hyphen-dutch: not-in-catalogue +hyphen-esperanto: not-in-catalogue +hyphen-estonian: not-in-catalogue +hyphen-finnish: not-in-catalogue +hyphen-french: not-in-catalogue +hyphen-german: not-in-catalogue +hyphen-greek: not-in-catalogue +hyphen-hungarian: not-in-catalogue +hyphen-ibycus: not-in-catalogue +hyphen-icelandic: not-in-catalogue +hyphen-indonesian: not-in-catalogue +hyphen-interlingua: not-in-catalogue +hyphen-italian: not-in-catalogue +hyphen-latin: not-in-catalogue +hyphen-mongolian: not-in-catalogue +hyphen-norwegian: not-in-catalogue +hyphen-pinyin: not-in-catalogue +hyphen-polish: not-in-catalogue +hyphen-portuguese: not-in-catalogue +hyphen-romanian: not-in-catalogue +hyphen-russian: not-in-catalogue +hyphen-serbian: not-in-catalogue +hyphen-slovene: not-in-catalogue +hyphen-spanish: not-in-catalogue +hyphen-swedish: not-in-catalogue +hyphen-turkish: not-in-catalogue +hyphen-ukenglish: not-in-catalogue +hyphen-ukrainian: not-in-catalogue +hyphen-usorbian: not-in-catalogue +hyphen-welsh: not-in-catalogue +lib-freetype2: not-in-catalogue +lib-geturl: not-in-catalogue +lib-gnu: not-in-catalogue +lib-md5: not-in-catalogue +lib-regex: not-in-catalogue +lib-texmfmp: not-in-catalogue +lib-zlib: not-in-catalogue +scheme-basic: not-in-catalogue +scheme-context: not-in-catalogue +scheme-full: not-in-catalogue +scheme-gust: not-in-catalogue +scheme-gutenberg: not-in-catalogue +scheme-mactex: not-in-catalogue +scheme-medium: not-in-catalogue +scheme-minimal: not-in-catalogue +scheme-omega: not-in-catalogue +scheme-tetex: not-in-catalogue +scheme-xml: not-in-catalogue --- texlive-bin-2007.dfsg.1.orig/debian/generate-license-file +++ texlive-bin-2007.dfsg.1/debian/generate-license-file @@ -0,0 +1,34 @@ +# +# generate-license-file +# $Id: generate-license-file 2943 2007-06-05 15:41:04Z preining $ +# (c) 2006 Norbert Preining +# +# generate a license file from the information in the tpm and the +# file tpm2liclines +# +# Uses tex-common's tpm2licenses +# + +pkg="$1" + +if ! [ -r debian/$pkg ] ; then + echo "please first call debian/rules install!" + exit 1 +fi + +mkdir -p debian/$pkg/usr/share/doc/$pkg +cat debian/Licenses.header > debian/$pkg.Licenses.gen + +if [ -r debian/$pkg.Licenses.add ] ; then + cat debian/$pkg.Licenses.add >> debian/$pkg.Licenses.gen +fi +perl /usr/share/tex-common/tpm2licenses \ + --Catalogue=file:./debian/tpm2liclines \ + --package=texlive \ + --tpmdir=./debian/$pkg/usr/share/texmf-texlive/tpm \ + --listallfiles \ + --texmfPath="./debian/$pkg/usr/share/texmf-texlive ./debian/$pkg/usr/share/doc/$pkg" 2>/dev/null \ + | sed -e 's,^\./debian/[^/]*/usr,/usr,' >> debian/$pkg.Licenses.gen + +mv debian/$pkg.Licenses.gen debian/$pkg/usr/share/doc/$pkg/Licenses + --- texlive-bin-2007.dfsg.1.orig/debian/fix-manpages.sh +++ texlive-bin-2007.dfsg.1/debian/fix-manpages.sh @@ -0,0 +1,80 @@ +#!/bin/bash +# $Id: fix-manpages.sh 2583 2007-03-15 20:12:56Z frank $ +# fix-manpages.sh +# +# Several manpages in TeX live have smaller or bigger flaws like: +# - international characters from latin1 are not written in their +# encoded form ( instead of \[:a]) +# - problems in the first line of the manpage defining wrong section +# or syntactical wrong files +# We fix all these errors on the installed man pages, otherwise lintian +# complains. +# +# Norbert Preining, 2005 +# GPL + +set -e + +tmpfile=`mktemp` + +for i in `find debian/ -wholename 'debian/texlive-*/usr/share/man/man?/*' -type f` ; do + bn=`basename $i` + case "$bn" in + ttf2pt1.1) + # fix ttf2pt1.1 first line error + (echo '.TH "ttf2pt1" "1" "Nov 2005" "TeX live" "TeX live"' ; tail --lines=+2 $i ) > $tmpfile + cat $tmpfile > $i + ;; + vlna.1) + # fix the NAZEV to NAME in vlna.1 + cat $i | sed -e 's/^\.SH NAZEV/.SH NAME/' > $tmpfile + cat $tmpfile > $i + ;; + makeindex.1) + # fix section + cat $i | sed -e 's/^\.TH MAKEINDEX 1L /.TH MAKEINDEX 1 /' > $tmpfile + cat $tmpfile > $i + ;; + detex.1) + # fix section + cat $i | sed -e 's/^\.TH DETEX 1L /.TH DETEX 1 /' > $tmpfile + cat $tmpfile > $i + ;; + dvi2tty.1) + # fix section + cat $i | sed -e 's/^\.TH DVI2TTY Local /.TH DVI2TTY 1 /' > $tmpfile + cat $tmpfile > $i + ;; + dvidvi.1) + # fix section + cat $i | sed -e 's/^\.TH DVIDVI L /.TH DVIDVI 1 /' > $tmpfile + cat $tmpfile > $i + ;; + fmtutil.1) + # fix section + cat $i | sed -e 's/^\.TH "fmtutil" "8"/.TH "fmtutil" "1"/' > $tmpfile + cat $tmpfile > $i + ;; + texlinks.1) + # fix section + cat $i | sed -e 's/^\.TH "texlinks" "8"/.TH "texlinks" "1"/' > $tmpfile + cat $tmpfile > $i + ;; + tie.1) + # fix section + cat $i | sed -e 's/^\.TH TIE 1L /.TH TIE 1 /' > $tmpfile + cat $tmpfile > $i + ;; + esac + cat $i | sed -e "s//\\['o]/g" \ + -e "s//\\['e]/g" \ + -e 's//\\[:u]/g' \ + -e 's//\\[:a]/g' \ + -e 's//\\[:o]/g' \ + -e 's//\\[co]/g' \ + > $tmpfile + cat $tmpfile > $i +done + +rm $tmpfile + --- texlive-bin-2007.dfsg.1.orig/debian/CHANGES.packaging +++ texlive-bin-2007.dfsg.1/debian/CHANGES.packaging @@ -0,0 +1,1779 @@ +# +# ChangeLog for tpm2deb.pl and relatives +# +# $Id: CHANGES.packaging 3195 2007-11-19 10:42:53Z preining $ +# + +release texlive-bin 2007.dfsg.1-2 unstable + +2007-11-17 + * [bin] switch to libpoppler >= 0.5.9 since unstable has now 0.6.2 + (Closes: #451588) [np] (also adjust build deps) + * [base] do not install tex/latex/jknapltx/ubbold.fd, it break the bbold + fonts (Closes: #449221). Thanks and sorry Ralf for ignoring you so long! + +2007-11-15 + * [base] close the latin.ldf bug (Closes: #451295) [np] + +2007-11-13 + * [extra] update via.cls from CTAN to fix misbehaviour (Closes: #429150) [np] + * [all] add instructions how to generate .orig.tar.gz files to + all/debian/README.Debian-source, and extend the trunk/README file [np] + * change watch file to use the tug.org ftp server + * [extra] fix skak.sty for usage with skaknew's uskak.fd (the only one + present) (Closes: #439709) [np] + +2007-11-11 + * [extra] include simplecv to make lyx happy (Closes: #449983) [np] + +2007-11-07 + * [all] change watch file to point to cstug server, update changelogs + closing respective bugs + +2007-10-30 + * [base] fix latin.ldf with the version from CTAN + (closes Ubuntu bug #157709) [np] + +release texlive-bin 2007.dfsg.1-1 unstable +release texlive-base 2007-13 unstable +release texlive-extra 2007-4 unstable + +2007-10-24 + * recode the NEWS files to utf8 + +2007-10-22 + * [bin] fix segfault of dvips -z on amd64 (patch applied upstream), thanks + to Bastien Roucaries for finding and providing a patch (Closes: #447081) + +2007-10-04 + * [bin] add a patch for metapost 1.0, but do not activate it [np] + +2007-09-27 + * [extra] blacklist tableaux.tpm, new orig.tar.gz + +2007-09-25 + * remove most stuff from the README.Debian file + +2007-09-24 + * implement doc splitting, so that we can build separate -doc packages + for every collection we want to [np] + splitting is done for: (texlive-base) latex-base, latex-recommended, + fonts-recommended, pictures + (texlive-extra) latex-extra (Closes: #420574), pstricks (Closes: #442052), + publishers, humanities, science + (texlive-bin) metapost + * add patch gcc43-compile-fix to compilation of teckit with newer + gcc compilers (Closes: #441605) (patch taken from 007-12ubuntu3, + thanks Matthias Klose) + +2007-09-15 + * put DEBHELPER tag before the post parts [fk from htmlxml] + * return (with 0) if we don't have to create a new tarball [fk from htmlxml] + +release texlive-lang 2007.dfsg.3-1 unstable + +2007-09-09 + * texlive-lang: reinclude csplain, the license has been fixed. + * add a dir orig.tar.gz-addons to the svn repository for orig.tar.gz + building + +release texlive-lang 2007.dfsg.2-1 unstable + +2007-09-05 + * only blacklist the five files covered by Petr's special licence, + not the whole csplain.tpm, since it contains t1code.tex which + is essential + * build new orig.tar for texlive-bin and texlive-lang + * include the change from htmlxml branch for setting the INC path + to /usr/share/tex-common in tpm2deb-bin.pl + * add a NEWS file for texlive-lang-czechslovak announcing the + removal of csplain + * fix the syntax error for blacklisting literat and csplain stuff + +2007-09-04 + * texlive-bin: disable pdftex character shifting (option G) in config.pdf + (Closes: #434891) [np] + * all: retitle all those dreadful "Macro package for TeX" title + (Closes: #436729) + * texlive-extra: fix an occurrence of the @ in pubform.bib (Closes: #430438) + * spell the path of mllatex.ini the right way, both in the tpm2deb.cfg + and in the texlive-latex-extra.root (Closes: #430969) + +release texlive-base 2007-12 unstable +release texlive-bin 2007-14 unstable + +2007-09-01 + * rework the preinst resurrect code so that it is executed *only* for + upgrades from >= 2007. Furthermore, the special code for config.ps + is executed only for 2007-12. + * texlive-bin: blacklist latexmp.pdf since no source is present + (Closes: #436965) + +2007-08-25 + * set LANG=C for the update-alternatives grepping, thanks Andreas Degert + (Closes: #438551) [np] + * blacklist literat (texlive-lang-cyrillic) (Closes: #439028) [np] + * Add missing quotes around the sed script in + texlive-base-bin.postinst(.pre) (Closes parts of #439205) [np] + +2007-08-23 + * only try to resurrect conffiles when there is a template file present, + i.e., only for versions of 2007 in the archive (Closes: #439205) [np] + +2007-08-16 + * fix FTBFS on hurd-i386, adding patch icu-powerpc-buildfix-patch from + Samuel Thibault (Closes: #437949) [np] + +2007-08-15 + * Really move Philokalia-Regular.otf to a fonts directory [fk] + +release texlive-base 2007-11 unstable +release texlive-bin 2007-13 unstable + +2007-08-13 + * run the resurrect code *also* in the postinst scripts for the cases + where a package is in rc state with removed conf files. [np] + * adapt the menu items to new menu policy [np] + +2007-08-11 + * adjust latest-version for texlive-base to -11 and -bin to -13 so that + we get a good combination of packages ;-) [np] + * fix removal of old tetex files in language.d (Closes: #435812) [np] + * use see in texdoc for displaying of all types of files (Closes: #432037) + [np] + * run the resurrect code only at upgrade, not install time. At clean install + time there is no file in /u/s/texlive-{bin,base}/... [np] + +2007-08-07 + * move the code to recreate missing conffiles from postinst to preinst: + texlive-base: modes.mf + texlive-base-bin: pdftexconfig.tex, config.ps + texlive-latex-base: color/graphics.cfg + (Closes: #425803, #435156, #435081, #433889, #436235, #435719, #435081, + #433889) [np] + unfortunately version 2007-12 of texlive-bin ships a config.ps in + /u/s/texlive-bin which is NOT equal to /e/texmf/dvips/config/config.ps + in the same version. We fix this by applying a sed command that transforms + the /u/s/texlive-bin/config.ps into the /e/texmf/d/c/config.ps of -12 + in the preinst of -13. After -13 is in testing we should remove this + code. + +2007-07-27 + * Move Philokalia-Regular.otf to a fonts directory [fk] + +2007-07-24 + * copy over explanations in copyright from tetex-base's copyright.header + [fk] + * bump versioned dep of tl-common on tex-common [fk] + +2007-07-03 + * [texlive-bin] add another libpoppler patch for libpoppler >= 0.5.9 + (needs control update, too). Thanks go to + Martin Pitt for creating this patch. Rename the + libpoppler patches to have the respective version in the name. [np] + * [texlive-bin] include the fixes to dvilj(k) which are included in the + TeX Live security branch, this adds a patch dviljk-security-fixes [np] + +2007-07-02 + * [texlive-bin] update config.ps from svn (Closes: #431338) [np] + * add lost texlive-extra-utils recommends dvidvi (thanks Lionel for + spotting this) [np] + +2007-06-29 + * [texlive-bin] update a2ping script and it's man page (Closes: #412107) [np] + +2007-06-27 + * update patch for xetex from texlive svn release texlive 2007.1 + this also fixes some bugs with OTF inclusion + actually use this patch + +2007-06-25 + * fix multiple inclusion of hyphen patterns [np] + * let texlive-xetex depend on dvipdfmx (Closes: #430373) + +2007-06-22 + * include a patch for xetex from Jonathan Kew which fixes problems + on 64bit archs, and incorrect output in certain (obscure) + situations. The patch is NOT activated by now! [np] + (version patch1a from 23 Jun 2007, texlive ML + msg id , see + http://tug.org/pipermail/tex-live/2007-June/014110.html) + +2007-06-21 + * change common.functions.preinst to use new dpkg_md5sum which + does not grep the status file but uses dpkg_query [np] + +release texlive-base 2007-10 unstable +release texlive-bin 2007-12 unstable +release texlive-lang 2007.dfsg.1-3 unstable + +2007-06-20 + * many changes and fixes by Frank (thanks!) + +2007-06-13 + * Change mapping directive config-copy-move to copy-move and don't + register it as a conffile: This is only for *moved* conffiles [fk] + * Add a remark to trunk/README about what "config file" actually means + for mapping. [fk] + +2007-06-11 + * Add debianize-fmtutil in /usr/share/texlive-bin, and source it in + fmtutil. [fk] + * Bring fmtutil(1) closer to reality in TeXLive 2007 [fk] + +2007-06-10 + * Let tetex-base conflict with tetex-bin (<< 2007) to prevent its + isolated upgrade on mixed systems (closes: #427859) [fk] + +2007-06-05 + * [base] activate mathpple.map (closes: #426790) [np] + * [extra] fix g-brief redefinition of \Telefon (closes: #423919) + * [extra] fix g-brief empty unterschrift bug (closes: #154266, #407968) + * [base] don't call dh_installtex for meta packages (closes: #427169) + - make a distinction between meta packages and normal packages + in rules.in + +2007-06-02 + * beautify the config.ps installation [np] (see merge-dist-tree!): + - remove the code in rules.in + - move config.ps from texlive-bin/debian/ to + texlive-bin/debian/texlive-base-bin.root/usr/share/texlive-bin + * strip the ./debian/$pkg part in debian/all/generate-license-file [np] + +2007-05-31 + * Remove the version check from the "resurrect conffile" code; purging + tetex-base may happen any time. + +release texlive-base 2007-8 unstable +release texlive-bin 2007-10 unstable + +2007-05-30 + * IMPORTANT: Move the #DEBHELPER# string after the $maintscript.post + snippet. "post" now signifies that it is after the usual, + tpm2deb-bin.pl-generated config file handling, not that it is after + the debhelper stuff. I need some code at this special place, and + furthermore I think it's usually a bug in tex-common if something is + not handled in a dh_installtex snippet, but cannot be done before it. + * Fix the copying of conffiles to /usr/share/$sourcepkg: New directive + "config-copy-move". + * Add missing dep of libkpathsea-dev on libkpathsea4 + +2007-05-29 + * Ship modes.mf and pdftexconfig.tex in /usr/share/$sourcepackagename, + and install it into /etc/texmf in postinst. For the time being, do + that without debconf messages and unconditionally (configure would + fail without them, anyway). [fk] + * Recreate tpm2liclines + * tex-common package-status in bug.control, since "report-with" doesn't + supply that information + +2007-05-26 + * texlive-bin: don't install libkpathsea.la (Closes: #426006) [np] + * all/texlive-bin: do not actually carry out the "preserve deleted + conffile" due to the tetex bug and too many busted installations. + We warn the admin to delete the file if he really wants to. + (Closes: #425781 in texlive-bin and #425803 in texlive-base) [np] + +release texlive-bin 2007-9 unstable + +2007-05-24 + * Use --enable-shared=default in order to not try it in the + subdirectories for static-only libraries, in particular xetex's + teckit. [fk] + +2007-05-23 + * libkapthsea4 is of section libs, libkpathsea-dev of libdevel, add + infrastructure to override single bin package sections (bin-section) [np] + +release texlive-base 2007-7 unstable +release texlive-bin 2007-8 unstable +release texlive-lang 2007.dfsg.1-2 unstable + +2007-05-23 + * Let tl-generic-recommended declare Replaces: tl-base because of + cmyk-hax.tex [fk] + +2007-05-22 + * in the abort-upgrade case in texlive-base-bin's postrm, we cannot + assume that xdvi.cfg does exist at the new place: Make code + conditional [fk] + +2007-05-22 + * add texlive-base-bin replaces texlive-pdfetex + +2007-05-21 + * texlive-common conflicts with all package revisions of all packages + << latest-revision as set in tpm2deb.cfg. + * big format move: + - move (partly fixed) format.{tex,pdftex,etex,metafont} to texlive-base + and edit format.latex.cnf in texlive-base. Fixes done: + . add pdfetex to format.etex.cnf + . add latex to format.latex.cnf + . remove those two from format.pdftex.cnf + . take unchanged format.tex.cnf + - BuildFormat executes moves: + . remove call in texlive-bin/bin-{tex,pdftex,etex,metafont}.tpm + . add call {tex,pdftex,etex} to plain.tpm (and thus to texlive-base) + . add call metafont to metafont.tpm (and thus to texlive-base) + - missing: should we take over fmt.d/10texlive-base-bin.cnf? I prefer + to leave it there and don't do anything. After we have this version + without a conf file we can add code for the upgrade from 2005. + * as a consequence of the format move some cleaning actions: + - remove /usr/bin/mf -> mf-nowin as generated from dh_installtex in + texlive-base rules, mf is shipped by texlive-base-bin + - remove also /usr/bin/{pdf,}etex in texlive-base rules, and create + them via dh_link in texlive-base-bin + +2007-05-20 + * texlive-base: rename (and not remove) old obsolete config files from tetex + (Closes: #425256) + * texlive-base: don't call tetex-bin-upgrade (Closes: #425270) + * texlive-bin: update 64_fix_makempx_installation to upstream fix + * texlive-extra: move bigfoot from tl-humanities to tl-latex-extra + (upstream move, too) (Closes: #420394) + * common.functions.preinst: rework the xdvi conf file handling code + to not "preserve removal" when upgrading from older texlive versions + (Closes: #425272) + +2007-05-19 + * add stricter dependencies to all packages: if in the final shipout + dep on a texlive package there is no version given, the value of + latest-version (from tpm2deb.cfg) of the source package is taken. + (texlive-bin: Closes: #421969) (texlive-lang: Closes: #423143) + * texlive-bin: remove cruft from control files (cweb, ctie, texdoctk) + (Closes: #241089, #249085) + * don't leave copies of conffiles in TEXMFDIST (Closes: #420139) + * texlive-bin: add poppler to the pdftex banner (Closes: #420971) + * texlive-bin: texlive-lang-indic needs depends on python + * update/add some patches for the invocation fixes, they patched the + wrong files + * add lintian source override for + maintainer-script-lacks-debhelper-token debian/common.functions.* + * add lintian override for + tetex-base: maintainer-script-needs-depends-on-ucf postinst + we check with -x /usr/bin/ucf + * texlive-bin: add build-dep on chrpath, and remove the rpath entry + in the binaries + * texlive-bin: remove link /u/s/d/libkpathsea-dev -> libkpathsea4 + as shipped in packages <= 3.something + * texlive-bin: add patch 64_fix_makempx_installation to fix the installation + of makempx script instead of the binary (thanks Sanjoy Mahajan) + +2007-05-18 + * Output the list of files in /etc/texmf/web2c in the bug.script + +2007-05-17 + * shlibs magic, thanks Florent + * add new poppler patch: 30_libpoppler_new, the old is still present + for backports, this also adds a versioned build dep for + libpoppler-dev (>= 0.5.4) to texlive-bin + * texlive-extra-utils suggests gs-* for epstopdf (Closes: #423988) + +2007-05-16 + * texlive-bin: dpkg_md5sum in common-functions.preinst returns now + the empty string in case of an unknown conffile (could have been + created by touch). This should fix Ubuntu bug 111654. [np] + Serious testing whether nothing else is broken should be done. + * merge manually the changes from the libkpathsea branch back [np,fk] + - change rules.in to build libkpathsea4 and -dev, and add the necessary + control files [fk] + - add texlive-bin/debian/libkpathsea4.install, + texlive-bin/debian/libkpathsea-dev.README.Debian, and + texlive-bin/debian/libkpathsea-dev.install + - adjust tpm2deb.cfg to build the new packages from texlive-bin + * Change the code that drops meta- and transitional packages from + texlive-full's dependencies so that the list of unwanted packages is + in the config file [fk] + * Consistently output error messages of perl scripts to STDERR [fk] + * move bin-thumbpdf to texlive-base-bin (upstream done, too) + (Closes: #424658) [np] + +2007-05-15 + * texlive-bin: move bangfont.tex from doc to run files (Closes: #424031) + * texlive-bin: add missing python header to ebong script (Closes: #423990) + +2007-05-14 + * texlive-base: texlive-full should not depend on tetex-base + (Closes: #424023) [np] (We should move the code from tpm2debcommon.pm + to the config file... but I am too lazy for now) + +release texlive-base 2007-6 unstable +release texlive-doc 2007-3 unstable + +2007-05-14 + * texlive-base: make the conflict with ivritex versioned (Closes: #423718) + * tetex-base replaces tetex-extra << 2007, since teTeX3-extra ships a + lintian override file for tetex-base (Closes: #423520) [np] + * texlive-doc-zh replaces/conflicts texlive-doc-ch ... + +release texlive-bin 2007-7 unstable + +2007-05-07 + * rename texlive-doc-cn to texlive-doc-zh, sorry all for the chaos [np] + (needs new texlive-base and -lang packages) + * fix typo in postinst scripts update-alternative(s) (Closes: #422929) + +release texlive-bin 2007-6 unstable + +2007-05-03 + * texlive-bin: add a "changed by debianize-updmap" comment to + syncWithTrees' definition, and divert "--edit" [fk] + +2007-05-03 + * texlive-bin: move the debianize-updmap call in updmap after the + syncWithTrees function so that this function is also debianized. + (Closes: #421184) + * texlive-bin: apply teTeX texdoctk.defaults patch to get texdoctk + to use the right programs (Closes: #421633) + * all: add call to dh_installmenu to rules.in + * texlive-bin: add menu entry of xdvi, texdoctk, texconfig (Closes: #421634) + * all: update README.Debian-source to point to the svn repository and + the contained README file + * [base] blacklist intermediate files in mathpazo doc (Closes: #421620) + * all: fix bug.script + * lang: add jerus10 to tl-lang-herbrew to fix hebrew typesetting + * base: backport koma-script r288 to fix the use of \usekomafont in all + koma-script classes (Closes: #421079) + * doc: rename texlive-doc-ch to texlive-doc-cn, stupid me [np] + +2007-04-28 + * texlive-bin: patch updmap so that the help text at map file not found + error does not mention --syncwithtree etc, but refers to updmap.d + and update-updmap + +2007-04-25 + * texlive-bin: reworked alternative code for removal of old tetex + settings [np] + * create tetex-base + +release texlive-bin 2007-5 unstable + +2007-04-17 + * fix config file handling (Closes: #419826) [np] + - fix a bug in tpm2deb-bin.pl which prevented any config file handling + - fix another bug in tpm2deb-bin.pl which didn't install the config + file handling in the postrm script + +release texlive-bin 2007-4 unstable +release texlive-base 2007-4 unstable +release texlive-lang 2007.dfsg.1-1 unstable + +2007-04-16 + * Add patch 31_pdftex_gcc_ICE-on-alpha to work around a bug in newer + gcc, thanks to Falk Hueffner (closes: #419434) [fk] + * create meta packages texlive-lang-all in texlive-lang, thanks to + Frans Pop for the suggestion. [np] + * texlive does not longer depend on context [np] + * we build texlive-lang-arab, this needs a new .orig.tar.gz as we have + to include the respective files there. [np] + * Since we take over xdvi from tetex-bin, we remove its xdvi alternative + in case it is present (closes: #419381) [fk] + * Remove any format or log files in /var/lib/texmf/web2c, they must be + in $engine subdirs now. teTeX does not properly remove them, and + they cause strange failures with context (see #419059 and #418976) [fk] + * add code to the bug.script to give the md5sums of all the files in + /etc/texmf/texmf.d [np] + * add update tests from etch in tests/etch-test-* + * [tl-bin] Add patch 62_dvips_absolutepath_doc to document the change in + dvips' file inclusion behavior in config.ps (closes: #418788) + +release texlive-bin 2007-3 unstable +release texlive-base 2007-3 unstable +release texlive-extra 2007-3 unstable +release texlive-lang 2007-3 unstable + +2007-04-14 + * undo the fix of friday 13, thanks to debhelper bug #419060, this fixes + several texlive bugs + * bump tex-common build-deps to 1.7 + +2007-04-13 + * fix the ordering of auto scripts: + - bump build-dep on tex-common to 1.6 for fixed auto scripts + - bump build-dep on debhelper to >= 5.0.44 for the + (thanks to Loïc Minier for the hint!) + +2007-04-12 + * disable the texmf.cnf check which was run by default, this can only be + done manually (because each upload of tex-common with changed files + would make tl-bin FTBFS) [fk] + +release texlive-bin 2007-2 unstable +release texlive-base 2007-2 unstable +release texlive-extra 2007-2 unstable +release texlive-doc 2007-2 unstable +release texlive-lang 2007-2 unstable + +2007-04-10 + * texlive-bin: Fix missing build dependency on tex-common >= 1.3, thanks + to Yannick Roehlly for spotting this. + * call dh_compress with -X.pdf so that pdf files are not compressed + +2007-04-06 + * texlive-bin: drop updated collection-binextra.tpm and bin-dvipos.tpm + into the source package to solve the missing dvipos problem. + +2007-04-05 + * texlive-bin: replace links of odvicopy.1 and odvitype.1 to the respective + man pages without o with a minimal manpage (Closes: #417274) [np] + + * fix installation of info pages, we should believe perl if it tells us + Variable "@SpecialActions" will not stay shared at + debian/tpm2deb-bin.pl line 343. [np] + + * big do_remap_and_copy restructuring: the final component now is + unified for all mapping directives: either relative file names (in this + case /usr/share/texmf-texlive is prepended), or absolute file names. + Needs loads of testing. Furthermore, the sub-directives names have + changed (remap -> move). Proper documentation added in trunk/README [np] + +2007-03-23 + * texlive-bin: fix config file move logic for xdvi.cfg (Closes: #415906) [np] + * really move nag.sty [np] + +release texlive-bin 2007-1 +release texlive-base 2007-1 +release texlive-extra 2007-1 +release texlive-doc 2007-1 +release texlive-lang 2007-1 + +2007-03-21 + * final changelog editing + +2007-03-15 + * move nag.sty to a TEXINPUTS tree [fk] + * modularize the make_deb function in tpm2deb-bin.pl (ongoing work) [fk] + +2007-03-14 + * Add code to take over changes from fmt.d/10texlive-pdfetex in + texlive-base-bin. + +2007-03-12 + * Let tl-bin Build-Depend on tex-common (>= 1.2) for the handling of + fmtutil-sys in postrm [FK] + * Fix the "when to run" logic for conffile moves, and write them in a + way that I actually understand them myself + +2007-03-09 + * Fix conffile upgrade code: Only act with correct versions, actually + pass the action parameter to the function, and respect conffile + removals [FK] + +2007-03-08 + * Add error-unwind code for the conffile renames [FK] + +2007-03-02 + * upgrade path replaces: + - texlive-latex-base -> texlive-base-bin << 2007 since + /usr/bin/pdflatex has moved + - texlive-base-bin -> tetex-bin (<< 2007) + - texlive-metapost -> tetex-bin (<< 2007) + * fix forgotten config files handling + +2007-03-01 + * introduce a new map sub-directive config-remap + * remap instead of copy various files into /etc/texmf (dvips/config/config.* + texdoctk, xdvi) + * texdoctk.dat is not a configfile anymore + * fix fmtutil patches referring to pdfetex as engine + +2007-02-28 + * use old teTeX's xdvi perl script, add a dependency base-bin -> perl [NP] + * create links via dh_installtex and remove the links.dist entries [NP] + * depend on tex-common >= 1.1 to get dh_installtex with link creation [NP] + +2007-02-18 + * add common.functions.preinst and include common.functions.$type in + the make_maintainer call. We don't want to have the preinst code + hanging around in all other maintainer scripts. + * use dh_installtex in the rules files, thus cleaning the + maintainer scripts: + - rules.in: use dh_installtex + - tpm2deb.cfg: bump tex-common deps to >> 1.0 for the flavor + format:build_all + - tpm2deb-bin.pl: rewrite make_maintainer() + - remove empty common.functions as all the functionality is taken from + dh_installtex + * as an interim solution, add format links to the respective binary + packages' dh_link files [FK] + + +2007-02-17 + * add patch 01_tmp_configure_without_installextra which allows to skip + running updmap-sys, fmtutil-sys, mktexlsr and most importantly + texlinks with a configure option; add that option [FK] + * Add explicit real packages to the build-dependencies, in addition to + the alternative virtual packages [FK] + +2007-02-16 + * fixes from the first test round + - really blacklist ttf2pk, this is a perl regexp, not a shell wildcard, + so we have to use .* instead of * (should be done in texlive-old!, too) + - missing (upstream) dependency + texlive-humanities -> texlive-latex-base + texlive-science -> texlive-latex-base + - add conflict texlive-common <-> texlive-chemistry as this is gone + - mathpazo hack + mathpazo was in math-extra <= 2005-2, in latex-recommended << 2007, + and now in fonts-recommended, thus: + texlive-fonts-recommended replaces texlive-math-extra (<= 2005-2) + texlive-fonts-recommended replaces texlive-latex-recommended (<< 2007) + - HA-prosper was moved from latex-extra to latex-recommended, thus + add a versioned replace + - all/debian/preinst.pre code: upgrading to tetex-bin 2007 does not + work as the "upgrade from experimental versions" breakage kicks in. + check for upgrade from version 2005 <= version <= 2005-2 + so that tetex-bin 3.0-something is not hit + +2007-02-15 + * update dvipdfm patch [NP] + +2007-02-14 + * Another mapping directive "copy" which is like config-copy (see + below) but does not create any maintainer scripts entries. [NP] + * Adapt tpm2deb.cfg that new config files are just "config" [NP] + * add preliminary config file handling, no unroll treatment by now [NP] + * fix texlive-bin build breakage, we patch the Build script now [NP] + +2007-02-13 + * Expand infrastructure to allow automatic generation of preinst + code for config files. Config files are marked in the tpm2deb.cfg + via a mapping;origdist;config-{copy,link};dest directive and + in the preinst script of the respective package a line + handle_config_file $configfile + is added. Currently prefixed with a :, as the function has to be + written [NP] + * define the files from Frank's list as config files [NP] + +2007-02-12 + * Add Replaces: for file that were in tl-latex-extra in TL 2005 and + are now in individual collections [FK, probably earlier unnoted + changes by NP] + * Use separate configure and build targets in tl-bin's rules and + Build.debian, for easier work with the sources [FK] + +2007-02-08 + * add new remapping type "configfile" which is copied to the last + argument as base path and remains where it should be. [NP] + * conflict with texlive-pdfetex, and add necessary replaces + +2007-02-06 + * TL2007 work [NP] + - collection-chemistry is gone, superseeded by collection-science + do not build texlive-chemistry and let tl-science replace tl-chemistry + - add replaces: texlive-humanities and tl-science -> tl-latex-extra + +2007-01-25 + * more internal restructuring [NP] + +2007-01-22 + * lots of internal changes to the Perl scripts, mainly cleanup, more + descriptive names, and debugging handling [FK] + * Add Tpm.pm and FileUtils.pm from TL 2007 [FK] + * Switch texlive-base and texlive-bin to quilt + * Do not install rules.in in the binary package, it not used and hence + is confusing. + * Switch texlive-lang, texlive-doc to quilt [NP] + * include quilt call only for packages with patches [NP] + * update tpm.data to the data of TL2007 + +2007-01-11 + * all: change the build infrastructure so that short and long + description of add-on packages can be specified in the + configuration file [FK] + * all: add a versioned build-dep on findutils, sarge's doesn't + understand the -wholename option. Should be dropped when etch is + released, nobody is going to want to make backports for + oldstable. [FK} + * no texlive-context anymore, replace it with Debian context package + +2007-01-11 + * texlive-base: blacklist siam as it is non-free, thus new upstream + (Closes: #406426) [NP] + +2007-01-08 + * texlive-base: create transitional packages tetex-bin and tetex-extra [FK] + +release texlive-bin 2005.dfsg.2-10 + +2007-01-11 + * build -10 from the old repository layout. The old layout will continue + for etch support. + +release texlive-bin 2005.dfsg.2-9 + +2007-01-04 + * texlive-bin: Apply a patch by "Mark A. Wicks" to + fix a crash of dvipdfm in half-hour timezones (Closes: #403267) + +2007-01-02 + * texlive-bin: Apply patch by Julian Gilbey to prevent + mktexlsr from creating ls-R in root's home directory (closes: #402925) + +release texlive-bin 2005.dfsg.2-8 +release texlive-base 2005.dfsg.2-5 +release texlive-extra 2005.dfsg.2-4 + +2006-12-28 + * move to new repository layout, documentation has to be written for it + +2006-12-18 + * texlive-bin: reinclude pslatex script and its manpage into + texlive-base-bin. [NP] + +2006-12-15 + * all: move the dpatch stuff to addons-per-source/$package/debian/patches + +2006-12-14 + * texlive-extra: remap infix-RPN.tex and .sty from the doc hieracy to + texmf-texlive (Closes: #402987) (closes Ubuntu bug #69690) + * texlive-bin: move bin-ttfutils to tl-font-utils, blacklist everything + but ttf2afm, add bin-ttfutils.tpm and ttf2afm.1 to the source + package (Closes: #402983) (Closes ubuntu #75545) + * all: restructure the layout of addons-per-source, it is now one directory + per source plus one for all, which is cp -a to the source package + at source package build time. This way we can include files missing + in the .orig.tar.gz without making a new .orig.tar.gz. This was necessary + to fix the above as bin-ttfutils.tpm was missing. + Note that binary files are NOT dealt with ATM, so do NOT install + binary files into addons-per-source/ !! + * redo a bit of documentation in the README file + +release texlive-bin 2005.dfsg.2-7 + +2006-12-12 + * texlive-bin: fix the wrong texdoctk patch [NP] + * texlive-bin: include xdvi upstream fix for segfault on hitting g with + -nogrey (Closes: #369569) + +2006-12-09 + * texlive-extra: downgrade the relation from fonts-extra to cm-super from + depends to suggests. Default would be recommends, but a suggests is + enough. (Closes: #399064) [NP] + * Add the ability to define additional execute statements in the config + file [NP] + * texlive-extra: add the missing dstroke.map, and add the addMap action + to the config file (Closes: #400780) [NP] + * tpm2deb.pl/texlive-base: Don't add mktexlsr calls to the postinst/postrm + script of texlive package, as it does not contain 'real' files + (Closes: #400369) [NP] + * texlive-bin: change shebang for getnonfreefonts to /bin/bash + (Closes: #398112) [NP] + * texlive-base: add an updated dcpic.sty to texlive-pictures (Closes: #388653) + * texlive-extra: activate ugq.map (Closes: #374351) + +2006-12-08 + * texlive-bin: Final polish of changelog + +release texlive-bin 2005.dfsg.2-6 + +2006-12-06 + * texlive-bin: Apply patch (from teTeX) to allow texdoctk to work when + both TEXMFDIST directories are populated (#400058) [FK] + +2006-12-02 + * texlive-bin: Apply pdftex patch that allows to use large cjk fonts + (see tetex's bug #399897) [FK] + +2006-12-01 + +release texlive-bin 2005.dfsg.2-5 + + * Add Conflicts of tl-omega on the aleph package (#400930) [FK] + +2006-11-28 + * in addons-per-source/all.watch, change extension of CD image from bz2 + to zip to match CTAN naming [FK] + +release texlive-bin 2005.dfsg.2-4 + +2006-11-28 + * texlive-bin: Blacklist feynmf, the separate package will soon work + with texlive; instead let tl-metapost recommend feynmf and tl-full + depend on it [FK] (closes: #400657) + +release texlive-base 2005.dfsg.2-4 +release texlive-bin 2005.dfsg.2-3 +release texlive-extra 2005.dfsg.2-3 +release texlive-lang 2005.dfsg.2-2 + +2006-11-09 + * texlive-bin: don't provide dvipdfm, it messes up sbuild + +2006-11-08 + * all: fix inclusion of packages descriptions when they are actually + blacklisted (thanks Frank) (Closes: #397589) + +2006-11-07 + * all: fix a stupid error in the is_blacklist logic, which blacklisted + packages which aren't blacklisted at all (Closes: #397324) + +2006-11-04 + * texlive-base: add the forgotten ltxtable.sty to texlive-latex-base + (Closes: #396965) [NP] + * texlive-bin: extend texconfig man page and include some fixes from + teTeX (Closes: #396904) [NP,FK] + +2006-10-30 + * texlive-bin: include fixes for superficially linked in libs [NP] + +release texlive-base 2005.dfsg.2-3 + +2006-10-26 + * alternative dependencies for teTeX changed to tetex-bin to get + mktexlsr (Closes: #395270) + * texlive-base: upgrade prosper relation back to recommends in + tl-latex-recommended as we have an updated package now. + * adjust version numbers in the relation to jadetex, xmltex, passivetex + +2006-10-20 + * Add a default for $opt_master in tpm2deb.pl setting it to ./LocalTPM, + this way we don't need a TeX Live 2005 Master when rebuilding only + a new Debian revision. + * Add a default for $oldsrcdir in tpm2deb.pl setting it to ./src, search + first for the .orig.tar.gz in ., then in $oldsrcdir. + +release texlive-base 2005.dfsg.2-2 +release texlive-bin 2005.dfsg.2-2 +release texlive-extra 2005.dfsg.2-2 + +2006-10-19 + * texlive-bin: include patch for pdfetex to support newer TTF fonts + (Closes: #394028) [NP] + +2006-10-18 + * texlive-bin: adjust built-in search paths of libkpathsea to the + Debian defaults (Closes: #392641) [NP] + +2006-10-16 + * Fix the description of MetaFont, this should be done upstream, too - + but where is it taken from? [FK] + * texlive now only suggests texlive-doc-en, not depends (Closes: #392517) + +2006-10-14 NP + * texlive-base: add versioned dependencies on all texlive packages + for texlive-full. Latest version must be configure in tpm2deb.cfg. + +2006-10-13 NP + * texlive-bin: update the debian patch for updmap(.1) (Closes: #393189) + +2006-10-12 NP + * texlive-lang: Add a depends from tl-lang-spanish on tl-latex-base as + eshyph.tex loads cathyph.tex, which is not present in tetex packages. + (Closes: #392474) + * texlive-base: texlive-full now recommends + latex-cjk-all >= 4.6.0+cvs20060714-2 + * texlive-base: blacklist beamer, xcolor, pgf and depend on the + respective Debian packages (Closes: #382870, #389467) + +2006-10-11 NP + * texlive-base: move the conflict texlive-latex-extra<->latex-beamer + to texlive-latex-recommended<->latex-beamer as the packages has + been moved. + * texlive-base: add a suggests texlive-latex-recommended -> tl-pictures + to get pgf for beamer (Closes: #382870) + * provide pgf, latex-beamer, latex-xcolor in the respective packages + * reorganize the tpm2deb.cfg file to make it easier to find something + +release texlive-base 2005.dfsg.2-1 +release texlive-bin 2005.dfsg.2-1 +release texlive-extra 2005.dfsg.2-1 +release texlive-lang 2005.dfsg.2-1 +release texlive-doc 2005.dfsg.2-1 + +2006-10-09 NP + * texlive-bin: depend on tex-common >= 0.33 to get working debianize-updmap + * texlive-base: blacklist several non-free beamer exampler files + (Closes: #391946) + +2006-10-08 NP + * texlive-bin: Include the changes by Frank to debianize-updmap + * texlive-bin: move bin-texdoc to tl-base-bin (Closes: #391640) + * texlive-bin: include the already unpacked sources instead of the + source.tar.bz2. Changes to the clean target: + - don't remove unpack-stamp + - don't remove the whole build dir, only build/inst and build/Work + (Closes: #380227) (Thanks Frank for insisting!) + * texlive-bin: Use tex-common's (>= 0.32) debianize-updmap (Closes: #391348) + * texlive-base: call tetex-bin-upgrade from tex-common (>= 0.32) to allow + upgrades from sarge's tetex2 (Closes: #382861) (at least we hope) + +2006-10-07 FK + * Add a Depends on ed for texlive-base-bin, updmap uses it + +2006-10-06 NP + * texlive-bin: use xdvi.bin in the xdvi shell script, and use alternatives + system to set xdvi.bin to xdvi-xaw.bin (Closes: #391437) + * extend the README in the svn repository to explain the inner workings + in more details + * all: extend the copyright file with statements for the copyright of + the Debian adaptions, uses GPLv2 (no higher). + +2006-10-05 NP + * texlive-lang: provide/replace/conflict texlive-lang-african - ethiop + * texlive-extra: add recommend texlive-latex-extra -> texlive-generic-extra + (Closes: #390896) + * all: move the definition of maintainers, section, uploaders, priority, + standards to the config file. Move some provides which were hard coded + in the perl file into the config file. + * all: create the rules file via an eperl script, add build-dep on eperl + +2006-10-03 NP + * texlive-lang: remove the conflict with octave-forge as they don't have + /usr/bin/mex anymore. + +2006-09-29 NP + * remove unnecessary conflicts (with blacklisting) + - texlive-bin: tl-extra-utils <-> dviutils + . blacklist dviconcat(.1) and dviselect(.1) + . recommend dviutils + - texlive-bin: tl-extra-utils <-> lacheck + . blacklist bin-lacheck.tpm + . recommend lacheck + * drop unnecessary conflicts (without blacklisting) + - texlive-extra: tl-latex-extra <-> lhs2tex + it concerns only two old files + - texlive-base: tl-latex-recommended <-> latex-ucs* (Closes: #388311) + - texlive-extra: tl-games <-> tex-skak, tex-chess + * texlive-base: change relation tl-latex-recommended/prosper from recommends + to suggests as we cannot recommend a not available package. + (Closes: #389195) + +2006-09-28 NP + * texlive-extra: blacklist latex/misc209/bar.sty as it has a bad license + +2006-09-08 NP + * texlive-lang: reinclude cs*, as it will be redistributable, and add + a comment. + +2006-09-06 NP + * Change my email address to preining@debian.org in the Uploaders field + +2006-09-05 NP + * blacklist various scripts in texmf-texlive/scripts which are unnecessary + as they are also in /usr/bin + * texlive-lang: blacklist (bin-)cslatex, (bin-)csplain, and + hyphen-czechslovak as they contain undistributable parts (the former 4) + or depends on these parts (the last one). Also add a dpatch that + removes the lang initialisation from collection-langczechslovak.tpm + +2006-09-04 NP + * all: report bugs together with tex-common, and report status of the + tetex packages. Fix some small things in bug.scripts. + * texlive-lang: blacklist ntimes.sty (Closes: #366521) + * add SHELL=/bin/bash to debian/rules + * update tpm2licenses.txt + +2006-08-31 NP + * texlive-bin: remove magic header of a2ping, thumbpdf, and pdfcrop + * allow for comments in the source of the lintian.override file, and + comment the override lines for a2ping, thumbpdf, and pdfcrop + * texlive-base: texlive-latex-extra recommend texlive-latex-recommended + (Closes: #385213) + +2006-08-10 NP + * add comment to the rules file that bins for all archs can be found in + bin/i386-linux as the tpm arch is set to i386-linux + * fix the title and description of texlive package + +version 2005.dfsg.1-1 unstable Wed, 09 Aug 2006 09:57:05 +0200 + for texlive-bin, texlive-base, texlive-extra + +2006-08-04 NP + * texlive-bin: fix a typo in tpm2deb.cfg (font-util instead of font-utils) + * texlive-base: remap esbst.tex and romanidx.tex to really fix bug #365235 + * texlive-extra: close the eulervm bug #361941 in the changelog file + +2006-08-03 NP + * texlive-bin: blacklist mktex.cnf as it conflicts with tex-common's. + * infra: change test scripts to work with cowbuilder + * infra: change test script to call aptitude upgrade instead of + install $package + * texlive-bin: rm -f the mktex.cnf file, it could already be gone. + +2006-08-01 NP + * texlive-bin: undo the undo from 22.07 to get back to 08.07. + +2006-07-22 NP + * texlive-bin: reinstall mktex.cnf conffile link, see bug #379089 + * texlive-base: add dependency tl-context -> perl-tk, libxml-parser-perl + for texshow to run (Closes: #378829) + * texlive-bin: Remove the dep from texlive-base-bin on tex-common >= 0.26. + +2006-07-15 NP + * all: move several tpm packages around, as done upstream + * all: get rid of update-link-files, it was unnecessary, dh_compress + is intelligent enough to adjust links + * all: get rid of some dpatches for moving tpm packages, as the move + directive in tpm2deb.cfg is enough. + * all: create links with script create-doc-links instead of using tpm2deb.pl + internal add_symlink function + * texlive-extra: add eulervm 4.0 to texlive-fonts-extra, replacing the old + version 3.0a with missing manifest (Closes: #361941) + +2006-07-13 NP + * all: change maintainer to debian-tex-maint@lists.debian.org + * all: first merge the dist-trees, than call the license stuff + +2006-07-08 NP + * texlive-base: move passivetex, jadetex, xmltex, latex-cjk from + recommends to suggests of texlive-full (Closes: #377106) + * texlive-bin: remove fmtutil.cnf link (useless) and mktex.cnf + (taken from tex-common). Add a dep from texlive-base-bin on + tex-common >= 0.26. (Closes: #376524) + * all: use tex-commons Tpm.pm and tpm2licenses, add build-dep on + tex-common >= 0.23 + * all: add lintian override for wrong-name-for-upstream-changelog + +2006-06-15 NP + * separate changelog files for all source packages in addons-per-source + +2006-06-13 NP + * include fixed supp-*.tex files into texlive-context + * include input focus fix for xdvi (upstream, tetex) + * include a patch for dvipdfm's config file that allows proper + inclusion of really large Postscript files, as reported by Thomas + Esser and Laurent Siebenmann on the TeXLive list. + +2006-05-28 NP + * after discussion with Ralf Stubner move fpl and mathpazo from + fonts-extra/math-extra to fonts-recommended (psnfss calls for), + and move charter from fonts-extra to fonts-recommended. + Move some files in fpl.tpm from DocFiles to SourceFiles, + thanks Ralf and Frank for tracking this (Closes: #366035) + +2006-05-27 NP + * reinstantiate texlive-lang-ukenglish, the un-freeness is not clear. + * add a patch by Ralf Stubner to mktexnam (accepted by TE and included + upstream) to create TEXMFVAR in mktexnam. First step to do another + /var/cache/fonts retry. + * fix texlive-bin build logic: patch-stamp: unpack-stamp + * allow for additional license entries at the beginning $Pkg.Licenses.add + * add the license statement from Donald Arseneau to relicense underscore.sty + under LPPL license (Closes: #368902) + * move the whole license generation stuff into the generate-license-file, + thus uncluttering the rules file + * make blacklist also work on the orig.tar.gz + * move esbst.tex and romanidx.tex in the babel.tpm file into the + RunFiles section (Closes: #365235) + * move fpl into texlive-latex-base as it is required by PSNFSS, also + move some files which are actually SourceFiles into the respective + section, thanks Ralf and Frank (see 28.05.2006) + (also adapt the lintian.override file for new fpl overrides!) + * move lmodern from Depends to Recommends in texlive-base + * replace the relation directive with single directives for conflicts, + depends, recommends, suggests, and add the replaces directive. + +2006-05-24 NP + * don't build texlive-lang-ukenglish as it is non-free + we still have to build dfsg .orig.tar.gz files once! + +2006-05-23 NP + * texlive-extra-utils recommends perl-tk for texdoctk (Closes: #368659) + +version 2005-2 unstable Thu, 11 May 2006 00:12:10 +0200 + +2006-05-11 NP + * another fix for tpm2licenses to not break if there is an empty + directory (or one only containing links!) + * Upload to unstable sponsored by Neil McGovern + +2006-05-10 NP + * Build-Dep on tex-common not necessary as we include tpm2licenses + and fixed Tpm.pm (can go away with next version when the fixes + are in tex-common) + * The build-dep day, finding what all is necessary for a clean build + with tpm2licenses: libappconfig-perl, libxml-dom-perl + * Really fix the ibycus4.map problem (Closes: #354652) + * adjust dvipdfmx recommend version to 1:20050831-1 + * Install this file as CHANGES.packaging into texlive-common, and + create a streamlined and terse changelog. + +2006-05-09 NP + * create new package texlive-common: + - move the symlink /u/s/texmf-texlive/doc -> ../texlive-doc from + texlive-base-bin to texlive-common, and the installation of it + from tpm2deb.pl to texlive-common.links.dist (Closes: #364776) + - same as above for the /u/s/texmf-texlive/ls-R link + - let *all* packages depend on texlive-common (which allows the above + two changes!) + - add a all.preinst.pre snippet that ensures that all texlive + packages are *first* purged before the -2 version is installed. + We don't support upgrade path from experimental. Also add the + preinst handling which was missing. + - texlive-common depends on tex-common, the other packages do only + depend on texlive-common + * allow all.{post,pre}{inst,rm}.{post,pre} to be merged into all + maintainer scripts + * do not install SourceFiles into the binary package. + * install the README.?? files only into texlive-common + * update the tl4deb-dep diagram + * move endfloat.dvi from texlive-latex-recommended to texlive-latex-extra + (upstream fix necessary) + +2006-05-08 NP + * move the installation of debianize-updmap form tpm2deb.pl to the + texlive-base-bin.root + * update tpm2liclines from catalogue + * allow installation of uuencoded files via the .root method, and move + tl4deb-deptree.pdf.uu into texlive-common.root, remove all references + to tl4deb-deptree in tpm2deb.pl (especially the rules files) + * remove all .svn directories at source package build time from debian + * bump standards version to 3.7.2, no changes necessary + * install mime entry for dvi in texlive-base-bin (thanks Jörg Sommer) + * move declaration of build-dependencies into the config file, + move dpatch into Build-Depends: as it is necessary for clean target. + * before writing out relation fields, uniq the entries. + +2006-05-06 NP + * blacklist musixtex, musixps, musixlyr, and let texlive-music depend + on the updated packages. + * add mllatex.ini to texlive-formats-extra and blacklist it in + texlive-latex-base + +2006-05-04 NP + * add man pages for pkfix, texconfig-dialog, aleph, lambda, otangle + (thus all binaries have man pages now, yippie) + +2006-05-03 NP + * add man page for pdfcrop (written by Frank, thanks) + +2006-05-02 NP + * texlive-lang-polish conflicts with octave-forge as both provide + /usr/bin/mex, this is preliminary, a better solution must be + sought (Closes: #364059) + +2006-05-01 NP + * add man pages for bibtex8, devnag, ps4pdf, musixflx (from Andreas Tille) + getnonfreefonts-sys (link to getnonfreefonts), perltex (pod2man) + +2006-04-30 NP + * add man page for simpdftex + +2006-04-29 NP + * add man page for pdfopen and pdfclose (thanks Frank) + * add man page for deprecated altpdf* scripts + +2006-04-25 NP + * extend license with a coverage check + * blacklist trig.dtx and xdoc from fontinst sources (thanks to Frank + for spotting this) + * extend the svn README (not installed) for config file syntax and + first write up on the build procedure + +2006-04-23 NP + * add support for arbitrary bin-package specific subtrees in addons-per-bin, + and install omfonts.1 into texlive-omega man directory. + * License support rehauled: We now give for (nearly) every file a license + statement generated from the TeX Catalogue. + +2006-04-10 NP + * fix build_format_if_format_exists check, it was completely hosed + * let texlive-lang-cyrillic conflict with tetex due to /usr/bin/ru* + +2006-04-06 NP + * blacklist sanskrit.tpm, and recommend latex-sanskrit from + texlive-lang-indic. + +2006-04-03 NP + * Remove build-deps on | libxaw8-dev as it goes away with X7. + +2006-04-01 NP + * Remove non-free documentation and create a specific package + texlive-doc-nonfree. Currently only three context documents. + * change pdftex's version string to indicate that it uses libpoppler, + taken from the teTeX patch (thanks to Frank and Julian). + +2006-03-23 NP + * include the texdoc patch from tetex, which allows following of + symlinks for doc files, and fixes security concerns (Closes: #356390) + * As a consequence of the above patch let tl-extra-utils depend on + mime-support. + * remove tetex-missing-magic-header workaround in test script. + +2006-03-20 NP + * add conflict ptex-bin vs texlive-lang-polish as both provide platex. + * add a fix to the tmpfile race in the example feynmf.pl script (thanks + to Kevin B. McCarty). + +2006-03-14 NP + * change shell for the reportbug script to bash (Closes: #356391) + +2006-03-12 NP + * Add lintian override for pdfcrop and thumbpdf executable-not-elf-or-script + because it is one of the magic header which can be called with sh or perl. + +2006-03-11 NP + * Blacklist /usr/bin/thumbpdf and /usr/bin/pdfcrop as it is a link to + texexec, which is in texlive-context, while thumbpdf/pdfcrop is in + texlive-pdfetex. Remap the thumbpdf and pdfcrop perl files from scripts to + /usr/bin. (Closes: #352092) + +2006-03-06 NP + * allow overriding of tpm and package titles and descriptions, improve + various descriptions (Closes: #354964) + +2006-03-04 NP + * add all update-* calls to the postinst scripts so that the config file do + not contain left-overs from tetex at switch time (Closes: #355266) + +2006-03-02 NP + * Add the temporary directory to TEXFORMATS in fmtutil, to allow + building formats based on latex.fmt without cluttering stdout + (patch taken from tetex by Frank Küster, see bug #354604) + +2006-03-01 NP + * make all texlive-lang-* packages working with tetex3, but add a + README file explaining the situation for duplicate languages. + * only recommend dvipdfmx, so we can go for the upload + * make most depends on other Debian packages a recommends (tipa, texpower, + etc) + +2006-02-28 NP + * remap the ibycus4.map TeX/MF input file from the fonts/map location + to the fonts/source location (upstream cleanup necessary) (Closes: #354652) + * add packages specific README.Debian files + * allow various texlive-lang-* packages to work with tetex3 + +2006-02-26 NP + * Fix dependency of texlive onto texlive-latex-base + +2006-02-25 NP + * Let texlive-base depend on the new NMU of dvipdfmx and blacklist it. + * Try to stop the build system to build dvipdfmx. + * Add Provides for virtual packages: dvipdfm, cweb, ctie, texdoctk + +2006-02-20 NP + * move all files to texmf-texlive, only a few essential stay in TEXMFMAIN + * add a new package texlive-full which takes the role of the previous + texlive package in pulling in all necessary components, while the + texlive package itself now consists of a selection of packages + (the -recommended ones, plus doc-en, but no -lang-*) + +2006-02-19 NP + * conflict: texlive-extra-utils with dviutils (superseeded, more utils) + * blacklist bin-dvi2tty, but let tl-extra-utils depend on dvi2tty + * fix problems when switching from teTeX (missing update-language call) + (all three thanks to Atsuhito Kohda) + +2006-02-18 NP + * The svn repository has moved to the debian-tex project at alioth, + thus the revisions now are shifted by ~500. + +2006-02-13 NP + * remove /var/lib/texmf/web2c/{latex,pdflatex}.{fmt,log} before + calling fmtutil-sys --all as jadetex (and other formats) with + a fmtutil config line based on the latex format might use the + old latex format. (Closes: #351707) + +2006-02-12 NP + * blacklist /usr/bin/uniqleaf which is a link to texexec but no + corresponding perl file exists (but it is in tetex). + * Fix the Build-Depends-Indep vs Build-Depends stuff + * tipa NMU is in Debian, so depend on it + * fix for the link files fix + * cleanup of common.functions (backticks, printf instead of echo -n) + +2006-02-11 NP + * blacklist lm(odern), and depend on lmodern >= 0.99.3-1, this makes the + lmodern fonts again available for X (Closes: #351727) + * included fixes for errors in the depot: + - remove ltxdoc.cfg from tex/latex/subfig + - move pst-3d.tex from the doc directory to the proper place + +2006-02-06 NP + * add a special clause to bug script to see the texmf-texlive/ls-R file + * import debianize-updmap and other fixes for fmtutil from tetex + +2006-01-31 NP + * fix installation of files from addons-per-bin + * link fixing: remove double call to dh_link, install pre-distributed + links files as package.links.dist, fix update-link-files to copy the + package.links.dist to package.links, and only append the links from + package.links.generated + * add some more man pages (links to pdfetex.1) + +2006-01-24 NP + * add a watch file to the sources + * add poppler/Link.h for building with poppler >= 0.5.0. Thanks to Martin + Pitt. + * texpower is updated, let texlive depend on it + +2006-01-15 NP + * expand reportbug script to include an ls -l of texmf.cnf, fmtutil.cnf + updmap.cfg, and language.dat + +version 2005-1 experimental Thu, 12 Jan 2006 17:30:22 +0100 + +2006-01-12 NP + * switch to debhelper compat version 5, no changes necessary + * upload to experimental, based on scripts revision 293. + * Upload sponsored by Neil McGovern + * fix tetex-dependency/conflict check + * fix bug report script, install it into all packages + +2006-01-11 NP + * support for reportbug control and script, all packages but the + doc packages report together with texlive-base-bin, and texlive-base-bin + reports via the same script as does tetex-base. + * remove config.status file in pdcmac + * texlive-formats-extra conflicts with tetex-bin <= 3.0-13 + * add missing build dependency texlive-bin -> ed + * test builds are done in a minimal pbuilder with only build-essential stuff + +2006-01-09 NP + * clean up poppler patch + * separate the writing of debian/rules into its own function + * clean up the whole direcory (shouldn't I do it for my life, too ;-) + * add a README file in the repository how everything is structured + * restructuring stuff: + - merge scripts/snippets/addons etc into two directories + addons-per-source and addons-per-bin + - simplify the make_deb_source functions as nearly all files + are now installed automatic via the addons-per-* stuff. + +2006-01-04 NP + * fix read_changelog program + * build sources only based on the configuration in tpm2deb.cfg, not + necessary to be specified in the Makefile + * test script cats all the error files /tmp/texlive.* to stdout if + one of the commands goes wrong + * fix check_consistency by blacklisting collection-binaries, actually + break out if there is an error raised in check_consistency + +2005-12-29 NP + * remove conflicts on thailatex, although it doesn't work with texlive + (and probably not with thailatex). Updates are necessary to thailatex. + * change dep on tex-common to >= 0.12 + +2005-12-28 NP + * kill texlive-lang-cjk package: + - move yi4latex to texlive-latex-extra + - recommend latex-cjk-all (>= 4.6.0+cvs20051031-4) + * remove 40_hbf2gf.dpatch as it is not included into the package + anymore + * add libpoppler-dev to Build-Deps for texlive-bin + +2005-12-27 NP + * move unified doc dir to /usr/share/doc/texlive-doc as there is a + package texlive, install all the README.?? etc also there + * include fixes from Werner Lemberg for hbf2gf and mktexmf + dpatch/texlive-bin/40_hbf2gf.dpatch and 41_maketexmf.dpatch + dpatch/texlive-base/30_depot_fixes.dpatch + * switch pdfetex from libxpdf to libpoppler, patch taken from tetex + +2005-12-26 NP + * add missing dependency of texlive-omega onto texlive-latex-base for + latex.ltx in lambda.ini (todo for depot) + * move mltex and bin-mltex to texlive-formats-extra (todo for depot) + * add missing dependency of texlive-formats-extra onto texlive-latex-base + for bplain.tex and mllatex (todo for depot) + * include diagram into texlive-doc-base package + * fix --noremove option to tpm2deb.pl + * add sharutils to build-deps of texlive-doc + +2005-12-23 NP + * created a diagram of dependencies + * implement automatic test system, testing all packages with install- + remove-install-purge cycle + * fix installation of eplain format, it has been moved to tl-plain-extra + instead of tl-formats-extra (todo for depot) + * for the texlive-doc-* packages call mktexlsr only if it is available + (these packages do not depend on texlive-base-bin) + +2005-12-21 NP + * call fmtutil-sys --all in tl-base and tl-base-bin postinst script + * move tex4ht from recommends to depends for the texlive package, as + it is already fixed in unstable to work with texlive and tetex. + * Include relation to teTeX in README.Debian + +2005-12-15 NP + * make texlive-math-extra and texlive-plain-extra conflict with tetex + * version dependency of cm-super >= 0.3.3-3 due to the name change + * include pdftex update to 1.30.5, bugfix release + * texlive-font-utils conflicts with tetex + +2005-12-14 NP + * tl-htmlxml completely replaced, removed conflict of tl-context vs tex4ht + * let texlive recommend tex4ht in locally updpkg version + +2005-12-13 NP + * make packages which are not texlive specific depend on either texlive + or tetex, and remove unnecessary conflicts with tetex, so that tetex + users can use the texlive packages, too. + +2005-12-12 NP + * Rename dependency from lcdftypetools to lcdf-typetools + * don't build texlive-htmlxml but recommend the respective debian pkgs + * move xmlplay from texlive-htmlxml (not build) to tl-latex-extra + +2005-12-11 NP + * remove texlive from the dependencies of the texlive packages + * include security fix xpdf-3.01pl1.patch (CAN-2005-3193) + * add bzip2 to build-dep + * fix installation of getnonfreefonts(-sys) + +2005-12-10 NP + * fix rules generation to first unpack and then patch + * add texdoctk patch warning if perl-tk is not installed (stolen from tetex) + and remap-link texdotk.{defaults,dat} to /etc/texmf/texlive/texdoctk + * add a texlive meta package that pulls in all sub packages and other + Debian packages resulting in a more or less complete TeX Live system. + * change orig.tar.gz layout to look exactely like the DVD (so we can + once put the debian dir into the DVD) + +2005-12-09 NP + * use source.tar.bz2 from Master/source (i.e. from the DVD) + +2005-12-03 NP + * blacklist euclide.tpm, as it is superseeded by pst-eucl (todo for depot) + * "give Debian what Debian is": + - do not build texlive-lang-arab as it is arabtex which is in Debian + - blacklist prosper and depend on prosper (fix for prosper needed) + recommend prosper + - blacklist texpower and tpslifonts as they are superseeded by the + Debian texpower package (fix for texpower needed), recommend texpower + - blacklist tipa as it is in Debian (fix for tipa send to maintainers) + recommend tipa + * switch field separator in cfg file to ; so that epoch specifications work + +2005-12-02 NP + * blacklisting xymtex as it is not distributable. + * blacklist (bin-)ppower4 as it depends on java and no sources + are provided within texlive (but you can get it from the author) + * save ChangeLog in utf8 + +2005-12-01 NP + * add dependency tl-context -> tl-metapost (thanks Arne Jørgensen) + (todo for depot) + +2005-11-30 NP + * add symlink from texmf-texlive/ls-R to /var/lib/texmf/ls-R-TEXLIVE + * kill packages ttf-utils, ps-utils, graphics-tools, they should become + proper Debian packages + +2005-11-29 NP + * another round of package renaming, adaptions to the perl script + * move only the files from texmf-dist and texmf-doc to texmf-texlive, + leave others in place (more work for teTeX cooperation has to be done) + * fix lintian generation for source packages + +2005-11-28 NP + * reduce number of source packages + * rename various packages + +2005-11-27 NP + * properly clean up debian subdir with target clean, ie remove the + generated maintainer scripts and the generated .link files. + * upgrade pgf in texlive-pictures to 1.01 for compatibility fixes + +2005-11-24 NP + * Close the ITP (Closes: #312897) + * add a dependency tl-htmlxml -> tl-latexrecommended because jadetex + needs the ecrm fonts. + * switch to texmf-texlive tree, which also makes a dependency on + tex-common >= 0.12 necessary. + +version 2005-0.2 UNRELEASED Tue, 22 Nov 2005 23:49:00 +0100 + +2005-11-22 NP + * this release was uploaded as -1 to experimental but rejected. Thus + the release was renamed as -0.2 and a new -1 will be generated. + * re-add updmap-sys call to the postrm scripts + * make updmap-sys silent in postinst script + * make fmtutil-sys silent in postinst script + * make mktexlsr silent in postinst script + * change depend on tex-common to >= 0.11 for TEXMFSYSCONFIG change + +2005-11-21 NP + * fix lintian source override installation + * fix etex/pdfetex format generation problem + * remove the 04TeXlive hack as the change will go into tex-common 0.11 + rather soon + * remap only a few config files (those for programs) to /etc/texmf/texlive + * try to fix the conundrum with format generation. This is a complete + upstream chaos (ok, also upstream I created the chaos ;-). Should be fixed + rather soon. + +2005-11-20 NP + * fix invocation of grep in common.functions to add || true, since grep + returns if no match found + * fix installation of TeXlive.cnf as 04TeXlive.cnf into /e/t/texmf.d + * add a overriding TEXMF variable to 04TeXlive.cnf which includes + TEXMFCONFIG without !! (Should actually be fixed in tex-common!) + * remove the long invocation of language.dat + * fix merging of common.functions into postrm and prerm + * fix regexp for installing lintian.override files + +2005-11-19 NP + * add common.functions and merge it into the maintainer scripts + * change check for the existence of a format from kpsewhich fmt.ini + to a fmtutil-sys --listcfg check (in common.functions) + * Leave the map files in TEXMFMAIN and do not remap them to /etc/texmf + * New configuration file handling, all the files are left in their + normal place and config files to shadow these files should be put + into /etc/texmf + * Add override for TEXMFSYSCONFIG to /etc/texmf + * give the updmap.d, fmt.d, and language.d config snippets priority 10 + and only the us language snippet the 09 priority. + * create a README.Debian + * lintian override for a2perl header problem + +2005-11-16 NP + * add a distribution entry to the ChangeLog file and make tpm2deb.pl + aware of it + * fix all remaining man page warnings of lintian + * load tpm data from a dump of the %TpmData using perl::Storable, + significantly speeding up the initialization time at source-deb + building time. + * add additional override for texlive-langgerman that german is correct + +2005-11-15 NP + * fix the man page errors (wrong char and ttf2pt1) + +version 2005-0.1 UNRELEASED Mon, 14 Nov 2005 20:11:34 +0100 + +2005-11-14 NP + * remove build-dep on tex-common + * Rework maintainer script handling, separate out the creation of + maintainer scripts into a function, allow only to create the + maintainer scripts for checking. + * move the extra format configuration from the snippets/post scripts + to tpm2deb.cfg. + * Building a first prerelease version. The scripts used are from + svn revision 134. + +2005-11-11 NP + * Fix a failure in setting the executes, thus there were some map files + missing. + +2005-11-09 NP + * Don't forget dh_strip + +2005-11-08 NP + * Fixes for big cleanup part I. + * Create all rules file from tpm2deb.pl, make the rules subdir + unnecessary. + +2005-11-07 NP + * Big cleanup in the script, part I. + - make config file syntax more readable + - create infrastructure for all kind of tests by reading in all tpm + data and store it in a hash + - separation of functions handling with tpm data, config file reading + and hash creation from the debian functions + - work on more packages in one go is now possible, thus the tedious + reading of all the tpm files is not necessary anymore + +2005-11-05 NP + * TeX live 2005 is done. It includes everything up to perforce change #8640. + * Make a new set of tpm/licence files + * allow independent building of orig.tar.gz files + * do not create empty control files + * remove old fmt/log files in the postinst script prior to creating + them new to get rid of leftovers. + * include a lot of checks that dependencies are going right + +version 2004.05.10.13-1 UNRELEASED Thu, 13 Oct 2005 22:44:33 +0200 + +2005-10-13 NP + * Include the list of all licenses of all packages into the package + * Rebuild packages from current depot including perforce change #8432 + * move the format generation of etex and pdfetex from -basic to -pdfetex + * Install lintian overrides for zero-byte-file-in-doc-directory, + extra-license-file, and script-not-executable. + * add support for dh_link and create links for some man pages + +2005-10-11 NP + * Make blacklists collection specific. + * Implement consistency checks: + - packages which are included in two collections + - packages which are not included at all + (missing for bin-* packages) + * Include antt and iwona only in texlive-fontsextra and not in + texlive-langpolish. + +2005-10-06 NP + * change cm-super from Suggest to Depend, as it is now in Debian/sid + +2005-10-04 NP + * remove last traces of texlive-trees and replace it by Master + * Fix postrm scripts to take actions only on remove action, not + on purge + +2005-09-29 NP + * Move to svn://svn.debian.org/pkg-texlive/texlive/trunk/ + * split tpm2deb from Master, include the Tools perl modules in orig.tar.gz + +2005-09-27 NP + * Add mktexlsr patch to generate ls-R via a /tmp file and cat into + the original one. This way permissions can be set for the ls-R files. + Taken from tetex-bin. + +2005-09-26 NP + * Changed cmd test to which from test -e, so that no actual paths + are used in the control scripts (Debian Policy) + +version 2004.05.09.25-1 UNRELEASED Sun, 25 Sep 2005 12:03:18 +0200 + +2005-09-25 NP + * Change the test for fmtutil-sys --byhyphen to fmtutil-sys --listcfg + and grep for ^latex. + * Remove the chmod -x stuff, it breaks execution of various web2c/* + scripts (mktexupd, tcfmgr, ...) + * Switch to new numbering scheme (tlversion.yy.mm.dd) where tlversion + is the last *released* TeX live version and yy.mm.dd is the current + date. This way we can have regular releases 200N-debrelease and + additional releases between official TeX live releases. + * Fix the order of ifs in postrm scripts so that first the existence of + fmtutil-sys is checked, and then wether the latex fmt is installed. + * Add myself to the Uploaders field. + * New source version, including up to perforce change #8177 + +2005-09-24 NP + * Forget to remove the "all" from the generated rules file. It does + not hurt at build time, but I don't like it. + * add the fmtutil-sys --byhyphen calling check also to the postrm scripts + * remove x bit from all files under texlive-trees at source packages + built time + +2005-09-23 NP + * Fix the lang postinst scripts so that fmtutil-sys --byhyphen is only + called if language.dat is found. This is not the optimal method, but + the best I can think of ATM. + * Actually copy source and not source.development from the depot + * make the architecture parameter to tpm2deb unnecessary and put config + for this into the tpm2deb.cfg file. Update all the debian/rules files. + * Change Maintainer to: + Debian TeX live Maintainers + * Added some documentation to tpm2deb.pl, and cleaned up the script + +version 2005.09.15-2 UNRELEASED Wed, 21 Sep 2005 16:59:23 +0200 + +2005-09-20 NP + * Move the link /usr/share/texmf/fonts/map -> /etc/texmf/map from + texlive-basic to texlive-basicbin as in the later there are several + map files and updmap is also in basicbin + * Temporary fixes to the tpm files to make texlive-lang* with hyphen files + depend on texlive-latex and not only on texlive-basic. + * Add (unused) feature to build debian packages for single CTAN packages + as well + +version 2005.09.15-1 UNRELEASED Thu, 15 Sep 2005 16:14:10 +0200 + +2005-09-15 NP + * New source version, including up to perforce change #8062 + * fixed format generation problem + * make descriptions lines not longer than 80 chars + +2005-09-14 NP + * add -e to the /bin/sh shebang for error checking in the control scripts + * test for existence of various programs before trying to execute them + this is for the case when a package is removed but not purged, but + the tex-common package is removed, too. + +version 2005.08.27-1 UNRELEASED Sat, 27 Aug 2005 16:03:44 +0200 + +2005-08-27 NP + * New source version, including up to perforce change #7870 + * fix build dependency on libXaw7-dev | libXaw8-dev + * Fix generation of formats of texlive-basic. The actual fmt.d files + are in texlive-basicbin, but the .ini files are in texlive-basic, + so actually the call to fmtutil should be in the postinst of + texlive-basic. (Thanks to LUK ShunTim) + +2005-08-26 NP + * Do not include cm-super.tpm, but suggest the debian package cm-super, + which contains the full set of cm-super fonts. For now locally + available on tug. + +2005-08-25 NP + * Fix installation of README.Debian-source into all binary packages + +version 2005.08.24-1 UNRELEASED Wed, 24 Aug 2005 18:10:02 +0200 + +2005-08-24 NP + * Everything is build with depot at change #7842 + * Really fix the info problem: Now all the info files are converted at + install time to unix line endings. Thus also the strange ^M in the + postinst script install-info commands should be fixed. + +2005-08-23 NP + * New source version, including up to perforce change #7836 + This includes fixed versions of pdftex, mpost, dvipdfmx, and as usual + several updates to (La)TeX packages. + * fixes the dvips.info install problem + * lm is now included in texlive-basic, so changed conflicts in tpm2deb.cfg + * generation of /var/cache/font/* and various ls-R files has moved to + tex-common (>= 0.7), thus also the changed Depends + * Dependency on tex-common (>= 0.7) also fixes the lambda with all + languages problem in dumping the format file + +2005-08-22 NP + * Include the included packages and their title in the long description + of the control files, and generate the control files automatically. + +version 2005.08.21-1 UNRELEASED Sun, 21 Aug 2005 16:20:00 +0200 + +2005-08-21 NP + * New source version, including up to perforce change #7781 + * Fix missing dependencies in Depot, should make install/deinstall more + clean, and give a full install. + * Building the source packages does not need the file revision anymore, + all information are deduced from this ChangeLog file + +version 2005.08.18-2 UNRELEASED Sat, 20 Aug 2005 22:35:00 +0200 + +2005-08-20 NP + * Fix installation of /var/cache/font etc + * Link verious config files into /etc/texmf + * remove generated formats in the postrm script + * dynamically generate ChangeLog file from the ChangeLog of tpm2deb + +version 2005.08.18-1 UNRELEASED Thu, 18 Aug 2005 22:00:00 +0200 + +2005-08-18 NP + * Split out texinfo building into its own (source)package. + * More work on the doc disaster. + +2005-08-16 NP + * Fix info installation again. blacklist now really disables *all* + actions, also specials, while empty mappings allow special actions. + So the info files from info are blacklisted, all the others are + remapped to void and dh_installinfo-ed. + +2005-08-12 NP + * Fix syntax error in postrm when no actions are defined + +2005-08-11 NP + * Fix install-info installation + * Fix dh_installinfo/dh_compress order in rules, update rules files for + arch=all + * do not call updmap-sys, fmtutil-sys, update-XXXX in postrm upgrade + . /usr/share/doc/pkgname/... + contains the actual files + . /usr/share/doc/texmf/ + contains some directories and some symlinks to directories in + /usr/share/doc/pkgname (as I said, hope this works, will + implement it now and see ;-) + . /usr/share/texmf/doc -> ../doc/texmf + +2005-08-10 NP + * Add support of info files with dh_installinfo + * do not install tpm files and fmtutil/* files into /usr/share/texmf + * put DocFiles back into /usr/share/texmf/doc, but make links of + every file to /usr/share/doc/debname/... + Hopefully texdoc is working now. + +version 2005.08.02-1 UNRELEASED Tue, 02 Aug 2005 20:00:00 +0200 + +2005-08-02 NP + * Start of ChangeLog and first version + +EndOfChangeLog + +# vim:set termencoding=iso8859-15 encoding=utf-8 fileencoding=utf-8: # +# Local Variables: +# coding: utf-8 +# mode: debian-changelog +# End: --- texlive-bin-2007.dfsg.1.orig/debian/tpm2deb.cfg +++ texlive-bin-2007.dfsg.1/debian/tpm2deb.cfg @@ -0,0 +1,957 @@ +# +# tpm2deb.cfg +# (c) 2005-2007 Norbert Preining +# +# $Id: tpm2deb.cfg 3194 2007-11-17 19:38:56Z preining $ +# +# describe relations between texlive and other debian packages, but als +# which packages and files should be blacklisted +# and the filemappings +# +# For a description of the format of this file please see +# the toplevel README file +# +# THIS IS FOR TEXLIVE 2007!!!!!!!!!!!! +# +# architectures +arch;texlive-bin;any +# sources +source;texlive-bin +source;texlive-doc +source;texlive-base +source;texlive-lang +source;texlive-extra +# basic info +maintainer;*;Debian TeX Maintainers +uploaders;*;Norbert Preining , Frank Küster +section;*;tex +bin-section;libkpathsea-dev;libdevel +bin-section;libkpathsea4;libs +priority;*;optional +standards;*;3.7.2 +# last texlive-common version all packages should depend on +texlive-common-version;2007 +# +# last revision of the packages, necessary for texlive-full dependencies +# WARNING WARNING WARNING WARNING +# if you adjust that and rebuild texlive-base, then the new texlive-common +# will conflict with ALL version << then that. So if you have already +# updated latest-version for texlive-lang, but NOT UPLOADED, and then +# you build texlive-base and upload it, IT WILL BREAK! +latest-version;texlive-base;2007-11 +latest-version;texlive-extra;2007 +latest-version;texlive-bin;2007-13 +latest-version;texlive-doc;2007 +latest-version;texlive-lang;2007 +# +# the following part defines the mapping of collection names to Debian +# binary package names, and also in which source package it is build +name;collection-basicbin;texlive-base-bin;texlive-bin +name;collection-binextra;texlive-extra-utils;texlive-bin +name;collection-fontbin;texlive-font-utils;texlive-bin +# htmlxml will not be build, but is replaced by xmtex, jadetex, and passivetex +# see below +#name;collection-htmlxml;texlive-htmlxml;texlive-bin +name;collection-metapost;texlive-metapost;texlive-bin +name;collection-omega;texlive-omega;texlive-bin +name;collection-xetex;texlive-xetex;texlive-bin +# collection psutils dies, should be proper debian packages +# same for graphicstools +#name;collection-psutils;texlive-ps-utils;texlive-bin +depends;texlive-full;psutils +# +# collection-ttfutils contains one binary which should be included: ttf2afm +# so we cannot blacklist it, but we do NOT want to create a new binary +# package, so we move the bin-ttfutils to the texlive-font-utils collection +# and blacklist all the files not belonging to ttf2afm +# lets hope it works! +#name;collection-ttfutils;texlive-ttf-utils;texlive-bin +move;bin-ttfutils;texlive-font-utils +blacklist;file;texmf/fonts/enc/ttf2pk/base/T1-WGL4.enc +blacklist;file;texmf/fonts/map/ttf2pk/config/ttfonts.map +blacklist;file;texmf/fonts/sfd/.* +blacklist;file;texmf/ttf2pk/.* +blacklist;file;texmf/doc/man/man1/ttf2pk.1 +blacklist;file;texmf/doc/man/man1/ttf2tfm.1 +blacklist;file;texmf/doc/man/man1/ttfdump.1 +blacklist;file;texmf/doc/ttf2pk/ttf2pk.doc +blacklist;file;texmf/doc/ttf2pk/ttf2pk.txt +blacklist;file;texmf/doc/ttf2pk/ttf2tfm.txt +blacklist;file;bin/[^/]*/ttf2pk +blacklist;file;bin/[^/]*/ttf2tfm +#name;collection-graphicstools;texlive-graphics-tools;texlive-bin +name;collection-music;texlive-music;texlive-bin +name;collection-langindic;texlive-lang-indic;texlive-bin +depends;texlive-lang-indic;python +# texlive-lang-cjk can be put together by packages in Debian, do not build it +# see below +#name;collection-langcjk;texlive-lang-cjk;texlive-bin +name;collection-documentation-base;texlive-doc-base;texlive-doc +name;collection-documentation-bulgarian;texlive-doc-bg;texlive-doc +name;collection-documentation-chinese;texlive-doc-zh;texlive-doc +# stupid wrongly named package ... +replaces;texlive-doc-zh;texlive-doc-ch +conflicts;texlive-doc-zh;texlive-doc-ch +name;collection-documentation-czechslovak;texlive-doc-cs+sk;texlive-doc +name;collection-documentation-dutch;texlive-doc-nl;texlive-doc +name;collection-documentation-english;texlive-doc-en;texlive-doc +name;collection-documentation-finnish;texlive-doc-fi;texlive-doc +name;collection-documentation-french;texlive-doc-fr;texlive-doc +name;collection-documentation-german;texlive-doc-de;texlive-doc +name;collection-documentation-greek;texlive-doc-el;texlive-doc +name;collection-documentation-italian;texlive-doc-it;texlive-doc +name;collection-documentation-japanese;texlive-doc-ja;texlive-doc +name;collection-documentation-korean;texlive-doc-ko;texlive-doc +name;collection-documentation-mongolian;texlive-doc-mn;texlive-doc +name;collection-documentation-polish;texlive-doc-pl;texlive-doc +name;collection-documentation-portuguese;texlive-doc-pt;texlive-doc +name;collection-documentation-russian;texlive-doc-ru;texlive-doc +name;collection-documentation-spanish;texlive-doc-es;texlive-doc +name;collection-documentation-thai;texlive-doc-th;texlive-doc +name;collection-documentation-turkish;texlive-doc-tr;texlive-doc +name;collection-documentation-ukrainian;texlive-doc-uk;texlive-doc +name;collection-documentation-vietnamese;texlive-doc-vi;texlive-doc +name;collection-langafrican;texlive-lang-african;texlive-lang +# we build lang-arab as arabtex is orphaned and the author agrees to +# let texlive take over the stuff +name;collection-langarab;texlive-lang-arab;texlive-lang +replaces;texlive-lang-arab;arabtex +conflicts;texlive-lang-arab;arabtex +provides;texlive-lang-arab;arabtex +name;collection-langarmenian;texlive-lang-armenian;texlive-lang +name;collection-langcroatian;texlive-lang-croatian;texlive-lang +name;collection-langcyrillic;texlive-lang-cyrillic;texlive-lang +name;collection-langczechslovak;texlive-lang-czechslovak;texlive-lang +name;collection-langdanish;texlive-lang-danish;texlive-lang +name;collection-langdutch;texlive-lang-dutch;texlive-lang +name;collection-langfinnish;texlive-lang-finnish;texlive-lang +name;collection-langfrench;texlive-lang-french;texlive-lang +name;collection-langgerman;texlive-lang-german;texlive-lang +name;collection-langgreek;texlive-lang-greek;texlive-lang +name;collection-langhebrew;texlive-lang-hebrew;texlive-lang +name;collection-langhungarian;texlive-lang-hungarian;texlive-lang +name;collection-langitalian;texlive-lang-italian;texlive-lang +name;collection-langlatin;texlive-lang-latin;texlive-lang +name;collection-langmanju;texlive-lang-manju;texlive-lang +name;collection-langmongolian;texlive-lang-mongolian;texlive-lang +name;collection-langnorwegian;texlive-lang-norwegian;texlive-lang +name;collection-langother;texlive-lang-other;texlive-lang +name;collection-langpolish;texlive-lang-polish;texlive-lang +name;collection-langportuguese;texlive-lang-portuguese;texlive-lang +name;collection-langspanish;texlive-lang-spanish;texlive-lang +name;collection-langswedish;texlive-lang-swedish;texlive-lang +name;collection-langtibetan;texlive-lang-tibetan;texlive-lang +# don't build texlive-lang-ukenglish as it is non-free +# this has to be confirmed! +name;collection-langukenglish;texlive-lang-ukenglish;texlive-lang +name;collection-langvietnamese;texlive-lang-vietnamese;texlive-lang +name;collection-basic;texlive-base;texlive-base +# context has now its own Debian package +#name;collection-context;texlive-context;texlive-base +depends;texlive-full;context +name;collection-genericrecommended;texlive-generic-recommended;texlive-base +name;collection-latex;texlive-latex-base;texlive-base +name;collection-latexrecommended;texlive-latex-recommended;texlive-base +name;collection-fontsrecommended;texlive-fonts-recommended;texlive-base +name;collection-pictures;texlive-pictures;texlive-base +# Additional packages, no tpms/collections exist +addpackages;;texlive;texlive-full;texlive-common;tetex-bin;tetex-extra;tetex-base;texlive-lang-all;libkpathsea4;libkpathsea-dev +# all should be part of the texlive-base source package +name;collection-foobar;texlive;texlive-base +name;collection-foobar;texlive-full;texlive-base +name;collection-foobar;texlive-common;texlive-base +name;collection-foobar;tetex-bin;texlive-base +name;collection-foobar;tetex-base;texlive-base +name;collection-foobar;tetex-extra;texlive-base +name;collection-foobar;texlive-lang-all;texlive-lang +# libkpathsea is built from texlive-bin +name;collection-foobar;libkpathsea4;texlive-bin +name;collection-foobar;libkpathsea-dev;texlive-bin +# titles and descriptions for addpackages +title;texlive-common;Base component +description;texlive-common;The TeX Live software distribution offers a complete TeX system. +description;texlive-common;It encompasses programs for typesetting, previewing and printing +description;texlive-common;of TeX documents in many different languages, and a large collection +description;texlive-common;of TeX macros and font libraries. +description;texlive-common;. +description;texlive-common;The distribution also includes extensive general documentation about +description;texlive-common;TeX, as well as the documentation accompanying the included software +description;texlive-common;packages. +description;texlive-common;. +description;texlive-common;This package provides a common base for all texlive packages. +title;texlive-full;meta package pulling in all components of TeX Live +description;texlive-full;The TeX Live software distribution offers a complete TeX system. +description;texlive-full;It encompasses programs for typesetting, previewing and printing +description;texlive-full;of TeX documents in many different languages, and a large collection +description;texlive-full;of TeX macros and font libraries. +description;texlive-full;. +description;texlive-full;The distribution also includes extensive general documentation about +description;texlive-full;TeX, as well as the documentation accompanying the included software +description;texlive-full;packages. +# texlive-full should not depend on these meta- or transitional packages +dependsnot;texlive-full;texlive-full;texlive;texlive-lang-all;tetex-bin;tetex-base;tetex-extra +title;texlive;A decent selection of the TeX Live packages +description;texlive;The TeX Live software distribution offers a complete TeX system. +description;texlive;It encompasses programs for typesetting, previewing and printing +description;texlive;of TeX documents in many different languages, and a large collection +description;texlive;of TeX macros and font libraries. +description;texlive;. +description;texlive;This metapackage provides a decent selection of the TeX Live packages +description;texlive;which should suffice for the most common tasks. +description;texlive;. +description;texlive;The distribution also includes extensive general documentation about +description;texlive;TeX, as well as the documentation accompanying the included software +description;texlive;packages. +title;texlive-lang-all;Meta package depending on all TeX Live language packages +description;texlive-lang-all;This package pulls in all texlive-lang-* +description;texlive-lang-all;packages. +title;tetex-bin;teTeX transitional package +description;tetex-bin;teTeX is no longer developed upstream, and has been replaced by the TeX Live +description;tetex-bin;collection. This is a transitional package to bring former teTeX users a +description;tetex-bin;decent selection of TeX Live packages. It can be safely removed (unless +description;tetex-bin;some external packages still depend on tetex-bin). +description;tetex-bin;. +description;tetex-bin;Note, however, that the functionality of the TeX Live subset that is chosen +description;tetex-bin;is not exactly the same as that of tetex-bin, due to the different splitting +description;tetex-bin;schemes. +title;tetex-base;teTeX transitional package +description;tetex-base;teTeX is no longer developed upstream, and has been replaced by the TeX Live +description;tetex-base;collection. This is a transitional package to bring former teTeX users a +description;tetex-base;decent selection of TeX Live packages. It can be safely removed (unless +description;tetex-base;some external packages still depend on tetex-base). +title;tetex-extra;teTeX transitional package +description;tetex-extra;teTeX is no longer developed upstream, and has been replaced by the TeX Live +description;tetex-extra;collection. This is a transitional package to bring former teTeX users a +description;tetex-extra;decent selection of TeX Live packages. It can be safely removed (unless +description;tetex-extra;some external packages still depend on tetex-extra). +description;tetex-extra;. +description;tetex-extra;Note, however, that the functionality of the TeX Live subset that is chosen +description;tetex-extra;is not exactly the same as that of tetex-extra, due to the different +description;tetex-extra;splitting schemes. +title;libkpathsea4;path search library for TeX (runtime part) +description;libkpathsea4;This package contains the runtime part of the Kpathsea[rch] library, +description;libkpathsea4;which implements generic path searching, configuration, and +description;libkpathsea4;TeX-specific file searching. +title;libkpathsea-dev;path search library for TeX (development part) +description;libkpathsea-dev;This package contains the static library and header files for the +description;libkpathsea-dev;Kpathsea[rch] library. +depends;libkpathsea-dev;libkpathsea4 +# collections in tl-extra +name;collection-bibtexextra;texlive-bibtex-extra;texlive-extra +name;collection-formatsextra;texlive-formats-extra;texlive-extra +name;collection-genericextra;texlive-generic-extra;texlive-extra +name;collection-mathextra;texlive-math-extra;texlive-extra +name;collection-plainextra;texlive-plain-extra;texlive-extra +name;collection-latexextra;texlive-latex-extra;texlive-extra +name;collection-latex3;texlive-latex3;texlive-extra +name;collection-fontsextra;texlive-fonts-extra;texlive-extra +name;collection-games;texlive-games;texlive-extra +name;collection-pstricks;texlive-pstricks;texlive-extra +name;collection-publishers;texlive-publishers;texlive-extra +name;collection-humanities;texlive-humanities;texlive-extra +# missing dependency +depends;texlive-humanities;texlive-latex-base +name;collection-science;texlive-science;texlive-extra +# missing dependency +depends;texlive-science;texlive-latex-base +# collection-chemistry is replaced by texlive-science in TL2007 +#name;collection-chemistry;texlive-chemistry;texlive-extra +replaces;texlive-science;texlive-chemistry +# +# build dependencies +# +# texlive-base +build-dep;texlive-base;debhelper (>= 5), quilt +build-dep-indep;texlive-base;libxml-dom-perl, libappconfig-perl, libxml-regexp-perl, libxml-perl, sharutils, tex-common (>= 1.7), eperl, findutils (>=4.2.0) +# texlive-doc +build-dep;texlive-doc;debhelper (>= 5), quilt +build-dep-indep;texlive-doc;libxml-dom-perl, libappconfig-perl, libxml-regexp-perl, libxml-perl, sharutils, tex-common (>= 1.7), eperl, findutils (>=4.2.0) +# texlive-lang +build-dep;texlive-lang;debhelper (>= 5), quilt +build-dep-indep;texlive-lang;libxml-dom-perl, libappconfig-perl, libxml-regexp-perl, libxml-perl, sharutils, tex-common (>= 1.7), eperl, findutils (>=4.2.0) +# texlive-extra +build-dep;texlive-extra;debhelper (>= 5), quilt +build-dep-indep;texlive-extra;libxml-dom-perl, libappconfig-perl, libxml-regexp-perl, libxml-perl, sharutils, tex-common (>= 1.7), eperl, findutils (>=4.2.0) +# texlive-bin +build-dep;texlive-bin;debhelper (>= 5), libxml-dom-perl, libappconfig-perl, quilt, libxml-regexp-perl, libxml-perl, sharutils, ed, bzip2, libncurses5-dev | libncurses-dev, libxaw7-dev, libpng12-dev | libpng-dev, zlib1g-dev | libz-dev, libgd2-xpm-dev | libgd2-noxpm-dev, flex, bison, tex-common (>= 1.7), libpoppler-dev (>= 0.6), eperl, chrpath +#build-dep-indep;texlive-bin;, findutils (>=4.2.0) +# +# CHECK +extra;format;latex;texlive-latex-base;0 +extra;format;pdflatex;texlive-latex-base;0 +# +# +# TITLE AND DESCRIPTIONS +# +# for packages give the short description, for tpms the description field +#title;texlive-cz;Documentation of TeX live in Czech. +#title;texlive-fr;Documentation of TeX live in French. +#title;amsldoc-it;AMSMath documentation in Italian. +#title;lkort;Dutch version of Not so short Introduction to LaTeX2e. +#title;lshort-french;French version of Not so short Introduction to LaTeX2e. +#title;lshort-sloval;Slovak version of Not so short Introduction to LaTeX2e. +#title;voss-de;German documentation on various LaTeX related packagesby Herbert Voß. +#title;powerdot-doc-vn;Vietnamese documentation of powerdot. +#title;cstug;Information regarding the Czechoslovak TeX User Group +#title;metafont;A font definition system +title;hyphen-welsh;Welsh hyphenation files for TeX +# the dreadful "Macro package for TeX (the most popular)" titles ... +title;bin-afm2pl;AFM font metrics to TeX pl converter. +title;antiqua;the URW Antiqua Condensed Font. +title;bayer;Herbert Bayers Universal Font For Metafont. +title;grotesq;the URW Grotesk Bold Font. +title;adobeuro;font metrics for the Adobe Euro fonts. +title;avantgar;the URW Avantgar fonts and support for the Adobe font set. +title;bookman;the URW Bookman fonts and support for the Adobe font set. +title;helvetic;the URW Helvetiva fonts and support for the Adobe font set. +title;ncntrsbk;the URW New Century Schoolbook fonts and support for the Adobe font set. +title;timesnew;the URW Times fonts and support for the Adobe font set. +title;zapfchan;the URW Zapf Chancery font and support for the Adobe font. +title;zapfding;the URW Zapf Dingbat font and support for the Adobe font. +title;timescyr;font metrics for the Monotype times cyrillic fonts. +title;latex;the basic LaTeX package. +title;bin-latex;the basic LaTeX binary package. +title;jknapltx;LaTeX support for Jörg Knappen's fonts. +title;lambda;LaTeX format based on the Omega engine. +# +# PACKAGE BLACKLISTS +# attention, the names are tpm names, so collection-something +# +# these are the packages which are blacklisted anyway without any further +# doing around. There are further blacklist down with additional stuff, like +# additional depends on Debian packages +#blacklist;tpm;collection-binaries;* +blacklist;tpm;bin-bzip2;* +blacklist;tpm;bin-xpdf;* +blacklist;tpm;bin-chktex;* +blacklist;tpm;bin-ghostscript;* +blacklist;tpm;bin-gzip;* +blacklist;tpm;bin-jpeg2ps;* +blacklist;tpm;bin-perl;* +blacklist;tpm;bin-windvi;* +blacklist;tpm;bin-tifftools;* +blacklist;tpm;lib-gd;* +blacklist;tpm;lib-geturl;* +blacklist;tpm;lib-gnu;* +blacklist;tpm;lib-gs;* +blacklist;tpm;lib-jpeg;* +blacklist;tpm;lib-md5;* +blacklist;tpm;lib-png;* +blacklist;tpm;lib-regexp;* +blacklist;tpm;lib-texmfmp;* +blacklist;tpm;lib-tiff;* +blacklist;tpm;lib-ttf;* +blacklist;tpm;lib-xpdf;* +blacklist;tpm;lib-xpm;* +blacklist;tpm;lib-zlib;* +blacklist;tpm;lib-freetype2;* +blacklist;tpm;lib-regex;* +blacklist;tpm;iwona;texlive-lang-polish +blacklist;tpm;antt;texlive-lang-polish +blacklist;tpm;bin-psutils;* +blacklist;tpm;bin-getafm;* +# euclide is included in texlive 2005, but superseeded by pst-eucl +# blacklist;tpm;euclide;* +# blacklist glyphlist, dont know why +blacklist;tpm;glyphlist;* +# +# first the meta package texlive +depends;texlive-full;t1utils, tex4ht (>= 20051214-1) +# +# the texlive package should pull in a decent selection of the packages, +# what ever this may be +depends;texlive;texlive-latex-recommended, texlive-fonts-recommended, texlive-latex-base +suggests;texlive;texlive-doc-en +# +# texlive-common must depend on tex-common as the others don't do +# we need >= 1.1 to get big enough trie size +# we need >= 1.4 for mpost's main_memory +# we need >= 1.8 for the workaround for latex-based formats +depends;texlive-common;tex-common (>= 1.8) +depends;texlive-base-bin;ed, perl +# +# +# now the conflicts with tetex if necessary +# do we still need this ????? +# For now I am going for a *GENERAL* conflict against tetex <= 2007 +# but this should be discussed! +conflicts;texlive-common;tetex-bin (<< 2007), tetex-base (<< 2007), tetex-extra (<< 2007), tetex-doc (<< 2007) +# texlive-pdfetex and -chemistry is gone +conflicts;texlive-common;texlive-pdfetex, texlive-chemistry +replaces;texlive-extra-utils;texlive-pdfetex +replaces;texlive-latex-recommended;texlive-pdfetex +replaces;texlive-base;texlive-pdfetex +replaces;texlive-latex-extra;texlive-pdfetex +replaces;texlive-generic-extra;texlive-pdfetex +replaces;texlive-pstricks;texlive-pdfetex +# we moved thumbpdf to texlive-base-bin, so we have to replace it for +# texlive 2005 upgrades to work +replaces;texlive-base-bin;texlive-pdfetex +# +# tetex-base contains a lintian override file for tetex-base, which was +# shipped by tetex-extra << 2007, so replace +replaces;tetex-base;tetex-extra (<< 2007) +# make sure tetex-base is not upgraded while tetex-bin_3.0 is still present +conflicts;tetex-base;tetex-bin (<< 2007) +# dependencies for the transitional meta-packages tetex-* +# taken from FK's analysis at http://lists.debian.org/debian-tex-maint/2006/12/msg00558.html +# plus scheme-tetex in TL 2006/7 +depends;tetex-bin;texlive +depends;tetex-extra;tetex-bin +depends;tetex-extra;texlive-latex-extra +depends;tetex-extra;texlive-math-extra +depends;tetex-extra;texlive-bibtex-extra +depends;tetex-extra;texlive-fonts-extra +depends;tetex-extra;texlive-font-utils +depends;tetex-extra;texlive-pictures +depends;tetex-extra;texlive-pstricks +depends;tetex-extra;texlive-publishers +depends;tetex-extra;texlive-lang-croatian +depends;tetex-extra;texlive-lang-cyrillic +depends;tetex-extra;texlive-lang-czechslovak +depends;tetex-extra;texlive-lang-danish +depends;tetex-extra;texlive-lang-dutch +depends;tetex-extra;texlive-lang-finnish +depends;tetex-extra;texlive-lang-french +depends;tetex-extra;texlive-lang-german +depends;tetex-extra;texlive-lang-greek +depends;tetex-extra;texlive-lang-hungarian +depends;tetex-extra;texlive-lang-italian +depends;tetex-extra;texlive-lang-latin +depends;tetex-extra;texlive-lang-mongolian +depends;tetex-extra;texlive-lang-norwegian +depends;tetex-extra;texlive-lang-other +depends;tetex-extra;texlive-lang-polish +depends;tetex-extra;texlive-lang-portuguese +depends;tetex-extra;texlive-lang-spanish +depends;tetex-extra;texlive-lang-swedish +depends;tetex-extra;texlive-lang-vietnamese +# +# texlive-lang-all depends are not necessary they are auto-generated in +# tpm2deb-source.pl!!!!!!!!!!11 +# +# texlive-lang-polish +# missing depends on texlive-base +# suggests texlive-fonts-extra +depends;texlive-lang-polish;texlive-base +suggests;texlive-lang-polish;texlive-fonts-extra +# texlive-lang-spanish +# missing depends on texlive-base where cathyph.tex is which is loaded +# from eshyph.tex +# could go when tetex packages are gone ... +depends;texlive-lang-spanish;texlive-base +# texlive-omega +# missing depends on texlive-latex-base for latex.ltx (needed by +# lambda forma) +depends;texlive-omega;texlive-latex-base +# pdfscreen??? +# this is NOT a Debian package, at least apt-cache search pdfscreen does +# only show texlive-pdfetex +# conflicts;texlive-pdfetex;pdfscreen +# not needed, texlive-context is gone +# depends;texlive-context;texlive-metapost +# dependencies for texshow +# depends;texlive-context;perl-tk, libxml-parser-perl +# ethiop +conflicts;texlive-lang-african;ethiop +replaces;texlive-lang-african;ethiop +provides;texlive-lang-african;ethiop +# ptex (japanese tex) and texlive-lang-polish both provide ptex .. conflict +conflicts;texlive-lang-polish;ptex-bin +# texlive-latex-extra +# conflicts with a lot should be checked +# depends texlive-pictures +conflicts;texlive-latex-extra;latex-svninfo, pbox-tex, textopo, circ-tex +depends;texlive-latex-extra;texlive-pictures; +# texlive-pstricks depends on texlive-generic-recommened +depends;texlive-pstricks;texlive-generic-recommended +conflicts;texlive-latex-base;ivritex (<= 1.1.1-5) +# basic provides, useless, these package either don't exist or have +# no reverese deps +# provides;texlive-extra-utils;cweb, ctie +# texlive-extra-utils should suggest gs +suggests;texlive-extra-utils;gs-gpl | gs-esp | gs-afpl +# +# texlive-xetex needs dvipdfmx for xdvipdfmx to work, see #430373 +depends;texlive-xetex;dvipdfmx +# +# MOVE PACKAGES +# +# 2007no: move;eso-pic;texlive-pdfetex +# this has to be included as Package/eplain depends on TLCore/bin-eplain +# and TLCore/bin-eplain is not included anywhere else +# Package/eplain is in texlive-formats-extra, thus move bin-eplain there, too +#move;bin-eplain;texlive-formats-extra +# +# move mltex to texlive-formats-extra as it doesn't belong to extrautils, +# make texlive-formats-extra depend on texlive-latex-base +#move;bin-mltex;texlive-formats-extra +#move;mltex;texlive-formats-extra +depends;texlive-formats-extra;texlive-latex-base +####conflicts;texlive-formats-extra;tetex-bin (<= 3.0-13) +# xmlplay *was* in texlive-htmlxml, but this is not build anymore, so move +# it to latex-extra +move;xmlplay;texlive-latex-extra +# move yi4latex, the only package missing in the latex-cjk stuff, to +# texlive-latex-extra +move;yi4latex;texlive-latex-extra +# +# move and replace +# fpl, resfs, mathpazo from fonts-extra to fonts-recommended as they +# are required by psnfss +# charter from math-extra to fonts-recommended as psnfss asks +# for them +#move;fpl;texlive-fonts-recommended +#move;charter;texlive-fonts-recommended +#move;rsfs;texlive-fonts-recommended +replaces;texlive-fonts-recommended;texlive-fonts-extra (<= 2005-2) +# mathpazo +# <= 2005-2 math-extra +# << 2007 latex-recommended +# >= 2007 fonts-recommended +replaces;texlive-fonts-recommended;texlive-math-extra (<= 2005-2) +replaces;texlive-fonts-recommended;texlive-latex-recommended (<< 2007) +#move;powerdot;texlive-latex-recommended +replaces;texlive-latex-recommended;texlive-latex-extra (<= 2005-2) +#move;jurabib;texlive-bibtex-extra +replaces;texlive-bibtex-extra;texlive-lang-german (<= 2005-2) +#move;juramisc;texlive-lang-german +#move;jurarsp;texlive-lang-german +#move;juraabbrev;texlive-lang-german +replaces;texlive-humanities;texlive-lang-german (<< 2007) +replaces;texlive-lang-german;texlive-latex-extra (<= 2005-2) +#move;mhequ;texlive-math-extra +replaces;texlive-math-extra;texlive-latex-extra (<= 2005-2) +#move;ogonek;texlive-lang-polish +replaces;texlive-lang-polish;texlive-latex-extra (<= 2005-2) +#move;uhrzeit;texlive-lang-german +replaces;texlive-lang-german;texlive-latex-extra (<= 2005-2) +replaces;texlive-publishers;texlive-latex-extra (<= 2005-2) +#move;microtype;texlive-latex-recommended +replaces;texlive-latex-recommended;texlive-latex-extra (<= 2005-2) +#move;emp;texlive-metapost +replaces;texlive-metapost;texlive-latex-extra (<= 2005-2) +# Bug#390896: From texlive-latex-extra, at least invoice.sty requires +# realcalc.tex, which is in texlive-generic-extra. +recommends;texlive-latex-extra;texlive-generic-extra +# move bin-thumbpdf to texlive-base-bin since the sty files are in +# texlive-latex-recommended. This has been executed already upstream, too. +move;bin-thumbpdf;texlive-base-bin +replaces;texlive-base-bin;texlive-extra-utils (<= 2007-7) +# move bin-texdoc.tpm to tl-base-bin +move;bin-texdoc;texlive-base-bin +# don't needed anymore since we have the above +#replaces;texlive-base-bin;texlive-extra-utils (<= 2005.dfsg.1-1) +recommends;texlive-base-bin;perl-tk +# useless,there is no texdoctk +#provides;texlive-base-bin;texdoctk +# texdoc(tk) needs mime-support +depends;texlive-base-bin;mime-support +# texlive-lang-cyrillic should recommend tl-latex-base for hyphen.cfg +recommends;texlive-lang-cyrillic;texlive-latex-base +# get some suggestions for gs/pdf viewer +suggests;texlive-base-bin;gs-gpl | gs-esp | gs-afpl, gv | postscript-viewer, xpdf-reader | pdf-viewer +# upstream moves bigfoot from -humanities to -latex-extra, we do the same +move;bigfoot;texlive-latex-extra +replaces;texlive-latex-extra;texlive-humanities (<= 2007-3) +recommends;texlive-latex-extra;texlive-humanities +# +# FILE BLACKLISTS and KILLS +# +# ONLY FOR TESTING CURRENTLY pdftosrc does not compile!!! +blacklist;file;bin/i386-linux/pdftosrc +# +# this one we need for installation but not installed, so map it into nowhere +# and do not blacklist it +mapping;texmf/fmtutil/.*;; +#blacklist;file;texmf/fmtutil/.* +blacklist;file;texmf-dist/vtex/.* +blacklist;file;texmf-dist/doc/latex/splitindex/splitindex-Linux-i386 +blacklist;file;texmf-dist/doc/latex/splitindex/splitindex-OpenBSD-i386 +blacklist;file;texmf-dist/doc/latex/splitindex/splitindex.exe +blacklist;file;texmf-dist/doc/latex/splitindex/splitindex.class +blacklist;file;texmf/dvipdfm/config/config-win32 +blacklist;file;texmf-dist/source/plain/pdcmac/config.status +blacklist;file;texmf-dist/source/fontinst/base/trig.dtx +blacklist;file;texmf-dist/source/fontinst/base/xdoc/.* +# +# blacklist bin/uniqleaf which does not have a corresponding .pl file +# but is a link to texexec! +# uniqleave is gone in 2007 +#blacklist;file;bin/[^/]*/uniqleaf +# +# texlive-formats-extra cannot be configured with tetex, as mllatex.ini +# is in texlive-latex-base and NOT in texlive-formats-extra!!! +# SOLUTION: move mllatex.ini to texlive-formats-extra (check on dep on +# texlive-latex necessary!) +# this file is copied into texlive-extra/debian/texlive-formats-extra.root/... +blacklist;file;texmf-dist/tex/latex/latexconfig/mllatex.ini +# +# blacklist various scripts which are also in /usr/bin +blacklist;file;texmf/scripts/pkfix/pkfix.pl +blacklist;file;texmf/scripts/tetex/epstopdf.pl +blacklist;file;texmf/scripts/tetex/texdoctk.pl +blacklist;file;texmf/scripts/tetex/e2pall.pl +blacklist;file;texmf/scripts/tetex/texi2html.pl +blacklist;file;texmf/scripts/tetex/updmap.pl +# +# MAPPINGS AND SPECIALS +# +mapping;.*/[^/]*\.info;; +special;.*/([^/]*\.info);install-info; +mapping;.*/tex/generic/config/language\.[a-z]*\.dat;; +mapping;.*/tex/generic/config/language\.us;; +# +# and just ignore the file +mapping;texmf/web2c/texmf.cnf;; +mapping;texmf/tex/generic/config/language.dat;link;/var/lib/texmf/tex/generic/config/language.dat +#mapping;texmf/web2c/fmtutil.cnf;link;/var/lib/texmf/web2c/fmtutil.cnf +mapping;texmf/web2c/updmap.cfg;; +# +# fixes to the depot, to be removed when a new source is build +# ibycus4.map is a mf input file and(!) and TeX input file. One copy is +# installed in tex/generic, but this copy should go into the mf input path +mapping;texmf-dist/fonts/map/dvips/ibygrk/ibycus4.map;move;fonts/source/public/ibygrk/ibycus4.map +# +# the man page of odvips is dangling in texlive-omega +# those of odvicopy and odvitype are replaced by trivial copies +mapping;texmf[^/]*/doc/man/man1/odvips.1;replace-link;/usr/share/man/man1/odvips.1.gz%dvips.1.gz +#mapping;texmf[^/]*/doc/man/man1/odvicopy.1;replace-link;/usr/share/man/man1/odvicopy.1.gz%dvicopy.1.gz +#mapping;texmf[^/]*/doc/man/man1/odvitype.1;replace-link;/usr/share/man/man1/odvitype.1.gz%dvitype.1.gz +mapping;texmf[^/]*/doc/man/man1/odvicopy.1;; +mapping;texmf[^/]*/doc/man/man1/odvitype.1;; +mapping;texmf[^/]*/doc/man/man(.*)/(.*);move;/usr/share/man/man$1/$2 +# +# ubbold from jknapltx uses not available font, this is fixed for tl 2008/9 +# but we want to do it here, too +mapping;texmf[^/]*/tex/latex/jknapltx/ubbold.fd;; +# +# +# config file handling +# +# first the config files which are in /etc/texmf but are not searched via +# kpse: +# mktex.cnf is taken over by tex-common, send it to the nowhere +#mapping;texmf[^/]*/web2c/mktex.cnf;move-link;$etcdest/texlive/mktex.cnf +blacklist;file;texmf[^/]*/web2c/mktex.cnf +# +# note that config-link copies the file to the given position and creates +# a link in the original position, while config-copy (see below) copies +# the file into the same relative position in the given tree and leaves the +# file also in the original position! +# The former should be used for files which are searched for at a specific +# location, while the latter for files which are searched via kpse +mapping;texmf[^/]*/dvipdfm/config/config;config-move;/etc/texmf/dvipdfm/config/config +mapping;texmf[^/]*/xdvi/xdvi.cfg;config-move;/etc/texmf/xdvi/xdvi.cfg +mapping;texmf[^/]*/texdoctk/texdocrc.defaults;config-move;/etc/texmf/texdoctk/texdocrc.defaults +# +# files found via kpse are just copied to /etc/texmf, directive configfile +mapping;texmf[^/]*/dvips/config/([^/]*);config-move;/etc/texmf/dvips/config/$1 +# new config files, ie those which have not been config files till now +# and don't need special treatment +mapping;texmf[^/]*/tex/latex/pict2e/pict2e.cfg;move;/etc/texmf/tex/latex/pict2e/pict2e.cfg +mapping;texmf[^/]*/tex/latex/contour/contour.cfg;move;/etc/texmf/tex/latex/contour/contour.cfg +mapping;texmf[^/]*/tex/latex/config/hyperref.cfg;move;/etc/texmf/tex/latex/config/hyperref.cfg +mapping;texmf[^/]*/xdvi/XDvi;move;/etc/texmf/xdvi/XDvi +# conffiles which were nuked by tetex-base' postrm, need a copy in /usr/share/texlive-* +# config.ps is also among them, but it is handled separately (in debian/rules.in) +mapping;texmf[^/]*/metafont/misc/modes.mf;copy-move;/etc/texmf/metafont/misc/modes.mf,/usr/share/texlive-base/modes.mf +mapping;texmf[^/]*/tex/generic/config/pdftexconfig.tex;copy-move;/etc/texmf/tex/generic/config/pdftexconfig.tex,/usr/share/texlive-bin/pdftexconfig.tex +mapping;texmf[^/]*/tex/latex/config/color.cfg;copy-move;/etc/texmf/tex/latex/config/color.cfg,/usr/share/texlive-base/color.cfg +mapping;texmf[^/]*/tex/latex/config/graphics.cfg;copy-move;/etc/texmf/tex/latex/config/graphics.cfg,/usr/share/texlive-base/graphics.cfg +# +# now the fun part +# some files should definitely STAY in TEXMFMAIN and not go into texmf-texlive +# but the make_destinationname function moves per standard *all* files to +# temxf-texlive, so we have to create exceptions here! +mapping;texmf/web2c/mktex.*;move;/usr/share/texmf/web2c/$1 +mapping;texmf/texconfig/.*;move;/usr/share/texmf/texconfig/$1 +mapping;texmf/web2c/.*\.pool;move;/usr/share/texmf/web2c/$1 +# +# STUFF IN DEBIAN WHICH WE ALSO INCLUDE +# +# beamer, xcolor, pgf +# AND remove the patches for pgf to 1.01!!! Great! +# beamer is in collection-latexextra, but prosper is in +# *-recommended. This doesn't make sense: Let beamer be +# recommended by texlive-latex-recommended +# This is already executes upstream +blacklist;tpm;beamer;* +blacklist;tpm;xcolor;* +blacklist;tpm;pgf;* +depends;texlive-full;pgf (>= 1.01.dfsg.1-1), latex-beamer (>= 3.06.dfsg.1-0.1), latex-xcolor (>= 2.09-1) +recommends;texlive-pictures;pgf (>= 1.01.dfsg.1-1) +recommends;texlive-latex-recommended;latex-beamer (>= 3.06.dfsg.1-0.1) +recommends;texlive-latex-recommended;latex-xcolor (>= 2.09-1) +# +# rcs-latex +# is more or less the same besides minor modifications +# TODO TODO TODO +# rcs-latex which provides an alternative dep on texlive +# blacklist;tpm;rcs;* +# recommends;texlive-latex-recommended;rcs-latex +# +# +# PACKAGES WHICH ARE PRESENT IN DEBIAN +# +# cm-super +blacklist;tpm;cm-super;* +suggests;texlive-fonts-extra;cm-super (>= 0.3.3-3) +depends;texlive-full;cm-super (>= 0.3.3-3) +# +# texinfo +blacklist;tpm;bin-texinfo;* +blacklist;tpm;texinfo;* +depends;texlive-full;texinfo (>= 4.8), info (>= 4.8) +conflicts;texlive-base;texinfo (<< 4.8);; +blacklist;file;texmf/doc/texinfo/info-stnd.html +blacklist;file;texmf/doc/texinfo/info-stnd.pdf +blacklist;file;texmf/doc/texinfo/info.html +blacklist;file;texmf/doc/texinfo/info.pdf +blacklist;file;texmf/doc/info/info-stnd.info +blacklist;file;texmf/doc/info/info.info +blacklist;file;texmf/doc/info/manual.info +blacklist;file;bin/[^/]*/info +blacklist;file;bin/[^/]*/infokey +blacklist;file;bin/[^/]*/install-info +blacklist;file;texmf/doc/man/man1/info.1 +blacklist;file;texmf/doc/man/man1/info.1.html +blacklist;file;texmf/doc/man/man1/infokey.1 +blacklist;file;texmf/doc/man/man1/install-info.1 +blacklist;file;texmf/doc/man/man1/install-info.1.html +blacklist;file;texmf/doc/man/man5/info.5 +# +# preview +blacklist;tpm;preview;* +depends;texlive-latex-extra;preview-latex-style +# +# lacheck +blacklist;tpm;bin-lacheck;* +recommends;texlive-extra-utils;lacheck +# +# tipa in Debian +blacklist;tpm;tipa;* +recommends;texlive-fonts-recommended;tipa (>= 2:1.2-2.1) +# +# dvipdfmx in Debian +blacklist;tpm;bin-dvipdfmx;* +recommends;texlive-base;dvipdfmx (>= 1:20050831-1) +# +# lmodern +blacklist;tpm;lm;* +recommends;texlive-base;lmodern (>= 0.93.3-1) +# +# dvi2tty +blacklist;tpm;bin-dvi2tty;* +recommends;texlive-extra-utils;dvi2tty +# +# latex-sanskrit +blacklist;tpm;sanskrit;* +recommends;texlive-lang-indic;latex-sanskrit (>= 2.2-1) +# +# musixtex and friends +blacklist;tpm;musixps;* +blacklist;tpm;musixtex;* +blacklist;tpm;bin-musixflx;* +blacklist;tpm;musixlyr;* +depends;texlive-music;musixtex (>= 0.112.2-1), musixtex-slurps (>= 92a-4), musixlyr (>= 2.1c-3) +# +# lcdf-typetools +blacklist;tpm;bin-lcdftypetools;* +depends;texlive-full;lcdf-typetools +# +# texpower and tpslifonts = texpower in Debian +# TODO: what the hell are these lines??? +blacklist;tpm;tpslifonts;* +blacklist;tpm;texpower;* +recommends;texlive-fonts-extra;texpower (>= 0.2-2) +recommends;texlive-latex-extra;texpower (>= 0.2-2), texlive-latex-recommended | tetex-extra +# +# prosper is in Debian, can be used with a small control patch +# but as it is not updated, I can only to a recommend +# TODO: after update change it to recommed +blacklist;tpm;prosper;* +recommends;texlive-latex-recommended;prosper (>= 1.00.4+cvs.2006.10.22-1) +# +# latex-cjk +# this is its own collection which is not included, see NAME section above +recommends;texlive-full;latex-cjk-all (>= 4.6.0+cvs20060714-2) +# +# jadetex, xmltex, passivetex +# all packages which were contained in texlive-xmlhtml +# this collection is not included, see NAME section above +suggests;texlive-full;jadetex (>= 3.13-7.1) +suggests;texlive-full;xmltex (>> 1.9-11.1), passivetex (>> 1.25-2) +# +# dviutils +# dviconcat and dviselect are in dvitutils +blacklist;file;bin/[^/]*/dviselect +blacklist;file;bin/[^/]*/dviconcat +blacklist;file;texmf/doc/man/man1/dviselect.1 +blacklist;file;texmf/doc/man/man1/dviconcat.1 +recommends;texlive-extra-utils;dviutils +# +# latex-ucs +# no conflicts for now, but NOT NOT NOT blacklisted as the texlive ucs +# brings currently more files as the Debian latex-ucs and friends. +# TODO update the latex-ucs files in Debian +#conflicts;texlive-latex-recommended;latex-ucs-uninames, latex-ucs, latex-ucs-contrib +# +# feynmf: separate package +blacklist;tpm;feynmf;* +recommends;texlive-metapost;feynmf +depends;texlive-full;feynmf +# +# aleph: Is both the (obsolete) name of a programming language, and of +# an omega variant +conflicts;texlive-omega;aleph +# +# docsplitting +# texlive-base source package +docsplitting;texlive-latex-base +replaces;texlive-latex-base-doc;texlive-latex-base (<= 2007-12) +docsplitting;texlive-latex-recommended +replaces;texlive-latex-recommended-doc;texlive-latex-recommended (<= 2007-12) +docsplitting;texlive-fonts-recommended +replaces;texlive-fonts-recommended-doc;texlive-fonts-recommended (<= 2007-12) +docsplitting;texlive-pictures +replaces;texlive-pictures-doc;texlive-pictures (<= 2007-12) +# texlive-extra +docsplitting;texlive-fonts-extra +replaces;texlive-fonts-extra-doc;texlive-fonts-extra (<= 2007-3) +docsplitting;texlive-latex-extra +replaces;texlive-latex-extra-doc;texlive-latex-extra (<= 2007-3) +# since bigfoot was moved at the same time, we have to replace +# texlive-humanities, too. +replaces;texlive-latex-extra-doc;texlive-humanities (<= 2007-3) +docsplitting;texlive-pstricks +replaces;texlive-pstricks-doc;texlive-pstricks (<= 2007-3) +docsplitting;texlive-publishers +replaces;texlive-publishers-doc;texlive-publishers (<= 2007-3) +docsplitting;texlive-humanities +replaces;texlive-humanities-doc;texlive-humanities (<= 2007-3) +docsplitting;texlive-science +replaces;texlive-science-doc;texlive-science (<= 2007-3) +# texlive-bin +docsplitting;texlive-base-bin +replaces;texlive-base-bin-doc;texlive-base-bin (<= 2007-14) +docsplitting;texlive-metapost +replaces;texlive-metapost-doc;texlive-metapost (<= 2007-14) +# other candidates: ... +# +# NON-FREE STUFF +# +# unfree stuff which has to be removed from Debian +# no sources for the jar file, bummer +blacklist;tpm;bin-ppower4;* +blacklist;tpm;ppower4;* +# context documentation +#blacklist;file;texmf-dist/doc/context/base/context.rme +#blacklist;file;texmf-dist/doc/context/base/minstall.pdf +#blacklist;file;texmf-dist/doc/context/base/mreadme.pdf +# misc208/bar.sty +blacklist;file;texmf-dist/tex/latex/misc209/bar.sty +# GYRE fonts have a very strange license ... +blacklist;tpm;tex-gyre;* +# +# literat is non-free +blacklist;tpm;literat;* +# +# tableaux has no license statement and is not trackable +blacklist;tpm;tableaux;* +# +# latexmp.pdf source code is not present, blacklist it for now +blacklist;file;texmf-dist/doc/metapost/latexmp/latexmp.pdf +# +# TeX Live 2005 -> TeX Live 2007 upgrade path +replaces;texlive-humanities;texlive-latex-extra (<< 2007) +replaces;texlive-science;texlive-latex-extra (<< 2007) +replaces;texlive-lang-cyrillic;texlive-latex-extra (<< 2007) +replaces;texlive-lang-french;texlive-latex-extra (<< 2007) +replaces;texlive-games;texlive-latex-extra (<< 2007) +replaces;texlive-music;texlive-latex-extra (<< 2007) +replaces;texlive-publishers;texlive-latex-extra (<< 2007) +replaces;texlive-pictures;texlive-latex-extra (<< 2007) +replaces;texlive-latex-base;texlive-base-bin (<< 2007) +replaces;texlive-generic-recommended;texlive-base (<< 2007) +# teTeX3 -> TeX Live 2007 upgrade path +replaces;texlive-base-bin;tetex-bin (<< 2007) +replaces;texlive-metapost;tetex-bin (<< 2007) +replaces;texlive-latex-base;tetex-bin (<< 2007) +replaces;texlive-lang-cyrillic;tetex-bin (<< 2007) +replaces;texlive-font-utils;tetex-bin (<< 2007) +replaces;texlive-math-extra;tetex-bin (<< 2007) +# HA-prosper moved from latex-recommended to latex-extra +replaces;texlive-latex-extra;texlive-latex-recommended (<< 2007) +# +# blacklist format links, they are now created by dh_installtex +# tl-base-bin +blacklist;file;bin/[^/]*/etex +blacklist;file;bin/[^/]*/pdfetex +blacklist;file;bin/npdflatex +# tl-omega +blacklist;file;bin/[^/]*/lamed +blacklist;file;bin/[^/]*/lambda +# tl-latex-base +blacklist;file;bin/[^/]*/latex +blacklist;file;bin/[^/]*/pdflatex +# tl-formats-extra +blacklist;file;bin/[^/]*/eplain +blacklist;file;bin/[^/]*/mllatex +blacklist;file;bin/[^/]*/mltex +blacklist;file;bin/[^/]*/physe +blacklist;file;bin/[^/]*/phyzzx +blacklist;file;bin/[^/]*/texsis +# tl-math-extra +blacklist;file;bin/[^/]*/amstex +# tl-lang-cz +blacklist;file;bin/[^/]*/cslatex +blacklist;file;bin/[^/]*/pdfcslatex +blacklist;file;bin/[^/]*/csplain +blacklist;file;bin/[^/]*/pdfcsplain +# tl-lang-polish +blacklist;file;bin/[^/]*/mex +blacklist;file;bin/[^/]*/pdfmex +blacklist;file;bin/[^/]*/utf8mex +blacklist;file;bin/[^/]*/pdfplatex +blacklist;file;bin/[^/]*/platex +# tl-xetex +blacklist;file;bin/[^/]*/xelatex +# +# blacklist files that are already in other debian packages: +blacklist;tpm;bin-dvidvi;* +recommends;texlive-extra-utils;dvidvi +# +# bin-platex goes +blacklist;tpm;bin-platex;* +# +# +# +# file placement errors in TL2007 +# done upstream +mapping;texmf-dist/doc/latex/nag/nag.sty;move;tex/latex/nag/nag.sty +mapping;texmf-dist/doc/xelatex/philokalia/Philokalia-Regular.otf;move;fonts/opentype/public/philokalia/Philokalia-Regular.otf +# todo upstream +mapping;texmf-dist/doc/latex/cmastro/astro.tex;move;tex/generic/cmastro/astro.tex +mapping;texmf-dist/doc/latex/cmastro/astro.sty;move;tex/latex/cmastro/astro.sty +# todo upstream +mapping;texmf-dist/doc/latex/otibet/otibet.tex;move;tex/generic/otibet/otibet.tex +# todo upstream +mapping;texmf-dist/doc/latex/bangtex/bangfont.tex;move;tex/latex/bangtex/bangfont.tex +# useless files +# todo upstream +blacklist;file;texmf-dist/doc/latex/mathpazo/mapfplm.tex +blacklist;file;texmf-dist/doc/latex/mathpazo/mapppl.tex +blacklist;file;texmf-dist/doc/latex/mathpazo/mapzplm.tex +# +# MUST COME AFTER OTHER mappings, ORDER IS IMPORTANT FIRST HIT FIRST SERVE! +# would be not necessary, is done in the fallback remapping in tpm2deb.pl, but +# indeed necessary otherwise the config remap below hits config in doc files! +mapping;texmf[^/]*/doc/(.*);move;$doccomponent/$1 +# +# +# +# vim:set termencoding=iso8859-15 encoding=utf-8 fileencoding=utf-8: # +# Local Variables: +# coding: utf-8 +# End: --- texlive-bin-2007.dfsg.1.orig/debian/bug.control +++ texlive-bin-2007.dfsg.1/debian/bug.control @@ -0,0 +1,2 @@ +report-with: tex-common +package-status: tetex-bin tetex-base tetex-extra tex-common --- texlive-bin-2007.dfsg.1.orig/debian/Licenses.header +++ texlive-bin-2007.dfsg.1/debian/Licenses.header @@ -0,0 +1,41 @@ +# +# LICENSES +# +# This file contains a (probably faulty, probably incomplete) list of +# licenses extracted from the TeX Catalogue. +# http://www.ctan.org/tex-archive/help/Catalogue/ +# +# The licenses codes as described on +# http://www.ctan.org/tex-archive/help/Catalogue/licenses.html +# are +# DFSG free licenses: +# dfsg Debian Free Software Guidelines +# Since the DFSG are not a license, it's existence in +# the Catalogue is a bug, and if any package shows up +# below with this license, this is a bug, too. +# +# According to the definition given in the above file, this +# means: +# This software is distributed under a license that conforms +# to the Debian Free Software Guidelines but might not use one +# of the common DFSG conforming licenses (GPL, LPPL, PD). For +# example, the BSD license is another DFSG conforming license. +# General permission to copy, distribute, and modify the +# software will apply, but there may be other (compatible) +# conditions. +# artistic Perl Artistic License +# bsd BSD Style License +# fdl GNU Free Documentation License +# gpl GNU General Public License +# lgpl GNU Library General Public License +# lppl LaTeX Project Public License +# pd Public Domain +# +# Further license codes which can occur in this list +# unknown the TeX Catalogue has no information about this +# not-in-catalogue the package could not be found in the Catalogue +# +# If you have any suggestions, improvements or complaints, please contact +# the Debian TeX live Maintainers +# or report to the TeX Catalogue Maintainers. +# --- texlive-bin-2007.dfsg.1.orig/debian/merge-dist-tree +++ texlive-bin-2007.dfsg.1/debian/merge-dist-tree @@ -0,0 +1,38 @@ +# +# merge-dist-tree +# $Id: merge-dist-tree 2583 2007-03-15 20:12:56Z frank $ +# (c) 2006 Norbert Preining +# +# merge tree $1 into destination $2 +# files in tree $1 with extension .uu are uudecoded installed into $2 +# + +src="$1" +dst="$2" + +if ! [ -d "$dst" ] ; then + echo "please first call debian/rules install!" + exit 1 +fi + +if ! [ -d "$src" ] ; then + echo "first argument must be a directory: $src" + exit 1 +fi + +for f in $(cd "$src"; find . -type f) ; do + bn=$(basename "$f") + dn=$(dirname "$f") + mkdir -p "$dst/$dn" + case "$f" in + *.uu) + bn=$(basename "$f" .uu) + uudecode -o "$dst/$dn/$bn" "$src/$f" + ;; + *) + cp -a "$src/$f" "$dst/$dn/" + ;; + esac +done + + --- texlive-bin-2007.dfsg.1.orig/debian/copyright +++ texlive-bin-2007.dfsg.1/debian/copyright @@ -0,0 +1,379 @@ +Copyright information for the texlive bundle + +Table of contents: + +1. Copyright and License of the debian-specific adaptions +2. License of the TeX live distribution as a compilation work +3. Licenses of individual parts +3.1 Explanation of the format of the following information +3.2 Packages with license problems +3.3 Individual license texts +3.4 (Incomplete) list of licenses of individual parts + + +1. Copyright and License of the debian-specific adaptions + +Debian adaptions for these packages are licensed under the GNU General +Public License, version 2, and are under Copyright by: + + Norbert Preining (2005-) + Frank Kster (2006-) + +All code generated for the Debian adaptions is under the GNU General +Public License. + +------- + +2. License of the TeX live distribution as a compilation work + +$Id: copyright 3023 2007-07-24 20:20:10Z frank $ $Date: 2005/09/17 $ $Author: karl $ + +COPYING CONDITIONS FOR TeX Live: + +To the best of our knowledge, all software in this distribution is +freely redistributable (libre, that is, not necessarily gratis), within +the Free Software Foundation's definition and Debian Free Software +Guidelines. If you find any non-free files included, please contact us +(references given below). + +That said, TeX Live has neither a single copyright holder nor a single +license covering its entire contents, since it is a collection of many +disparate packages. Therefore, you may copy, modify, and/or +redistribute software from TeX Live only if you comply with the +requirements placed thereon by the owners of the respective packages. + +To most easily learn these requirements, we suggest checking the TeX +Catalogue at: http://www.ctan.org/tex-archive/help/Catalogue/ (or any +CTAN mirror). The Catalogue is also included in TeX Live in +./texmf/doc/html/catalogue/, but the online version will have updates. +Of course the legal statements within the packages themselves are the +final authority. + +In some cases, TeX Live is distributed with a snapshot of the CTAN +archive, which is entirely independent of and separable from TeX Live +itself. (The "live" DVD in the TeX Collection is one example of this.) +Please be aware that the CTAN snapshot contains many files which are +*not* freely redistributable; see LICENSE.CTAN for more information. + + +GUIDELINES FOR REDISTRIBUTION: + +In general, you may redistribute TeX Live, with or without modification, +for profit or not, according to the usual free software tenets. Here +are some general guidelines for doing this: + +- If you make any changes to the TeX Live distribution or any +package it contains, besides complying with any licensing requirements, +you must prominently mention such changes in your modified distribution +so that users do not take your work for ours, and know to contact you, +not us, in case of questions or problems. A new top-level +README. file is a good place to describe the general situation. + +- Especially (but not necessarily) if changes or additions are made, we +recommend a clearly different title, such as " demo CD", +based on TeX Live YYYY demo (with updates)", where YYYY is the year of +TeX Live you are publishing. This credits both our work and yours. + +- You absolutely may *not* place your own copyright on the entire +distribution, since it is not your work (as stated above, TeX Live is +not created by any single person or entity). Statements such as "all +rights reserved" and "may not be reproduced" are especially +reprehensible, since they are antithetical to the free software +principles under which TeX Live is produced. + +- You may use any cover or media label designs that you wish. Such +packaging and marketing details are not covered by any TeX Live license. + +- Finally, we make the following requests (not legal requirements): + +a) Acknowledging that TeX Live is developed as a joint effort by all TeX + user groups, and encouraging the user/reader to join their user group + of choice. + + The web page http://www.tug.org/usergroups.html may be referenced as + a list of TeX user groups. We also appreciate your explicitly + listing all the user groups as given on that page, space permitting. + +b) Referencing the TeX Live home page: http://www.tug.org/tex-live/. + +c) Crediting the editor of the original TeX Live: Sebastian Rahtz. + +Such credits may be placed on the label of your media, your cover, +and/or in accompanying text (for instance, in the acknowledgements +section of a book). + +Finally, although it is certainly not a requirement, we'd like to invite +any redistributors to make a donation to the project, whether cash or +in-kind, for example via https://www.tug.org/donate.html. Thanks. + + +If you have any questions or comments, *please* contact us. In general, +we appreciate being given the chance to review any TeX Live-related +material in advance of publication, simply to avoid mistakes. It is +much better to correct text on a CD label or in a book before thousands +of copies are made! + +We are also happy to keep anyone planning a publication informed as to +our deadlines and progress. Just let us know. However, you should be +aware that TeX Live is produced entirely by volunteers, and no dates can +be guaranteed. + + +LICENSING FOR NEW PACKAGES: + +Finally, we are often asked what license to use for new work. To be +considered for inclusion on TeX Live, a package must use a free software +license, such as the LaTeX Project Public License, the GNU Public +License, the X Window System license, the modified BSD license, etc., or +be put into the public domain. Please see the url's below for more +discussion of this. + +Thanks for your interest in TeX. + +- Sebastian Rahtz, editor, for the TeX Live team + + +TeX Live mailing list: texlive@tug.org +TeX Live home page: http://www.tug.org/tex-live/ + +The FSF's free software definition: http://www.gnu.org/philosophy/free-sw.html +Debian Free Software Guidelines: http://www.debian.org/intro/free +FSF commentary on existing licenses: + http://www.gnu.org/licenses/license-list.html + +LPPL: http://latex-project.org/lppl.html or texmf/doc/latex/base/lppl.txt +LPPL rationale: texmf/doc/latex/base/modguide.pdf + +------------- + +3. Reference to an (incomplete) list of licenses of individual parts + +Individual parts of this distribution have their own copyright and +license. + +3.1 Explanation of the format of the following information + +Since most packages use standard licenses, we have separated the list +of license texts and the list of packages and individual files with +their licenses. In section 3.3 we provide the license texts and their +abbreviations used in in the file list. The file list itself is +generated automatically from the TeX Catalogue and can be found, for +each binary package, in /usr/share/doc/texlive-/Licenses. + +The information in the TeX Catalogue is checked by the Debian TeX +maintainers and the CTAN maintainers. If you find any contradiction +in the listing with the reality please inform us. + +In the case of gpl and lppl, the string without a number means that +the license statement contains a "or any later version" statement. In +the list in Licenses, each package has a header line like this: + +% ccfonts: lppl (verification data:1.1:1.1:2006-03-14:frank:readme) + +indicating that the package ccfonts is under LPPL, exists in version +1.1, the license has been checked in version 1.1 on 2006-03-14 by +"frank" (the username among the Catalogue developers, actually Frank +Kster), and the license information is in a file "readme". After +that follows the list of files, + + tex/latex/ccfonts/t1ccr.fd + tex/latex/ccfonts/ccfonts.sty + tex/latex/ccfonts/ts1ccr.fd + doc/latex/ccfonts/* + +where the * indicates that all ordinary files in that directory belong +to that package (but not necessarily subdirectories and files +therein). + +3.2 TODO: Packages with licensing problems + +[ this is copied over from teTeX, and some problems might already be +solved ] + +3.2.1 Serious problems + +- euler: LPPL according changelog, but no indication in file. + +- adrconv: No license at all for the documentation + +- antp: PD according to catalogue, no statement in the files, no + sources; contacted upstream + +- bbm: no license statement at all, bug filed + +- cite: chapterbib.sty is missing a license statement in the header + +- Problematic files by Donald Arseneau: + + * chapterbib.sty: no license information + * tabls.sty: no license information + * import.sty: "this software is free of any restrictions" + * relsize.sty: "public domain", nothing else + * shapepar.sty: noncommercial + * version.sty: no license information, not only by D.A. + * selectp.sty: no license information + *./source/latex/shapepar/README.shapepar + ./source/latex/shapepar/shapepar.sty + ./source/latex/shapepar/shapepar.ltx + ./source/latex/hyphenat/hyphenat.dtx: no license information + + +- citesort.sty: no license statement + +- index.doc: no license statement - probably unused + +- dinbrief: lppl 1.1+, but with additional restrictions which are non-free + +- eepic: The style files are public domain, but all the documentation + has no license at all. + +- extsizes: extsizes.sty, extarticle.cls and extreport.cls, and the + size*.clo files have a correct LPPL notice, the others have none. + The author seems to be active on Wikipedia, tried to contact him + +- beamericon*: no license statement. beamerexample-seminar: just like + seminar, which has not been investigated yet. Filed bug against beamer. + +- one file in the psnfss directory with unclear license: + + tex/latex/psnfss/8r.sty + +3.2.2 Normal :-) problems + +- listings: LPPL, plus: + +,---- +| *Modification*advice* +| +| Permission is granted to modify the listings package as well as +| lstdrvrs.dtx. You are not allowed to distribute a modified version of +| the listings package or lstdrvrs.dtx unless you change the file names +| and provide the original files. In any case it is better to contact +| the address below; other users will welcome removed bugs, new +| features, and additional programming languages. + +This is more restrictive than LPPL 1.3 (6.a and 6.d.2). The title is advice... + +- ae: Just a formal problem, the GPL is included, but nowhere is it + explicitly stated that this license applies to the package. + + contacted upstream + +- antt: gust font license, unclear which files % contacted upstream + + +3.3 Individual license texts + +The actual text of the licenses can either be found in +/usr/share/common-licenses (for artistic,bsd,gpl) or in "3.2 Text of +the licenses" below. For BSD-like licenses that just exchange the +name of the copyright holder, we do not list the license text. + +A. gpl (GNU General Public License) + +The full text of the GPL is given in /usr/share/common-licenses/GPL. + +B. lppl (LaTeX Project Public License) + +The full text of the LPPL is given in +/usr/share/doc/texlive-latex-base/latex/base/lppl.txt.gz + + +C. Artistic +D. PD (Public domain): + +The file or package contains a statement equivalent to + +"This file is in the public domain. You may freely use, modify and +distribute it". + +E. Non-standard licenses, by package name: + +(1) eepic.sty, eepicemu.sty: + The macros are in public domain. + You may distribute or modify it in any ways you like. + epic.sty: + You may use this file in whatever way you wish. You are requested to + leave this notice intact, and report any bugs, enhancements, comments, + suggestions, etc. to: + ... + +(2) The Computer Modern fonts by Donald E. Knuth have a special + license; essentially, they are public domain, but no modified + version may use the same name, and the names "TeX" and "MetaFont" + for the resulting programs, unless they pass the TRIP and TRAP + tests. The complete license statement can be found in a text at + http://www.tug.org/TUGboat/Articles/tb11-4/tb30knut.pdf, and the + relevant parts are: + + ,---- + | My work on developing TEX, METAFONT, and Computer + | Modern has come to an end. I willmake no further + | changes except to correct extremely serious bugs. + | + | I have put these systems into the public domain so that + | people everywhere can use the ideas freely if they wish. + | + | [...] + | As stated on the copyright pages of Volumes B, D, and + | E, anybody can make use of my programs in whatever + | way they wish, as long as they do not use the names + | TEX, METAFONT, or Computer Modern. In particular, + | any person or group who wants to produce a program + | superior to mine is free to do so. However, nobody is + | allowed to call a system TEX or METAFONT unless that + | system conforms 100% to my own programs, as I have + | specified in the manuals for the TRIP and TRAP tests. + | And nobody is allowed to use the names of the Computer + | Modern fonts in Volume E for any fonts that do not + | produce identical tfm files. This prohibition applies to + | all people or machines, whether appointed by TUG or + | by any other organization. I do not intend to delegate the + | responsibility formaintainance of TEX, METAFONT, or + | Computer Modern to anybody else, ever. + `---- + + For those who believe more in texts written on paper, we reproduce + here the copyright page of Volume $of "Computers and Typesetting" + by Donald E. Knuth, which present the commented code for the Computer Modern fonts: + + ,---- + | The quotations on pages 7 and 351 have been excerpted [...]. + | + | METAFONT is a trademark of th Addison Wesley Publishing Company. + | + | TeX is a trademark of the American Mathematical Society. + | + | The programs for computer Modern are in the public domain, and readers + | may freely generate and hand-tune their own fonts using the algorithms + | of this book. However, use of the names is restricted: Any fonts + | whose names cmr10 or cmbx12 or ... are identical to the standard font + | names of this book should be fully compatible with the fonts defined + | here; i.e., fonts with the same names are supposed to have precisely + | the same character coding schemes and precisely the same font metric + | files. + `---- + + + + ***** + +F. Individual files, not belonging to any package: + +% cahyph.tex: LPPL 1+ +% gahyph.tex: GPL 2+ +% icehyph.tex: LPPL 1.2+ +% ruhyphas.tex: LPPL 1.2+ +% ruhyphzn.tex: LPPL 1.2+ +% sehyph.tex: LPPL 1.2+ + + + +3.4 Reference to an (incomplete) list of licenses of individual parts + +The file list for each binary package has the format explained above +and can be found, for each binary package, in + +/usr/share/doc/texlive-/Licenses. + +$Id: copyright 3023 2007-07-24 20:20:10Z frank $ \ No newline at end of file --- texlive-bin-2007.dfsg.1.orig/debian/watch +++ texlive-bin-2007.dfsg.1/debian/watch @@ -0,0 +1,2 @@ +version=3 +ftp://ftp.tug.org/texlive/Images/texlive(....)-live-*.iso --- texlive-bin-2007.dfsg.1.orig/debian/lintian.override +++ texlive-bin-2007.dfsg.1/debian/lintian.override @@ -0,0 +1,26 @@ +zero-byte-file-in-doc-directory +extra-license-file +script-not-executable +wrong-name-for-upstream-changelog +texlive-lang-german: spelling-error-in-description german German +texlive-fonts-recommended: unusual-interpreter ./usr/share/texmf-texlive/source/fonts/fpl/fpl/TeXPalladioL-BoldItalicOsF.pe #!fontforge +texlive-fonts-recommended: unusual-interpreter ./usr/share/texmf-texlive/source/fonts/fpl/fpl/TeXPalladioL-BoldOsF.pe #!fontforge +texlive-fonts-recommended: unusual-interpreter ./usr/share/texmf-texlive/source/fonts/fpl/fpl/TeXPalladioL-ItalicOsF.pe #!fontforge +texlive-fonts-recommended: unusual-interpreter ./usr/share/texmf-texlive/source/fonts/fpl/fpl/TeXPalladioL-SC.pe #!fontforge +texlive-fonts-recommended: unusual-interpreter ./usr/share/texmf-texlive/source/fonts/hfbright/simplify-rename.pe #!pfaedit +texlive-base source: maintainer-script-lacks-debhelper-token debian/common.functions.preinst +texlive-base source: maintainer-script-lacks-debhelper-token debian/common.functions.postinst +texlive-base source: maintainer-script-lacks-debhelper-token debian/common.functions.postrm +texlive-bin source: maintainer-script-lacks-debhelper-token debian/common.functions.preinst +texlive-bin source: maintainer-script-lacks-debhelper-token debian/common.functions.postinst +texlive-bin source: maintainer-script-lacks-debhelper-token debian/common.functions.postrm +texlive-lang source: maintainer-script-lacks-debhelper-token debian/common.functions.preinst +texlive-lang source: maintainer-script-lacks-debhelper-token debian/common.functions.postinst +texlive-lang source: maintainer-script-lacks-debhelper-token debian/common.functions.postrm +texlive-extra source: maintainer-script-lacks-debhelper-token debian/common.functions.preinst +texlive-extra source: maintainer-script-lacks-debhelper-token debian/common.functions.postinst +texlive-extra source: maintainer-script-lacks-debhelper-token debian/common.functions.postrm +texlive-doc source: maintainer-script-lacks-debhelper-token debian/common.functions.preinst +texlive-doc source: maintainer-script-lacks-debhelper-token debian/common.functions.postinst +texlive-doc source: maintainer-script-lacks-debhelper-token debian/common.functions.postrm +tetex-base: maintainer-script-needs-depends-on-ucf postinst --- texlive-bin-2007.dfsg.1.orig/debian/preinst.pre +++ texlive-bin-2007.dfsg.1/debian/preinst.pre @@ -0,0 +1,18 @@ +# preinst.pre +# $Id: preinst.pre 2583 2007-03-15 20:12:56Z frank $ +# we want to be sure that experimental versions are purged before +# the first unstable is installed +# furthermore check that we are at least at version 2005 for the +# temporary tetex packages upgrades +case "$1" in + upgrade|install) + old_version=$2 + if [ -n "$old_version" ] && dpkg --compare-versions "$old_version" lt 2005-2 && dpkg --compare-versions "$old_version" gt 2005 ; then + echo "Upgrade from experimental versions are not supported!" >&2 + echo "Please purge all texlive packages before installation." >&2 + exit 1 + fi + ;; +esac + +# end preinst.pre --- texlive-bin-2007.dfsg.1.orig/debian/common.functions.preinst +++ texlive-bin-2007.dfsg.1/debian/common.functions.preinst @@ -0,0 +1,140 @@ +# common.functions.preinst start +# $Id: common.functions.preinst 3055 2007-09-01 08:33:25Z preining $ + +dpkg_md5sum() +{ + conffile="$1" + package="$2" + md5sum=$(dpkg-query -W -f='${Conffiles}' "$package" \ + | grep -F " $conffile " | cut -d ' ' -f 3) + if [ -z "$md5sum" ]; then + echo "$conffile: md5sum not known." >&2 + echo "It seems that this file is not handled by dpkg conffiles." >&2 + # don't exit but return empty md5sum + md5sum="" + # exit 1 + fi + echo $md5sum +} + +check_move () +{ + dodelete="$1" + orig="$2" + package="$3" + new="$4" + version="$5" + if [ -r "$orig" ] ; then + mdorig=$(dpkg_md5sum "$orig" "$package") + if [ $(md5sum "$orig" | cut -f 1 -d ' ') = "$mdorig" ] ; then + rm "$orig" + else + mkdir -p $(dirname "$new") + mv "$orig" "$new".preinst-copy + fi + else + if [ -n "$version" ]; then + # there is a previous version, we are actually upgrading + # (or reinstalling) + # in case we handle a foreign conffile (different package) $dodelete + # can be set to 0 (or != 1) in which case the .preinst-deleted file + # will not be created. + if [ "$dodelete" = 1 ] ; then + mkdir -p $(dirname "$new") + touch $new.preinst-deleted + fi + fi + fi +} + +# +# handle_config_file_preinst/postinst/prerm/postrm +# handle those config files which are left over from old texlive and +# tetex installations +handle_config_file_preinst () +{ + cfgfile="$1" + action="$2" + version="$3" + upgrade_needed=false + case "$action" in + install|upgrade) + if [ -n "$version" ] && dpkg --compare-versions "$version" ge 2007; then + return 0 + fi + ;; + *) + return 0 + ;; + esac + + conf_relpath=${cfgfile#/etc/texmf/} + conf_oldpath="/etc/texmf/texlive/$conf_relpath" + # default package is texlive-base-bin + package=texlive-base-bin + case "$cfgfile" in + /etc/texmf/dvips/config/*) + # special case for dvips config + conf_oldpath="/etc/texmf/texlive/dvips/${conf_oldpath#/etc/texmf/texlive/dvips/config/}" + ;; + # files which were only present in tetex + /etc/texmf/texdoctk/texdoctk.dat) + package=tetex-base + conf_oldpath="/etc/texdoctk/texdoctk.dat" + ;; + # symlink target had a different name + /etc/texmf/dvipdfm/config/config) + conf_oldpath="/etc/texmf/texlive/dvipdfm.cfg" + ;; + # for xdvi.cfg we first want to move tetex files, and later texlives + /etc/texmf/xdvi/xdvi.cfg) + # tetex version + # it could either be deleted, or tetex was never installed. + # We do not want to create .preinst-deleted, so we call + # check_move with first argument 0 which means that the + # preinst-deleted file will not be created + check_move 0 /etc/texmf/xdvi.cfg tetex-bin /etc/texmf/xdvi/xdvi.cfg $version + # now set the conf_oldpath to the texlive version + conf_oldpath="/etc/texmf/texlive/xdvi.cfg" + ;; + esac + check_move 1 $conf_oldpath $package $cfgfile $version +} + +resurrect_conffile_sid(){ + cfgfile="$1" + package="$2" + action="$3" + version="$4" + template_source="/usr/share/$package" + basefile=$(basename $cfgfile) + dirname=$(dirname $cfgfile) + + # continue only in the following cases: + # - we are upgrading + # - at least from version 2007 (not etch=2005) + case "$action" in + upgrade) + if [ -n "$version" ] && dpkg --compare-versions "$version" ge 2007; then + : do nothing + else + return 0 + fi + ;; + *) + return 0 + ;; + esac + + if ! [ -f "$cfgfile" ]; then + mkdir -p $dirname + echo "Reinstalling deleted mandatory conffile $basefile" >&2 + cp $template_source/$basefile $cfgfile + fi +} + +# common.functions.preinst end +# Local Variables: +# mode: shell-script +# End: +# vim:set expandtab: # --- texlive-bin-2007.dfsg.1.orig/debian/README.Debian-source +++ texlive-bin-2007.dfsg.1/debian/README.Debian-source @@ -0,0 +1,20 @@ + +README.Debian-source + +The generation of the orig.tar.gz files of the TeX Live packages needs +the infrastructure available at + http://svn.debian.org/wsvn/debian-tex/texlive-new/ + +The following commands will generate the sources: + + # make a temporary directory and chdir to it + root=$(mktemp -d) + cd $root + # checkout the texlive repository + svn co svn://tug.org/texlive/tags/texlive-2007.0/Master + # checkout the debian stuff !don't miss the final DOT!!! + svn co svn://svn.debian.org/debian-tex/texlive-new/trunk . + # generate the orig.tar.gz for texlive packages + # replace $src with one of texlive-base, -bin, -extra, -doc, -lang + perl tpm2deb-source.pl make-orig-tar --master=./Master $src + --- texlive-bin-2007.dfsg.1.orig/debian/tpm2deb-bin.pl +++ texlive-bin-2007.dfsg.1/debian/tpm2deb-bin.pl @@ -0,0 +1,648 @@ +#!/usr/bin/perl +# +# tpm2deb-bin.pl +# machinery to create debian packages from TeX Live depot +# (c) 2005, 2006 Norbert Preining +# +# $Id: tpm2deb.pl 2080 2006-12-15 12:03:49Z preining $ +# +# configuration is done via the file tpm2deb.cfg +# + +BEGIN { # get our other local perl modules. + my $upstream_modules = "/usr/share/tex-common/"; + unshift (@INC, "./debian"); + unshift (@INC, $upstream_modules); +} + +use strict "vars"; +# use strict "refs"; # not possible with merge_into +use warnings; +no warnings 'once'; +no warnings 'uninitialized'; + +#use Strict; +use Getopt::Long; +use File::Basename; +use File::Copy; +use File::Path; +use File::Temp qw/ tempfile tempdir /; +use Storable; +## not needed, atm we are calling eperl binary use Parse::ePerl; +#use XML::DOM; +use Cwd; +#use FileUtils qw(canon_dir cleandir make_link newpath member +# normalize substitute_var_val dirname diff_list remove_list +# rec_rmdir sync_dir walk_dir start_redirection stop_redirection); +#use Tpm; + +# use Data::Dumper; + + +my $debdest; +my $basedir; +my $bindest; +my $bincomponent = "/usr/bin"; +my $rundest; +my $runcomponent = "/usr/share"; +my $docdest; +my $doccomponent; +my $etcdest; +my $tmpdir; + + +# +# Configuration for destination of files +# DONT USER DOUBLE QUOTES; THESE VARIABLES HAVE TO GET REEVALUATED +# AFTER $tmpdir IS SET!! +# +my $sysdebdest = '$tmpdir/debian'; +my $sysbasedir = '$debdest/$package'; +my $sysbindest = '$basedir/usr/bin'; +my $sysbincomponent = '/usr/bin'; +my $sysrundest = '$basedir/usr/share'; +my $sysruncomponent = '/usr/share'; +my $sysdocdest = '$basedir/usr/share/doc/$package'; +my $sysdoccomponent = '/usr/share/doc/$package'; +my $sysetcdest = '$basedir/etc/texmf'; + +my %configfiles; # hash of (symbolic) array references, one for each package + +my $texmfdist = "texmf-texlive"; +my $opt_nosource=0; +my $optdestination=""; +our $opt_onlyscripts=0; +my $opt_onlycopy=0; + +our $opt_debug; #global variable +my $opt_master; +our $Master; +my $globalreclevel=1; + +my $result = GetOptions ("debug!" => \$opt_debug, # debug mode + "nosource!" => \$opt_nosource, # don't include source files + "master=s" => \$opt_master, # location of Master + "dest=s" => \$optdestination, # where to write files + "reclevel=i" => \$globalreclevel, # recursion level + "onlyscripts!" => \$opt_onlyscripts, # only create maintainer scripts + "onlycopy!" => \$opt_onlycopy # no maintscripts, only copy files + ); + +# Norbert, is $, intended here, or should it rather be m{/.*$}? +if (!($opt_master =~ m,/.*$,,)) { + $Master = `pwd`; + chomp($Master); + $Master .= "/$opt_master"; +} else { + $Master = $opt_master; +} +my $TpmGlobalPath = $Master; +my $DataGlobalPath = $Master; + +# +# put Master/Tools/ into the include path to find TeX Live perl modules +# +unshift (@INC, "$Master/Tools"); +# +# these we can only load now that we have correctly set the path to Master +# +#require Strict; +require XML::DOM; +require FileUtils; +import FileUtils qw(canon_dir cleandir make_link newpath member + normalize substitute_var_val dirname diff_list remove_list + rec_rmdir sync_dir walk_dir start_redirection stop_redirection); +require Tpm; + +my $parser = new XML::DOM::Parser; +my $startdir=getcwd(); +chdir($startdir); +File::Basename::fileparse_set_fstype('unix'); + +use tpm2debcommon; + +&main(@ARGV); + +1; + + +sub main { + my (@packages) = @_; + ${Tpm::MasterDir} = $TpmGlobalPath; + my $arch = "all"; + # the following variable is used in the Tpm.pm module, + # and should always be set to i386-linux, no matter what + # the real Debian architecture is + $Tpm::CurrentArch = "i386-linux"; + initialize_config_file_data("debian/tpm2deb.cfg"); + load_collection_tpm_data(); + build_data_hash(); + check_consistency(); + foreach my $package (@packages) { + # + # various variables have to be set + # + #$arch = get_arch($package); + #print "Working on $package, arch=$arch\n"; + print "Working on $package\n"; + # determine variables used in all subsequent functions + $opt_debug && print STDERR "Setting global vars\n"; + tl_set_global_vars($package); + # + # copy files etc. + # + # this affects the following global vars: @{$configfiles{$package}}. + make_deb($package); #unless ($opt_onlyscripts); + # + # create the maintainer scripts + # + # this uses the following global vars: @{$configfiles{$package}}. + make_maintainer($package,$debdest) unless ($opt_onlycopy); + } +} + +# +# set global variables +# +sub tl_set_global_vars { + my ($package) = @_; + my $helper; + if ($optdestination ne "") { + $tmpdir = $optdestination; + } else { + $tmpdir = "."; + } + $opt_debug && print STDERR "tmpdir = $tmpdir\n"; + $helper="\$debdest = \"$sysdebdest\""; eval $helper; + $helper="\$basedir = \"$sysbasedir\""; eval $helper; + $helper="\$bindest = \"$sysbindest\""; eval $helper; + $helper="\$rundest = \"$sysrundest\""; eval $helper; + $helper="\$docdest = \"$sysdocdest\""; eval $helper; + $helper="\$doccomponent = \"$sysdoccomponent\""; eval $helper; + $helper="\$etcdest = \"$sysetcdest\""; eval $helper; + $opt_debug && print STDERR "\nGlobal options:\n"; + if ($opt_debug) { + print STDERR "debdest = $debdest\n"; + print STDERR "basedir = $basedir\n"; + print STDERR "bindest = $bindest\n"; + print STDERR "rundest = $rundest\n"; + print STDERR "docdest = $docdest\n"; + print STDERR "doccomponent = $doccomponent\n"; + print STDERR "etcdest = $etcdest\n"; + } +} + +# +# tl_is_blacklisted +# +sub tl_is_blacklisted { + my ($file) = @_; + my $blacklisted = 0; + foreach my $pat (@{$TeXLive{'all'}{'file_blacklist'}}) { + $blacklisted = 1 if ($file =~ m|^${pat}$|); + } + $opt_debug && $blacklisted && print STDERR "$file is blacklisted\n"; + return $blacklisted; +} + +# +# make_deb_copy_to_righplace +# +# depends on global var $rundest +sub make_deb_copy_to_rightplace { + my ($package,$listref) = @_; + my %lists = %$listref; + if (!$opt_nosource) { + DOSFILE: foreach my $file (@{$lists{'SourceFiles'}}) { + next DOSFILE if tl_is_blacklisted($file); + my $finalfn = do_remap_and_copy($package,$file,$runcomponent); + do_special($file,$finalfn); + } + } + DORFILE: foreach my $file (@{$lists{'RunFiles'}}) { + next DORFILE if tl_is_blacklisted($file); + my $finalfn = do_remap_and_copy($package,$file,$runcomponent); + do_special($file,$finalfn); + } +# my %DocDirHash = (); +# my @LinkedDocDir = (); + DODFILE: foreach my $file (@{$lists{'DocFiles'}}) { + next DODFILE if tl_is_blacklisted($file); + my $finalfn = do_remap_and_copy($package,$file,$runcomponent,'^[^/]*/doc/(.*)$','$doccomponent/$1'); + do_special($file,$finalfn); + } + DOBFILE: foreach my $file (@{$lists{'BinFiles'}}) { + $opt_debug && print STDERR "BINFILE: $file\n"; + next DOBFILE if tl_is_blacklisted($file); + my $finalfn = do_remap_and_copy($package,$file,$bincomponent,'^bin/[^/]*/(.*)$','/usr/bin/$1'); + do_special($file,$finalfn); + } + if ($package eq 'texlive-base') { + open(USLANG,">$debdest/texlive-base.cnf") + or die("Cannot open $debdest/texlive-base.cnf for writing!"); + open (SOURCE,"$DataGlobalPath/texmf/tex/generic/config/language.us") + or die("Cannot open $DataGlobalPath/texmf/tex/generic/config/language.us"); + while () { print USLANG; } + close (SOURCE); + close (USLANG); + } +} + +# +# make_deb_execute_actions +# +# depends on global variable $globalreclevel +# FIXXME: could be divided in get_execute_actions and +# do_execute_actions, probably needs pass-by-reference if we don't +# want to use global vars. +sub make_deb_execute_actions { + my ($package) = @_; + my @Executes = get_all_executes($package,$globalreclevel); + my @maplines = (); + my @formatlines = (); + my @languagelines = (); + my $gotmapfiles = 0; + my $firstlang =1; + my %langhash = (); + my %formathash = (); + $opt_debug && print STDERR "Executes= @Executes\n"; + my %Job; + foreach (@Executes) { + my @match = /([^=]+)=([^ ]+)\s+([^=]+)=([^ ]+)\s*([^=]*)=?(.*)/; + $Job{'parameter'} = $Job{'function'} = $Job{'mode'} = ''; + $Job{$match[0]}=$match[1]; + $Job{$match[2]}=$match[3]; + $Job{$match[4]}=$match[5]; + my $instcmd; + my $rmcmd; + if ($Job{'function'} eq 'addMap') { + my $name=$Job{'parameter'}; + if ($Job{'mode'} eq 'mixed') { + push @maplines, "MixedMap $name\n"; + } else { + push @maplines, "Map $name\n"; + } + } elsif ($Job{'function'} eq 'BuildFormat') { + my $name=$Job{'parameter'}; + open(INFILE,"<$DataGlobalPath/texmf/fmtutil/format.$name.cnf") + or die("Cannot open $DataGlobalPath/texmf/fmtutil/format.$name.cnf"); + my @tmp = ; + close(INFILE); + push @formatlines, @tmp; + } elsif ($Job{'function'} eq 'BuildLanguageDat') { + my $name=$Job{'parameter'}; + open(INFILE,"<$DataGlobalPath/texmf/tex/generic/config/language.$name.dat") + or die("Cannot open $DataGlobalPath/texmf/tex/generic/config/language.$name.dat"); + my @tmp = ; + close(INFILE); + push @languagelines, @tmp; + } + } + # what is missing from old handling of maintainer scripts: + # - texlive-base and texlive-base-bin should call + # fmtutil-sys --all + # but dh_installtex does not support something like this! + # - extraformats: $TeXLive{'binary'}{$package}{'extra_format'} + # dh_installtex does not support creating creation calls for + # additional formats, ie those not in the to be installed format files + # + if ($#maplines >= 0) { + open(OUTFILE, ">$debdest/$package.maps") + or die("Cannot open $debdest/$package.maps"); + foreach (@maplines) { print OUTFILE; } + close(OUTFILE); + } + if ($#formatlines >= 0) { + open(OUTFILE, ">$debdest/$package.formats") + or die("Cannot open $debdest/$package.formats"); + foreach (@formatlines) { print OUTFILE; } + close(OUTFILE); + } + if ($#languagelines >= 0) { + open(OUTFILE, ">$debdest/$package.languages") + or die("Cannot open $debdest/$package.languages"); + foreach (@languagelines) { print OUTFILE; } + close(OUTFILE); + } + +} + +# +# make_deb +# +sub make_deb { + # my function + # + # do_special ($originalfilename, $finaldestinationfilename) + # + # Do special actions as specified in the config file, like install info + # etc + our @SpecialActions = (); + sub do_special { + my ($origfn, $finalfn) = @_; + our @SpecialActions; + SPECIALS: foreach my $special (@{$TeXLive{'all'}{'special_actions_config'}}) { + my ($pat, $act) = ($special =~ m/(.*):(.*)/); + if ($origfn =~ m|$pat$|) { + if ($act eq "install-info") { + push @SpecialActions, "install-info:$origfn"; + } else { + print STDERR "Unknown special action $act, terminating!\n"; + exit 1; + } + } + } + } + # real start + my ($package) = @_; + my %lists = %{&get_all_files($package,$globalreclevel)}; + my $title = $TeXLive{'binary'}{$package}{'title'}; + my $description = $TeXLive{'binary'}{$package}{'description'}; + eval { mkpath($rundest) }; + if ($@) { + die "Couldn't create dir: $@"; + } + if ($opt_debug) { + print STDERR "SOURCEFILES: ", @{$lists{'SourceFiles'}}, "\n"; + print STDERR "RUNFILES: ", @{$lists{'RunFiles'}}, "\n"; + print STDERR "DOCFILES: ", @{$lists{'DocFiles'}}, "\n"; + print STDERR "BINFILES: ", @{$lists{'BinFiles'}}, "\n"; + } +# # clean @configfiles + @{$configfiles{$package}} = (); + &mkpath($docdest); + # + # DO REMAPPINGS and COPY FILES TO DEST + # + make_deb_copy_to_rightplace($package,\%lists); + # + # EXECUTE ACTIONS + # + make_deb_execute_actions($package); + # + # Work on @SpecialActions + # + my @infofiles = (); + foreach my $l (@SpecialActions) { + my ($act, $fname) = ($l =~ m/(.*):(.*)/); + if ($act eq "install-info") { + push @infofiles, "$fname"; + } else { + print STDERR "Unknown action, huuu, where does this come from: $act, exit!\n"; + exit 1; + } + } + if ($#infofiles >=0) { + open(INFOLIST, ">$debdest/$package.info") + or die("Cannot open $debdest/$package.info"); + foreach my $f (@infofiles) { + print INFOLIST "$f\n"; + } + close(INFOLIST); + } +} + +# +# make_maintainer +# +# create maintainer scripts. +# This function uses global vars: @{$configfiles{$package}}, $debdest +# +sub make_maintainer { + sub merge_into { + my ($source_fname, $target_fhandle) = @_; + if (-e "$source_fname") { + open(SOURCE,"<$source_fname") + or die("Cannot open $source_fname"); + while () { print $target_fhandle $_; } + close(SOURCE); + } + } + my ($package,$debdest) = @_; + print "Making maintainer scripts for $package in $debdest...\n"; + &mkpath($debdest); + for my $type (qw/postinst preinst postrm prerm/) { + $opt_debug && print STDERR "Handling $type "; + if ((-r "$debdest/$type.pre") || + (-r "$debdest/$type.post") || + (-r "$debdest/$package.$type.pre") || + (-r "$debdest/$package.$type.post") || + ( ($type ne "prerm") && ($#{$configfiles{$package}} >= 0) )) + { + $opt_debug && print STDERR "\nconfigfiles:\n@{$configfiles{$package}}\n"; + open(MAINTSCRIPT, ">$debdest/$package.$type") + or die("Cannot open $debdest/$package.$type for writing"); + print MAINTSCRIPT "#!/bin/sh -e\n"; + merge_into("$debdest/common.functions", MAINTSCRIPT); + merge_into("$debdest/common.functions.$type", MAINTSCRIPT); + merge_into("$debdest/$type.pre", MAINTSCRIPT); + merge_into("$debdest/$package.$type.pre", MAINTSCRIPT); + # handling of conffile moves (2005 has /etc/texmf/texlive, 2007 has /etc/texmf) + # + # preinst moves, postinst renames conffile to + # conffile.dpkg-new if it was previously deleted, postrm + # makes error-unwind for preinst. + # prerm needs no code. + my $maintscript_func = "handle_config_file_" . $type; + if (! @{$configfiles{$package}} && $opt_debug ) { print "\nNo conffiles for this package\n"}; + CONFMOVE: do { + foreach my $cf (@{$configfiles{$package}}) { + print MAINTSCRIPT "$maintscript_func $cf \$1 \$2\n" + } + } unless ($type eq "prerm"); + # add debhelper stuff and post-parts. + print MAINTSCRIPT "\n#DEBHELPER#\n"; + merge_into("$debdest/$package.$type.post", MAINTSCRIPT); + merge_into("$debdest/$type.post", MAINTSCRIPT); + print MAINTSCRIPT "exit 0\n"; + close MAINTSCRIPT; + } + $opt_debug && print STDERR " done.\n"; + } +} + +# +# get_texmf_relpath +# +sub get_texmf_relpath { + my ($filename) = @_; + $filename =~ s{texmf-dist}{texmf}; + $filename =~ s{texmf-doc}{texmf}; + $filename =~ s{texmf/}{}; + return $filename; +} + +# +# do_remap_and_copy +# +# policy for mapping lines: +# ALL file names in the last field are: +# - either ABSOLUTE filenames in the sense of the final installation +# example: +# mapping;texmf/tex/generic/config/language.dat;link;/var/lib/texmf/tex/generic/config/language.dat +# - relative filenames in which case +# $texmfdist = /usr/share/texmf-texlive +# is prepended, eg: +# mapping;texmf-dist/fonts/map/dvips/ibygrk/ibycus4.map;remap;fonts/source/public/ibygrk/ibycus4.map +# in this case ibycus4.map is remapped to +# /usr/share/texmf-texlive/fonts/source/public/ibygrk/ibycus4.map +# +# The filenames CAN contain backreferences to patterns: +# mapping;texmf[^/]*/doc/man/man(.*)/(.*);remap;/usr/share/man/man$1/$2 +# +sub do_remap_and_copy { + # my functions + # + # here the mapping from texlive pathes to debian pathes is done + # + sub make_destinationname { + my ($path) = @_; + $path =~ s#texmf-dist#$texmfdist#; + $path =~ s#texmf-doc#$texmfdist#; + # + # we do map *ALL* files into $texmfdist, not only the dist files + # + $path =~ s#texmf/#$texmfdist/#; + return("$path"); + } + sub absolute_path { + my ($inpath) = @_; + if ($inpath =~ m,^/,) { + # absolute path, just return it + return ($inpath); + } else { + # relative path name add /usr/share/$texmfdist + return ("$runcomponent/$texmfdist/$inpath"); + } + } + # real start + my ($package,$file,$defaultpathcomponent,$finalremap,$finaldest) = @_; + my $gotremapped = 0; + my $returnvalue = "**NOTSET**"; + my $defaultdestname = make_destinationname($file); + $opt_debug && print STDERR "DESTINATION NAME = $defaultdestname\n"; + + MAPPINGS: foreach my $maplines (@{$TeXLive{'all'}{'filemappings'}}) { + my ($pat, $dest) = ($maplines =~ m/(.*):(.*)/); + if ($file =~ m|$pat$|) { + $gotremapped = 1; + my $act = $TeXLive{'all'}{'file_map_actions'}{$pat}; + my $supplieddestname; + # this evaluation is NECESSARY since the last entries in the + # file mappings can contain back references to patterns in $pat!!! + my $foo="\$supplieddestname = \"$dest\""; + eval $foo; + $supplieddestname = absolute_path($supplieddestname); + $opt_debug && print STDERR "REMAP HIT f=$file\nsupplieddestname=$supplieddestname\npat=$pat\ndest=$dest\n"; + # if you add possible actions here, also add them to the list in tpm2deb.cfg + if (($act eq "move") || ($act eq "config-move")) { + # remap MOVES the file to the new position + $opt_debug && print STDERR "remap\n"; + &mkpath(dirname("$basedir$supplieddestname")); + mycopy("$DataGlobalPath/$file","$basedir$supplieddestname"); + $returnvalue = $supplieddestname; + if ($act eq "config-move") { + push @{$configfiles{$package}}, "$supplieddestname" ; + } + } elsif (($act eq "copy") || ($act eq "config-copy")) { + $opt_debug && print STDERR "copy\n"; + # first install it into the normal path + mycopy("$DataGlobalPath/$file","$basedir$defaultpathcomponent/$defaultdestname"); + # now the same as in remap/config-remap + &mkpath(dirname("$basedir$supplieddestname")); + mycopy("$DataGlobalPath/$file","$basedir$supplieddestname"); + $returnvalue = $supplieddestname; + if ($act eq "config-copy") { + push @{$configfiles{$package}}, "$supplieddestname" ; + } + } elsif ($act eq "copy-move") { + $opt_debug && print STDERR "copy-move\n"; + my ($configpath,$secondpath) = split(/,/ , $supplieddestname); + $opt_debug && print STDERR "installing into $configpath and $secondpath\n"; + # first install it into the config path + &mkpath(dirname("$basedir$configpath")); + mycopy("$DataGlobalPath/$file","$basedir$configpath"); + # now the other path (/usr/share/$package or similar) + mycopy("$DataGlobalPath/$file","$basedir$secondpath"); + # return the config path + $returnvalue = $configpath; + } elsif ($act eq "link") { + # make the defaultdestname a LINK to the supplieddestname, + # but do NOT create the supplieddestname + $opt_debug && print STDERR "link\n"; + &mkpath(dirname("$basedir$defaultpathcomponent/$defaultdestname")); + unless ($opt_onlyscripts == 1) { + symlink("$supplieddestname", "$basedir$defaultpathcomponent/$defaultdestname") or + die "Cannot symlink $basedir$defaultpathcomponent/$defaultdestname -> $supplieddestname: $!\n" + }; + $returnvalue = $supplieddestname; + } elsif ($act eq "move-link") { + $opt_debug && print STDERR "move-link\n"; + # move the file to the new location, and create a link + # from the defaultdestname -> supplieddestname + &mkpath(dirname("$basedir$supplieddestname")); + mycopy("$DataGlobalPath/$file","$basedir$supplieddestname"); + &mkpath(dirname("$basedir$defaultpathcomponent/$defaultdestname")); + unless ($opt_onlyscripts == 1) { + symlink($supplieddestname, "$basedir$defaultpathcomponent/$defaultdestname") or + die "Cannot symlink $basedir$defaultpathcomponent/$defaultdestname -> $supplieddestname: $!\n" + }; + $returnvalue = $supplieddestname; ## ?? or $defaultdestname???? + } elsif ($act eq "add-link") { + $opt_debug && print STDERR "add-link\n"; + # install the file in its default location, but add a + # symlink $supplieddestname -> $defaultdestname + mycopy("$DataGlobalPath/$file","$basedir$defaultpathcomponent/$defaultdestname"); + &mkpath(dirname("$basedir$supplieddestname")); + unless ($opt_onlyscripts == 1) { + symlink("$defaultpathcomponent/$defaultdestname","$basedir$supplieddestname") or + die "Cannot symlink, $basedir$supplieddestname -> $defaultpathcomponent/$defaultdestname: $!\n" + }; + $returnvalue = "$defaultpathcomponent/$defaultdestname"; + } elsif ($act eq "replace-link") { + $opt_debug && print STDERR "replace-link\n"; + # $supplieddestname must be of the form aaa%bbb + # make aaa -> bbb and do nothing else + my ($a,$b) = split(/%/,$supplieddestname); + my $aa = absolute_path($a); + &mkpath(dirname("$basedir$aa")); + unless ($opt_onlyscripts == 1) { + symlink($b,"$basedir$aa") or die "Cannot symlink $basedir$aa -> $b: $!\n" + }; + $returnvalue = $b; + } elsif ($act eq "") { + $opt_debug && print STDERR ":empty:\n"; + $returnvalue = ""; + # do nothing, the file is killed + } else { + print STDERR "maplines=$maplines\nact = $TeXLive{'all'}{'file_map_actions'}{$pat}\n"; + print STDERR "Unknown action $act in config file, terminating!\n"; + exit 1; + } + last MAPPINGS; + } + } + if ($gotremapped == 0) { + if ($finalremap ne "" && $defaultdestname =~ m|$finalremap|) { + my $foo="\$finaldest = \"$finaldest\""; + eval $foo; + $opt_debug && print STDERR "finalremap COPY: $finaldest\n"; + &mkpath(dirname("$basedir$finaldest")); + mycopy("$DataGlobalPath/$file","$basedir$finaldest"); + $returnvalue = $finaldest; + } else { + $opt_debug && print STDERR "NORMAL COPY: $basedir$defaultpathcomponent/$defaultdestname\n"; + &mkpath(dirname("$basedir$defaultpathcomponent/$defaultdestname")); + mycopy("$DataGlobalPath/$file","$basedir$defaultpathcomponent/$defaultdestname"); + $returnvalue = "$defaultpathcomponent/$defaultdestname"; + } + } + return($returnvalue); +} + +### Local Variables: +### perl-indent-level: 4 +### tab-width: 4 +### indent-tabs-mode: t +### End: +# vim:set tabstop=4: # --- texlive-bin-2007.dfsg.1.orig/debian/README.Debian +++ texlive-bin-2007.dfsg.1/debian/README.Debian @@ -0,0 +1,48 @@ +README TeX live for Debian +========================== + +First of all, if you need help with TeX on Debian, ie with respect to +file placement, configuration options, etc, please see the document + TeX-on-Debian +in the tex-common package, which can be found in + /usr/share/doc/tex-common/ +in the pdf, txt, and html format. + +This file contains additional information specific to TeX live. + + +Differences to TeX live (upstream) +---------------------------------- + +Several parts of TeX Live have not been included into the Debian packages, +mostly due to licensing issues (e.g., XyMTeX, which is not redistributable, +or ppower4 which needs a jar file where sources are not provided). + +Some collection are not packaged, as the packages they contain are already +in Debian, or should be packaged separately. Furthermore, some TeX packages +are excluded from the debian packages out of the same reasons: +already in Debian (incomplete list): + cm-super, texinfo, preview, lcdf-typetools, passivetex, tex4ht, + jadetex, xmltex, tipa, t1utils, prosper, tpslifonts + CJK, arphic, c90enc, cns, garuda, norasi, uhc, wadalab, + beamer, pgf, xcolor, lacheck, dvipdfmx, lm, dvi2tty, sanskrit + musixps, musixtex, musixflx, musixlyr, texpower, tpslifonts +should be packages independently + collection-psutils, collection-ttfutils, collection-graphicstools +collections gone because the containing TeX packages are in Debian + collection-langarab (would have been texlive-lang-arab) + replaced by arabtex + collection-htmlxml (would have been texlive-htmlxml) + replaced by xmltex, jadetex, passivetex, tex4ht + collection-langcjk (would have been texlive-lang-cjk) + replaced by latex-cjk-all + +If a package is removed from a collection/Debian package due to the +existence of an equivalent package in Debian, the collection/Debian package +depends on the other package, so no functionality is lost. + +For disappearing whole collections this is not possible, but the metapackage +`texlive-full' depends on all the necessary items. + + +$Id: README.Debian 3104 2007-09-25 11:05:08Z preining $ --- texlive-bin-2007.dfsg.1.orig/debian/tpm2debcommon.pm +++ texlive-bin-2007.dfsg.1/debian/tpm2debcommon.pm @@ -0,0 +1,971 @@ +#!/usr/bin/perl +# +# tpm2deb-common.pl +# machinery to create debian packages from TeX Live depot +# (c) 2005, 2006 Norbert Preining +# +# $Id: tpm2debcommon.pm 3127 2007-10-22 11:52:13Z preining $ +# +# configuration is done via the file tpm2deb.cfg +# +# +# please see the README file in the pkg-texlive svn repository of the +# debian-tex project on alioth.debian.org + +package tpm2debcommon; +use Exporter (); +@ISA = qw( Exporter ); +@EXPORT_OK = qw ( + + %TeXLive + + build_data_hash load_collection_tpm_data check_consistency + initialize_config_file_data is_blacklisted get_all_files + get_all_executes myopen mycopy ismember populate_TpmData_from_dump + dump_tpm_data store_tpm +); +@EXPORT = @EXPORT_OK; + +# keys(%TeXLive{$package}) = extra_format, uploaders, section, +# standards, build_dep_indep, build_dep, priority, description, title, +# license, remotefiles, sourcefiles, runfiles, docfiles, binfiles, +# realtype, type, replaces, provides, recommends, suggests, +# conflicts, depends, includedpackages, executes +# +# keys(%Config) = +# add_execute, title, description, depends, conflicts, +# suggests, recommends provides, maintainer + +use strict; +no strict 'refs'; +use warnings; +no warnings 'uninitialized'; + + +#use Strict; +use Getopt::Long; +use File::Basename; +use File::Copy; +use File::Path; +use File::Temp qw/ tempfile tempdir /; +use Storable; +## not needed, atm we are calling eperl binary +# use Parse::ePerl; +#use XML::DOM; +use Cwd; +#use FileUtils qw(canon_dir cleandir make_link newpath member +# normalize substitute_var_val dirname diff_list remove_list +# rec_rmdir sync_dir walk_dir start_redirection stop_redirection); +use Tpm; + +# for debuging +# use Data::Dumper; + +# + +our (%TeXLive); +our (%Config,%TpmData); +our %TexmfTreeOfType = ( "TLCore" => "texmf", + "Documentation" => "texmf-doc", + "Package" => "texmf-dist"); +our @TpmCategories = keys %TexmfTreeOfType; +our %TypeOfTexmfTree = reverse %TexmfTreeOfType; + +# pre set $opt_master to ./LocalTPM which contains also the Tools dir +# this is set in the main script, and changed with commandline option. +# should it maybe be deleted here? + +my $opt_debug; +my $opt_onlyscripts; +my $Master; +sub use_global_vars { + $opt_debug = $main::opt_debug; + $opt_onlyscripts = $main::opt_onlyscripts; + $Master = $main::Master; +} + + +sub populate_TpmData_from_dump { + my $datafile = $_[0]; + my $tpmdataref = retrieve($datafile); + %TpmData = %{$tpmdataref}; +} + +sub build_data_hash { + # local functions + sub get_type { + my ($type_slash_tpmname) = @_; + $type_slash_tpmname =~ m#^(.*)/#; + return($1); + } + sub get_name { + my ($type_slash_tpmname) = @_; + $type_slash_tpmname =~ m#/(.*)$#; + return($1); + } + sub tpm2debname { + my @list_of_debnames =(); + foreach my $tpm_spec (@_) { + my $tpm_name = get_name($tpm_spec); + my $tpm_type = get_type($tpm_spec); +# my $realtype = $subtype; + if (defined($Config{'name_mapping'}{$tpm_name})) { + push @list_of_debnames, $Config{'name_mapping'}{$tpm_name}; + } else { + push @list_of_debnames, $tpm_name; + }; + } + return(@list_of_debnames); + } + # start real work + print "Building data hash ...\n"; + # + # we now build the information used for building the packages + # this should merge the tpm data and the config file data + # after this we check on consistency + # + # The data will be stored in %TeXLive{'binary'}{$package}{'item'} + # where item is in: depend, suggest, conflict, execute, description + # title, packages, docfiles, binfiles, runfiles, sourcefiles, + # remotefiles, tltype, license for binary packages, and in + # %TeXLive{'source'}{$package}{'item'} .... for source packages. + # + # Note that the keys in %TeXLive are *different* package names than + # the collection names! + # + # First the binary part + foreach my $tl_type ('TLCore', 'Documentation', 'Package') { + foreach my $coll (keys %{$TpmData{$tl_type}}) { + if (is_blacklisted($coll,"")) { next; } + my ($bin_pkg) = tpm2debname("$tl_type/$coll"); + my $realtype = $tl_type; + if ($tl_type eq "TLCore") { + if ($coll =~ /^bin-(.*)$/) { $realtype = "Package"; } + if ($coll =~ /^hyphen-(.*)$/) { $realtype = "Package"; } + if ($coll =~ /^lib-(.*)$/) { $realtype = "Package"; } + } + $TeXLive{'binary'}{$bin_pkg}{'type'} = $realtype; + $TeXLive{'binary'}{$bin_pkg}{'realtype'} = $tl_type; + if ($tl_type eq "Documentation") { $TeXLive{'binary'}{$bin_pkg}{'type'} = "Package"; } + $TeXLive{'binary'}{$bin_pkg}{'binfiles'} = $TpmData{$tl_type}{$coll}{'BinFiles'}; + $TeXLive{'binary'}{$bin_pkg}{'docfiles'} = $TpmData{$tl_type}{$coll}{'DocFiles'}; + $TeXLive{'binary'}{$bin_pkg}{'runfiles'} = $TpmData{$tl_type}{$coll}{'RunFiles'}; + $TeXLive{'binary'}{$bin_pkg}{'sourcefiles'} = $TpmData{$tl_type}{$coll}{'SourceFiles'}; + $TeXLive{'binary'}{$bin_pkg}{'remotefiles'} = $TpmData{$tl_type}{$coll}{'RemoteFiles'}; + $TeXLive{'binary'}{$bin_pkg}{'license'} = $TpmData{$tl_type}{$coll}{'License'}; + # items that can be overwritten by the configuration file + $TeXLive{'binary'}{$bin_pkg}{'title'} = + $Config{'title'}{$bin_pkg} ? + $Config{'title'}{$bin_pkg} : + $TpmData{$tl_type}{$coll}{'Title'}; + $TeXLive{'binary'}{$bin_pkg}{'description'} = + $Config{'description'}{$bin_pkg} ? + $Config{'description'}{$bin_pkg} : + $TpmData{$tl_type}{$coll}{'Description'}; + # + # executes + # + my @installation = @{$TpmData{$tl_type}{$coll}{'Installation'}}; + my @executes = (); + if (@installation) { + for (my $i = 0; $i <= $#installation; $i++) { + my %execute = %{$installation[$i]}; + my $execute = ""; + foreach my $attr (sort keys %execute) { + $execute .= "$attr=$execute{$attr} "; + } + if (grep(/$execute/,@executes) == 0) { + push (@executes, $execute); + } + } + } + if (defined($Config{'add_execute'}{$bin_pkg})) { + foreach my $e (@{$Config{'add_execute'}{$bin_pkg}}) { + if (grep(/$e/,@executes) == 0) { + push (@executes, $e); + } + } + } + $TeXLive{'binary'}{$bin_pkg}{'executes'} = \@executes; + # + # included packages + # + my @requires = @{$TpmData{$tl_type}{$coll}{'Package'}}; + my @packs = (); + foreach my $required_tpm (@requires) { +# my $st = get_type($required_tpm); + my $tpm_name = get_name($required_tpm); + # + # if the package is moved somewhere else, ignore it + if (defined($Config{'moved_to'}{$tpm_name})) { + next; + } + if (!is_blacklisted($tpm_name,$bin_pkg)) { push @packs, $tpm_name; } + } + if (defined($Config{'extra_packages'}{$bin_pkg})) { + push @packs, @{$Config{'extra_packages'}{$bin_pkg}}; + } + $TeXLive{'binary'}{$bin_pkg}{'includedpackages'} = \@packs; + # + # depends + # + # we have to collect the depends from the config file and the + # direct tpm dependencies + my @depends = tpm2debname(@{$TpmData{$tl_type}{$coll}{'TLCore'}}); + if ($bin_pkg ne "texlive-common") { + push @depends, "texlive-common (>= $TeXLive{'all'}{'tl_common_version'})"; + } + # + if (defined($Config{'depends'}{$bin_pkg})) { + push @depends, @{$Config{'depends'}{$bin_pkg}}; + } + # what about ${shlibs:Depends} + $TeXLive{'binary'}{$bin_pkg}{'depends'} = \@depends; + # + # other relations + # + if (defined($Config{'conflicts'}{$bin_pkg})) { + $TeXLive{'binary'}{$bin_pkg}{'conflicts'} = [ @{$Config{'conflicts'}{$bin_pkg}} ]; + } + if (defined($Config{'suggests'}{$bin_pkg})) { + $TeXLive{'binary'}{$bin_pkg}{'suggests'} = [ @{$Config{'suggests'}{$bin_pkg}} ]; + } + if (defined($Config{'recommends'}{$bin_pkg})) { + $TeXLive{'binary'}{$bin_pkg}{'recommends'} = [ @{$Config{'recommends'}{$bin_pkg}} ]; + } + if (defined($Config{'provides'}{$bin_pkg})) { + $TeXLive{'binary'}{$bin_pkg}{'provides'} = [ @{$Config{'provides'}{$bin_pkg}} ]; + } + if (defined($Config{'replaces'}{$bin_pkg})) { + $TeXLive{'binary'}{$bin_pkg}{'replaces'} = [ @{$Config{'replaces'}{$bin_pkg}} ]; + } + if (defined($Config{'bin-section'}{$bin_pkg})) { + $TeXLive{'binary'}{$bin_pkg}{'section'} = $Config{'bin-section'}{$bin_pkg}; + } + } + } + # we do the doc splitting now + foreach my $coll (keys %{$TpmData{'TLCore'}}) { + if (is_blacklisted($coll,"")) { next; } + my ($bin_pkg) = tpm2debname("TLCore/$coll"); + if (defined($Config{'docsplitting'}{$bin_pkg})) { + my $doc_pkg = "$bin_pkg-doc"; + # first creat new bin package and add doc files + + $TeXLive{'binary'}{$doc_pkg}{'section'} = "doc" ; + $TeXLive{'binary'}{$doc_pkg}{'type'} = 'TLCore'; + $TeXLive{'binary'}{$doc_pkg}{'realtype'} = 'TLCore'; + # we don't want to move man pages!!! + my @p = (); + my @pd = (); + foreach my $f (@{$TeXLive{'binary'}{$bin_pkg}{'docfiles'}}) { + # the following is a hack but necessary + # we do move some files from doc dirs to non doc dirs using + # mapping;orig;move;target + # but these files are listed as doc-files we DONT want to move! + # In fact we should check for a pair + # $f:xxxx + # in @{$TeXLive{'all'}{'filemappings'}} and check that xxxx is + # NOT a doc file ... but who cares ... + if (defined($TeXLive{'all'}{'file_map_actions'}{$f}) && + ($TeXLive{'all'}{'file_map_actions'}{$f} eq "move")) { + push @p, $f; + } else { + if ($f =~ m;texmf[^/]*/doc/man/man.*/.*;) { + push @p, $f; + } else { + push @pd, $f; + } + } + } + $TeXLive{'binary'}{$doc_pkg}{'docfiles'} = [ @pd ]; + $TeXLive{'binary'}{$bin_pkg}{'docfiles'} = [ @p ]; + $TeXLive{'binary'}{$doc_pkg}{'license'} = $TpmData{'TLCore'}{$coll}{'License'}; + $TeXLive{'binary'}{$doc_pkg}{'title'} = "Documentation files for $bin_pkg"; + $TeXLive{'binary'}{$doc_pkg}{'description'} = "This package provides the documentation for $bin_pkg"; + # what else do we have to set here ???? + # add a recommends + $TeXLive{'binary'}{$bin_pkg}{'recommends'} = [ @{$TeXLive{'binary'}{$bin_pkg}{'recommends'}}, "$bin_pkg-doc" ]; + # add source mapping + my $srcpkg = $TeXLive{'binary'}{$bin_pkg}{'source_package'}; + $TeXLive{'source'}{$srcpkg}{'binary_packages'} = [ @{$TeXLive{'source'}{$srcpkg}{'binary_packages'}}, $doc_pkg ]; + # + # necessary relations from the config file + # + if (defined($Config{'conflicts'}{$doc_pkg})) { + $TeXLive{'binary'}{$doc_pkg}{'conflicts'} = [ @{$Config{'conflicts'}{$doc_pkg}} ]; + } + if (defined($Config{'suggests'}{$doc_pkg})) { + $TeXLive{'binary'}{$doc_pkg}{'suggests'} = [ @{$Config{'suggests'}{$doc_pkg}} ]; + } + if (defined($Config{'recommends'}{$doc_pkg})) { + $TeXLive{'binary'}{$doc_pkg}{'recommends'} = [ @{$Config{'recommends'}{$doc_pkg}} ]; + } + if (defined($Config{'provides'}{$doc_pkg})) { + $TeXLive{'binary'}{$doc_pkg}{'provides'} = [ @{$Config{'provides'}{$doc_pkg}} ]; + } + if (defined($Config{'replaces'}{$doc_pkg})) { + $TeXLive{'binary'}{$doc_pkg}{'replaces'} = [ @{$Config{'replaces'}{$doc_pkg}} ]; + } + # + # now we have to move all the DocFiles of all INCLUDED + # package/tpms into $bin_pkg and remove them from the original + # packages + # + # For an explanation of the code see above! + foreach my $incpkg (@{$TeXLive{'binary'}{$bin_pkg}{'includedpackages'}}) { + my @p = (); + my @pd = (); + foreach my $f (@{$TeXLive{'binary'}{$incpkg}{'docfiles'}}) { + if (defined($TeXLive{'all'}{'file_map_actions'}{$f}) && + ($TeXLive{'all'}{'file_map_actions'}{$f} eq "move")) { + push @p, $f; + } else { + if ($f =~ m;texmf[^/]*/doc/man/man.*/.*;) { + push @p, $f; + } else { + push @pd, $f; + } + } + } + $TeXLive{'binary'}{$doc_pkg}{'docfiles'} = [ @{$TeXLive{'binary'}{$doc_pkg}{'docfiles'}}, @pd ]; + $TeXLive{'binary'}{$incpkg}{'docfiles'} = [ @p ]; + } + } + } + # + # Now for the source part + # + for my $srcpkg (@{$TeXLive{'all'}{'sources'}}) { + $TeXLive{'source'}{$srcpkg}{'uploaders'} = + $Config{'uploaders'}{$srcpkg} ? + $Config{'uploaders'}{$srcpkg} : $TeXLive{'all'}{'uploaders'}; + $TeXLive{'source'}{$srcpkg}{'maintainer'} = + $Config{'maintainer'}{$srcpkg} ? + $Config{'maintainer'}{$srcpkg} : $TeXLive{'all'}{'maintainer'}; + $TeXLive{'source'}{$srcpkg}{'priority'} = + $Config{'priority'}{$srcpkg}; + $TeXLive{'source'}{$srcpkg}{'build_dep'} = + $Config{'build_dep'}{$srcpkg}; + $TeXLive{'source'}{$srcpkg}{'build_dep_indep'} = + $Config{'build_dep_indep'}{$srcpkg}; + $TeXLive{'source'}{$srcpkg}{'standards'} = + $Config{'standards'}{$srcpkg}; + $TeXLive{'source'}{$srcpkg}{'section'} = + $Config{'section'}{$srcpkg}; + } + # we let texlive-common CONFLICT with all texlive packages << then the + # values set in latest-version + my @conflictpkgs = (); + foreach my $source_package (@{$TeXLive{'all'}{'sources'}}) { + foreach my $bin_pkg (@{$TeXLive{'source'}{$source_package}{'binary_packages'}}) { + push @conflictpkgs, "$bin_pkg (<< $TeXLive{'source'}{$source_package}{'latest_version'})"; + } + } + # finally we let the package "texlive-full" depend on all texlive-* packages + my @allpkgs = (); + foreach my $source_package (@{$TeXLive{'all'}{'sources'}}) { + foreach my $bin_pkg (@{$TeXLive{'source'}{$source_package}{'binary_packages'}}) { + my $addthis = 1; + foreach my $depends_not (@{$Config{'depends_not'}{'texlive-full'}}) { + $addthis = 0 if ($bin_pkg eq $depends_not); + }; +# next if ($bin_pkg eq "texlive-full"); +# next if ($bin_pkg eq "texlive"); +# next if ($bin_pkg eq "texlive-lang-all"); +# next if ($bin_pkg eq "tetex-bin"); +# next if ($bin_pkg eq "tetex-base"); +# next if ($bin_pkg eq "tetex-extra"); + $addthis && push @allpkgs, "$bin_pkg (>= $TeXLive{'source'}{$source_package}{'latest_version'})"; + } + } + + # Additional (meta)packages + $TeXLive{'all'}{'meta_packages'} = [ @{$Config{'add_packages'}} ]; + foreach my $meta_package (@{$Config{'add_packages'}}) { + $TeXLive{'binary'}{$meta_package}{'type'} = "TLCore" ; + + # Dependencies + if ($meta_package eq "texlive-full") { + $TeXLive{'binary'}{$meta_package}{'depends'} = [ @{$Config{'depends'}{$meta_package}}, @allpkgs ]; + } elsif ($meta_package eq "texlive-lang-all") { + my @foo = (); + foreach my $a (@allpkgs) { + if ($a =~ /^texlive-lang-/) { push @foo, $a; } + } + $TeXLive{'binary'}{$meta_package}{'depends'} = [ @{$Config{'depends'}{$meta_package}}, @foo ]; + } else { + $TeXLive{'binary'}{$meta_package}{'depends'} = [ @{$Config{'depends'}{$meta_package}} ]; + }; + $opt_debug && print STDERR "metapackage: $meta_package, Depends: @{$TeXLive{'binary'}{$meta_package}{'depends'}}\n"; + $TeXLive{'binary'}{$meta_package}{'suggests'} = [ @{$Config{'suggests'}{$meta_package}} ]; + $TeXLive{'binary'}{$meta_package}{'recommends'} = [ @{$Config{'recommends'}{$meta_package}} ]; + $TeXLive{'binary'}{$meta_package}{'replaces'} = [ @{$Config{'replaces'}{$meta_package}} ]; + if ($meta_package eq "texlive-common") { + $TeXLive{'binary'}{$meta_package}{'conflicts'} = [ @{$Config{'conflicts'}{$meta_package}}, @conflictpkgs ]; + } else { + $TeXLive{'binary'}{$meta_package}{'conflicts'} = [ @{$Config{'conflicts'}{$meta_package}} ]; + } + + # Short and long description + $TeXLive{'binary'}{$meta_package}{'title'} = $Config{'title'}{$meta_package}; + $TeXLive{'binary'}{$meta_package}{'description'} = $Config{'description'}{$meta_package}; + if (defined($Config{'bin-section'}{$meta_package})) { + $TeXLive{'binary'}{$meta_package}{'section'} = $Config{'bin-section'}{$meta_package}; + } + } +} + +sub load_collection_tpm_data { + # local functions + sub trim { + my ($str) = @_; + $str =~ s/^[\n\s]+//; + $str =~ s/[\n\s]+$//; + return $str; + } + sub get_requires { + my ($tpm,$type) = @_; + my %requires = $tpm->getHash("Requires"); + my @keylist = keys %requires; + my @tlcorereqlist = (); + my @packagereqlist = (); + if ($type eq '') { + $type = "all"; + } + foreach my $k (keys %requires) { + foreach my $e (@{$requires{$k}}) { + # manually exclude Windows-only packages + if ($e eq "bin-bzip2") {} + elsif ($e eq "bin-xpdf") {} + elsif ($e eq "bin-chktex") {} + elsif ($e eq "bin-ghostscript") {} + elsif ($e eq "bin-gzip") {} + elsif ($e eq "bin-jpeg2ps") {} + elsif ($e eq "bin-perl") {} + elsif ($e eq "bin-windvi") {} + elsif ($e eq "lib-freetype2") {} + elsif ($e eq "lib-gd") {} + elsif ($e eq "lib-geturl") {} + elsif ($e eq "lib-gnu") {} + elsif ($e eq "lib-gs") {} + elsif ($e eq "lib-jpeg") {} + elsif ($e eq "lib-md5") {} + elsif ($e eq "lib-png") {} + elsif ($e eq "lib-regex") {} + elsif ($e eq "lib-texmfmp") {} + elsif ($e eq "lib-tiff") {} + elsif ($e eq "lib-ttf") {} + elsif ($e eq "lib-xpdf") {} + elsif ($e eq "lib-xpm") {} + elsif ($e eq "lib-zlib") {} + elsif ($e =~ /^bin-(.*)$/) { + push @packagereqlist, "$k/$e"; + } + elsif ($e =~ /^hyphen-(.*)$/){ + push @packagereqlist, "$k/$e"; + } + elsif ($k eq "TLCore") { + push @tlcorereqlist, "$k/$e"; + } else { + push @packagereqlist, "$k/$e"; + } + } + } + if ($type eq '' || $type eq 'all') { + my %foo; + $foo{'TLCore'} = \@tlcorereqlist; + $foo{'Package'} = \@packagereqlist; + #my @foo=(@tlcorereqlist,@packagereqlist); + #return(@foo); + return(\%foo); + } elsif ($type eq 'TLCore') { + return(@tlcorereqlist); + } elsif ($type eq 'Package') { + return(@packagereqlist); + } else { + die("Don't know this type: $type!\n"); + } + } + # start of real function + use_global_vars(); + print "Start loading tpm data ... \n"; + foreach my $t ('TLCore', 'Documentation', 'Package') { + my $subtree = ${TexmfTreeOfType}{$t}; + foreach my $f (<$Master/$subtree/tpm/*.tpm>) { + my $shortn = basename($f); + $shortn =~ s,\.tpm$,,; + if (($t eq 'TLCore') && ($shortn =~ m/^scheme-/)) { next ; } + my $tpm = Tpm->new("$subtree/tpm/$shortn.tpm"); + $TpmData{$t}{$shortn}{'BinFiles'} = [ $tpm->getFileList("BinFiles") ]; + $TpmData{$t}{$shortn}{'DocFiles'} = [ $tpm->getFileList("DocFiles") ]; + $TpmData{$t}{$shortn}{'RunFiles'} = [ $tpm->getFileList("RunFiles") ]; + $TpmData{$t}{$shortn}{'SourceFiles'} = [ $tpm->getFileList("SourceFiles") ]; + $TpmData{$t}{$shortn}{'RemoteFiles'} = [ $tpm->getFileList("RemoteFiles") ]; + $TpmData{$t}{$shortn}{'Title'} = trim($tpm->getAttribute("Title")); + # print "got title $TpmData{$t}{$shortn}{'Title'}\n"; + $TpmData{$t}{$shortn}{'Description'} = trim($tpm->getAttribute("Description")); + $TpmData{$t}{$shortn}{'License'} = trim($tpm->getAttribute("License")); + my @foo = $tpm->getList("Installation"); + $TpmData{$t}{$shortn}{'Installation'} = \@foo ; + my $alldeps = get_requires($tpm,'all'); + my @incs = @{$alldeps->{'Package'}}; + my @deps = @{$alldeps->{'TLCore'}}; + $TpmData{$t}{$shortn}{'Package'} = \@incs; + $TpmData{$t}{$shortn}{'TLCore'} = \@deps; + } + } + print " ... done\n"; +} + +sub check_consistency { + my %UsedPackages; + my $raiseerror = 0; + my @allincludedpkgs = (); + my %PackageToCollection; + + print "Checking consistency ... \n"; + # + # first go through all the collections and collect all included + # packages and check on double inclusion of packages + # + my %TLB = %{$TeXLive{'binary'}}; + foreach my $collection (keys %TLB) { + if ($TLB{$collection}{'type'} ne "TLCore") { next; } + foreach my $tpm (@{$TLB{$collection}{'includedpackages'}}) { + $PackageToCollection{$tpm} = $collection; + push @allincludedpkgs, $tpm; + push (@{$UsedPackages{$tpm}},$collection); + } + } + my @badpacks = (); + foreach my $k (keys %UsedPackages) { + if (@{$UsedPackages{$k}} > 1) { + print STDERR "Double inclusion of $k:\n"; + print STDERR "@{$UsedPackages{$k}}:\n"; + push @badpacks, $k; + } + } + if ($#badpacks >= 0) { + # + # ujjeeee, a package is included more than once, STOP!!! + # + print ("ERROR double-inclusion @badpacks\n"); + $raiseerror = 1; + } + # + # check for not included packages + # + my $binary_package; + foreach $binary_package (keys %TLB) { + if ($TLB{$binary_package}{'type'} ne "Package") { next; } + if (grep(/$binary_package/,@allincludedpkgs) == 0) { + print STDERR "ERROR not-covered $binary_package\n"; + $raiseerror = 1; + } + } + # + # check for packages in packages which are not included or depended on + # + foreach my $c (keys %TLB) { + if ($TLB{$binary_package}{'type'} ne "TLCore") { next; } + foreach $binary_package (@{$TLB{$c}{'includedpackages'}}) { + foreach my $subdep (@{$TLB{$binary_package}{'includedpackages'}}) { + # $binary_package depends on $subdep, we have to check wether + # either $subdep is also included in $c + # or $c depends on the collection $subdep is in + my $subdepcoll = $PackageToCollection{$subdep}; + # the package is included in the parent collection, ok + if ($subdepcoll eq $c) { next ; } + # the parent collection depends on the collection + # including the subdep by tpm depends + if ($subdepcoll eq "texlive-base-bin") { next; } + if (ismember($subdepcoll,@{$TLB{$c}{'depends'}})) { next; } + # ujeee, cross wise inclusion does not work + print STDERR "ERROR diamond\n"; + print STDERR "There is a problem here:\n"; + print STDERR "$c includes $binary_package\n"; + print STDERR "\t$binary_package depends on $subdep\n"; + print STDERR "\t$subdep is NOT included in $c\n"; + print STDERR "$subdep is included in $subdepcoll\n"; + print STDERR "$c does NOT depend on $subdepcoll\n"; + print STDERR "Please fix this problem!\n"; + $raiseerror = 1; + } + } + } + if ($raiseerror) { exit 1; } + print " ... tpm files and config file are consistent, good!\n"; +} + + +sub initialize_config_file_data { + my ($cfgfile) = @_; + use_global_vars(); + print "Start loading config file ...\n"; + open(CFGFILE,"<$cfgfile") or die "Cannot open $cfgfile\n"; + while () { + if (m/^#/) { + next ; + } + chomp; + my @foo; + my ($type, $a, @rest) = split ";"; + $opt_debug && print STDERR "type=$type, a=$a, "; + if ($type eq "depends") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'depends'}{$a} = [ @{$Config{'depends'}{$a}}, split(/[ \t]*,[ \t]*/,$b) ]; + next; + } + if ($type eq "recommends") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'recommends'}{$a} = [ @{$Config{'recommends'}{$a}}, split(/[ \t]*,[ \t]*/,$b) ]; + next; + } + if ($type eq "provides") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'provides'}{$a} = [ @{$Config{'provides'}{$a}}, split(/[ \t]*,[ \t]*/,$b) ]; + next; + } + if ($type eq "suggests") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'suggests'}{$a} = [ @{$Config{'suggests'}{$a}}, split(/[ \t]*,[ \t]*/,$b) ]; + next; + } + if ($type eq "conflicts") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'conflicts'}{$a} = [ @{$Config{'conflicts'}{$a}}, split(/[ \t]*,[ \t]*/,$b) ]; + next; + } + if ($type eq "replaces") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'replaces'}{$a} = [ @{$Config{'replaces'}{$a}}, split(/[ \t]*,[ \t]*/,$b) ]; + next; + } + if ($type eq "execute") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'add_execute'}{$a} = [ @{$Config{'add_execute'}{$a}}, "$b" ]; + next; + } + if ($type eq "mapping") { + my ($b,$c) = @rest; + $opt_debug && print STDERR "b=$b, c=$c.\n"; + push @{$TeXLive{'all'}{'filemappings'}}, "$a:$c"; + $TeXLive{'all'}{'file_map_actions'}{$a} = $b; + if (($b eq "config-link") || ($b eq "config-remap")) { + push @{$TeXLive{'all'}{'config-files'}}, $c; + } + if ($b eq "config-copy") { + $a =~ s#texmf-dist#texmf#; + $a =~ s#texmf-doc#texmf#; + $a =~ s#texmf/##; + push @{$TeXLive{'all'}{'config-files'}}, "$c/$a"; + } + next; + } + if ($type eq "blacklist") { + if ($a eq "file") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + push @{$TeXLive{'all'}{'file_blacklist'}}, $b; + } elsif ($a eq "tpm") { + my ($b,$c) = @rest; + $opt_debug && print STDERR "b=$b, c=$c.\n"; + $Config{'package_blacklist'}{$b} = "$c"; + } else { + print STDERR "tpm2deb.cfg: Unknown directive: $_. Exiting!\n"; + exit 1; + } + next; + } + if ($type eq "source") { + push @{$TeXLive{'all'}{'sources'}}, $a; + next; + } + if ($type eq "move") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + # move tpm $a to binary package $b + $Config{'moved_to'}{$a} = $b; + $Config{'extra_packages'}{$b} = [ @{$Config{'extra_packages'}{$b}}, $a ]; + next; + } + if ($type eq "extra") { + my ($b,$c,$d) = @rest; + if ($a ne "format") { + print STDERR "tpm2deb.cfg: Unknown directive: $_. Exiting!\n"; + exit 1; + } + $opt_debug && print STDERR "b=$b, c=$c, d=$d.\n"; + $TeXLive{'binary'}{$c}{'extra_format'}{$b} = $d; + next; + } + if ($type eq "arch") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $TeXLive{'source'}{$a}{'architecture'} = $b; + next; + } + if ($type eq "name") { + my ($b,$c) = @rest; + $opt_debug && print STDERR "b=$b, c=$c.\n"; + $Config{'name_mapping'}{$a} = $b; + $TeXLive{'binary'}{$b}{'source_package'} = $c; + $TeXLive{'source'}{$c}{'binary_packages'} = [ @{$TeXLive{'source'}{$c}{'binary_packages'}}, $b ]; + next; + } + if ($type eq "special") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + push @{$TeXLive{'all'}{'special_actions_config'}}, "$a:$b"; + next; + } + if ($type eq "description") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + # push the next line into the description string, but + # avoid to get a "use of uninitialized value in concat..." + $Config{'description'}{$a} = + ($Config{'description'}{$a} ? $Config{'description'}{$a} : "") + . "$b\n"; + next; + } + if ($type eq "title") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'title'}{$a} = "$b"; + next; + } + if ($type eq "docsplitting") { + $opt_debug && print STDERR "\n"; + $Config{'docsplitting'}{$a} = 1; + next; + } + if ($type eq "build-dep") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'build_dep'}{$a} = "$b"; + next; + } + if ($type eq "build-dep-indep") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'build_dep_indep'}{$a} = "$b"; + next; + } + if ($type eq "texlive-common-version") { + $TeXLive{'all'}{'tl_common_version'} = "$a"; + next; + } + if ($type eq "latest-version") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $TeXLive{'source'}{$a}{'latest_version'} = "$b"; + next; + } + if ($type eq "maintainer") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + if ("$a" eq "*") { + $TeXLive{'all'}{'maintainer'} = "$b"; + } else { + $Config{'maintainer'}{$a} = "$b"; + } + next; + } + if ($type eq "priority") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + if ("$a" eq "*") { + $TeXLive{'all'}{'priority'} = "$b"; + } else { + $Config{'priority'}{$a} = "$b"; + } + next; + } + if ($type eq "uploaders") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + if ("$a" eq "*") { + $TeXLive{'all'}{'uploaders'} = "$b"; + } else { + $Config{'uploaders'}{$a} = "$b"; + } + next; + } + if ($type eq "section") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + if ("$a" eq "*") { + $TeXLive{'all'}{'section'} = "$b"; + } else { + $Config{'section'}{$a} = "$b"; + } + next; + } + if ($type eq "bin-section") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + $Config{'bin-section'}{$a} = "$b";; + next; + } + if ($type eq "standards") { + my ($b) = @rest; + $opt_debug && print STDERR "b=$b.\n"; + if ("$a" eq "*") { + $TeXLive{'all'}{'standards'} = "$b"; + } else { + $Config{'standards'}{$a} = "$b"; + } + next; + } + if ($type eq "addpackages") { + @{$Config{'add_packages'}} = @rest; + $opt_debug && print STDERR "\nAdditional packages: @{$Config{'add_packages'}}\n"; + next; + } + if ($type eq "dependsnot") { + @{$Config{'depends_not'}{$a}} = @rest; + $opt_debug && print STDERR "Dropped depends of $a on @{$Config{'depends_not'}{$a}}\n"; + next; + } + print STDERR "tpm2deb.cfg: Unknown directive: $type. Exiting!\n"; + exit 1; + } + close(CFGFILE); + print " ... done\n"; +} + + +sub is_blacklisted { + my ($tpm,$coll) = @_; + # blacklist check + # either there is no blacklist entry, then it is ok + # if there is a blacklist entry and it is *, blacklist it + # if it is not *, and the $coll is not "", then match it + if (defined($Config{'package_blacklist'}{$tpm}) && + (($Config{'package_blacklist'}{$tpm} eq "*") || + (($coll ne "") && ($Config{'package_blacklist'}{$tpm} =~ m/$coll/)))) { + return(1); + } else { + return(0); + } +} + +sub get_all_files { + my ($entry,$reclevel) = @_; + my @requires = @{$TeXLive{'binary'}{$entry}{'includedpackages'}}; + my %files; + # + $files{'BinFiles'} = \@{$TeXLive{'binary'}{$entry}{'binfiles'}}; + $files{'DocFiles'} = \@{$TeXLive{'binary'}{$entry}{'docfiles'}}; + $files{'RunFiles'} = \@{$TeXLive{'binary'}{$entry}{'runfiles'}}; + $files{'SourceFiles'} = \@{$TeXLive{'binary'}{$entry}{'sourcefiles'}}; + $files{'RemoteFiles'} = \@{$TeXLive{'binary'}{$entry}{'remotefiles'}}; + if ($reclevel > 0) { + foreach my $r (@requires) { + $opt_debug && print STDERR " package " . $r . "\n"; + my %foo = %{&get_all_files($r,$reclevel-1)}; + push @{$files{'BinFiles'}}, @{$foo{'BinFiles'}}; + push @{$files{'DocFiles'}}, @{$foo{'DocFiles'}}; + push @{$files{'RunFiles'}}, @{$foo{'RunFiles'}}; + push @{$files{'SourceFiles'}}, @{$foo{'SourceFiles'}}; + push @{$files{'RemoteFiles'}}, @{$foo{'RemoteFiles'}}; + } + } + return(\%files); +} + +sub get_all_executes { + my ($entry,$reclevel) = @_; + my @requires = @{$TeXLive{'binary'}{$entry}{'includedpackages'}}; + my %bar; + my @executes; + # + @executes = @{$TeXLive{'binary'}{$entry}{'executes'}}; + if ($reclevel > 0) { + foreach my $r (@requires) { + $opt_debug && print STDERR " package " . $r . "\n"; + my @foo = get_all_executes($r,$reclevel-1); + push @executes, @foo; + } + } + foreach (@executes) { + $bar{$_} = 1; + } + return(keys %bar); +} + +sub myopen { + my ($a, $fn) = @_; + open($a, $fn) or die "Cannot open $fn: $!\n"; +} + +sub mycopy { + my ($src,$dest) = @_; + &mkpath(dirname($dest)); +# system("/bin/cp -a $src $dest 2>/dev/null") == 0 + my $cp_cmdline = "/bin/cp -a $src $dest" . ( $opt_debug ? "" : " 2>/dev/null"); + if ($opt_onlyscripts == 0) { + system($cp_cmdline) == 0 + or do { + print STDERR "$cp_cmdline\n"; + die ("missing: $src\n"); + }; + }; +} + +sub ismember { + my ($a, @rest) = @_; + foreach my $i (@rest) { + if ($a eq $i) { return 1; } + } + return 0; +} + +##################################### +sub dump_tpm_data { + print "Dumping TpmData\n\n"; + foreach my $t ('TLCore', 'Documentation', 'Package') { + print "Dumping $t:\n"; + my %foo = %{$TpmData{$t}}; + foreach my $p (keys %foo) { + print "$p:\n"; + print "\tbinfiles: @{$TpmData{$t}{$p}{'BinFiles'}}<<<\n"; + print "\trunfiles: @{$TpmData{$t}{$p}{'RunFiles'}}<<<\n"; + print "\tdocfiles: @{$TpmData{$t}{$p}{'DocFiles'}}<<<\n"; + print "\tsourcefiles: @{$TpmData{$t}{$p}{'SourceFiles'}}<<<\n"; + print "\tremotefiles: @{$TpmData{$t}{$p}{'RemoteFiles'}}<<<\n"; + print "\ttitle: $TpmData{$t}{$p}{'Title'}\n"; + print "\tDescription: $TpmData{$t}{$p}{'Description'}\n"; + print "\tLicense: $TpmData{$t}{$p}{'License'}\n"; + print "\tInstallation: @{$TpmData{$t}{$p}{'Installation'}}\n"; + print "\tDep-Package: @{$TpmData{$t}{$p}{'Package'}}\n"; + print "\tDep-TLCore: @{$TpmData{$t}{$p}{'TLCore'}}\n"; + } + } +} + +sub store_tpm { + my ($fn) = @_; + print "Storing TpmData into $fn ...\n"; + store(\%TpmData, $fn) or die "Can't store TpmData in $fn!\n"; + print " ...done\n"; +} + + +1; + +### Local Variables: +### perl-indent-level: 4 +### tab-width: 4 +### indent-tabs-mode: t +### End: +# vim:set tabstop=4: # --- texlive-bin-2007.dfsg.1.orig/debian/tpm2deb-bin.pl.old +++ texlive-bin-2007.dfsg.1/debian/tpm2deb-bin.pl.old @@ -0,0 +1,916 @@ +#!/usr/bin/perl +# +# tpm2deb-bin.pl +# machinery to create debian packages from TeX Live depot +# (c) 2005, 2006 Norbert Preining +# +# $Id: tpm2deb.pl 2080 2006-12-15 12:03:49Z preining $ +# +# configuration is done via the file tpm2deb.cfg +# + +BEGIN { # get our other local perl modules. + ($mydir = $0) =~ s,/[^/]*$,,; + if ($mydir eq $0) { $mydir = `pwd` ; chomp($mydir); } + if (!($mydir =~ m,/.*,,)) { $mmydir = `pwd`; chomp($mmydir); $mydir = "$mmydir/$mydir" ; } + unshift (@INC, $mydir); + unshift (@INC, "$mydir/../build/tools"); +} + +use strict "vars"; +# use strict "refs"; # not possible with merge_into +use warnings; +no warnings 'once'; +no warnings 'uninitialized'; + +#use Strict; +use Getopt::Long; +use File::Basename; +use File::Copy; +use File::Path; +use File::Temp qw/ tempfile tempdir /; +use Storable; +## not needed, atm we are calling eperl binary use Parse::ePerl; +#use XML::DOM; +use Cwd; +#use FileUtils qw(canon_dir cleandir make_link newpath member +# normalize substitute_var_val dirname diff_list remove_list +# rec_rmdir sync_dir walk_dir start_redirection stop_redirection); +#use Tpm; + + +# +# Configuration for destination of files +# DONT USER DOUBLE QUOTES; THESE VARIABLES HAVE TO GET REEVALUATED +# AFTER $tmpdir IS SET!! +# +my $sysdebdest = '$tmpdir/debian'; +my $sysbasedir = '$debdest/$package'; +my $sysbindest = '$basedir/usr/bin'; +my $sysrundest = '$basedir/usr/share'; +my $sysdocdest = '$basedir/usr/share/doc/$package'; +my $sysetcdest = '$basedir/etc/texmf'; + +my $debdest; +my $basedir; +my $bindest; +my $rundest; +my $docdest; +my $etcdest; + +my @configfiles; + +my $texmfdist = "texmf-texlive"; +my $opt_nosource=0; +my $optdestination=""; + +my $opt_debug; +my $opt_master; +our $Master; +my $globalreclevel=1; + +my $result = GetOptions ("debug!", # debug mode + "nosource!" => \$opt_nosource, # don't include source files + "master=s" => \$opt_master, # location of Master + "dest=s" => \$optdestination, # where to write files + "reclevel=i" => \$globalreclevel, # recursion level + ); + +# Norbert, is $, intended here, or should it rather be m{/.*$}? +if (!($opt_master =~ m,/.*$,,)) { + $Master = `pwd`; + chomp($Master); + $Master .= "/$opt_master"; +} else { + $Master = $opt_master; +} +my $TpmGlobalPath = $Master; +my $DataGlobalPath = $Master; + +# +# put Master/Tools/ into the include path to find TeX Live perl modules +# +unshift (@INC, "$Master/Tools"); +# +# these we can only load now that we have correctly set the path to Master +# +require Strict; +require XML::DOM; +require FileUtils; +import FileUtils qw(canon_dir cleandir make_link newpath member + normalize substitute_var_val dirname diff_list remove_list + rec_rmdir sync_dir walk_dir start_redirection stop_redirection); +require Tpm; + +my $parser = new XML::DOM::Parser; +my $startdir=getcwd(); +chdir($startdir); +File::Basename::fileparse_set_fstype('unix'); + +use tpm2debcommon; + +&main(@ARGV); + +1; + + +sub main { + my (@packages) = @_; + ${Tpm::MasterDir} = $TpmGlobalPath; + my $arch = "all"; + $Tpm::CurrentArch = "i386-linux"; + initialize_config_file_data("debian/tpm2deb.cfg"); + load_collection_tpm_data(); + build_data_hash(); + check_consistency(); + foreach my $package (@packages) { + # + # various variables have to be set + # + #$arch = get_arch($package); + print "Working on $package, arch=$arch\n"; + make_deb($package); + } +} + + +# +# make_deb +# +sub make_deb { + # my function + # + # do_special ($originalfilename, $finaldestinationfilename) + # + # Do special actions as specified in the config file, like install info + # etc + my @SpecialActions = (); + sub do_special { + my ($origfn, $finalfn) = @_; + SPECIALS: foreach my $special (@{$TeXLive{'all'}{'special_actions_config'}}) { + my ($pat, $act) = ($special =~ m/(.*):(.*)/); + if ($origfn =~ m|$pat$|) { + if ($act eq "install-info") { + push @SpecialActions, "install-info:$origfn"; + } else { + print "Unknown special action $act, terminating!\n"; + exit 1; + } + } + } + } + # real start + my ($package) = @_; + my $foo; + my $tmpdir; + if ($optdestination ne "") { + $tmpdir = $optdestination; + } else { + $tmpdir = "."; + } + $opt_debug && print "tmpdir = $tmpdir\n"; + $foo="\$debdest = \"$sysdebdest\""; eval $foo; + $foo="\$basedir = \"$sysbasedir\""; eval $foo; + $foo="\$bindest = \"$sysbindest\""; eval $foo; + $foo="\$rundest = \"$sysrundest\""; eval $foo; + $foo="\$docdest = \"$sysdocdest\""; eval $foo; + $foo="\$etcdest = \"$sysetcdest\""; eval $foo; + $opt_debug && print "\nProcess $package\n"; + if ($opt_debug) { + print "debdest = $debdest\n"; + print "basedir = $basedir\n"; + print "bindest = $bindest\n"; + print "rundest = $rundest\n"; + print "docdest = $docdest\n"; + print "etcdest = $etcdest\n"; + } + my %lists = %{&get_all_files($package,$globalreclevel)}; + my $title = $TeXLive{'binary'}{$package}{'title'}; + my $description = $TeXLive{'binary'}{$package}{'description'}; + eval { mkpath($rundest) }; + if ($@) { + die "Couldn't create dir: $@"; + } + if ($opt_debug) { + print "SOURCEFILES: ", @{$lists{'SourceFiles'}}, "\n"; + print "RUNFILES: ", @{$lists{'RunFiles'}}, "\n"; + } + # clean @configfiles + @configfiles = (); + &mkpath($docdest); + if (!$opt_nosource) { + DOSFILE: foreach my $f (@{$lists{'SourceFiles'}}) { + foreach my $pat (@{$TeXLive{'all'}{'file_blacklist'}}) { + if ($f =~ m|^${pat}$|) { next DOSFILE ; } + } + my $ret = do_remap_and_copy($f,$rundest); + do_special($f,$ret); + } + } + DORFILE: foreach my $f (@{$lists{'RunFiles'}}) { + foreach my $pat (@{$TeXLive{'all'}{'file_blacklist'}}) { + if ($f =~ m|^${pat}$|) { next DORFILE ; } + } + my $ret = do_remap_and_copy($f,$rundest); + do_special($f,$ret); + } + my %DocDirHash = (); + my @LinkedDocDir = (); + DODFILE: foreach my $f (@{$lists{'DocFiles'}}) { + foreach my $pat (@{$TeXLive{'all'}{'file_blacklist'}}) { + if ($f =~ m|^${pat}$|) { next DODFILE ; } + } + my $ret = do_remap_and_copy($f,$rundest,'^[^/]*/doc/(.*)$','$docdest/$1'); + do_special($f,$ret); + } + DOBFILE: foreach my $f (@{$lists{'BinFiles'}}) { + $opt_debug && print "BINFILE: $f\n"; + foreach my $pat (@{$TeXLive{'all'}{'file_blacklist'}}) { + if ($f =~ m|^${pat}$|) { next DOBFILE ; } + } + my $ret = do_remap_and_copy($f,$bindest,'^bin/[^/]*/(.*)$','$bindest/$1'); + do_special($f,$ret); + } + if ($package eq 'texlive-base') { + # now activate the language.us file! + &mkpath("$basedir/var/lib/tex-common/language-cnf/"); + open(LISTFILE, ">$basedir/var/lib/tex-common/language-cnf/$package.list") + or die("Cannot open $basedir/var/lib/tex-common/language-cnf/$package.list"); + print LISTFILE "09$package\n"; + close LISTFILE; + &mkpath("$etcdest/language.d"); + open(FOO,">$etcdest/language.d/09$package.cnf") + or die("Cannot open $etcdest/language.d/09$package.cnf"); + print FOO <) { print FOO $_; } + close (BAR); + close (FOO); + } + # + # EXECUTE ACTIONS + # + my @Executes = get_all_executes($package,$globalreclevel); + my $gotmapfiles = 0; + my $firstlang =1; + my %langhash = (); + my %formathash = (); + $opt_debug && print "Executes= @Executes\n"; + my %Job; + foreach (@Executes) { + my @p = /([^=]+)=([^ ]+)\s+([^=]+)=([^ ]+)\s*([^=]*)=?(.*)/; + $Job{'parameter'} = $Job{'function'} = $Job{'mode'} = ''; + $Job{$p[0]}=$p[1]; + $Job{$p[2]}=$p[3]; + $Job{$p[4]}=$p[5]; + my $instcmd; + my $rmcmd; + if ($Job{'function'} eq 'addMap') { + if (!$gotmapfiles) { + &mkpath("$etcdest/updmap.d/"); + open(UPDMAPCFG, ">$etcdest/updmap.d/10$package.cfg") + or die("Cannot open $etcdest/updmap.d/10$package.cfg"); + print UPDMAPCFG <= 0) { + &mkpath("$etcdest/fmt.d/"); + &mkpath("$basedir/var/lib/tex-common/fmtutil-cnf/"); + open(LISTFILE, ">>$basedir/var/lib/tex-common/fmtutil-cnf/$package.list") + or die("Cannot open $basedir/var/lib/tex-common/fmtutil-cnf/$package.list"); + print LISTFILE "10$package\n"; + close LISTFILE; + open(FOO, ">$etcdest/fmt.d/10$package.cnf") + or die("Cannot open $etcdest/fmt.d/10$package.cnf") ; + print FOO <; + close(INFILE); + print FOO @lines; + } + close(FOO); + } + # + # Map files + # + if ($gotmapfiles) { + # We have to call update-updmap and updmap-sys, but also create + # a file in /var/lib/tex-common/fontmap-cfg/pkgname.list + #/ containing all the files put into /etc/texmf/updmap.d/ + &mkpath("$basedir/var/lib/tex-common/fontmap-cfg/"); + open(LISTFILE, ">$basedir/var/lib/tex-common/fontmap-cfg/$package.list") + or die("Cannot open $basedir/var/lib/tex-common/fontmap-cfg/$package.list"); + print LISTFILE "10$package\n"; + close LISTFILE; + close UPDMAPCFG; + } + # + # Languages + # + my @langs = keys %langhash; + if ($#langs >= 0) { + &mkpath("$etcdest/language.d/"); + &mkpath("$basedir/var/lib/tex-common/language-cnf/"); + open(LISTFILE, ">>$basedir/var/lib/tex-common/language-cnf/$package.list") + or die("$basedir/var/lib/tex-common/language-cnf/$package.list"); + print LISTFILE "10$package\n"; + close LISTFILE; + open(LANGMAPCNF, ">$etcdest/language.d/10$package.cnf") + or die("Cannot open $etcdest/language.d/10$package.cnf"); + print LANGMAPCNF <) { + # + # do NOT disable any language, users should only choose + # those languages they are interested in. AND, I should + # make a debconf question which languages should be + # installed/activated!!! + # if ("$lang" eq "py") { print LANGMAPCNF "% "; } + print LANGMAPCNF "$_"; + } + close(INFILE); + } + close(LANGMAPCNF); + } + # + # Work on @SpecialActions + # + my @infofiles = (); + foreach my $l (@SpecialActions) { + my ($act, $fname) = ($l =~ m/(.*):(.*)/); + if ($act eq "install-info") { + push @infofiles, "$fname"; + } else { + print "Unknown action, huuu, where does this come from: $act, exit!\n"; + exit 1; + } + } + if ($#infofiles >=0) { + open(INFOLIST, ">$debdest/$package.info") + or die("Cannot open $debdest/$package.info"); + foreach my $f (@infofiles) { + print INFOLIST "$f\n"; + } + close(INFOLIST); + } + # + # create the maintainer scripts + # + make_maintainer($package,$debdest); +} + +# +# make_maintainer +# +# create maintainer scripts +# +sub make_maintainer { + # my functions + sub merge_into { + my ($fname, $fhandle) = @_; + if (-r "$fname") { + open(FOO,"<$fname") + or die("Cannot open $fname"); + while () { print $fhandle $_; } + } + } + # real start + my ($package,$destination) = @_; + my @Executes = get_all_executes($package,$globalreclevel); + $debdest = $destination; + &mkpath($debdest); + my $gotmapfiles = 0; + my $firstlang = 1; + my %langhash = (); + my %formathash = (); + my %Job; + $opt_debug && print "Executes= @Executes\n"; + foreach (@Executes) { + my @p = /([^=]+)=([^ ]+)\s+([^=]+)=([^ ]+)\s*([^=]*)=?(.*)/; + $Job{'parameter'} = $Job{'function'} = $Job{'mode'} = ''; + $Job{$p[0]}=$p[1]; + $Job{$p[2]}=$p[3]; + $Job{$p[4]}=$p[5]; + my $instcmd; + my $rmcmd; + if ($Job{'function'} eq 'addMap') + { + if (!$gotmapfiles) { + $gotmapfiles = 1; + } + } + elsif ($Job{'function'} eq 'BuildFormat') + { + my $name=$Job{'parameter'}; + $formathash{$name} = 1; + } elsif ($Job{'function'} eq 'BuildLanguageDat') { + my $name=$Job{'parameter'}; + $langhash{$name} = 1; + } + } + my @formats = keys %formathash; + my @alines = (); + my @blines = (); + my $allformatsbuild = 0; + # + # it doesn't hurt to call all three of them in any case! + # + $package eq "texlive-common" || push @alines, "update-texmf"; + $package eq "texlive-common" || push @alines, "update-language"; + $package eq "texlive-common" || push @alines, "update-fmtutil"; + $package eq "texlive-common" || push @alines, "update-updmap --quiet"; + # + # POSTINST HANDLING + # + if ($package eq "texlive") { + # do nothing, texlive does not include any real files, so + # no call to mktexlsr necessary + } elsif (($package =~ m/texlive-doc-/) || ($package eq "texlive-common")) { + push @blines, "if which mktexlsr > /dev/null ; then update_lsr_files ; fi"; + } else { + push @blines, "update_lsr_files"; + } + if ($package eq 'texlive-base') { + push @blines, "rm -f /var/lib/texmf/web2c/latex.fmt /var/lib/texmf/web2c/latex.log /var/lib/texmf/web2c/pdflatex.fmt /var/lib/texmf/web2c/pdflatex.log"; + push @blines, "build_format --all"; + $allformatsbuild = 1; + } + if ($package eq 'texlive-base-bin') { + push @blines, "rm -f /var/lib/texmf/web2c/latex.fmt /var/lib/texmf/web2c/latex.log /var/lib/texmf/web2c/pdflatex.fmt /var/lib/texmf/web2c/pdflatex.log"; + push @blines, "build_format --all"; + $allformatsbuild = 1; + } + # + # Formats + # + my @doneformats = (); + if ($#formats >= 0) { + foreach my $f (@formats) { + open(INFILE,"<$DataGlobalPath/texmf/fmtutil/format.$f.cnf") + or die("Cannot open $DataGlobalPath/texmf/fmtutil/format.$f.cnf"); + my @lines = ; + close(INFILE); + my @actualformats = grep(!/(^\s*#)|(^\s*$)/, @lines); + foreach my $l (@actualformats) { + my @bar = reverse(split(' ',$l)); + my $fmt = pop(@bar); + # + # remove old fmt file if it is present + # + push @alines, "rm -f /var/lib/texmf/web2c/$fmt.*"; + $allformatsbuild || push @blines, "build_format --byfmt $fmt"; + push @doneformats, $fmt; + } + } + } + my @extraformats = (); + if ((defined($TeXLive{'binary'}{$package}{'extra_format'})) && (!$allformatsbuild)) { + foreach my $fmt (keys %{$TeXLive{'binary'}{$package}{'extra_format'}}) { + if (!ismember($fmt,@doneformats)) { + push @extraformats, $fmt; + } + } + } + foreach my $fmt (@extraformats) { + push @alines, "rm -f /var/lib/texmf/web2c/$fmt.*"; + if ($TeXLive{'binary'}{$package}{'extra_format'}{$fmt} eq "0") { + push @blines, "build_format --byfmt $fmt"; + } elsif ($TeXLive{'binary'}{$package}{'extra_format'}{$fmt} eq "1") { + push @blines, "build_format_if_format_exists --byfmt $fmt"; + } else { + push @blines, "build_format_if_file_exists --byfmt $fmt $TeXLive{'binary'}{$package}{'extra_format'}{$fmt}"; + } + } + # + # Map files + # + if ($gotmapfiles) { + # We have to call update-updmap and updmap-sys, but also create + # a file in /var/lib/tex-common/fontmap-cfg/pkgname.list + #/ containing all the files put into /etc/texmf/updmap.d/ + push @blines, "create_fontmaps"; + } + # + # Languages + # + my @langs = keys %langhash; + if ($#langs >= 0) { + # + # Again a problem with texmf-config settings and fmtutil-sys not + # finding language.dat in the right position. + # + push @blines, "build_format_if_format_exists --byhyphen latex `kpsewhich language.dat`"; + } + if (($#alines >= 0) || + ($#blines >= 0) || + (-r "$debdest/postinst.pre") || + (-r "$debdest/postinst.post") || + (-r "$debdest/$package.postinst.pre") || + (-r "$debdest/$package.postinst.post")) { + open(POSTINST, ">$debdest/$package.postinst") + or die("Cannot open $debdest/$package.postinst"); + print POSTINST "#!/bin/sh -e\n"; + merge_into("$debdest/common.functions", POSTINST); + merge_into("$debdest/common.functions.postinst", POSTINST); + # + # first we merge the .pre parts into the scripts + # + merge_into("$debdest/postinst.pre", POSTINST); + merge_into("$debdest/$package.postinst.pre", POSTINST); + print POSTINST <<'EOF'; +case "$1" in + configure|abort-upgrade|abort-remove|abort-deconfigure) +EOF + foreach my $a (@alines) { + print POSTINST "\t", $a, "\n"; + } + foreach my $b (@blines) { + print POSTINST "\t", $b, "\n"; + } + print POSTINST <<'EOF'; + ;; + *) + echo "postinst called with unknown argument '$1'" >&2 + exit 1 + ;; +esac + +EOF + print POSTINST "\n#DEBHELPER#\n"; + merge_into("$debdest/$package.postinst.post", POSTINST); + merge_into("$debdest/postinst.post", POSTINST); + print POSTINST "exit 0\n"; + close POSTINST; + } + # + # END OF POSTINST STUFF + # + # + # PREINST STUFF + # + # only create the preinst file *if* there is a content! + # if there is a debhelper entry, it will create it if necessary + if ((-r "$debdest/$package.preinst.pre") || + (-r "$debdest/$package.preinst.post") || + (-r "$debdest/preinst.pre") || + (-r "$debdest/preinst.post") || + ($#configfiles >= 0)) { + open(PREINST, ">$debdest/$package.preinst") + or die("Cannot open $debdest/$package.preinst"); + print PREINST "#!/bin/sh -e\n"; + merge_into("$debdest/common.functions", PREINST); + merge_into("$debdest/common.functions.preinst", PREINST); + merge_into("$debdest/preinst.pre", PREINST); + merge_into("$debdest/$package.preinst.pre", PREINST); + foreach my $cf (@configfiles) { + print PREINST "handle_config_file_preinst $cf\n" + } + print PREINST "\n#DEBHELPER#\n"; + merge_into("$debdest/$package.preinst.post", PREINST); + merge_into("$debdest/preinst.post", PREINST); + print PREINST "exit 0\n"; + close PREINST; + } + # + # END OF PREINST STUFF + # + # + # PRERM STUFF + # + # only create the prerm file *if* there is a content! + # if there is a debhelper entry, it will create it if necessary + if ((-r "$debdest/$package.prerm.pre") || + (-r "$debdest/$package.prerm.post") || + (-r "$debdest/prerm.pre") || + (-r "$debdest/prerm.post")) { + open(PRERM, ">$debdest/$package.prerm") + or die("Cannot open $debdest/$package.prerm"); + print PRERM "#!/bin/sh -e\n"; + merge_into("$debdest/common.functions", PRERM); + merge_into("$debdest/common.functions.prerm", PRERM); + merge_into("$debdest/prerm.pre", PRERM); + merge_into("$debdest/$package.prerm.pre", PRERM); + print PRERM "\n#DEBHELPER#\n"; + merge_into("$debdest/$package.prerm.post", PRERM); + merge_into("$debdest/prerm.post", PRERM); + print PRERM "exit 0\n"; + close PRERM; + } + # + # END OF PRERM STUFF + # + # POSTRM STUFF + # on remove: + # call update-updmap and updmap-sys + # call update-language and fmtutil-sys --byhyphen + # call update-fmtutil and remove old formats + # on purge etc: + # do nothing + # + @alines = (); + @blines = (); + # + # Formats + # + if ($package eq "texlive") { + # do nothing, texlive does not include any real files, so + # no call to mktexlsr necessary + } else { + push @blines, "check_run_without_errors mktexlsr"; + } + if ($#formats >= 0) { + foreach my $f (@formats) { + open(INFILE,"<$DataGlobalPath/texmf/fmtutil/format.$f.cnf") + or die("Cannot open $DataGlobalPath/texmf/fmtutil/format.$f.cnf"); + my @lines = ; + my @actualformats = grep(!/(^\s*#)|(^\s*$)/, @lines); + foreach my $l (@actualformats) { + my @bar = reverse(split(' ',$l)); + my $fmt = pop(@bar); + push @alines, "rm -f /var/lib/texmf/web2c/$fmt.*"; + } + close(INFILE); + } + } + foreach my $fmt (@extraformats) { + push @alines, "rm -f /var/lib/texmf/web2c/$fmt.*"; + } + if (($#formats >= 0) || ($#extraformats >= 0)) { + push @alines, "check_run_without_errors update-fmtutil"; + } + # + # Map files + # + if ($gotmapfiles) { + push @alines, "check_run_without_errors update-updmap"; + push @blines, "check_run_without_errors updmap-sys"; + } + # + # Languages + # + @langs = keys %langhash; + if ($#langs >= 0) { + # + # Again a problem with texmf-config settings and fmtutil-sys not + # finding language.dat in the right position. + # + push @alines, "check_run_without_errors update-language"; + push @blines, "if which fmtutil-sys >/dev/null ; then"; + push @blines, "\tbuild_format_if_format_exists --byhyphen latex `kpsewhich language.dat`"; + push @blines, "fi"; + } + if (($#alines >= 0) || + ($#blines >= 0) || + (-r "$debdest/$package.postrm.pre") || + (-r "$debdest/$package.postrm.pre") || + (-r "$debdest/postrm.pre") || + (-r "$debdest/postrm.post")) { + open(POSTRM, ">$debdest/$package.postrm") + or die("Cannot open $debdest/$package.postrm"); + print POSTRM "#!/bin/sh -e\n"; + merge_into("$debdest/common.functions", POSTRM); + merge_into("$debdest/common.functions.postrm", POSTRM); + # + # first we merge the .pre parts into the scripts + # + merge_into("$debdest/postrm.pre", POSTRM); + merge_into("$debdest/$package.postrm.pre", POSTRM); + # + print POSTRM <<'EOF'; + +case "$1" in + remove|disappear) +EOF + foreach my $a (@alines) { + print POSTRM "\t", $a, "\n"; + } + foreach my $b (@blines) { + print POSTRM "\t", $b, "\n"; + } + print POSTRM <<'EOF'; + ;; + purge|upgrade|failed-upgrade|abort-upgrade|abort-install) + ;; + *) + echo "postrm called with unknown argument '$1'" >&2 + exit 1 + ;; +esac + +EOF + print POSTRM "\n#DEBHELPER#\n"; + merge_into("$debdest/$package.postrm.post", POSTRM); + merge_into("$debdest/postrm.post", POSTRM); + print POSTRM "exit 0\n"; + close POSTRM; + } + # + # END OF POSTRM STUFF + # +} + + +# +# do_remap_and_copy +# +sub do_remap_and_copy { + # my functions + # + # here the mapping from texlive pathes to debian pathes is done + # + sub make_destinationname { + my ($o) = @_; + $o =~ s#texmf-dist#$texmfdist#; + $o =~ s#texmf-doc#$texmfdist#; + # + # we do map *ALL* files into $texmfdist, not only the dist files + # + $o =~ s#texmf/#$texmfdist/#; + return($o); + } + # real start + my ($f,$standarddest,$finalremap,$finaldest) = @_; + my $gotremapped = 0; + my $returnvalue = "**NOTSET**"; + + my $destname = make_destinationname($f); + $opt_debug && print "DESTINATION NAME = $destname\n"; + MAPPINGS: foreach my $maplines (@{$TeXLive{'all'}{'filemappings'}}) { + my ($pat, $dest) = ($maplines =~ m/(.*):(.*)/); + if ($f =~ m|$pat$|) { + $gotremapped = 1; + my $act = $TeXLive{'all'}{'file_map_actions'}{$pat}; + my $newdest; + my $foo="\$newdest = \"$dest\""; + eval $foo; + $opt_debug && print "REMAP HIT f=$f\nnewdest=$newdest\npat=$pat\ndest=$dest\n"; + # if you add possible actions here, also add them to the list in tpm2deb.cfg + if ($act eq "remap") { + &mkpath(dirname($newdest)); + mycopy("$DataGlobalPath/$f",$newdest); + $returnvalue = $newdest; + } elsif ($act eq "copy") { + # mapping;origfile;copy;TEXMF-tree-base + # eg + # mapping;temxf/tex/latex/pict2e/pict2e.cfg;copy;/etc/texmf + # + # first install it into the normal path + mycopy("$DataGlobalPath/$f","$standarddest/$destname"); + &mkpath("$basedir/$newdest"); + # remove the leading texmf{-dist,-doc,}/ + my $o = $f; + $o =~ s#texmf-dist#texmf#; + $o =~ s#texmf-doc#texmf#; + $o =~ s#texmf/##; + mycopy("$DataGlobalPath/$f","$basedir$newdest/$o"); + $returnvalue = "$basedir$newdest/$o"; + } elsif ($act eq "config-copy") { + # mapping;origfile;config-copy;TEXMFSYSCONFIGPATH + # eg + # mapping;temxf/tex/generic/language.dat;config-copy;/etc/texmf + # + # first install it into the normal path + mycopy("$DataGlobalPath/$f","$standarddest/$destname"); + &mkpath("$basedir/$newdest"); + # remove the leading texmf{-dist,-doc,}/ + my $o = $f; + $o =~ s#texmf-dist#texmf#; + $o =~ s#texmf-doc#texmf#; + $o =~ s#texmf/##; + mycopy("$DataGlobalPath/$f","$basedir$newdest/$o"); + $returnvalue = "$standarddest/$destname"; + push @configfiles, "$newdest/$o"; + } elsif ($act eq "link") { + &mkpath(dirname("$standarddest/$destname")); + symlink($newdest, "$standarddest/$destname") or + die "Cannot symlink $standarddest/$destname -> $newdest: $!\n"; + $returnvalue = $newdest; + } elsif ($act eq "config-link") { + # config-link is LIKE remap-link, only that we maybe can + # add some automatic specialities for config-file + # maintainer script magic + # remap and link from the original destination + &mkpath(dirname("$basedir$newdest")); + mycopy("$DataGlobalPath/$f","$basedir/$newdest"); + # we have to strip of the $debdest part + &mkpath(dirname("$standarddest/$destname")); + symlink($newdest, "$standarddest/$destname") or + die "Cannot symlink $standarddest/$destname -> $newdest: $!\n"; + $returnvalue = $newdest; ## ?? or $destname???? + push @configfiles, $newdest; + } elsif ($act eq "remap-link") { + # remap and link from the original destination + &mkpath(dirname($newdest)); + mycopy("$DataGlobalPath/$f",$newdest); + # we have to strip of the $debdest part + $foo = $newdest; + $foo =~ s/^$basedir//; + &mkpath(dirname("$standarddest/$destname")); + symlink($foo, "$standarddest/$destname") or + die "Cannot symlink $standarddest/$destname -> $newdest: $!\n"; + $returnvalue = $newdest; ## ?? or $destname???? + } elsif ($act eq "add-link") { + #print "DEBUG: f=$f\nDEBUG: destname=$destname\nDEBUG: newdest=$newdest\n"; + mycopy("$DataGlobalPath/$f","$standarddest/$destname"); + &mkpath(dirname($newdest)); + $b = "$standarddest/$destname"; + symlink($b,$newdest) or + die "Cannot symlink, $newdest -> $b: $!\n"; + $returnvalue = "$standarddest/$destname"; + } elsif ($act eq "replace-link") { + my ($a,$b) = split(/%/,$newdest); + &mkpath(dirname($a)); + symlink($b,$a) or die "Cannot symlink $a -> $b: $!\n"; + $returnvalue = $b; + } elsif ($act eq "") { + $returnvalue = ""; + # do nothing, the file is killed + } else { + print "maplines=$maplines\nact = $TeXLive{'all'}{'file_map_actions'}{$pat}\n"; + print "Unknown action $act in config file, terminating!\n"; + exit 1; + } + last MAPPINGS; + } + } + if ($gotremapped == 0) { + if ($finalremap ne "" && $destname =~ m|$finalremap|) { + my $foo="\$finaldest = \"$finaldest\""; + eval $foo; + &mkpath(dirname($finaldest)); + mycopy("$DataGlobalPath/$f",$finaldest); + $returnvalue = $finaldest; + } else { + $opt_debug && print "NORMAL COPY: $standarddest/$destname\n"; + &mkpath(dirname("$standarddest/$destname")); + mycopy("$DataGlobalPath/$f","$standarddest/$destname"); + $returnvalue = "$standarddest/$destname"; + } + } + return($returnvalue); +} + +### Local Variables: +### perl-indent-level: 4 +### tab-width: 4 +### indent-tabs-mode: t +### End: +# vim:set tabstop=4: # --- texlive-bin-2007.dfsg.1.orig/debian/common.functions.postinst +++ texlive-bin-2007.dfsg.1/debian/common.functions.postinst @@ -0,0 +1,63 @@ +# common.functions.postinst start +# $Id: common.functions.postinst 3031 2007-08-13 05:20:40Z preining $ +handle_config_file_postinst() +{ + # this function handles two things: It moves conffiles to their + # new place if they had been changed, and it ignores the possible + # removal of the conffile because of bug #420390, fixing upgrades + # from etch. + # + # Note that the consequences of this bug for users of sid are + # dealt with separately, in the function resurrect_conffile_sid() + # which is only called for the critical conffiles. + cfgfile="$1" + action="$2" + version="$3" + case "$action" in + configure) # not reconfigure + if dpkg --compare-versions "$version" ge 2007; then + return 0 + fi + ;; + *) + return 0 + ;; + esac + if [ -f "$cfgfile.preinst-deleted" ]; then + echo "It looks like $cfgfile has been removed." + echo "In most cases this is a consequence of bug #420390." + echo "We are reinstatiating this config file." + echo "If you *really* want this to be removed, do it again," + echo "but beware of the consequences." + echo "" + #mv "$cfgfile" "$cfgfile.dpkg-new" + rm "$cfgfile.preinst-deleted" + fi + if [ -f "$cfgfile.preinst-copy" ]; then + echo "Preserving user changes to $cfgfile" + # this only works as intended as long as the shipped version + # does not change! + mv -f "$cfgfile" "$cfgfile.dpkg-new" + mv -f "$cfgfile.preinst-copy" "$cfgfile" + fi +} + +resurrect_conffile_sid(){ + cfgfile="$1" + package="$2" + template_source="/usr/share/$package" + basefile=$(basename $cfgfile) + dirname=$(dirname $cfgfile) + + if ! [ -f "$cfgfile" ]; then + mkdir -p $dirname + echo "Reinstalling deleted mandatory conffile $basefile" >&2 + cp $template_source/$basefile $cfgfile + fi +} + +# common.functions.postinst end +# Local Variables: +# mode: shell-script +# End: +# vim:set expandtab: # --- texlive-bin-2007.dfsg.1.orig/debian/common.functions.postrm +++ texlive-bin-2007.dfsg.1/debian/common.functions.postrm @@ -0,0 +1,54 @@ +# common.functions.postrm start +# $Id: common.functions.postrm 2876 2007-05-22 08:12:07Z frank $ +check_move_back () +{ + orig="$1" + new="$2" + if [ -r "$new" ] ; then + mkdir -p $(dirname "$orig") + mv "$new" "$orig" + fi +} + +handle_config_file_postrm() +{ + cfgfile="$1" + action="$2" + version="$3" + case "$action" in + abort-upgrade) + if dpkg --compare-versions "$version" ge 2007; then + return 0 + fi + ;; + *) + return 0 + ;; + esac + conf_relpath=${cfgfile#/etc/texmf/} + conf_oldpath="/etc/texmf/texlive/$conf_relpath" + case "$cfgfile" in + /etc/texmf/dvips/config/*) + # special case for dvips config + conf_oldpath="/etc/texmf/texlive/dvips/${conf_oldpath#/etc/texmf/dvips/config}" + ;; + # files which were only present in tetex + /etc/texmf/texdoctk/texdoctk.dat) + conf_oldpath="/etc/texdoctk/texdoctk.dat" + ;; + /etc/texmf/xdvi/xdvi.cfg) + # old tetex version + if [ -r "$cfgfile" ]; then + cp $cfgfile /etc/texmf/xdvi.cfg + fi + # old texlive version + conf_oldpath="/etc/texmf/texlive/xdvi.cfg" + esac + check_move_back $conf_oldpath $cfgfile +} + +# common.functions.postrm end +# Local Variables: +# mode: shell-script +# End: +# vim:set expandtab: # --- texlive-bin-2007.dfsg.1.orig/debian/compare-texmf.cnf.sh +++ texlive-bin-2007.dfsg.1/debian/compare-texmf.cnf.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + +upstream_texmfcnf=texmf/web2c/texmf.cnf +our_texmfcnf=/etc/texmf/texmf.cnf + +tempfile=$(mktemp) +trap 'rm -f $tempfile' 1 2 3 7 13 15 + +sed -f debian/texmf.cnf.sed $our_texmfcnf > $tempfile +diff -wbu $tempfile $upstream_texmfcnf --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.postinst.post +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.postinst.post @@ -0,0 +1,32 @@ +# texlive-base-bin.postinst.post start + +xdvi_alternatives () { + LANG=C update-alternatives --display xdvi.bin | grep -q "$1" +} + +# activate the xdvi.bin alternative +case "$1" in + configure|reconfigure) + update-alternatives --install /usr/bin/xdvi.bin xdvi.bin /usr/bin/xdvi-xaw.bin 30 + if update-alternatives --list xdvi.bin | grep -q xdvi.real ; then + # remove the old tetex alternative, should switch to auto mode + # automatically even if there are other xdvi alternatives installed + update-alternatives --remove xdvi.bin /usr/bin/xdvi.real + else + if xdvi_alternatives "status is manual" ; then + if xdvi_alternatives "link currently points to /usr/bin/xdvi.real" ; then + # link status is manual, and we point to the tetex alternative + # can this happen? It seems so, see #419381 and siblings + # we switch to auto mode + update-alternatives --auto xdvi.bin + else + # xdvi.bin is in manual mode but not pointing to xdvi.real, leave + # it untouched + : do nothing + fi + fi + fi + ;; +esac + +# texlive-base-bin.postinst.post end --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.links.dist +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.links.dist @@ -0,0 +1,4 @@ +usr/share/man/man1/xdvi.1.gz usr/share/man/man1/xdvi-xaw.bin.1.gz +usr/share/man/man1/getnonfreefonts.1.gz usr/share/man/man1/getnonfreefonts-sys.1.gz +usr/bin/pdftex usr/bin/etex +usr/bin/pdftex usr/bin/pdfetex --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.mime +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.mime @@ -0,0 +1 @@ +application/x-dvi; /usr/bin/xdvi %s; description=TeX DVI; test=test -n "$DISPLAY"; nametemplate=%s.dvi; priority=5 --- texlive-bin-2007.dfsg.1.orig/debian/texlive-extra-utils.links.dist +++ texlive-bin-2007.dfsg.1/debian/texlive-extra-utils.links.dist @@ -0,0 +1 @@ +usr/share/man/man1/pdfopen.1.gz usr/share/man/man1/pdfclose.1.gz --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.preinst.pre +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.preinst.pre @@ -0,0 +1,53 @@ +# +# texlive-base-bin.preinst.pre +# +# remove the /etc/texmf/texlive/mktex.cnf file from version <= 2005-2 +# remove the link /usr/share/texmf-texlive/web2c/mktex.cnf +# new packages install the file in /usr/share/texmf-texlive/web2c/mktex.cnf +# and this is overriden by tex-common's /usr/share/texmf/web2c/mktex.cnf +# + +if [ $# -eq 2 ] && [ "$2" = "2005-2" ] && ( [ "$1" = "install" ] || [ "$1" = "upgrade" ] ); then + # remove the link in any case + rm -f /usr/share/texmf-texlive/web2c/mktex.cnf + # now for the conffile + oldfile=/etc/texmf/texlive/mktex.cnf + originalmd5sum=83c6f33da512a8b49f6e9d2c399bd69a + installedmd5sum=$(md5sum "$oldfile" | cut -d ' ' -f 1) + if [ "$originalmd5sum" = "$installedmd5sum" ] ; then + echo "Removing obsolete, unchanged conffile $oldfile" + rm $oldfile + else + echo " +Warning: you appear to have modified $oldfile. Please read the document + /usr/share/doc/tex-common/README.Debian +The old file has been saved as /etc/texmf/texlive/mktex.cnf.old and will +not be used." + mv $oldfile $oldfile.old + fi +fi + +# take over 10texlive-pdfetex.cnf from version <2007 +# no need to rename, postinst can handle the old name well +old_cfg=/etc/texmf/fmt.d/10texlive-pdfetex.cnf + +if [ -f $old_cfg ]; then + # we can use dpkg_md5sum which is in common.functions.preinst + mdorig=$(dpkg_md5sum $old_cfg) + if [ $(md5sum "$old_cfg" | cut -f 1 -d ' ') = "$mdorig" ] ; then + rm -f $old_cfg + fi +fi + +# remove any format or log files in /var/lib/texmf/web2c, they must be +# in $engine subdirs now. tetex does not properly remove them, and +# they cause strange failures with context. +for ext in fmt mem log base; do + rm -f /var/lib/texmf/web2c/*.$ext +done + + +# common.functions.texlive-base-bin end +# Local Variables: +# mode: shell-script +# End: --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.prerm.post +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.prerm.post @@ -0,0 +1,10 @@ + +# deactivate the xdvi.bin alternative +case "$1" in + upgrade) + ;; + *) + update-alternatives --remove xdvi.bin /usr/bin/xdvi-xaw.bin + ;; +esac + --- texlive-bin-2007.dfsg.1.orig/debian/changelog +++ texlive-bin-2007.dfsg.1/debian/changelog @@ -0,0 +1,439 @@ +texlive-bin (2007.dfsg.1-2) unstable; urgency=low + + * Update location of upstream iso.zip file in uscan watch file (closes: + #449621), thanks to Raphael Geissert [fk] + * switch to libpoppler-0.5.9 patch, since the new libpoppler (>= 0.6) is in + unstable, adjust build deps to libpoppler-dev >= 0.6 (Closes: #451588) + + -- Norbert Preining Mon, 19 Nov 2007 11:41:11 +0100 + +texlive-bin (2007.dfsg.1-1) unstable; urgency=low + + * disable pdftex character shifting (option G) in config.pdf + (Closes: #434891) + * rebuild new orig.tar.gz necessary to blacklist latexmp completely + (Closes: #436965) + * add patch gcc43-compile-fix to compilation of teckit with newer + gcc compilers (Closes: #441605) (patch taken from 007-12ubuntu3, + thanks Matthias Klose) + * implement doc splitting, so that we can build separate -doc packages + for every collection we want to [np] + splitting is done for: metapost, base-bin + * fix segfault of dvips -z on amd64 (patch applied upstream), thanks to + Bastien Roucaries for finding and providing a patch (Closes: #447081) + + -- Norbert Preining Mon, 22 Oct 2007 07:35:16 +0200 + +texlive-bin (2007-14) unstable; urgency=low + + * Really move Philokalia.otf to a fonts directory [fk] + * fix FTBFS on hurd-i386, adding patch icu-powerpc-buildfix-patch from + Samuel Thibault (Closes: #437949) [np] + * set LANG=C for the update-alternatives grepping, thanks Andreas Degert + (Closes: #438551) [np] + * Add missing quotes around the sed script in + texlive-base-bin.postinst(.pre) (Closes parts of #439205) [np] + * blacklist latexmp.pdf since no source is present (Closes: #436965) [np] + + -- Norbert Preining Sat, 01 Sep 2007 11:40:57 +0200 + +texlive-bin (2007-13) unstable; urgency=low + + * let texlive-xetex depend on dvipdfmx (Closes: #430373) + * add xetex patch, included in release texlive 2007.1. This patch fixes + xetex crashes on big-endian 64bit archs, and crashes with some OT fonts. + * update a2ping script and it's man page (Closes: #412107) + * update config.ps from current svn (Closes: #431338) + * add lost texlive-extra-utils recommends dvidvi (thanks Lionel for + spotting this) + * include the fixes to dvilj(k) which are included in the TeX Live + security branch, this adds a patch dviljk-security-fixes + * Move Philokalia-Regular.otf from the documentation to a fonts + directory, thanks to Ralf Stubner (closes: #433138) + * duplicate the code to recreate missing conffiles pdftexconfig.tex, + config.ps from texlive-base-bin postinst in preinst (Closes: #425803, + #435156, #435081, #433889, #436235, #435719, #435081, #433889) [np] + * use see in texdoc for displaying of all types of files (Closes: #432037) + * adapt the menu entries to new policy + + -- Norbert Preining Mon, 13 Aug 2007 16:26:41 +0200 + +texlive-bin (2007-12) unstable; urgency=low + + * Add a debian-specific patch for fmtutil which makes the --enable, + --disable and --edit commands work safely. Furthermore, patch + texconfig to use update-texmf (closes: #409798) [fk] + * fix manpage of pkfix (Closes: #429587) + + -- Norbert Preining Wed, 20 Jun 2007 10:09:36 +0200 + +texlive-bin (2007-11) unstable; urgency=low + + * Refine the code to resurrect pdftexconfig.tex (no version check) and + properly document it in NEWS.Debian. + * Also resurrect config.ps, thanks to Bruce MacDonald + (closes: #427059) [fk] + + -- Frank Küster Fri, 1 Jun 2007 17:32:35 +0200 + +texlive-bin (2007-10) unstable; urgency=low + + * don't install libkpathsea.la (Closes: #426006) [np] + * do not actually carry out the "preserve deleted conffile" due to the + tetex bug and too many busted installations, and resurrect the + critical conffile pdftexconfig.tex for sid users (Closes: #425781) + [np,fk] + * Add missing Depends of libkpathsea-dev on libkpathsea4 (closes: + #426710) [fk] + + -- Frank Küster Wed, 30 May 2007 17:58:37 +0200 + +texlive-bin (2007-9) unstable; urgency=low + + * Make sure --enable-shared is not in effect in the subdirectories for + static-only libraries, in particular xetex's teckit. Thanks to Aaron + M. Ucko (closes: #425863) [fk] + * Move libkpathsea4 and the -dev package to the correct sections (libs + and libdevel, not tex) [np] + + -- Frank Küster Thu, 24 May 2007 20:12:02 +0200 + +texlive-bin (2007-8) unstable; urgency=low + + * lang-indic: move bangfont.tex from doc to run files (Closes: #424031) + * lang-indic: add missing python header to ebong script (Closes: #423990) + * dpkg_md5sum in common-functions.preinst returns now the empty string + in case of an unknown conffile (could have been created by touch). + This should fix Ubuntu bug 111654. [np] + * Build with --enable-ipc to allow piping of output [fk] + * Build shared kpathsea library and include it in separate packages [fk] + * move bin-thumbpdf to texlive-base-bin (Closes: #424658) [np] + * texlive-extra-utils suggests gs-* for epstopdf (Closes: #423988) [np] + * replace patches/30_libpoppler with patches/30_libpoppler_new for + new libpoppler 0.5, make the build-dep libpoppler-dev (>= 0.5.4) + (Closes: #425065, #356079) + * add stricter dependencies to all packages: if in the final shipout + dep on a texlive package there is no version given, the value of + latest-version (from tpm2deb.cfg) of the source package is taken. + (Closes: #421969) + * remove cruft from control files (cweb, ctie, texdoctk) + (Closes: #241089, #249085) + * don't leave copies of conffiles in TEXMFDIST (Closes: #420139) + * add poppler to the pdftex banner (Closes: #420971) + * texlive-lang-indic depends on python + * remove the rpath entry in all the binaries + * add patch 64_fix_makempx_installation to fix the installation + of makempx script instead of the binary (thanks Sanjoy Mahajan) + * rework the xdvi conf file handling code to not "preserve removal" + when upgrading from older texlive versions (Closes: #425272) + * format generation reworked: + - texlive-base-bin does not provide formats anymore since all the + respective ini files are in texlive-base + - texlive-base takes the format generation + + -- Norbert Preining Mon, 21 May 2007 14:17:19 +0200 + +texlive-bin (2007-7) unstable; urgency=low + + * fix typo in texlive-base-bin.postinst (Closes: #422929) + + -- Norbert Preining Wed, 09 May 2007 00:59:49 +0200 + +texlive-bin (2007-6) unstable; urgency=low + + * Update patch 62_dvips_absolutepath_doc, it also fixes the manpage + now. Thanks to Eric Cooper [fk]. + * Add patch 63_texmf.cnf_for_comparison_temp from upstream. The patched + file is only used for comparing with our generated texmf.cnf from + tex-common, and the upstream patch has been incorporated there [fk]. + * remove 31_pdftex_gcc_ICE-on-alpha, recent revision of gcc have + fixed the FTBFS bug. + * move the debianize-updmap call in updmap after the syncWithTrees + function so that this function is also debianized. (Closes: #421184) [np] + * apply teTeX texdoctk.defaults patch to get texdoctk to use the right + programs (Closes: #421633) [np] + * add menu entry of xdvi, texdoctk, texconfig (Closes: #421634) [np] + * Bring dvips to version 5.96dev, 2007-05-06 (patch + 32_dvips_fontbug_fix_upstream). This fixes a problem with double + partial inclusion of fonts, and adds improvements for debugging such + problems (closes: #266718) [fk] + + -- Frank Küster Mon, 7 May 2007 19:38:34 +0200 + +texlive-bin (2007-5) unstable; urgency=low + + * fix config file handling (Closes: #419826) [np] + - fix a bug in tpm2deb-bin.pl which prevented any config file handling + - fix another bug in tpm2deb-bin.pl which didn't install the config + file handling in the postrm script + + -- Norbert Preining Wed, 18 Apr 2007 08:13:17 +0200 + +texlive-bin (2007-4) unstable; urgency=low + + * Add patch 31_pdftex_gcc_ICE-on-alpha to work around a bug in newer + gcc, thanks to Falk Hueffner (closes: #419434) [fk] + * Since we take over xdvi from tetex-bin, we remove its xdvi alternative + in case it is present (closes: #419381) [fk] + * Remove any format or log files in /var/lib/texmf/web2c, they must be + in $engine subdirs now. teTeX does not properly remove them (so this + closes: #333767), and they cause strange failures with context (see + #419059 and #418976) [fk] + * Add patch 62_dvips_absolutepath_doc to document the change in dvips' + file inclusion behavior in config.ps (closes: #418788) + + -- Norbert Preining Tue, 17 Apr 2007 13:17:16 +0200 + +texlive-bin (2007-3) unstable; urgency=low + + * Disable the comparison of texmf.cnf introduced in the last version. + It can still be run manually, but doing so at build time would make + texlive-bin FTBFS each time tex-common updates its files in texmf.d + [fk] + * Fix the friday 13 bugs: A bad coincidence combined a serious bug in + debhelper (#419060) produces buggy maintainer scripts in most + texlive packages. The debhelper bug is fixed, this + closes: #418981 + * add texlive-font-utils replaces tetex-bin << 2007 (Closes: #418995) + * Add patch 51_fmtutil_keep_failedlog so that fmtutil will keep log + files even if no format file is created at all [fk] + (Closes: #419016) + + -- Norbert Preining Sat, 14 Apr 2007 09:31:47 +0200 + +texlive-bin (2007-2) unstable; urgency=low + + * first upload of TeX Live 2007 to unstable + + * fix xdvi.cfg config file transfer bug (Closes: #415906) [np] + + * Added two scripts which allow to compare our upstream-provided + texmf.cnf (which will not be used) with the texmf.cnf generated from + tex-common's snippets, and let the build fail if both show other than + the known differences. This is run in the clean and build targets and + allows to track upstream changes. + + In order to build on non-clean systems, export + DEBIAN_NOCHECK_TEXMFCNF=true (or, actually, anything nonzero) + [fk] + + * replace links of odvicopy.1 and odvitype.1 to the respective + man pages without o with a minimal manpage (Closes: #417274) [np] + + * drop updated collection-binextra.tpm and bin-dvipos.tpm + into the source package tosolve the missing dvipos problem. [np] + + * Fix missing build dependency on tex-common >= 1.3, thanks to Yannick + Roehlly for spotting this. [np] + + * texlive-base-bin now suggests gs (or variants), postscript-viewers and + pdf viewers. [np] (Closes: #414473) + + * do not compress documentation pdf files + + -- Norbert Preining Tue, 10 Apr 2007 18:15:25 +0200 + +texlive-bin (2007-1) experimental; urgency=low + + * new upstream release + * Major changes: + - now includes XeTeX (new package texlive-xetex) + - pdfTeX 1.40 + - MetaPost 1.0 + - the Debian packages no longer include ConTeXt, but depend on the + separate context package instead. + - Totally reworked Debian packaging, in particular the Perl scripts. + - TeX Live now replaces teTeX and provides dummy packages for the + transition. + - configuration files from /etc/texmf/texlive have been moved to + the TDS-locations below /etc/texmf + * Patches: + - Move from dpatch to quilt + - update patch 30_libpoppler to the new pdftex. This needs to be + extended to patch xetex as well! + - Drop patches 15_fmtutil_metapost_fix, 20_xpdf3.01pl1, + 21b_pdftex_cjkfonts_overflow, 51_fmtutil_tempdir_in_texinputs + (applied upstream), 52_feynmf-perl-sec-fix (no longer included) + - all other patches unfuzzied (sometimes manually) + * Add patch 01_tmp_configure_without_installextra to bypass texlinks, + fmtutil and updmap invocations at build time [FK] + * include teTeXs perl script for /usr/bin/xdvi which supports compressed + dvi files (Closes: #412611) [NP] + + -- Norbert Preining Wed, 21 Mar 2007 17:03:16 +0100 + +texlive-bin (2005.dfsg.2-12) unstable; urgency=low + + * blacklist dvidvi.tpm and add a recommend tl-extra-utils -> dvidvi + (Closes: #411537) + + -- Norbert Preining Tue, 20 Feb 2007 22:38:54 +0100 + +texlive-bin (2005.dfsg.2-11) unstable; urgency=low + + * The timezone patch from the last upload was wrong for 64bit + architectures. Applied corrected patch from upstream, thanks to + Martin Michlmayr (closes: #409517) [frank] + + -- Frank Küster Thu, 15 Feb 2007 14:07:50 +0100 + +texlive-bin (2005.dfsg.2-10) unstable; urgency=low + + * rebuild from old packaging machinery + + -- Norbert Preining Wed, 10 Jan 2007 14:12:09 +0100 + +texlive-bin (2005.dfsg.2-9) unstable; urgency=low + + * Apply patch by Julian Gilbey to prevent mktexlsr from + creating ls-R in root's home directory (closes: #402925) + * Apply a patch by "Mark A. Wicks" to fix a crash + of dvipdfm in half-hour timezones (Closes: #403267) + + -- Norbert Preining Thu, 4 Jan 2007 00:47:50 +0100 + +texlive-bin (2005.dfsg.2-8) unstable; urgency=low + + * move bin-ttfutils to tl-font-utils, blacklist everything but ttf2afm, + add bin-ttfutils.tpm and ttf2afm.1 to the source package + (Closes: #402983) (Closes also ubuntu #75545) + * reinclude pslatex script and its manpage into texlive-base-bin. + + -- Norbert Preining Thu, 28 Dec 2006 15:04:19 +0100 + +texlive-bin (2005.dfsg.2-7) unstable; urgency=low + + * change shebang for getnonfreefonts to /bin/bash (Closes: #398112) + * fix the texdoctk perl errors (Closes: #402651) + * include xdvi upstream fix for segfault on hitting g with -nogrey + (Closes: #369569) + + -- Norbert Preining Tue, 12 Dec 2006 08:05:45 +0100 + +texlive-bin (2005.dfsg.2-6) unstable; urgency=low + + * Apply patch from upstream to pdftex that allows it to work properly + with CJK fonts with their large number of subfonts. Many thanks to + Thanh Han The , Jie Luo + for the patch and many others for + debugging, in particular Danai SAE-HAN (韓達耐) + who reminded me. + + This allows CJK-related packages to depend on texlive and + closes: #399967. + * Patch texdoctk so that it still works if documentation in TeXlive's as + well as teTeX's TEXMFDIST is present. Thanks to Braun Gabor + for reporting and Ralf Stubner + for ideas for fixing this (closes: #401930) + + -- Frank Küster Wed, 6 Dec 2006 22:40:27 +0100 + +texlive-bin (2005.dfsg.2-5) unstable; urgency=high + + * Add Conflicts of texlive-omega on the aleph package (closes: + #400930), both provide the same binary. In the long run, aleph should + be superseded by AFNIX. + + -- Frank Küster Fri, 1 Dec 2006 14:34:22 +0100 + +texlive-bin (2005.dfsg.2-4) unstable; urgency=low + + * blacklist feynmf in tl-metapost and add a Recommends on the feynmf + package (closes: #400657) + + -- Frank Küster Tue, 28 Nov 2006 14:52:03 +0100 + +texlive-bin (2005.dfsg.2-3) unstable; urgency=low + + * include fixes for superficially linked in libs + * extend texconfig man page and include some fixes from teTeX + (Closes: #396904) + + -- Norbert Preining Tue, 7 Nov 2006 14:37:17 +0100 + +texlive-bin (2005.dfsg.2-2) unstable; urgency=low + + * update the debian patch for updmap(.1) (Closes: #393189) + * adjust built-in search paths of libkpathsea to the Debian defaults + (Closes: #392641) + * include patch for pdfetex to support newer TTF fonts (Closes: #394028) + + -- Norbert Preining Thu, 19 Oct 2006 10:27:51 +0200 + +texlive-bin (2005.dfsg.2-1) unstable; urgency=medium + + * remove magic header of a2ping, thumbpdf, and pdfcrop + * report bugs together with tex-common, and report status of the + tetex packages. Fix some small things in bug.scripts. + * change uploader field to my debian.org email address + * blacklist lacheck in tl-extra-utils and add a recommend on lacheck + * blacklist dviconcat(.1) and dviselect(.1) files in tl-extra-utils + and recommend dviutils + * use xdvi.bin in the xdvi shell script, and use alternatives + system to set xdvi.bin to xdvi-xaw.bin (Closes: #391437) + * move bin-texdoc, ie texdoc and texdoctk, from tl-extra-utils to + texlive-base-bin (Closes: #391640) + * texlive-bin: include the already unpacked sources instead of the + source.tar.bz2. Changes to the clean target: + - don't remove unpack-stamp + - don't remove the whole build dir, only build/inst and build/Work + (Closes: #380227) (Thanks Frank for insisting!) + * Use tex-common's (>= 0.33) debianize-updmap (Closes: #391348) + * urgency set to medium to get these fixes to testing + + -- Norbert Preining Mon, 9 Oct 2006 19:01:51 +0200 + +texlive-bin (2005.dfsg.1-1) unstable; urgency=low + + * remove fmtutil.cnf link (useless) and mktex.cnf link (taken from + tex-common) (Closes: #376524) + * add lintian override for wrong-name-for-upstream-changelog triggered + by CHANGES.packaging + * change maintainer to debian-tex-maint@l.d.o + + -- Norbert Preining Thu, 3 Aug 2006 12:36:56 +0200 + +texlive-bin (2005-2) unstable; urgency=low + + * first upload to unstable, sponsored by + Frank Küster + * texdoc support + - let tetex texdoc find documentation of texlive (Closes: #364776) + - include tetex texdoc patches (following of symlinks, security + fixes) (Closes: #356390) + * texlive-lang-polish conflicts with octave-forge as both provide + /usr/bin/mex, this is preliminary, a better solution must be + sought (Closes: #364059) + * change shell for the reportbug script to bash (Closes: #356391) + * fix installation of thumbpdf and pdfcrop (Closes: #352092) + * improve various descriptions (Closes: #354964) + * call the update-* programs in all postinst scripts, so that the + config files do not contain left-overs (Closes: #355266) + * fix creation of formats which in turn depend on the latex format + (Closes: #351707) + * remap the ibycus4.map TeX/MF input file from the fonts/map location + to the fonts/source location (Closes: #354652) + * depend on the updated lmodern package, thus making the fonts + available for X (Closes: #351727) + * lots of internal changes, important ones being: + - texlive packages now do not include files which have been + packaged for Debian already (eg cm-super, lmodern, musixtex) + - most packages can be used together with teTeX + - fix several upstream bugs + - generate license information for each file from the + TeX Catalogue (ongoing work) + for detailed changes see CHANGES.packaging in texlive-common + + -- Norbert Preining Thu, 11 May 2006 00:12:10 +0200 + +texlive-bin (2005-1) experimental; urgency=low + + * First upload to experimental (Closes: #312897) + + -- Norbert Preining Thu, 12 Jan 2006 17:30:22 +0100 + +# vim:set termencoding=iso8859-15 encoding=utf-8 fileencoding=utf-8: # +# Local Variables: +# coding: utf-8 +# mode: debian-changelog +# End: --- texlive-bin-2007.dfsg.1.orig/debian/texlive-omega.links.dist +++ texlive-bin-2007.dfsg.1/debian/texlive-omega.links.dist @@ -0,0 +1 @@ +usr/share/man/man1/aleph.1.gz usr/share/man/man1/lamed.1.gz --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.postinst.pre +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.postinst.pre @@ -0,0 +1,37 @@ +# texlive-base-bin.postinst.pre begin + +# take over 10texlive-pdfetex.cnf from version <2007 +old_cfg=/etc/texmf/fmt.d/10texlive-pdfetex.cnf +new_cfg=/etc/texmf/fmt.d/10texlive-base-bin.cnf + +case "$1" in + configure) + # no need to do this at reconfigure time + if [ -f $old_cfg ]; then + # not removed by preinst, this means it is modified + for format in etex pdfetex; do + modified_line=$(grep ^$format[[:space:]] $old_cfg) + sed -i -e "s/^$format[[:space:]].*/$modified_line/" $new_cfg + done + rm $old_cfg + fi + ;; +esac + +# Cleanup after Bug #420390 for sid users +# This is already done in the preinst, but only for upgrades. We redo it +# in the postinst, too in case that we are dealing with a install from +# rc or purged state. +case "$1" in + configure) + resurrect_conffile_sid /etc/texmf/tex/generic/config/pdftexconfig.tex texlive-bin + resurrect_conffile_sid /etc/texmf/dvips/config/config.ps texlive-bin + ;; + *) + ;; +esac + +# texlive-base-bin.postinst.pre end +# Local Variables: +# mode: shell-script +# End: --- texlive-bin-2007.dfsg.1.orig/debian/texmf.cnf.sed +++ texlive-bin-2007.dfsg.1/debian/texmf.cnf.sed @@ -0,0 +1,65 @@ +1,/^%%% From file: \/etc\/texmf\/texmf.d\/05TeXMF.cnf$/ d +s@/usr/share@$SELFAUTOPARENT@ +/^% after we have texlive 2007 in unstable:/ d +/^% TEXMFDIST = $SELFAUTOPARENT.texmf-texlive/ d +/^TEXMFDIST = \$SELFAUTOPARENT/ s@-[{]texlive,tetex[}]@-dist@ +/^TEXMFLOCAL = / s@/usr/local/share/texmf@$SELFAUTOPARENT/../texmf-local@ +/^TEXMFSYSVAR = / s@/var/lib/texmf@$SELFAUTOPARENT/texmf-var@ +/^TEXMFSYSCONFIG = / s@/etc/texmf@$SELFAUTOPARENT/texmf-config@ +/^TEXMFVAR =/ s@.texmf-var@.texlive2007/texmf-var@ +/^TEXMFCONFIG =/ s@.texmf-config@.texlive2007/texmf-config@ +/^TEXMF = / s@\$TEXMFSYSCONFIG@!!$TEXMFSYSCONFIG@ +/^TEXMF = / s@TEXMFLOCAL,!!\$TEXMFMAIN@TEXMFMAIN,!!$TEXMFLOCAL@ +/^SYSTEXMF = / s@\$TEXMFSYSVAR,@@ +/^VARTEXFONTS = / s@/tmp/texfonts@$TEXMFVAR/fonts@ +/^% Historically, Debian has included \$TEXMFHOME/ d +/^% keeps updating its ls-R file/ d +/^TEXMFDBS = / s@[{]@{!!$TEXMFSYSCONFIG,@ +/^TEXMFDBS = / s@TEXMFLOCAL,!!\$TEXMFMAIN@TEXMFMAIN,!!$TEXMFLOCAL@ + +/%%% End of file: \/etc\/texmf\/texmf.d\/05TeXMF.cnf/ d +/%%% From file: \/etc\/texmf\/texmf.d\/15Plain.cnf/ d +/^TEXINPUTS.ftex/ a \ +TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,plain,generic,}// + +/%%% End of file: \/etc\/texmf\/texmf.d\/15Plain.cnf/ d +/%%% From file: \/etc\/texmf\/texmf.d\/45TeXinputs.cnf/ d +/^TEXINPUTS.pdfcsplain/ a \ +TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,plain,generic,}// + +/%%% End of file: \/etc\/texmf\/texmf.d\/45TeXinputs.cnf/ d +/%%% From file: \/etc\/texmf\/texmf.d\/55Fonts.cnf/ d +/^TEXFONTMAPS = / s@[{]/fonts/map,[}][{]/$progname,/pdftex,/dvips@/fonts/map/{$progname,pdftex,dvips@ + +/%%% End of file: \/etc\/texmf\/texmf.d\/55Fonts.cnf/ d +/%%% From file: \/etc\/texmf\/texmf.d\/65BibTeX.cnf/ d +/%%% End of file: \/etc\/texmf\/texmf.d\/65BibTeX.cnf/ d +/%%% From file: \/etc\/texmf\/texmf.d\/75DviPS.cnf/ d +/^T1FONTS = / s@[{]type1,hbf[}]@type1@ + +/%%% End of file: \/etc\/texmf\/texmf.d\/75DviPS.cnf/ d +/%%% From file: \/etc\/texmf\/texmf.d\/85Misc.cnf/ d +/^MIMELIBDIR = / s@/etc@$SELFAUTOPARENT/etc@ +/^MAILCAPLIBDIR = / s@/etc@$SELFAUTOPARENT/etc@ +/% On Debian systems, \$TEXMFDOCDIR is unused/ d +/^TEXDOCS = / s@/doc//@/doc//;$TEXMFDOCDIR//@ + +/^% Since tetex-bin_3.0-22, it restricts this to dirs that actually exist,/ d +/^% to silent e.g. automounters:/ d +/^TEXMFCNF = / s@\$TETEXDIR;\$SELFAUTOPARENT/texmf/web2c;/usr/share/texmf/web2c@{$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c};/.$TETEXDIR@ + +/%%% End of file: \/etc\/texmf\/texmf.d\/85Misc.cnf/ d + +/%%% From file: \/etc\/texmf\/texmf.d\/90TeXDoc.cnf/,/%%% End of file: \/etc\/texmf\/texmf.d\/90TeXDoc.cnf/ d + +/%%% From file: \/etc\/texmf\/texmf.d\/95NonPath.cnf/ d +/^% If a change here appears to be ignored, try redumping the format file/ s@file@file.@ +/^% with fmtutil-sys.$/ d + +/^extra_mem_bot.context/ {n;d} +/^% Lambda too is a memory hog with all languages installed$/ d +/^main_memory.lambda = 2200000$/ d + +/^trie_size = / s@400000@300000@ + +/%%% End of file: \/etc\/texmf\/texmf.d\/95NonPath.cnf/ d --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.menu +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.menu @@ -0,0 +1,16 @@ +?package(texlive-base-bin):\ + needs="x11"\ + section="Applications/Viewers"\ + title="XDvi"\ + command="/usr/bin/xdvi"\ + hints="DVI,Documents" +?package(texlive-base-bin):\ + needs="text"\ + section="Applications/System/Administration"\ + title="TeXconfig"\ + command="/usr/bin/texconfig" +?package(texlive-base-bin):\ + needs="x11"\ + section="Help" \ + title="TeXdoctk"\ + command="/usr/bin/texdoctk" --- texlive-bin-2007.dfsg.1.orig/debian/libkpathsea-dev.README +++ texlive-bin-2007.dfsg.1/debian/libkpathsea-dev.README @@ -0,0 +1,24 @@ +Why a new soname of libkpathsea in teTeX 3.0? +--------------------------------------------- + +We're just quoting Olaf Weber, the author of web2c. The full message can be +found on: +http://lists.debian.org/debian-tetex-maint/2004/03/msg00181.html + +"libkpathsea moved from using klibtool (a web2c-specific libtool-like hack) +to libtool. As a result it acquired a new soname. +libkpathsea was not designed to work well as a shared library, and has +numerous flaws in that area -- in particular, too many internals are +exposed, and too much is hard-coded." + +Olaf does not expect too many changes in the API of the libkpathsea between +teTeX 2.0.2 and 3.0 so just relinking the programs should be sufficient. +However that is not really predictable. + +"So at present my advice is that it's better to be safe than sorry, and +enforce that the version of libkpathsea matches the program's version." + +A new redesigned libkpathsea, which is really a shared lib, is on his TODO +list, but he can't say when it will be released. + + -- Frank Kster , Wed Aug 24 12:54:11 2005 --- texlive-bin-2007.dfsg.1.orig/debian/libkpathsea4.install +++ texlive-bin-2007.dfsg.1/debian/libkpathsea4.install @@ -0,0 +1,3 @@ +build/source/inst/lib/libkpathsea.so.4.0.0 usr/lib/ +build/source/inst/lib/libkpathsea.so.4 usr/lib/ +build/source/texk/kpathsea/ChangeLog usr/share/doc/libkpathsea4 --- texlive-bin-2007.dfsg.1.orig/debian/libkpathsea-dev.install +++ texlive-bin-2007.dfsg.1/debian/libkpathsea-dev.install @@ -0,0 +1,4 @@ +build/source/inst/lib/libkpathsea.a usr/lib/ +build/source/inst/lib/libkpathsea.so usr/lib/ +build/source/inst/include/kpathsea/* usr/include/kpathsea/ +build/source/texk/kpathsea/ChangeLog usr/share/doc/libkpathsea-dev/ --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.NEWS +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.NEWS @@ -0,0 +1,18 @@ +texlive-bin (2007-11) unstable; urgency=low + + * Reinstalling removed conffiles + + Due to a bug in the postrm script of tetex-base in etch, purging this + package removes essential configuration files of texlive packages. + The presence of some of these configuration files are essential for + the configuration and function of TeX Live. Therefore, the files + + /etc/texmf/web2c/mktex.cnf + /etc/texmf/tex/generic/config/pdftexconfig.tex + /etc/texmf/metafont/misc/modes.mf + + will be recreated whenever they are detected as missing. In the + unlikely case that you hacked your system to not require these files, + keep them present as empty files. + + -- Frank Küster Thu, 31 May 2007 10:32:21 +0200 --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.preinst.post +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.preinst.post @@ -0,0 +1,31 @@ +# texlive-base-bin.preinst.post begin + + +# unfortunately version 2007-12 of texlive-bin ships a config.ps in +# /u/s/texlive-bin which is NOT equal to /e/texmf/dvips/config/config.ps +# in the same version. +# We fix this by applying a magic sed command that transforms the one +# shipped in /u/s/texlive-bin into the old config file +case "$1" in + upgrade) + if [ -n "$2" ] && dpkg --compare-versions "$2" eq 2007-12; then + if ! [ -f /etc/texmf/dvips/config/config.ps ] ; then + mkdir -p /etc/texmf/dvips/config + echo "Reinstalling deleted mandatory conffile config.ps" >&2 + cat /usr/share/texlive-bin/config.ps | \ + sed -e "s@% z1 is \"secure\", i.e., inhibits execution of \`shell commands\` in@% Run securely. z2 disables both shell command execution in\n% \`\\\\special' and config files \(via the \`E\' option\) and opening of any\n% absolute filenames. z1, the default, forbids shell escapes but@" | \ + sed -e "s@% \\\\specials. Dvips allows this by default.@% allows absolute filenames. z0 allows both. The corresponding\n% commandline options are -R0|-R1|-R2@" > /etc/texmf/dvips/config/config.ps + fi + fi + ;; + *) + ;; +esac + +# Cleanup after Bug #420390 for sid users +# For config.ps and upgrade from 2007-12 this is done as above, but +# as soon as -12 has vanished we can delete the above code! +resurrect_conffile_sid /etc/texmf/tex/generic/config/pdftexconfig.tex texlive-bin "$1" "$2" +resurrect_conffile_sid /etc/texmf/dvips/config/config.ps texlive-bin "$1" "$2" + +# texlive-base-bin.preinst.post end --- texlive-bin-2007.dfsg.1.orig/debian/libkpathsea-dev.preinst.pre +++ texlive-bin-2007.dfsg.1/debian/libkpathsea-dev.preinst.pre @@ -0,0 +1,9 @@ +# libkpathsea-dev.preinst.pre +# remove link of doc file as shipped with up to version 3.0 + +if [ -L /usr/share/doc/libkpathsea-dev ] ; then + if [ "$(readlink -n /usr/share/doc/libkpathsea-dev)" = libkpathsea4 ] ; then + rm /usr/share/doc/libkpathsea-dev + fi +fi + --- texlive-bin-2007.dfsg.1.orig/debian/rules +++ texlive-bin-2007.dfsg.1/debian/rules @@ -0,0 +1,145 @@ +#!/usr/bin/make -f +# +# debian/rules file for texlive-bin +# $Id: rules.in 2941 2007-06-05 14:16:46Z preining $ + +PACKAGES=texlive-base-bin texlive-extra-utils texlive-font-utils texlive-metapost texlive-omega texlive-xetex texlive-music texlive-lang-indic texlive-metapost-doc texlive-base-bin-doc +METAPACKAGES=libkpathsea4 libkpathsea-dev + +SHELL=/bin/bash + +# needed for quilt: +export QUILT_PATCHES=./debian/patches + + +build: build-stamp + + +# still statically links some libs, most notably icu-xetex. +export TL_CONFIGURE_ARGS=--without-lcdf-typetools --without-dvipng --without-dvipdfmx \ + --without-dvi2tty --without-texinfo --without-musixflx --without-texi2html \ + --without-ps2eps --without-psutils --without-sam2p \ + --without-t1utils --without-cjkutils --without-dvi2tty --without-dvidvi \ + --without-lacheck --without-tex4htk --without-ttf2pk \ + --with-system-ncurses --with-system-pnglib --with-system-zlib --with-system-gd \ + --with-system-tifflib --with-system-wwwlib --with-system-t1lib \ + --with-system-freetype --with-system-freetype2 \ + --with-freetype2-include=/usr/include/freetype2 \ + --with-x --with-xdvi-x-toolkit=xaw --with-mf-x-toolkit \ + --enable-ipc --enable-shared=default \ + --without-install-extra + +unpack-stamp: + mkdir -p build + cd build && tar -xjf ../source/source.tar.bz2 + touch unpack-stamp + +configure-stamp: patch-stamp + cd build/source && ./Build configure + touch $@ + +build-stamp: configure-stamp + cd build/source && ./Build --no-clean build + # we disable the extra stuff in the build process (mktexlsr, texlinks + # updmap-sys, fmtutil-sys, but we need the links, so we create them + # with texlinks now + # Is there a better way to find out where the files end up under + # inst/bin/ ? + # this is done by dh_installtex now + #PATH=`pwd`/`ls -d build/source/inst/bin/*`:$$PATH texlinks --cnffile `pwd`/texmf/web2c/fmtutil.cnf + # the following works also on non-i386 arch as the Tpm arch is set + # to i386-linux in the tpm2deb.pl file. So the build binaries (of any + # architecture) will be found in bin/i386-linux. + mkdir -p bin/i386-linux + cp -a build/source/inst/bin/*/* bin/i386-linux/ + cp -a bin.special/* bin/i386-linux/ + # remove wrongly created rpath entry + for i in bin/i386-linux/* ; do chrpath -d $$i 2>/dev/null || true ; done + for i in build/source/inst/texmf/web2c/*.pool ; do \ + cp $$i texmf/web2c/ ; \ + done + touch build-stamp + +patch-stamp: unpack-stamp + +patch-stamp: + quilt push -a + touch $@ + +unpatch: + # unapply patches, not giving an error when quilt says "No patch removed" + quilt pop -a || [ $$? = 2 ] + rm -f patch-stamp + +clean: unpatch + for i in $(PACKAGES) $(METAPACKAGES) ; do \ + rm -f debian/$$i.{README.Debian,links,links.generated} ; \ + rm -f debian/$$i.{postinst,postrm,preinst,prerm} ; \ + rm -f debian/$$i.{maps,languages,formats} ; \ + done + rm -rf build/source/Work build/source/inst + rm -rf bin + rm -f texmf/web2c/*.pool + rm -f texmf-dist/source/plain/pdcmac/config.status + dh_clean + rm -f configure-stamp + rm -f build-stamp + rm -f install-stamp + +install: install-stamp + +install-stamp: build-stamp + perl debian/tpm2deb-bin.pl --nosource $(PACKAGES) $(METAPACKAGES) + for i in $(PACKAGES) $(METAPACKAGES) ; do \ + if [ -d debian/$$i.root ] ; then bash debian/merge-dist-tree debian/$$i.root debian/$$i ; fi ; \ + bash debian/generate-license-file $$i ; \ + rm -rf debian/$$i/usr/share/texmf-texlive/tpm ; \ + install -D --mode=644 debian/$$i.override debian/$$i/usr/share/lintian/overrides/$$i ; \ + install -D --mode=755 debian/bug.script debian/$$i/usr/share/bug/$$i/script ; \ + install -D --mode=644 debian/bug.control debian/$$i/usr/share/bug/$$i/control ; \ + bash debian/create-doc-links $$i texlive-doc > debian/$$i.links ; \ + if [ -r debian/$$i.links.dist ] ; then cat debian/$$i.links.dist >> debian/$$i.links ; fi ; \ + if [ -r debian/$$i.README ] ; then cat debian/$$i.README > debian/$$i.README.Debian ; fi ; \ + cat debian/README.Debian >> debian/$$i.README.Debian ; \ + done + touch install-stamp + +binary-indep: + +binary-arch: build install + dh_testdir + dh_testroot + dh_install + dh_installmenu + dh_installdocs -A debian/README.Debian-source + dh_installtex -Ntexlive-base-bin -Nlibkpathsea4 \ + -Nlibkpathsea-dev -A --priority=10 \ + texmftrees=/usr/share/texmf-texlive + dh_installtex -ptexlive-base-bin --priority=10 \ + --flavor=format:build_all \ + texmftrees=/usr/share/texmf-texlive + dh_installchangelogs + bash debian/convert-info-files-to-unix.sh + bash debian/fix-manpages.sh + dh_installinfo + dh_installmime + dh_link + dh_compress -X.pdf + dh_fixperms + dh_makeshlibs -plibkpathsea4 -V 'libkpathsea4 (>= 2007)' + dh_strip + dh_shlibdeps -L libkpathsea4 -l debian/libkpathsea4/usr/lib + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch + +.PHONY: build clean binary-indep binary-arch binary install + +check_texmfcnf: + sh debian/compare-texmf.cnf.sh + + +# eof --- texlive-bin-2007.dfsg.1.orig/debian/control +++ texlive-bin-2007.dfsg.1/debian/control @@ -0,0 +1,216 @@ +Source: texlive-bin +Section: tex +Priority: optional +Maintainer: Debian TeX Maintainers +Uploaders: Norbert Preining , Frank Küster +Build-Depends: debhelper (>= 5), libxml-dom-perl, libappconfig-perl, quilt, libxml-regexp-perl, libxml-perl, sharutils, ed, bzip2, libncurses5-dev | libncurses-dev, libxaw7-dev, libpng12-dev | libpng-dev, zlib1g-dev | libz-dev, libgd2-xpm-dev | libgd2-noxpm-dev, flex, bison, tex-common (>= 1.7), libpoppler-dev (>= 0.6), eperl, chrpath +Standards-Version: 3.7.2 + +Package: texlive-base-bin +Architecture: any +Depends: perl, ed, mime-support, ${shlibs:Depends}, texlive-common (>= 2007) +Recommends: perl-tk, texlive-base-bin-doc +Suggests: gs-gpl | gs-esp | gs-afpl, xpdf-reader | pdf-viewer, gv | postscript-viewer +Replaces: texlive-extra-utils (<= 2007-7), texlive-pdfetex, tetex-bin (<< 2007) +Description: TeX Live: Essential binaries + These programs are regarded as basic for any TeX system. + . + This package includes the following CTAN packages: + bin-bibtex -- Bibliography management for LaTeX. + bin-dialog -- Dialog: display dialog boxes in shell script. + bin-dvipdfm -- A dvi-to-PDF driver. + bin-dvipsk -- Convert DVI to Postscript - with KPSE search path. + bin-etex -- The e-tex package. + bin-getnonfreefonts -- getnonfreefonts script. + bin-gsftopk -- No caption. + bin-kpathsea -- Path searching library for TeX-related files. + bin-makeindex -- Process index output to produce typesettable code. + bin-metafont -- The Metafont program. + bin-mfware -- mfware binaries. + bin-pdftex -- Generate PDF from TeX directly. + bin-tetex -- The TeX distribution for Unix/Linux. + bin-tex -- The TeX engine binary. + bin-texconfig -- The texconfig tool to administrate the TeX system. + bin-xdvi -- A dvi previewer for the X Window System. + bin-thumbpdf -- Thumbnails for pdfTeX and dvips/ps2pdf. + bin-texdoc -- Documentation files for teTeX-texmf. + +Package: texlive-extra-utils +Architecture: any +Depends: ${shlibs:Depends}, texlive-base (>= 2007-11), texlive-common (>= 2007) +Recommends: dviutils, dvi2tty, dvidvi, lacheck +Suggests: gs-gpl | gs-esp | gs-afpl +Replaces: texlive-pdfetex +Description: TeX Live: TeX auxiliary programs + Various useful, but non-essential, support programs. Includes + programs and macros for DVI file manipulation, literate programming, + PerlTeX, patgen, etc. + . + This package includes the following CTAN packages: + cweb -- A system for Structured Software Documentation in C. + mkind-english -- The mkind-english package. + bin-bibtex8 -- Bibliography management for LaTeX. + bin-ctie -- The TeX engine binary. + bin-cweb -- Web litterate programming system for C, C++ and Java. + bin-detex -- Filter to remove (La)TeX control sequences. + bin-dtl -- The DTL (DVI Text Language) package. + bin-dvicopy -- Copy DVI files while expanding VF's. + bin-dviljk -- DVI driver for HP LaserJet printers. + bin-patgen -- The TeX engine binary. + bin-pdftools -- Support tools for PDF files. + bin-seetexk -- The SeeTeXk DVI tools. + bin-texware -- TeX support tools: dvitype, pooltype + bin-tie -- The TeX engine binary. + bin-tpic2pdftex -- Convert tpic \specials from (groff-)pic graphics for + pdfTeX use. + bin-vpe -- vpe script. + bin-web -- Establishes a page layout for an on-screen (PDF) document. + +Package: texlive-font-utils +Architecture: any +Depends: ${shlibs:Depends}, texlive-base (>= 2007-11), texlive-common (>= 2007) +Replaces: tetex-bin (<< 2007) +Description: TeX Live: TeX font-related programs + Programs for conversion between font formats, testing fonts + (virtual fonts stuff, .gf and .pk manipulation, + mft, fontinst, etc.) + . + This package includes the following CTAN packages: + fontinst -- Help with installing fonts for TeX and LaTeX. + mft -- Literate metafonting + bin-afm2pl -- AFM font metrics to TeX pl converter. + bin-fontware -- Fontware binaries. + bin-ps2pkm -- Type1 to PK converter. + bin-ttfutils -- TTF support tools. + +Package: texlive-metapost +Architecture: any +Depends: ${shlibs:Depends}, texlive-base (>= 2007-11), texlive-common (>= 2007) +Recommends: texlive-metapost-doc, feynmf +Replaces: texlive-latex-extra (<= 2005-2), tetex-bin (<< 2007) +Description: TeX Live: MetaPost (and Metafont) drawing packages + MetaPost (and Metafont) drawing packages + . + This package includes the following CTAN packages: + cmarrows -- The cmarrows package. + emp -- "Encapsulate" MetaPost figures in a document. + expressg -- Diagrams consisting of boxes, lines, and annotations. + exteps -- The exteps package. + featpost -- 3D MetaPost. + hatching -- METAPOST macros for hatching interior of closed paths. + latexmp -- Interface for LaTeX-based typesetting in MetaPost + metaobj -- Metapost package providing high-level objects. + metaplot -- Plot-manipulation macros for use in Metapost. + metapost -- A development of Metafont that generates PostScript output. + metauml -- The metauml package. + mfpic -- Draw Metafont/Post pictures from LaTeX commands. + mp3d -- The mp3d package. + mpattern -- Patterns in MetaPost. + piechartmp -- Draw pie-charts using MetaPost. + roex -- A MetaFont-PostScript link. + slideshow -- The slideshow package. + splines -- The splines package. + textpath -- The textpath package. + bin-metapost -- No caption. + +Package: texlive-omega +Architecture: any +Depends: ${shlibs:Depends}, texlive-base (>= 2007-11), texlive-common (>= 2007), texlive-latex-base (>= 2007-11) +Conflicts: aleph +Description: TeX Live: Omega + Omega, a 16-bit extended TeX by John Plaice and Yannis Haralambous + . + This package includes the following CTAN packages: + antomega -- Alternative language support for omega/lambda. + lambda -- LaTeX format based on the Omega engine. + mxd -- The mxd package. + mxedruli -- No caption. + omega -- Omega. + bin-aleph -- The Omega extended TeX engine. + bin-omega -- Omega. + bin-omegaware -- The Omega extended TeX engine. + +Package: texlive-xetex +Architecture: any +Depends: ${shlibs:Depends}, texlive-base (>= 2007-11), dvipdfmx, texlive-common (>= 2007) +Description: TeX Live: XeTeX macros + Macro files for XeTeX, Unicode-enabled TeX by Jonathan Kew. + . + This package includes the following CTAN packages: + euenc -- The euenc package. + fontspec -- An automatic interface to feature-rich fonts in XeLaTeX. + ifxetex -- The ifxetex package. + philokalia -- The philokalia package. + xetex -- The xetex package. + xetexconfig -- non-graphics .cfg file overrides for XeTeX + xetexurl -- url.sty patched for XeTeX + xltxtra -- The xltxtra package. + xunicode -- The xunicode package. + bin-xetex -- Unicode-enabled TeX. + +Package: texlive-music +Architecture: any +Depends: musixtex (>= 0.112.2-1), ${shlibs:Depends}, musixtex-slurps (>= 92a-4), texlive-common (>= 2007), musixlyr (>= 2.1c-3), texlive-latex-base (>= 2007-11) +Replaces: texlive-latex-extra (<< 2007) +Description: TeX Live: Music typesetting + Music typesetting packages + . + This package includes the following CTAN packages: + abc -- The abc package. + guitar -- Guitar chords and song texts. + musictex -- Typesetting music with TeX. + songbook -- Package for typesetting song lyrics. + +Package: texlive-lang-indic +Architecture: any +Depends: python, ${shlibs:Depends}, texlive-base (>= 2007-11), texlive-common (>= 2007) +Recommends: latex-sanskrit (>= 2.2-1) +Description: TeX Live: Indic + Essential indic + . + This package includes the following CTAN packages: + bangtex -- Class files for writing Bangla and Asamese with LaTeX. + bengali -- The bengali package. + burmese -- Basic Support for Writing Burmese. + ebong -- The ebong package. + itrans -- Transliteration of Indian Languages. + malayalam -- Fonts for typesetting Malayalam, with a pre-processor. + omega-devanagari -- The omega-devanagari package. + velthuis -- Typesetting Devanagari. + wnri -- No caption. + wntamil -- Tamil to TeX converter. + bin-devnag -- Binaries for the Devnag preprocessor. + bin-ebong -- Define LaTeX macros using Perl + +Package: libkpathsea4 +Section: libs +Architecture: any +Depends: ${shlibs:Depends} +Description: TeX Live: path search library for TeX (runtime part) + This package contains the runtime part of the Kpathsea[rch] library, + which implements generic path searching, configuration, and + TeX-specific file searching. + +Package: libkpathsea-dev +Section: libdevel +Architecture: any +Depends: libkpathsea4, ${shlibs:Depends} +Description: TeX Live: path search library for TeX (development part) + This package contains the static library and header files for the + Kpathsea[rch] library. + +Package: texlive-metapost-doc +Section: doc +Architecture: any +Depends: ${shlibs:Depends} +Replaces: texlive-metapost (<= 2007-14) +Description: TeX Live: Documentation files for texlive-metapost + This package provides the documentation for texlive-metapost + +Package: texlive-base-bin-doc +Section: doc +Architecture: any +Depends: ${shlibs:Depends} +Replaces: texlive-base-bin (<= 2007-14) +Description: TeX Live: Documentation files for texlive-base-bin + This package provides the documentation for texlive-base-bin --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin.override +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin.override @@ -0,0 +1,4 @@ +texlive-base-bin: zero-byte-file-in-doc-directory +texlive-base-bin: extra-license-file +texlive-base-bin: script-not-executable +texlive-base-bin: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/source.lintian-overrides +++ texlive-bin-2007.dfsg.1/debian/source.lintian-overrides @@ -0,0 +1,3 @@ +texlive-bin source: maintainer-script-lacks-debhelper-token debian/common.functions.preinst +texlive-bin source: maintainer-script-lacks-debhelper-token debian/common.functions.postinst +texlive-bin source: maintainer-script-lacks-debhelper-token debian/common.functions.postrm --- texlive-bin-2007.dfsg.1.orig/debian/texlive-extra-utils.override +++ texlive-bin-2007.dfsg.1/debian/texlive-extra-utils.override @@ -0,0 +1,4 @@ +texlive-extra-utils: zero-byte-file-in-doc-directory +texlive-extra-utils: extra-license-file +texlive-extra-utils: script-not-executable +texlive-extra-utils: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-font-utils.override +++ texlive-bin-2007.dfsg.1/debian/texlive-font-utils.override @@ -0,0 +1,4 @@ +texlive-font-utils: zero-byte-file-in-doc-directory +texlive-font-utils: extra-license-file +texlive-font-utils: script-not-executable +texlive-font-utils: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-metapost.override +++ texlive-bin-2007.dfsg.1/debian/texlive-metapost.override @@ -0,0 +1,4 @@ +texlive-metapost: zero-byte-file-in-doc-directory +texlive-metapost: extra-license-file +texlive-metapost: script-not-executable +texlive-metapost: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-omega.override +++ texlive-bin-2007.dfsg.1/debian/texlive-omega.override @@ -0,0 +1,4 @@ +texlive-omega: zero-byte-file-in-doc-directory +texlive-omega: extra-license-file +texlive-omega: script-not-executable +texlive-omega: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-xetex.override +++ texlive-bin-2007.dfsg.1/debian/texlive-xetex.override @@ -0,0 +1,4 @@ +texlive-xetex: zero-byte-file-in-doc-directory +texlive-xetex: extra-license-file +texlive-xetex: script-not-executable +texlive-xetex: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-music.override +++ texlive-bin-2007.dfsg.1/debian/texlive-music.override @@ -0,0 +1,4 @@ +texlive-music: zero-byte-file-in-doc-directory +texlive-music: extra-license-file +texlive-music: script-not-executable +texlive-music: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-lang-indic.override +++ texlive-bin-2007.dfsg.1/debian/texlive-lang-indic.override @@ -0,0 +1,4 @@ +texlive-lang-indic: zero-byte-file-in-doc-directory +texlive-lang-indic: extra-license-file +texlive-lang-indic: script-not-executable +texlive-lang-indic: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/libkpathsea4.override +++ texlive-bin-2007.dfsg.1/debian/libkpathsea4.override @@ -0,0 +1,4 @@ +libkpathsea4: zero-byte-file-in-doc-directory +libkpathsea4: extra-license-file +libkpathsea4: script-not-executable +libkpathsea4: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/libkpathsea-dev.override +++ texlive-bin-2007.dfsg.1/debian/libkpathsea-dev.override @@ -0,0 +1,4 @@ +libkpathsea-dev: zero-byte-file-in-doc-directory +libkpathsea-dev: extra-license-file +libkpathsea-dev: script-not-executable +libkpathsea-dev: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-metapost-doc.override +++ texlive-bin-2007.dfsg.1/debian/texlive-metapost-doc.override @@ -0,0 +1,4 @@ +texlive-metapost-doc: zero-byte-file-in-doc-directory +texlive-metapost-doc: extra-license-file +texlive-metapost-doc: script-not-executable +texlive-metapost-doc: wrong-name-for-upstream-changelog --- texlive-bin-2007.dfsg.1.orig/debian/texlive-base-bin-doc.override +++ texlive-bin-2007.dfsg.1/debian/texlive-base-bin-doc.override @@ -0,0 +1,4 @@ +texlive-base-bin-doc: zero-byte-file-in-doc-directory +texlive-base-bin-doc: extra-license-file +texlive-base-bin-doc: script-not-executable +texlive-base-bin-doc: wrong-name-for-upstream-changelog