另一種方法是使用CPAN,可能有一些重複,問題@INC等
我我有一個perl程序打包了debian,並有大量的依賴關係。爲了方便起見,我選擇了一些骯髒的混合方法,將一些打包的模塊作爲依賴關係,另外還有一個作弊後門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 [email protected]}'`; 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模塊。
謝謝,請看看... –