summaryrefslogtreecommitdiff
path: root/TODO
blob: a825e85df20d243bb644cd218bf251acd1db3838 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
$Id$
Public domain.  TODO:

0. 2009
1. Package updates
   a. add more packages
   b. fix ctan2tds and friends
   d. outstanding package updates
2. Source updates
3. Infrastructure and installer
4. random stuff


0. Things that have to hang fire until 2009
===========================================
- tlpkg/etc/2009.combined.patch
  Please see tlpkg/etc/2009.combined.patch.README, it currently includes
  besides other things:
  - move tlmgr to texlive.infra so bin-texlive doesn't have to be critical.
  - install rework-AddFormat-lines.patch and get rid of texmf/fmtutil.
  - rename 00texlive-installation.config to 00texlive.installation.
  	done in branch2009
- see tlpkg/etc/2009.*  (should all be in the above patch)
	done in branch2009
- switch to xz.
	done in branch2009
- change "binary files of PKG for ARCH" to "ARCH files of PKG"
	done in branch2009

  The above things have to me moved over by moving: tlpkg/TeXLive,
  texmf/scripts/texlive, install-tl, tlpkg/installer, and carefully syncing
  the tlpkg/tlpsrc directories. Unfortunately a simple svn merge will not 
  work, or better I do not trust it.

- reenable texlive.infra doc files to docpattern (see comments).
  (should probably be moved to the 2009.combined.patch)
- create collection-langlithuanian for lithuanian + hyphen-lithuanian.
- change V to 4 in dvipdfm/config (if we don't replace with dvipdfmx).
- finish removal of texinfo in the runtime.
- merge texmf-doc into texmf-dist; no language level, just do it in
  whatever directories make sense.
- create texmf-dist/tex/luatex for lua-inputenc and luamcallbacks, if
  not done already.
- kpsewhich default to "TeX system documentation" for *.pdf, *.html.
- add epspdf to doc/info/dir (should not be in bin-kpathsea, either).
- enable/write binpattern in
  {texloganalyser,svn-multi,splitindex,purifyeps,
   pkfix-helper,fragmaster}.tlpsrc. 
- add luatex-plain.mem generation per elie, plus
  luamplib, loaotfload, luatextra, luainputenc from elie
  plus hans's stuff for luatex.
- review comments in context.tlpsrc.
- move pkfix (and other scripts?) to texmf-dist, get symlinks right.
  and make pkfix its own package, not part of bin-dvipsk.
- remove bin-* prefixes from package names where possible, including makeindex.
- merge collection-ttfutils and collection-psutils into
  collection-fontbin. better name?
- new turkish collection with orkhun?
- move pkfix-helper, purifyeps, pdfcrop, fragmaster, bin-pdftools, others? from
  binextra to a collection-pdftools?  some other name?
- create ifluatex.tlpsrc (maybe also kvoptions, other oberdiek pkgs?),
  using +! f .../*ifluatex* in oberdiek.tlpsrc, or something.
  	done in branch2009
	has to be redone in main trunk
- luatex ini files from ~karl/tmp/inifiles.tgz
- use Tomek's .bat wrapper instead of the texlua/bat wrapper combination
- mv the .tlu files from texmf/scripts/texlive/ to different places
  according to the owning program
- create a texworks.tlpsrc, and on postinst create 
  	bin/$ARCH/texworks-setup.ini
  containing only
  	defaultbinpaths = ROOT/bin/$arch
  that should make it work out of the box. 
  Include it in collection-basic-bin ????
- move the new .bat stuff of Tomek from branch to trunk

1. Package updates
==================
Please see http://www.tug.org/texlive/pkgupdate.html.

And check/fix multiple files with the same name, especially with
different sizes and not under /source/ or /doc/ or /tex4ht/ -- kpse will
find one version at random.


1a. add more packages
---------------------
as we add new packages, be sure to add them to tlpkg-ctan-check.
ultimately, we want to go back and look at all the existing packages and
add them too.


1b. fix ctan2tds et al.
-----------------------
(Aside from the whole script being a horrible kludge that needs
rewriting from scratch.)

tlprm does not know how to delete all emptied parent directories.

etoolbox.pdf from CTAN is incorrectly guessed by svn to be text, thus
the result is corrupted when checked in.  So did:
  svn propset svn:mime-type application/octet-stream \
      /home/texlive/karl/Master/texmf-dist/doc/latex/etoolbox/etoolbox.pdf 
but of course somewhere in ctan2tl should check for this.  And we should
check nightly that all pdf files can be read by pdffonts; or maybe on
commit.

check all die messages for "sorry".

.tds.zip should run through jimh's checker before we believe it.

authorindex
	the perl file "authorindex" must be moved to source/latex/authorindex

latex2e-help-texinfo
	.info gets removed, but should really be installed under
	texmf/doc/info.  problem is multiple trees and place.  same
	problem with mkjobtexmf.man and thumbpdf.man.
	right now, we svn revert the texmf files by hand after --place
        and before commit ... not good.

%moreclean
	rerun every package listed in this hash to be sure changes
	around 24dec07 haven't broken things.  be careful.

place should run t1lint on pfb's.


1d. outstanding package updates
-------------------------------
run tlpkg-ctan-check --check

check all mentioned in staw msg on tldev, 23 Apr 2008 23:56:50.


magyar: should be included in babel but is lacking a dtx, see
http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4018
If not, should be removed cause duplicates magyar.ldf.

beebe needs tons of work
eulervm vs. euler vs. new euler ... no eulervm.pdf
logic/gn-logic14 conflicts with logic font
lshort-russian # only zip files on CTAN
ltxmisc various packages
malayalam 07-11-20 (tlpkginfo does not work on this) CTAN dir language/malayalam
malayalam-omega 07-11-20
mathspic # inside pictex later
mx NEW 08-01-26 a mexican dialect of spanish
plnfss # only a zip file on CTAN
r_und_s plain files should be in tex/plain, but does it matter?
thaifonts - was constructed by hand by extracting files from
  thailatex/fonts on ctan.  it would be better to install all of thailatex.
ethiop madness: combines ps-type1/ethiop and other packages.
pkfix madness: copy in texmf/scripts/pkfix, but no autoupdate there
- included in bin-dvips.tpm
- windows .bat version? some magical .exe
- ctan location is support/pkfix


1e. tlpsrc2tlpdb conversion
---------------------------
maybe should only find package names at the appropriate levels, so that
graphics.tlpsrc does not have to include lines like
docpattern +!d texmf-dist/doc/latex/tufte-latex/graphics

if ask for susy and have Susy, or reverse, complain.
In general, the package name field should match the directory.
(Except for our bin-* junk.)

Perhaps make new autopattern for context 3rd-party packages:
texmf-dist/tex/context/third/% etc.

2. Sources updates
==================
ncurses should be removed -- only dialog uses it, and can't it use a
system curses? already required for texinfo.  or maybe dialog is no
longer needed at all?


3. Infrastructure and installer
===============================

- _install_package in TLMedia and install_package in TLUtils appear to be
  doing basically the same job. This is bad.

- tlpobj vs actual files vs other packages installation, aka safer^2
  currently we just unpack what is in the tar file, but never check that
  the contents actually agrees with what is listed in the tlpdb. We not
  even check that the tlpobj contained in the container agrees with the
  tlpobj taken from the tlpdb. That allows to ship practically everything
  in the container, overwritting unrelated files.
  Also not checked is that unpacking the container does not overwrite
  files from a different package.

- use Net::ftp/http and keep connection open during download so not to 
  open a new connection for all the time...

- extend revisions (Master/tlpkg/etc/generalize-revisions.diff)
  (implemented and working)
  we want: NNN[.RRR]
  - NNN as normal revision number
  - .RRR to provide various upgrades (think of context providing
    packages with everyday addint +1 to the revision number they could
    easily overtake upstream texlive)

- multiple sources, see tlpkg/doc/multi-support.txt

- (Master/tlpkg/etc/installed_avail_archs.diff)
  for rational see the patch, but it should not be used.

- rewrite the installer to use TLMedia instead of the horrible hacks of
  TLUtils.

- change tl-update-tlnet and tlpkg-by-size to implicitly get the network
  release directory (tldev, 2008) instead of hardwiring.  Then update
  doc/packages.txt.

- fix the included "include schemes" patch to have the correct default 
  path components, it seems that per default 2008 is missing.

- add support for post{inst,rm} actions defined in the .tlpsrc files: The
  idea is to give a subroutine *body* like

  /----- some-package.tlpsrc -----------
  |name some-package
  |...
  |postrm
  | my ($texdir) = @_;
  | if (win32()) {
  |   remove_menu_shortcut($mainmenu, 'DVIOUT Dvi Viewer');
  | }
  |...
  \-------------------------------------

  and then call it in TLPostActions.pm in the following way:
  my $fun = "sub _temp_postrm_$package { " . $tlpobj->postrm . "};";
  eval $fun; # that defines the _temp_postrm_$package function
  &{_temp_postrm_$package}($texdir, $texdirw);
  undef &{_temp_postrm_$package};


tlmgr/tlmgr2 

MAYBE TODO (needs discussion)
- save the remote texlive.tlpdb and its md5-hash, and before downloading
  check only for the md5-hash of the remote tlpdb, and re-download only
  if necessary
    implementation ideas:
    . save the tlpdb in ROOT/tlpkg/texlive.tlpdb.<MD5SUM>
      where <MD5SUM> is md5hash of the location argument
      this way more than one location texlive.tlpdb can be saved
    . if tlmgr makes something which needs the remote database it
      tries to get the md5hash of the remote database
      (.../texlive.tlpdb.md5)
        -> if this does not work, assume that we are offline (tell the user)
           then use the local copy of the database
        -> if that worked, check the md5sum with the md5sum of the local
           copy of the remote tlpdb
           -> if they are equal continue with that
           -> if they are unequal try to download the new one
- ordering or collections removal (see below for details)
- (?) removal does not remove created format files from TEXMFSYSVAR
- after install/update show the number of bytes transfered 
  (email Rolf Niepraschk)
- move the remove_package function into TLPDB.pm, so that the remove_package
  from TLPDB actually removes the files, too. Maybe some better names
  are necessary.
  Maybe not a good idea ... not sure.


4. random stuff
===============
lcdf --with-cxx-runtime-hack to get static libs

kpse: texmfdbs should not have to exclude non-!! dirs, should be able to
  go back to just TEXMF.  kpathsea should search the disk even if ls-R is
  present, without !!. (koch 29dec06)

see about including pdfjam

rewrite updmap/fmtutil, texconfig
	. in perl
	. work with multiple updmap.cfg files independently

rework the psnfss/fonts/metrics chaos
	see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=433137
	(aren't there other more general debian bugs? utopia and fpl
	aren't the problem.)
With the metric files, the problem isn't so much the packaging as the
provenance.  We do not know where many of them came from, some
correspond to nonfree fonts, others are obsolete, etc., etc.  And yet,
removing any tfm at all will probably break documents and/or packages.
frank@kuesterei.ch's msgs to tex-live of 23 Oct 2006 19:19:28,
11 Oct 2006 13:32:20, and related begin to get at the problem.

bbold - get type1's from yytex repo, put on CTAN, etc.?

infra: texmf/xindy not reported by check-file-coverage though not in tlp's
infra: specify defaults for the package types
       (TLCore/Package/Documentation) in a *.tlpsrc instead of buried in
       the code, for transparency.
infra: consider removing texmf-doc
infra: scheme-minimal is not minimal.  Neither is collection-basic.  It
       ends up installing core latex due to dependencies.

repo: make special repo backups
repo: memman.pdf, etoolbox.pdf, hyperref README.pdf -- svn guesses
      wrongly that it is text, resulting pdf is junk, pdffonts can't
      read it for example.  original on ctan is fine.
      1) check for other broken pdf's.
      2) change place to 
        svn propset svn:mime-type application/octet-stream
         for all *.pdf.
      3) report heuristic bug to svn.


doc: texlive-en.tex:  Explain how (where) to customize texmf.cnf.
doc: web page on TeX (Live?) compilation
doc: utf-8 fails accent chars with texlive-ge

tex: implement fancier behavior at prompt file name, see knuth update notes
      and thread at http://tug.org/mailman/private/tex-implementors/2008/001925.html
tex: CTRL-C at "please enter file name" should dtrt
tex: --no-mktex=fmt  should be supported
pdfopen: fixed http://magic.aladdin.cs.cmu.edu/wp-uploads/mavpdfopensrc.zip
dvips: comment line break http://groups.google.com/group/comp.text.tex/browse_thread/thread/b8ed25cc6153d5c
dvips: \special{map: ...} a la \pdfmapline (reinhardk 30dec06)
dvips: maybe stuff from dvipsfnt.txt from yy

build: --without-omega (and aleph?) doesn't stop omega compilation.
build: remove ncurses and make dialog use system version

iso: optimize image, http://www.tina-vision.net/tina-knoppix/remastering.html

sigh: lm vs. ec, 3jun06/stubner.gz msg

announce: slashdot.org, freshmeat.net, prweb.com, prnewswire.com ?