PATCH_RELEASE 9.88 KB


	パッチについて


I. 種類

        ・一般配布 ---- バグ修正
                    +
                    +-- 新機能追加

        ・一時配布 ---- 一時一般配布(全員に配布)
                    +
                    +-- 一時限定配布(特定者にのみ配布)

        ・永久限定配布 ---- マイクロコード限定版

        というように考える。ただし、形式上(名称も)区別するのは大区分、
        すなわち一般配布か一時配布か、あるいは永久限定配布か、3つの内
        のどれにあたるかで区別することにする。


        一般配布は通常のパッチであり、全ライセンシーに配布される。

        一時配布とは、何らかの理由(実際に使ってもらって感想を聞いたり、
        バグ出ししたい場合など)により、一時的に配布するものを指す。必
        ずしも全ライセンシーに配布されるとは限らない。(配布対象はリリー
        ス時に配布者が指定する。)

        一時配布は管理上の混乱を避けるため、速やかに一般配布に移行する
        こと。

        永久限定配布とは、一般配布することを考慮にいれない限定配布のこ
        とである。管理上の混乱を避けるため、特に他のツールやライブラリ
        と完全に独立したものである必要がある。現時点では、マイクロコー
        ドをゲームごとにカスタマイズしたもののみが対象になる。

II. 名称
        ただし以下において、yymmdd はパッチ作成日の1週間後の日付とする。

        ○一般配布

                patchNgyymmdd_ultra     ultra 用のパッチ
                patchNgyymmdd_64dd      64dd 用のパッチ
                patchNgyymmdd_naudio    naudio 用のパッチ

                但し、これらは過去にリリースされたパッチの累積とする。

		一般配布のみ、mp というツールで自動作成ができる。詳しく


		yuichan:/disk4/patch/patchmdev2/PR/patch/README

		を参照のこと。


        ○一時配布

                patchNtyymmdd_xxxxx

                過去のパッチは累積しない。(理由: このパッチが一般配付
                化する前に、次の一般配布パッチがでる可能性があるから)

                ただし、xxxxx はパッチの内容が分かる、4文字以上6文字
                程度までの英小文字からなる文字列とする。(このフィール
                ドがパッチ名の最後にあるため、5文字ちょうどにするメリッ
                トはあまりないように思われる)

		一般配布にするときは、必ず一般配布パッチを作り直し、(一
		時配布を出したところに対しても再度)リリースし直すこと。


        ○永久限定配布

                patchNpyymmdd_xxxxx

                過去のパッチは累積しない。

                ただし、xxxxx はパッチの内容が分かる、4文字以上6文字
                程度までの英小文字からなる文字列とする。

        *1週間後が休日だとしても、気にせずに名前付けをする。つまり、
         「980505」等の日付のついたパッチが出る可能性がある。
                →1週間後の日付を生成する部分を自動化したいから。
                  (祝日まではちょっと...)

III. 配付方式

	一般配布の場合は、下記のようになる。一時配布、永久限定配布の場合
	は、できる限り同様のディレクトリ構成にするようにする。

        <SGI 版>

        -+--INSTALL.jp   インストールする際の注意点のようなもの
         |
         +--<dist>
         |
         +--<doc>

        以上を DAT に。
                

        <PC 版>


        -+--INSTALL.jp   インストールする際の注意点のようなもの
         |
         +--<dist>      自己解凍ファイル
         |
         +--<doc>

        以上を CDROM に。

  (開発3部からのリリースとしては、メディアは問わないが、業務部にて上
  記メディアに格納されて配布される)


IV. ドキュメント

        INSTALL.jp(インストールする際の注意点)

          文面は、最初は例えば SGI 版なら
        「本 DAT を展開すると、下記のファイルが展開されます。

                -+--INSTALL.jp   このファイル
                 |
                 +--<dist>-+-- patchNg980201_ultra
                 |         |
                 |         +-- patchNg980201_ultra.dev
                 |         |
                 |         +-- patchNg980201_ultra.idb
                 |         |
                 |         +-- patchNg980201_64dd
                 |         |
                 |         +-- patchNg980201_64dd.dev
                 |         |
                 |         +-- patchNg980201_64dd.idb
                 |         |
                 |         +-- patchNg980201_naudio
                 |         |
                 |         +-- patchNg980201_naudio.dev
                 |         |
                 |         +-- patchNg980201_naudio.idb
                 |
                 +--<doc>--+--<ultra>--+--README.jp
                           |           |
                           |           +--Changefiles.jp                        
                           |
                        .............................
        
        swmgr を立ち上げて dist を指定して、全ファイルをインストールし
        てください。各パッチに関しては、対応する各 README.jp を参照し
        てください。」

          のようなものにします(PC 版では、dist の下が .exe ファイルに
        なる)。以降、例えばインストール時の質問等を「FAQ」のようなもの
        にするなどして、適宜追加します。

        「このドキュメントは、どこにもインストールされません。もし必要
        な方は、/usr/src/PR/doc/patches/にでも、コピーしてご利用くださ
        い。」という文言も入れることにする。


        <doc> の下の各プロダクトのディレクトリのファイルについて

        ○README.jp
                (リリースノート兼変更履歴)
                → /usr/src/PR/patches/ultra/ にもインストールされる。

         (文案)
                本パッチは yy/mm/dd 現在、2.0I に施された全てのバグの
                修正、および新機能の追加をするものです。なお、これらの
                修正時にどのファイルが変更されたかについては、
                Changefiles.jp を参照してください。

                本パッチをあてることにより、下記の変更がなされます。

                98/03/01
                        * XXXX の機能の xxx というバグを修正。
                
                98/02/14
                        * yyy をする機能を新規に追加。詳しくは DOC_yyy.jp
                        を参照してください。

                98/01/31
                        * 新機能 XXXX を追加。詳しくは DOC_XXXX.jp を
                        参照してください。

                (以上)

                上記のように、数行でその変更・新機能が記述できない場合
                は、別ドキュメントを同じディレクトリに入れる。「累積」
                なので、今後のパッチリリース時には、忘れずにこのファイ
                ルをインストールする。

        ○Changefiles.jp
                過去の変更ファイル履歴。その日付での変更ファイルは何だっ
                たかと、2.0I からの総ファイル変更履歴を両方のせる。
                → /usr/src/PR/patches/ultra/ にもインストールされる。
		一般配布のみに添付。

          (文案) <- 自動生成されるので、書く必要はない
                本パッチ(patchNgyymmdd_ultra)をインストールした際に、
                変更されるファイルは下記の通りです。

                <2.0Iからの変更・追加>
                        (変更)
                        /usr/include/PR/os.h
                        /usr/lib/libultra.a 内の xxxxxxx.o
                                                 yyyyyyy.o
                                                 zzzzzzz.o
                        /usr/lib/libultra_d.a 内の xxxxxxx.o
                                                   yyyyyyy.o
                                                   zzzzzzz.o
                        /usr/lib/libultra_rom.a 内の xxxxxxx.o
                                                     yyyyyyy.o
                                                     zzzzzzz.o

                        (追加)
                        /usr/sbin/XXXX
                        /usr/sbin/xxx
                        /usr/lib/libultra_rom.a 内の yyy.o

                <前のパッチからの変更・追加>
                98/03/01
                        (変更)
                        /usr/include/PR/os.h
                        /usr/sbin/xxx
                
                98/02/14
                        (変更)
                        /usr/include/PR/os.h
                        /usr/lib/libultra.a 内の xxxxxxx.o
                                                 yyyyyyy.o
                                                 zzzzzzz.o
                        /usr/lib/libultra_d.a 内の xxxxxxx.o
                                                   yyyyyyy.o
                                                   zzzzzzz.o
                        /usr/lib/libultra_rom.a 内の xxxxxxx.o
                                                     yyyyyyy.o
                                                     zzzzzzz.o

                        (追加)
                        /usr/lib/libultra_rom.a 内の yyy.o

                98/01/31
                        (変更)
                        /usr/include/PR/os.h

                        (追加)
                        /usr/sbin/XXXX
                        /usr/sbin/xxx           


                (以上)


        文書作成時ガイドライン
                ・PC 用は SJIS, 2byte 改行、UNIX 用は EUC, 1byte 改行。
                ・タブは使わない。
                ・1行72文字+α(漢字の半分はみ出しや、禁則文字)
                        最悪でも80文字に収める。


V. リリースの流れ

 	作成者が動作確認後、パッケージ化して業務、情開、3部の 2nd パー
	ティに開発三部として正式リリース(INSTALL.jp も付加)

 	業務部、(情開も?)にて最終確認

 	業務部、情開それぞれの判断で、必要に応じて INSTALL.jp を変更

 	変更した INSTALL.jp を3部に連絡、確認(メールで承認連絡)

 	業務部はライセンシへ、情開は 2nd パーティへ正式リリース

	3部は業務、情開の INSTALL.jp への変更を判断、次回リリースにい
	かしていく


VI. その他

        現在、ultra, naudio, 64dd の3つがあるが(SGI の場合)、該当外の
        リリースはしない。つまり、例えば今回 ultra のパッチをリリース
        するとして、過去に 64dd のパッチが累積していたとしても、そのと
        きにリリースするのは、patchNgyymmdd_ultra のみとする。

        SGI ではライブラリの更新は直接できないため、一旦テンポラリディ
        レクトリに .o ファイルをインストールし、その後更新用のシェルス
        クリプトを swmgr から自動起動して更新する。その際に使用するテ
        ンポラリディレクトリは /tmp/__64ospatches/ とする。(ただし、これ
	らの面倒なことは mp が自動的にしてくれる)