27 | | ||カテゴリ(リポジトリのカテゴリ) ||パッケージの組み合わせ||texlive-collections-* の生成||{{{$ du -hsc texmf texmf-dist}}}||コメント|| |
28 | | ||最小(main)||texlive + texlive-common (= texlive-collection-langgerman + texlive-collection-langcyrillic + texlive-collection-xetex + texlive-collection-latexrecommended + texlive-collection-latex + texlive-collection-fontsrecommended + texlive-collection-basic) + jvf + texlive-macros|| {{{ $ tlpdb2rpmspec --minimal-collections }}} || 205M ||teTeX 3.0 + α|| |
29 | | ||標準(plus)|| + texmacro-otf + texlive-collection-latexextra + texlive-collection-luatex + texlive-collection-pictures + texlive-collection-genericrecommended + texlive-collection-pstricks|| {{{ $ tlpdb2rpmspec --standard-collections }}} || 391M ||task-texlive|| |
30 | | ||最大(plus)|| + 残り全部 || {{{ $ tlpdb2rpmspec --full-collections }}} || --- || task-texlive-full || |
31 | | |
32 | | === 小さな TeX 環境 === |
33 | | teTeX 3.0 + α の構成で多くのユーザをカバーできていた?そうであれば、小さな TeX 環境を提供する価値はある! |
34 | | * ネットブックなどの小さなディスク(SSD, USB, SDHC など)に対して、小さな TeX 環境の提供は有効! |
35 | | * du -hsc /usr/share/texmf /usr/share/texmf-dist |
36 | | * main: apt-get install tetex; 79M |
37 | | * plus: apt-get task-tetex; 242M |
38 | | |
39 | | texmf-dist 以下の解体作業は、パッケージの量が多くて、到底すべて手動で管理しきれていない。 |
40 | | * tlpdb2rpmspec から texlive-collection-* のみを作成する。 |
41 | | * texlive2009.iso:/tlpkg/texlive.tlpdb |
42 | | |
43 | | === スキーマ === |
44 | | TeX 環境の構築を簡単にできるようにしておきたい!かつ、Requires: させるパッケージを厳選しておく。 |
45 | | * task-texlive |
46 | | * task-texlive-full |
47 | | |
48 | | |
49 | | === texlive === |
50 | | |
51 | | ptexlive-20100711 ベースにした TeX Live 2009 のパッケージ。 |
52 | | |
53 | | * e-pTeX: eptex-100420 に対応。 |
54 | | * luatex: --enable-luatex |
55 | | * xetex: --enable-xetex --enable-xdv2pdf --enable-xdvipdfmx |
56 | | * dvipdfmx: 別パッケージにせずに同梱。 |
57 | | * xdvik: 別パッケージにせずに同梱。 |
58 | | |
59 | | ディレクトリ構成は、teTeX のときからと同様。 |
60 | | |
61 | | * /usr/bin |
62 | | * /usr/share/ |
63 | | * /usr/share/texmf |
64 | | * /usr/share/texmf-dist |
65 | | * /usr/share/texmf-local |
66 | | * /usr/share/texmf-var |
67 | | * /usr/share/texmf-config |
68 | | * /var/lib/texmf |
69 | | |
70 | | texlive パッケージが提供されていない ''arch'' 上で、texlive をビルドするためには、 |
71 | | 一旦 --with firstbuild でビルドした texlive パッケージを作成します。 |
72 | | {{{ |
73 | | texlive-2009-Xvl6-src.rpm をダウンロード。 |
74 | | $ rpmbuild --rebuild --with firstbuild texlive-2009-Xvl6.src.rpm |
75 | | $ sudo apt-get install texlive-2009-Xvl6.''arch''.rpm libkpathsea*2009-Xvl6.''arch''.rpm libptexenc*2009-Xvl6.''arch''.rpm |
76 | | }}} |
77 | | |
78 | | --with firstbuild をはずして、texlive をリビルドします。 |
79 | | {{{ |
80 | | $ rpmbuild --rebuild texlive-2009-Xvl6.src.rpm |
81 | | $ sudo apt-get reinstall texlive-2009-Xvl6.''arch''.rpm |
82 | | }}} |
83 | | |
84 | | |
85 | | vbuilder を使って texlive をリビルドすることもできます。 |
86 | | {{{ |
87 | | $ rpmbuild -bs texlive-vl.spec |
88 | | $ vbuilder --version ''version'' --arch ''arch'' install-rpm texlive-sources |
89 | | $ vbuilder --version ''version'' --arch ''arch'' build-rpm texlive-2009-Xvl6.src.rpm |
90 | | }}} |
91 | | |
92 | | |
93 | | === texlive-collection-* === |
94 | | |
95 | | texlive2009.iso:/tlpkg/texlive.tlpdb において {{{category Collection}}} をフィールドに持つパッケージです。 |
96 | | |
97 | | tlpdb2rpmspec コマンドを使って、これらの rpm を生成します。 |
98 | | |
99 | | |
100 | | === texlive-common === |
101 | | |
102 | | TeX Live パッケージの共通ベースを提供するするための仮想パッケージ。 |
103 | | |
104 | | * texlive-collection-langgerman |
105 | | * texlive-collection-langcyrillic |
106 | | * texlive-collection-xetex |
107 | | * texlive-collection-latexrecommended |
108 | | * texlive-collection-latex |
109 | | * texlive-collection-fontsrecommended |
110 | | * texlive-collection-basic |
111 | | |
112 | | texlive-vl.spec で 6babel.sh を実行するために、texlive-common 以上の依存関係が必要。 |
113 | | |
114 | | |
115 | | === texlive-sources === |
116 | | |
117 | | TeX Live のアーカイブを展開して固めたパッケージ。 |
118 | | |
119 | | * /usr/share/texlive-sources |
120 | | * texmf |
121 | | * texmf-dist |
122 | | * source |
123 | | * ... |
124 | | |
125 | | === texlive-macros === |
126 | | |
127 | | 追加マクロパッケージ。 |
128 | | |
129 | | * kanjifonts |
130 | | * jsclasses |
131 | | * jlistings |
132 | | * ... |
133 | | |
134 | | === jvf === |
135 | | |
136 | | Vine Linux 用の vf をまとめたパッケージ。 |
137 | | |
138 | | === texmacro-otf === |
139 | | |
140 | | otf 1.5.6 |
141 | | |
142 | | === xdvi-search-el === |
143 | | |
144 | | TeX の src-special を Emacsen上で使用するための elisp。 |
145 | | |
146 | | === texworks === |
147 | | |
148 | | === lyx === |
149 | | |
150 | | === task-texlive, task-texlive-full === |
151 | | |
152 | | texlive 環境を一通りインストールするための仮想パッケージ。 |
153 | | |
154 | | task-texlive, task-texlive-full に対応する task-texlive-doc, task-texlive-full-doc も提供。 |
155 | | |
156 | | |
157 | | == tlpdb2rpmspec == |
158 | | |
159 | | texlive-collection-* の spec ファイルを生成するツールを作成しました。 |
160 | | |
161 | | tlpdb2rpmspec は texlive-vtlpkg パッケージに同梱されています。 |
162 | | |
163 | | http://trac.vinelinux.org/browser/projects/texlive-vtlpkg/trunk |
164 | | |
165 | | {{{ |
166 | | $ sudo apt-get install texlive-vtlpkg |
167 | | }}} |
168 | | |
169 | | |
170 | | === 初期設定 === |
171 | | |
172 | | /usr/share/texlive-vtlpkg/dot.vtlpkg.conf を ${HOME}/.vtlpkg.conf へコピーして、必要な設定をします。 |
173 | | {{{ |
174 | | ## |
175 | | ## texlive-vtlpkg configuration file |
176 | | ## |
177 | | ## This configuration is read at the startup of texlive-vtlpkg. |
178 | | |
179 | | ## set your vendor |
180 | | ## default: RPM_VENDOR="Project Vine" |
181 | | RPM_VENDOR="Project Vine" |
182 | | |
183 | | ## set your distribution |
184 | | ## default: RPM_DISTRIBUTION="Vine Linux" |
185 | | RPM_DISTRIBUTION="Vine Linux" |
186 | | |
187 | | ## set your name and your e-mail address |
188 | | ## default: RPM_GPG_NAME="YOUR NAME <your@email.address>" |
189 | | RPM_GPG_NAME="" |
190 | | |
191 | | ## set your packager id |
192 | | ## default: RPM_PACKAGER=your_id |
193 | | RPM_PACKAGER= |
194 | | |
195 | | ## set the top of your rpm directory |
196 | | ## default: RPM_TOPDIR=${HOME}/rpm |
197 | | RPM_TOPDIR=${HOME}/rpm |
198 | | |
199 | | ## end of file |
200 | | }}} |
201 | | |
202 | | |
203 | | === ヘルプ === |
204 | | |
205 | | {{{ |
206 | | $ tlpdb2rpmspec |
207 | | Usage: tlpdb2rpmspec [option] [pkgname] |
208 | | |
209 | | This script generates a rpm spec file for CTAN and collection-* packages of TeX Live. |
210 | | |
211 | | Options: |
212 | | --name: return [pkgname] |
213 | | --category: return the category of [pkgname] |
214 | | --revision: return the revision of [pkgname] |
215 | | --depend: return dependencies of [pkgname] |
216 | | --shortdesc: return the short description of [pkgname] |
217 | | --longdesc: return the description of [pkgname] |
218 | | --execute: return post processe of [pkgname] |
219 | | --catalogue-ctan: return the locate of [pkgname] |
220 | | --catalogue-date: return the last update of [pkgname] |
221 | | --catalogue-license: return the license of [pkgname] |
222 | | --catalogue-version: return the version of [pkgname] |
223 | | --filelist: return the filelist of [pkgname] |
224 | | --help: show this help |
225 | | |
226 | | Supoort collections-* packages: |
227 | | collection-basic |
228 | | collection-bibtexextra |
229 | | collection-binextra |
230 | | (snip) |
231 | | collection-xetex |
232 | | }}} |
233 | | |
234 | | |
235 | | === 使い方 === |
236 | | |
237 | | 例えば、collection-basic の texlive-collection-basic-vl.spec を生成したい場合は、以下を実行します。 |
238 | | |
239 | | {{{ |
240 | | $ tlpdb2rpmspec collection-basic > texlive-collection-basic-vl.spec |
241 | | }}} |
242 | | |
243 | | {{{rpmbuild -ba texlive-collection-basic-vl.spec}}} を実行すると、 |
244 | | texlive-collection-basic-2009-Xvl6.{noarch,src}.rpm, |
245 | | texlive-collection-basic-doc-2009-Xvl6.src.rpm |
246 | | がビルドされます。 |
247 | | |
248 | | 各カテゴリ別に texlive-collection-* を生成したい場合は、以下を実行することにより、rpmbuild まで実行します。 |
249 | | {{{ |
250 | | 最小(main):$ tlpdb2rpmspec --minimal-collections |
251 | | 標準(plus):$ tlpdb2rpmspec --standard-collections |
252 | | 最大?(plus):$ tlpdb2rpmspec --full-collections |
253 | | }}} |
254 | | |
255 | | |
256 | | == リポジトリ内の tetex -> texlive の解決すべきパッケージ == |
257 | | |
258 | | === 他のパッケージとのファイル競合 === |
259 | | * tipa -> obsolete done. |
260 | | * mathabx -> mathabx-type1 として abxtype1-YYYYMMDD.zip から提供される Type1 のみに re-package done. |
261 | | * psutils -> texlive 側で /man/ の衝突を除去 done. |
262 | | * t1utils -> texlive 側で /man/ の衝突を除去 done. |
263 | | * asymptote -> texlive 側で衝突を除去 done. |
264 | | * ... |
265 | | |
266 | | === apt-cache whapdepends tetex === |
267 | | * tipa: obsolete <- collection-fontsrecommended (tipa) done. |
268 | | * ec-fonts-mftraced: obsolete <- collection-fontsextra (cm-super) done. |
269 | | * tgif2tex: R: texlive done. |
270 | | * mftrace.ARCH: R: texlive done. |
271 | | * lyx.ARCH: R: texlive done. |
272 | | * linuxdoc-tools.ARCH: R: texlive done. |
273 | | * hevea.ARCH: R: texlive done. |
274 | | * geany-plugins-geanylatex: toshi_kd2 -san done. |
275 | | * latex2html: done. |
276 | | |
277 | | == TeX 関係の /usr/bin 以下にあるシンボリックリンク == |
278 | | |
279 | | 各シンボリックリンクは、実ファイル・パスを含むパッケージに吸収させる。 |
280 | | |
281 | | texlive-2009-18vl6 から 2009-19vl6 への更新では、 |
282 | | 以下のチェックスクリプトを利用して、 |
283 | | 然るべき texlive-collection-<package> にいれこんだ。 |
284 | | |
285 | | {{{ |
286 | | #!/bin/bash |
287 | | |
288 | | rpm -q --quiet task-texlive-full-doc |
289 | | [ $? -ne 0 ] && \ |
290 | | echo "Usage: $(basename $0) > result.txt" && \ |
291 | | echo "please install task-texlive-full-doc" && \ |
292 | | exit 1 |
293 | | |
294 | | ( |
295 | | cd /usr/bin |
296 | | for lnk in $(rpm -ql texlive | grep /usr/bin); do |
297 | | [ -L $lnk ] || continue |
298 | | rlnk=$(readlink $lnk | sed -e "s|../|/usr/|") |
299 | | #echo "$(rpm -qf $rlnk),$lnk,$rlnk,$(head -n 1 $lnk)" |
300 | | echo "$(rpm -qf --qf '%{name}' $rlnk),$lnk,$rlnk" |
301 | | done |
302 | | ) | sort | grep -v texlive-2009 |
303 | | |
304 | | exit |
305 | | }}} |
306 | | |
307 | | 実行結果 |
308 | | {{{ |
309 | | texlive-collection-binextra,/usr/bin/dviasm,/usr/share/texmf-dist/scripts/dviasm/dviasm.py |
310 | | texlive-collection-binextra,/usr/bin/findhyph,/usr/share/texmf-dist/scripts/findhyph/findhyph |
311 | | texlive-collection-binextra,/usr/bin/fragmaster,/usr/share/texmf-dist/scripts/fragmaster/fragmaster.pl |
312 | | texlive-collection-binextra,/usr/bin/latex2man,/usr/share/texmf-dist/scripts/latex2man/latex2man |
313 | | texlive-collection-binextra,/usr/bin/latexmk,/usr/share/texmf-dist/scripts/latexmk/latexmk.pl |
314 | | texlive-collection-binextra,/usr/bin/listings-ext.sh,/usr/share/texmf-dist/scripts/listings-ext/listings-ext.sh |
315 | | texlive-collection-binextra,/usr/bin/mkjobtexmf,/usr/share/texmf-dist/scripts/mkjobtexmf/mkjobtexmf.pl |
316 | | texlive-collection-binextra,/usr/bin/pdfcrop,/usr/share/texmf-dist/scripts/pdfcrop/pdfcrop.pl |
317 | | texlive-collection-binextra,/usr/bin/pkfix,/usr/share/texmf-dist/scripts/pkfix/pkfix.pl |
318 | | texlive-collection-binextra,/usr/bin/pkfix-helper,/usr/share/texmf-dist/scripts/pkfix-helper/pkfix-helper |
319 | | texlive-collection-binextra,/usr/bin/purifyeps,/usr/share/texmf-dist/scripts/purifyeps/purifyeps |
320 | | texlive-collection-binextra,/usr/bin/texcount,/usr/share/texmf-dist/scripts/texcount/texcount.pl |
321 | | texlive-collection-binextra,/usr/bin/texdiff,/usr/share/texmf-dist/scripts/texdiff/texdiff |
322 | | texlive-collection-binextra,/usr/bin/texdirflatten,/usr/share/texmf-dist/scripts/texdirflatten/texdirflatten |
323 | | texlive-collection-binextra,/usr/bin/texloganalyser,/usr/share/texmf-dist/scripts/texloganalyser/texloganalyser |
324 | | texlive-collection-context,/usr/bin/context,/usr/share/texmf-dist/scripts/context/stubs/unix/context |
325 | | texlive-collection-context,/usr/bin/ctxtools,/usr/share/texmf-dist/scripts/context/stubs/unix/ctxtools |
326 | | texlive-collection-context,/usr/bin/luatools,/usr/share/texmf-dist/scripts/context/lua/luatools.lua |
327 | | texlive-collection-context,/usr/bin/makempy,/usr/share/texmf-dist/scripts/context/stubs/unix/makempy |
328 | | texlive-collection-context,/usr/bin/mpstools,/usr/share/texmf-dist/scripts/context/stubs/unix/mpstools |
329 | | texlive-collection-context,/usr/bin/mptopdf,/usr/share/texmf-dist/scripts/context/stubs/unix/mptopdf |
330 | | texlive-collection-context,/usr/bin/mtxrun,/usr/share/texmf-dist/scripts/context/lua/mtxrun.lua |
331 | | texlive-collection-context,/usr/bin/mtxtools,/usr/share/texmf-dist/scripts/context/stubs/unix/mtxtools |
332 | | texlive-collection-context,/usr/bin/pdftools,/usr/share/texmf-dist/scripts/context/stubs/unix/pdftools |
333 | | texlive-collection-context,/usr/bin/pstopdf,/usr/share/texmf-dist/scripts/context/stubs/unix/pstopdf |
334 | | texlive-collection-context,/usr/bin/rlxtools,/usr/share/texmf-dist/scripts/context/stubs/unix/rlxtools |
335 | | texlive-collection-context,/usr/bin/runtools,/usr/share/texmf-dist/scripts/context/stubs/unix/runtools |
336 | | texlive-collection-context,/usr/bin/texexec,/usr/share/texmf-dist/scripts/context/stubs/unix/texexec |
337 | | texlive-collection-context,/usr/bin/texfont,/usr/share/texmf-dist/scripts/context/stubs/unix/texfont |
338 | | texlive-collection-context,/usr/bin/texmfstart,/usr/share/texmf-dist/scripts/context/ruby/texmfstart.rb |
339 | | texlive-collection-context,/usr/bin/textools,/usr/share/texmf-dist/scripts/context/stubs/unix/textools |
340 | | texlive-collection-context,/usr/bin/texutil,/usr/share/texmf-dist/scripts/context/stubs/unix/texutil |
341 | | texlive-collection-context,/usr/bin/tmftools,/usr/share/texmf-dist/scripts/context/stubs/unix/tmftools |
342 | | texlive-collection-context,/usr/bin/xmltools,/usr/share/texmf-dist/scripts/context/stubs/unix/xmltools |
343 | | texlive-collection-fontutils,/usr/bin/afm2afm,/usr/share/texmf-dist/scripts/fontools/afm2afm |
344 | | texlive-collection-fontutils,/usr/bin/autoinst,/usr/share/texmf-dist/scripts/fontools/autoinst |
345 | | texlive-collection-fontutils,/usr/bin/cmap2enc,/usr/share/texmf-dist/scripts/fontools/cmap2enc |
346 | | texlive-collection-fontutils,/usr/bin/epstopdf,/usr/share/texmf-dist/scripts/epstopdf/epstopdf.pl |
347 | | texlive-collection-fontutils,/usr/bin/font2afm,/usr/share/texmf-dist/scripts/fontools/font2afm |
348 | | texlive-collection-fontutils,/usr/bin/mkt1font,/usr/share/texmf-dist/scripts/accfonts/mkt1font |
349 | | texlive-collection-fontutils,/usr/bin/ot2kpx,/usr/share/texmf-dist/scripts/fontools/ot2kpx |
350 | | texlive-collection-fontutils,/usr/bin/pfm2kpx,/usr/share/texmf-dist/scripts/fontools/pfm2kpx |
351 | | texlive-collection-fontutils,/usr/bin/showglyphs,/usr/share/texmf-dist/scripts/fontools/showglyphs |
352 | | texlive-collection-fontutils,/usr/bin/vpl2ovp,/usr/share/texmf-dist/scripts/accfonts/vpl2ovp |
353 | | texlive-collection-fontutils,/usr/bin/vpl2vpl,/usr/share/texmf-dist/scripts/accfonts/vpl2vpl |
354 | | texlive-collection-langgreek,/usr/bin/mkgrkindex,/usr/share/texmf-dist/scripts/mkgrkindex/mkgrkindex |
355 | | texlive-collection-langindic,/usr/bin/ebong,/usr/share/texmf-dist/scripts/bengali/ebong.py |
356 | | texlive-collection-latex,/usr/bin/pdfatfi,/usr/share/texmf-dist/scripts/oberdiek/pdfatfi.pl |
357 | | texlive-collection-latexextra,/usr/bin/makeglossaries,/usr/share/texmf-dist/scripts/glossaries/makeglossaries |
358 | | texlive-collection-latexextra,/usr/bin/pdfannotextractor,/usr/share/texmf-dist/scripts/pax/pdfannotextractor.pl |
359 | | texlive-collection-latexextra,/usr/bin/pdfthumb,/usr/share/texmf-dist/scripts/ppower4/pdfthumb.tlu |
360 | | texlive-collection-latexextra,/usr/bin/perltex,/usr/share/texmf-dist/scripts/perltex/perltex |
361 | | texlive-collection-latexextra,/usr/bin/ppower4,/usr/share/texmf-dist/scripts/ppower4/ppower4.tlu |
362 | | texlive-collection-latexextra,/usr/bin/ps4pdf,/usr/share/texmf-dist/scripts/pst-pdf/ps4pdf |
363 | | texlive-collection-latexextra,/usr/bin/splitindex,/usr/share/texmf-dist/scripts/splitindex/perl/splitindex.pl |
364 | | texlive-collection-latexextra,/usr/bin/svn-multi,/usr/share/texmf-dist/scripts/svn-multi/svn-multi.pl |
365 | | texlive-collection-latexextra,/usr/bin/vpe,/usr/share/texmf-dist/scripts/vpe/vpe.pl |
366 | | texlive-collection-latexrecommended,/usr/bin/thumbpdf,/usr/share/texmf-dist/scripts/thumbpdf/thumbpdf.pl |
367 | | texlive-collection-pictures,/usr/bin/cachepic,/usr/share/texmf-dist/scripts/cachepic/cachepic.tlu |
368 | | texlive-collection-pictures,/usr/bin/epspdf,/usr/share/texmf-dist/scripts/epspdf/epspdf |
369 | | texlive-collection-pictures,/usr/bin/epspdftk,/usr/share/texmf-dist/scripts/epspdf/epspdftk |
370 | | texlive-collection-pictures,/usr/bin/fig4latex,/usr/share/texmf-dist/scripts/fig4latex/fig4latex |
371 | | texlive-collection-pstricks,/usr/bin/pst2pdf,/usr/share/texmf-dist/scripts/pst2pdf/pst2pdf.pl |
372 | | texlive-collection-science,/usr/bin/ulqda,/usr/share/texmf-dist/scripts/ulqda/ulqda.pl |
373 | | }}} |
374 | | |
375 | | |
376 | | == texlive パッケージのテスト事項 == |
377 | | |
378 | | === dvipdfmx: いくつかの画像形式の埋め込みをチェック === |
379 | | |
380 | | === luatex: zlib のバージョンチェック === |
381 | | |
| 46 | ||カテゴリ(リポジトリのカテゴリ) ||パッケージの組み合わせ||texlive-collections-* の生成||{{{$ du -hsc texmf texmf-dist}}}||コメント|| |
| 47 | ||最小(main)|| || || || || |
| 48 | ||標準(plus)|| || || || || |
| 49 | ||最大(plus)|| || || || || |