«前の日記(2013-02-20) 最新 次の日記(2013-02-25)» 編集

ポケットを空にして。

1985|10|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2100|01|

「人の心に残るというのが大事」と言う話。

何か連絡がある場合はメールでどうぞ(過去の日記へのツッコミは基本的にみていません)
プレゼントは随時受け付けております :-) ここ最近のツッコミ/トラックバックリスト。


2013-02-23 [長年日記]

dh7スタイル以降のdebianパッケージは何がよいのか

以前別の所でもチラッと書いたのだけど、dh7スタイルのdebianパッケージの作り方は何がよいのか、という話。
一言で言えば、「設定より規約 (convention over configuration)」という事に尽きます。理解した人はここで十分で、終わり。

一応解説。
古いスタイルのdebhelperは「やることを列挙して指定」していました。まぁこれは「何をしているのか」というのが目で追っていけば理解できるという点では良いのですが、「何をしたいのか」というのが埋没する事になります。dh7以降は特に、特定のファイルに内容を列挙すれば、それはそのファイルを作成した時点であるパターン(規約)に従って動作することを意図している、と言えるでしょう。debian/clean ファイルを作成して中に *.bak と書けば、それは dh_clean コマンドで *.bak というのを消去する、というのとイコールなわけです。
パッケージングの肝である debian/rules も、規約に従わない部分に対しての override を行ってその部分だけ動作を変える、という考えです。

これに対する不満は「いちいち覚えるのかよ」という所だと思いますが、ある程度覚えたら後は大体推測で似たようなことができますし、man も充実しています。大体、理解せずに我流のパッケージングやってたら後から魔窟でメンテできませんよ…。

ちなみに、自分の知る限りではrpmパッケージのspecファイルは「設定より規約」にはなってないんだけど、どうかな?