https://github.com/MichinariNukazawa/debian_package_c_application_automate_example
公式の「 Chapter 4. Simple Example」を、bashスクリプトで自動化したものです。
以下、エラーメッセージとその対処など、リポジトリに上がっていない情報をいくつか。
## DEBEMAILなどを指定していないと吐くエラー
debmakeなどのDebianパッケージ関連コマンドは、製作者情報を環境変数から読むので、セットしておく必要がある。(コマンド毎に引数指定しても行けるはずと思いますが、コマンド毎に引数指定を調べるのが面倒だったので、そちらは試していない。)
```
$ debmake
I: set parameters
Traceback (most recent call last):
File "/usr/bin/debmake", line 28, in <module>
debmake.main()
File "/usr/lib/python3/dist-packages/debmake/__init__.py", line 104, in main
para = debmake.para.para(para)
File "/usr/lib/python3/dist-packages/debmake/para.py", line 44, in para
debmail = os.getlogin() + '@localhost'
FileNotFoundError: [Errno 2] No such file or directory
```
忘れずに環境変数に製作者情報をセットしておく。
```
export DEBEMAIL="michinari.nukazawa@gmail.com"
export DEBFULLNAME="Michinari.Nukazawa"
```
## 秘密鍵のエラー
```W: debhello: binary-without-manpage usr/bin/hello
Finished running lintian.
Now signing changes and any dsc files...
signfile debhello_0.0-1.dsc Michinari.Nukazawa <michinari.nukazawa@gmail.com>
gpg: "Michinari.Nukazawa <michinari.nukazawa@gmail.com>"をスキップします: 秘密鍵が利用できません
gpg: /tmp/debsign.Fwk1I2Pw/debhello_0.0-1.dsc: clearsign failed: 秘密鍵が利用できません
debsign: gpg error occurred! Aborting....
debuild: fatal error at line 1295:
running debsign failed
error:packaging_deb.sh(53) "debuild" ""
```
などと出るが、とりあえずパッケージは出来ている。
サインはDebianLinuxの公式な開発者として配布するときに付けるもので、個人使用のパッケージでは不要とのこと。
.debファイルを直接ダウンロード配布するときもとりあえず無くてもインストールできる模様。
```
debuild -us -uc
```
とする。
(manpageに、このオプションは`dpkg-buildpackage`と共通、みたいなことが書いてある。)
## 動作確認
```
dpkg -i debhello_0.0-1_amd64.deb
hello
sudo dpkg -r debhello
```
以上です。