I maintain multiple Perl written (unix-ish) applications whose current installation process consists of a manually written Makefile
and installs configuration files into /etc/
.
I'd really like to switch their development to use Dist::Zilla
, but so far I haven't found any Dist::Zilla plugin or feature which allows me to put given files into /etc/
when the make install
(or ./Build install
in case of using Module::Build
instead of ExtUtils::MakeMaker
) is run by the local administrator who's installing my application.
With pure ExtUtils::MakeMaker
, I could define additional make targets in MY::postamble
and the let the install
target depend on one of them via the depend { install => … }
attribute. Doing something similar, but via dzil build
, would probably suffice, but I'd appreciate a more obvious way.
One orthogonal approach would be to make the application not to require the files under /etc/
to exist, but for just switching to Dist::Zilla that seems to much change in the actual code despite I only want to change the build system for now.
For the curious: the two applications I currently have in mind for switching to Dist::Zilla are xen-tools and unburden-home-dir.
For porting a complex module installer to Dist::Zilla, I recommend my plugins MakeMaker::Custom or ModuleBuild::Custom, depending on which installer you prefer. These allow you to keep your existing
Makefile.PL
orBuild.PL
and just have Dist::Zilla plug in necessary bits like the dependencies.