Debian(.deb)パッケージを生成

リポジトリに上げておきました。
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

```

以上です。

このブログの人気の投稿

GIMP2.8でイラストにペン入れを行う

squid3プロキシサーバの設定(Ubuntu13.10)

ubuntu13.04で無線LANが繋がらない場合の対処