Skip to main content.

Re: Texinfo-4.0

Charles Wilson が cygwin-apps メーリングリストに投稿した、 texinfo パッケージを例としたパッケージ追加の方法です。

> texinfo-4.0(適切なパッチが当てられています)を texinfo-3.12 の置き
> 換えとして cygwin リリースに含めるにはどうすればよいかについて、
> 何らかのガイダンスを探しています。texinfo のようなパッケージを普
> 段扱っている人はどなたでしょう? 私が従うべき正式な手続きはどこに
> ありますか?(私はこのメーリングリストを読み始めてから、まだ日が浅
> いのです)。

原則:
  A. ソースの tar アーカイブは cygwin 上で正しくビルド出来るよう、
     既にパッチが宛てられた状態にする。
  B. ソースの tar アーカイブは以下のものを含んだ「CYGWIN-PATCHES」
     ディレクトリを含む。
      (a) cygwin 独自の README
      (b) cygwin 独自の(ソースアーカイブに既に適用されている)パッチ
      (c) 他の cygwin 特有のモノ
  C. バイナリパッケージは /usr/local/* ではなく /usr/* に
     インストールされるべきである。

ステップ 1.  cygwin のサーバから tex-3.12-X-src.tar.gz をダウンロード
する。誰がメンテナンスを行っているかを示す何らかの情報がないかを確認す
る。もし誰かが挙げられていたなら -- 彼に連絡する。そうでなければ次へ進
む。

ステップ 2.  source の展開:
   クリーンな tex-4.0.tar.gz ソースコードをダウンロードして展開する。
   ソースディレクトリの名称を変える(mv tex-4.0/ tex-4.0-orig/)
   コードを再度展開する。今や「tex-4.0」 (<tex-src>) と
   「tex-4.0-orig」が存在する。

ステップ 3.  あなたのパッチを適用する。
ステップ 4.  <tex-src> へ移動する。
ステップ 5.  CYGWIN-PATCHES ディレクトリを作成する。
ステップ 6.  CYGWIN-PATCHES/tex-4.0.README ファイルを作成する。このファ
イルは本パッケージについて記述されており、ビルド時そして使用時に必要と
なる情報を与える。
ステップ 7.  CYGWIN-PATCHES/tex-4.0.README を /usr/doc/Cygwin/ にイン
ストールするように、最上位の makefile を修正する。

ステップ 8.  <オプション> 他のドキュメントを /usr/doc/tex-4.0/* 
にインストールするよう、最上位の makefile を修正する(FAQ、README など
であり、man ページや info ファイルではない。それらは通常、デフォルトの
正しいディレクトリにインストールされる)。

ステップ 9.  迷子になったエディタのファイルやバックアップファイルを削
除する(例えば foo.c~)。

ステップ 10. パッチファイルを作成する:
   cd <tex-src>/..
   diff -urN tex-4.0-orig/ tex-4.0/ > tex-4.0-1.patch
   mv tex-4.0-1.patch <tex-src>/CYGWIN-PATCHES/

ステップ 11. cygwin 用のソース tar アーカイブを作成する:
   cd <tex-src>/..
   tar cvzf tex-4.0-1-src.tar.gz tex-4.0

ステップ 12. ビルドする:
   A. ./configure --prefix=/usr  (+ whatever flags are necessary)
   B. make
   C. make install prefix=/tmp/usr
   D. make test, make check, whatever..
これはインストール先を /usr にし、/usr が「有効」であるようにパッケー
ジをビルドするが、ステップ 13 の処理が行えるよう、実際のインストール先
を /tmp/usr にする。

ステップ 13. cygwin 用のバイナリ tar アーカイブを作成する:
   A. cd /tmp
   B. tar cvzf tex-4.0-1.tar.gz usr

今やあなたの手元には、
  tex-4.0-1-src.tar.gz  
    本パッケージに対する、パッチ済みの cygwin 独自のソースコード
  tex-4.0.tar.gz
    コンパイル済みバイナリ。内容物は usr/doc/Cygwin/ と 
    usr/doc/tex-4.0 にも含まれているべきである。
がある。

これが難しいのなら、再度説明します。

--Chuck