配布パッケージを作るとどんな仕事があるのか
配布パッケージを作るには
- ツールを揃え、エディタ、Mew、IM、Perl を揃え、デフォルトの設定を決めます。
- インストーラーを作り、インストールできるかどうかのテストをします。
- これがうまくいけば説明を書いて、
そして可能な限り多くのプラットホームでテストをします。
- これもうまくいけば、1つにまとめてアーカイブします。
- Web サーバーに FTP します。(FTP でミスしたら、動きませんから)
- 可能な限り多くのプラットホームで、
アーカイブしたプログラムから正しくインストールできるかどうかをテストをします。
- 一箇所でも間違いがあったり、説明に不十分な点や間違いがあったら、
手順2へ戻ります。もっとも、誤字・脱字だけの場合は、
さすがに作り直す事はしません。
- 可能なら、 Windows95 を再インストールしたばかりのPCで、
問題無くインストールできるかどうかをテストをします。
これをしないと、既存の設定や既存のレジストリ、
自分が後から入れたツールがあるために、自分のテスト環境では動くものの、
みなさんの所では動かないというミスをして、迷惑をかけてしまいます。
ですから、最終テストのためには、
自分が使っているPCを、 Windows95 のインストールを HDD のフォーマットからやり直して、配布パッケージが問題無くインストールできるかどうかをテストをします。
不幸にして問題があれば、手順2へ戻ります。
しかし今回はそれをやる時間が無く、
「これから」になってしまいました。
- ウイルスチェックをします。ベクターさんでもやってはくれますが、
送る側としても、
手持ちのワクチンソフトで可能な限り最新のパターンでウイルスチェックをしてから送るというのは、
最低限の礼儀だと思います。
- ベクターさんの場合、登録フォームをこちらで書きます。
1KB 程度の紹介文はなるべく判りやすく、人目を引き、必要な事は盛り込み、
文句を言われる事を避けるために注意深く表現を選ぶので、
推敲にかなり時間がかかります。それをメールで送ります。
サポート
- 案内のためのページを用意します。
- メールで問い合わせがあった場合、
内容を読んでこちらで再現テストを行い、不具合原因を推察し、
対策案を考えてメールで送り、その結果どうなったかを教えてもらいます。
- 不具合が再現できない場合、特に私は Windows NT は使える環境に無いので、
返答に苦慮しているのが実情です。
また、症状を詳しく書いていない場合なども、様子が良く分からないので、
追加的な情報を送ってもらうようにメールを送ります。
- 配布パッケージに添付した説明ではわからなかったために戴く事になった疑問に関しては、 FAQ にまとめます。
出版社との折衝
時々出版社から掲載依頼が来ます。もちろん、差別する事はしませんが、
インターネットが普及するにつれ、まれに犯罪に使われたりすると、
非常にセンセーショナルな報道がなされるために、
コンピュータを使わない一部の人は、
インターネットをポルノや犯罪の温床と誤解しています。
そのため、こちらが存じていない出版社の方から掲載依頼が来た場合、
出版社の社会的評判といいますか、
- インターネットをポルノを見るための道具であるかのように誤り伝えている
- 公序良俗に反する雑誌を出していたり、ポルノ雑誌を主に出版している
- 犯罪の手口を教えたり、免れる方法を扱う雑誌を出版している
といった事が無いかどうかを確認しないと、
こういった出版社に収録されてしまうと、
後で私や、関係者の方が何を言われるか判ったものではないという恐怖があります。
もちろん、何もかも疑ったら何もできませんし、
水着写真があったから掲載拒否とか、そこまで極端ではないですが、
社会通念上、善良な会社である事の確認はさせていただいています。
これは、Web があれば、そこから会社の概要を判断させていただきます。
逆に、担当者のメールアドレスしか教えていただけない場合、
「なんでPC関係の出版をしているのに、Web すら無いの?」
「ここ、幽霊会社とか、何か変な会社じゃないよね、、、?」
という疑問が生じ、何度か出版社に確認のために
問い合わせのメールを書く事になります。
ある出版社の例
某月某日。知らない出版社から掲載依頼が来る。
「今日の何時までに許可のメールをください」との事。
こちらも帰宅が遅くなって、
家でコンピュータを一切やらない日もある。
俺様の書籍にお前のソフトを収録してやるんだありがたいと思え的な態度を始め、
一昨日出して一昨日返事しろとは何だと思っていたら、
今度は返事が無かったので特別に回答期限を延期するというメール。
しかも、他のソフトウェア作者のアドレスが Cc: で大量に付いている。
これは、プライバシー侵害の疑いがあり、謝罪すべきミスである。
PCや周辺機器・開発ソフトを購入する顧客になる見込みの高い、
業者によってはヨダレ物・値千金アドレス一覧だからだ。
Bcc: か Dcc: で出すべきなんだが、、、
他にも非常識の塊みたいでしたが、こういうのにも対応します。
ちなみに、収録するなら作者の一人からの許可はそちらで取って欲しい旨、
メールを送りました。以降、返事無し。
(これで収録されてたら抗議しないといけなくなりますが)
ツールを揃える苦労
これは無償で利用でき、再配布可能で、かつロングファイルネームが扱え、
Windows95 でも、 PC-9821 の Windows95 でも、 Windows NT でも動作し、
バグが無くてパッケージ作成用途に使える物、となります。
しかし、実際の所、
これらの条件を満たすツールを見つけるのは非常に時間がかかりました。
例えば、アーカイバですが、
ロングファイルネームに対応しているとはいえ、 DOSからの伝統だと思いますが、
ファイル名があって、ピリオドの後は拡張子だという前提の物があります。
それで、 .emacs というファイルや、 .im で始まるディレクトリがあると
- アーカイブされない
- 名前が変わってしまう
- 暴走する
というのがあって、苦しみました。
さらに、アーカイバは非常に種類が多いので、
これなら使えるかもしれないと目星を付けた物を、入手して、
説明を読んで、試して、
駄目なら別のツールを探すという作業を繰り返すので、非常に時間がかかります。
参考までに、苦労した想い出として
- tar, gzip, pkzip は非常に種類が多いので、使えるのを選ぶのが大変。
- pkzip でパッケージ本体を圧縮したら、
メモリ32MBのPCでは"Out of memory"になって伸長できなかった。
それで全面的に作り直しになった。
があります。 bzip2-0.1pl2 も、私の環境ではテストは通過するし、
伸長もできるのですが、特権保護違反も起きます。
それから、海外のツールは、
説明が英語の長文だったりするので、読んで使うだけで苦労します。
それを次から次と試すわけです。
現在配布キットの作成で利用させていただいているツールは LHUT32 です。
これでプログラムやツールを1つにまとめています。
(私が忘れないための手順の画面スナップショット)
苦節の make.exe
これだけでわざわざ項目を設けたくなるぐらい苦労しました。
そもそも前回の「簡単インストールパッケージ」改め「配布キット」にした理由は
インストール用のバッチファイルが Windows NT でインストールできないという指摘があった事でした。こちらは Windows NT は無いので、チェックできません。
そこで、UNIX 系のソフトでは当たり前のように使われる Make を採用する事にしました。
これは、 Mew や IM などのバージョンが上がっても対応しやすくするため、
かつ、配布「キット」なので、ユーザーが好みでアップグレードしたり、
Perl を別のものに取り替えたり、 PGP を追加しやすい事を願っていました。
しかし、インストールを全面的に make に依存するので、
ちゃんとした make かどうかが極めて重要になります。
最初は Cygnus の make ならまず動くだろうと思い、 cygwin.dll 無しで動く make を(cygwin.dll も GPL なので配布可能みたいですが、 make のためにそこまでするのは
大げさ過ぎると思った)使ってテストしました。
しかし、意図した通りには全然動かないので、 Makefile の中で cd だけ実行してどうなるか調べたら "Command not found" になりました。
どうも comamnd.com の内部コマンドは実行できないようです。
Makefile の中で SHELL=COMSPEC などとすれば内部コマンドが使えるようになるのかも
しれませんが、これですと、 Windows NT でも動作する事を願ってバッチファイルを
捨てて make にした意味が無くなるように思えた(私には Windows NT は無いので、
NT で comamnd.com が動くかどうかなどは確認できません)ので、
Cygnus の make でテストするのは中止し、別を探しました。
make.exe 1つで世界中を探し回らないといけない(日本の主要ダウンロードサイトには無かった)のでは先が思いやられますが、
DJGPPをあたりました。
結局、採用したのは mak377b.zip です。
これでも最近の PC-UNIX に付いている make に比べると、機能が限定されていますが、、、DJGPP の 95/NT で動作するという解説を信用しました。
今度はこの make が PC-9821 の Windows95 で動かないという問題が生じ、
原因を探っていたら、結局、 make.exe を実行しただけで特権保護違反が生じる
(インストールできる事もあるのですが)事がわかりました。
海外製のツールソフトは、 PC-9821 の Windows95 で動かない事は良くあります。
そこで、仕方なく捨てたバッチファイルを再度、書く羽目になりました。
これで2種類のインストール手順をサポートする結果となりました。
make の苦労話のオチ
ある日、ここ <http://www.mew.org/Win32/tool/> に VC++5.0J + SP3 でコンパイル済みの GNU make 3.77 が置いてあるのを「発見」しました。
(行方知れずだった fiber.exe も同じ所に、、、もう配布キットは作って投稿しちゃったよ)
さて、これでもう一度前述の「苦節の make.exe」を読むと、
結構笑えるんじゃないでしょうか。(^_^)
私などは、配布キットを作るために make を使いたいとは思いましたが、 make まで作るのは本末転倒の様な気がして、そこまでする気になれなかった(私は UNIX ユーザーなので、 make なんか最初から使えて当たり前だから、こんなのに苦労しなければいけないのではどうかしていると考えてしまう)のですが、
さすが <http://www.mew.org/Win32/> ですね。 make もちゃんと作ってあります。
しょうがない。
お詫びと訂正を出して、 fiber.exe の追加インストール法を案内して、
パッケージの make.exe を DJGPP版から、
より信頼できそうな Mew Win32 製に変えて、
Makefile を見直して、パッケージを作り直して、
各種のプラットホームでテストして、
投稿しなおすか。
まだ make の検証はしてないですが、、、これが PC-9821 の Windows95 で問題無く動いたら、
腹をよじってPCの前で笑えそうです。(^_^) (1999-04-22)
make の苦労話のオチ(その2)
<http://www.mew.org/Win32/>から取ってきた VC++5.0J でコンパイルした gmake3.77 をさっそくテストしてみました。
以前のバージョンの DJGPP版 gmake3.77 では動いていた Makefile でしたが、
バシバシエラーが出ます。ソースは同じだから、コンパイラの差でしょう。
パスの扱いで差が出るようですね、、、と思いきや、どうも cd が動かない。
以前、苦労した覚えがあるので、 cd の機能確認だけの Makefile を書く。
all :
cd IM-100
more < 00copyright
ところが、
make
を実行してテストすると、
cd IM-100
more < 00copyright
ファイルが見つかりません.
と、エラーになる。ちなみにバージョンを make -v で確認すると、
GNU Make version 3.77, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98
となる。なんなんだと思い、 DJGPP版 make.exe に戻す。こちらで
make
を実行すると
cd IM-100
more < 00copyright
(C) 1997, 1998 IM developing team.
(以下、省略)
と、意図通り、 cd して動作を続ける機能が動く。念のため make -v すると
GNU Make version 3.77, (以下、同文)
なので、同じ make のはずなんだが、、、
結論:良くある事だ。めげずに DJGPP版 make.exe を使い続けよう。
結構、GNU 系のコンパイラの方が VC++5.0J より GNU make とは親和性が高かったりして (^_^) (1999-04-26)
新バージョンに対応する
配布パッケージは色々なプログラムから構成されています。
それがバージョンアップすると、
「配布パッケージを作るには」
で書いた手順を繰り返し、配布パッケージをアップデートします。
質問に答える
役に立たない回答しかできませんが、なるべく対応するようにしています。
ご質問を下さる前にもご参照ください。
文句に応える
記録しているわけではありませんが、
質問や感想より、文句や批判の方が、数や精神的インパクトの点で勝っている様に感じます。
ですが、私に(質問ではなくて)クレームをつけたい人はこちらを必ず事前に覧ください。
あまり愉快な内容ではないので、文句を送るつもりが無い人は見ることをお勧めしません。