ブログ

Debianパッケージを作成してみた

at_ito
2017年12月4日 6時44分

Armadilloで独自に作成したソフトウェアを管理する際に、Debianパッケージ化しておくとaptコマンドにてバージョン管理ができて便利です。ここでは例としてArmadilloで動作するシェルスクリプトを含むDebianパッケージを作成してみます。

環境の構築

以下のコマンドを実行し、Debianパッケージに必要な環境を構築してください。

[atde ~]$ sudo apt-get update
[atde ~]$ sudo apt-get install cdbs debhelper

パッケージの作成

以下のコマンドを実行し、パッケージ用のディレクトリを作成してください。

[atde ~]$ mkdir testpkg
[atde ~]$ cd testpkg

以下のようにtestpkgというシェルスクリプトを作成してください。ここではこのファイルがコマンドとして実行されるパッケージを作成してください。

[atde ~]$ cat testpkg
#!/bin/sh

echo hello

以下のようにDebianパッケージとパッケージ情報を記載するためのファイルを作成してください。

[atde ~/testpkg]$ mkdir debian
[atde ~/testpkg]$ cd debian
[atde ~/testpkg]$ touch rules control changelog copyright

上記コマンドで作成したrules, control, changelogをそれぞれ以下のように修正してください。(最終的には各環境に合わせて修正してください)

[atde ~/testpkg/debian]$ cat rules
#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk

install/testpkg::
    install -d $(DEB_DESTDIR)/usr/bin
    install -pm 755 testpkg $(DEB_DESTDIR)/usr/bin
[atde ~/testpkg/debian]$ cat control
Source: testpkg
Maintainer: User <sample@example.com>
Build-Depends: cdbs, debhelper
Standards-Version: 0.1

Package: testpkg
Architecture: all
Description: sample
atmark@atde6:~/testpkg/debian$ cat changelog
testpkg (0.1) unstable; urgency=low

  * initial release

 -- User <sample@sample.com>  Mon, 04 Dec 2017 06:15:27 +0900

上記のようにパッケージ情報の修正が終わったら、以下のコマンドを実行しDebianパッケージを作成してください。

[atde ~/testpkg/debian]$ cd ..
[atde ~/testpkg]$ debuild -uc -us

[atde ~/testpkg]$ cd ..
[atde ~]$ ls testpkg*.deb
testpkg_0.1_all.deb

パッケージのインストールと実行

Armadilloにさきほど作成したパッケージをコピーし、以下のコマンドを実行しパッケージのインストールとtestpkgコマンドの実行を試してみます。

[armadillo ~]# dpkg -i testpkg_0.1_all.deb
[armadillo ~]# testpkg
hello