別の方法はCPANを使用することであり、おそらくいくつかの重複、@INCの問題などがあります。
多数の依存関係を持つdebian用にパッケージ化されたperlプログラムがあります。便宜上、いくつかのパッケージ化されたモジュールを依存関係として使用する汚いハイブリッドアプローチに加えて、インストール後のスクリプトから実行されるチートバックドアCPANインストールを選択しました。アプリケーションのMETA.ymlのコピーをハイブしてから、依存関係を再確認します。
1.debian/rules
ファイルはMETA.ymlのコピーを作成します。
override_dh_auto_install:
dh_auto_install; \
cp META.yml etc/;\
2.debian/libmyapp-perl.install
次に、META.ymlをインストールします。
etc/META.yml /usr/share/myapp/etc/
3.debian/libmyapp-perl.postinstall
次に、依存関係をクロスチェックします。
echo "Cross checking with cpan";
for m in `perl -Mstrict -MYAML::Syck -e'my $r = YAML::Syck::LoadFile("/usr/share/myapp/etc/META.yml")->{requires}; for (grep {$_ ne "perl"} (sort keys %$r)) {eval "use $_ $r->{$_}"; print "$_\n" if $@}'`; do
# would prefer App::cpanminus, but that's not packaged for debian either?
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install $m";
done
正確にはクリーンではありませんが、依存するDebianパッケージといくつかのCPANモジュールを組み合わせてインストールするための簡単なアプローチです。