ファイルを配置するためだけのdebian package(.deb)を例に、packageの作成方法をまとめる。
###1. ファイル構成
ukinau@test:~/package-test$ tree
.
├── DEBIAN
│ ├── control
│ ├── md5sums
│ ├── postinst
│ └── preinst
└── usr
└── share
└── doc
└── package-test
└── test.txt
5 directories, 5 files
DEBIANディレクトリ配下の4ファイルがpackage作成用のヒントファイルになる。
DEBIANディレクトリ以外のディレクトリは、実際に配備されるファイル。ディレクトリ構成(パス)は、実際のインストール先になる。
例えば、上記の構成の場合 /usr/share/doc/package-test/test.txt
というファイルが作成されることになる。
###2. DEBIAN/controlファイルを編集
Package: package-test
Version: 0.0.1
Architecture: all
Maintainer: ukinau
Section: education
Priority: extra
Description: Packaging test.
上を見れば、雰囲気でわかるかと。
その他の設定項目などは、ここを参照。
http://www.debian.or.jp/community/devel/debian-policy-ja/policy.ja.html/ch-controlfields.html
###3. DEBIAN/md5sumsファイルを更新
これは、インストールされるファイル(DEBIANディレクトリ配下以外)のmd5ハッシュ値を羅列すればよい。
a7e24b94ca3c80fa4808f2a5b739d41e usr/share/doc/package-test/test.txt
###4. postinstとpreinstの用意
これは、ファイル配備だけであれば、特に書かなくてよい。
#!/bin/sh
set -e
#
# written Tue Jan 20 2015
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
exit 0
#! /bin/sh
# postinst.skeleton
# Skeleton maintainer script showing all the possible cases.
# Written by Charles Briscoe-Smith, March-June 1998. Public Domain.
# Abort if any command returns an error value
#
set -e
# written Tue Jan 20 2015
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
exit 0
###5. dpkg-debを実行
ukinau@test:~/package-test$ dpkg-deb --build /home/ukinau/package-test
を実行すると、/home/ukinau/package-test.deb
が作成される。
よく忘れるので一応メモ代わりに。
追記:
もっと詳しく書かれているサイトを、参考に
http://walf443.hatenablog.com/entry/20090616/1245111017