[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: getting dh-make-perl working



Jens Porup wrote:
> One more question: how do I tell Module::Build about my
> /etc/my_local_app.conf file?
>
> (One of the important reasons I want to package my in-house apps is
> to enable more seamless upgrades, including maintaining existing
> conf files.)
>
> I have included a debian/conffiles which looks like:
>
>         /etc/my_local_app.conf
>
> (The relative pathname 'etc/my_local_app.conf' didn't work either.)
>
> my top level directory includes lib/, debian/, and etc/, and my conf
> file is in etc, where you would think it is supposed to be.
>
> I've read the perldoc for Module::Build, and it would seem that only
> lib, arch, script, bin, bindoc, and libdoc are supported by the
> 'install_base' direction in Build.PL. Is this functionaltiy--lacking?

Yes, Module::Build cannot currently install files to any installation
targets other than {lib, arch, script, bin, libdoc, bindoc}:

>From `perldoc Module::Build`:
| The default destinations for these installable things come from
| entries in your system's "Config.pm".  You can select from three
| different sets of default locations by setting the "installdirs"
| parameter as follows:
|
|                           'installdirs' set to:
|                    core          site                vendor
|
|               uses the following defaults from Config.pm:
|
|  lib     => installprivlib  installsitelib      installvendorlib
|  arch    => installarchlib  installsitearch     installvendorarch
|  script  => installscript   installsitebin      installvendorbin
|  bin     => installbin      installsitebin      installvendorbin
|  libdoc  => installman3dir  installsiteman3dir  installvendorman3dir
|  bindoc  => installman1dir  installsiteman1dir  installvendorman1dir
|
| The default value of "installdirs" is "site".

...which effectively amounts to (on a Debian system, of course):

  $ for installdirs in site vendor; do
  >>     for target in lib arch bin man3dir man1dir; do
  >>         perl -V:install${installdirs}${target}
  >>     done
  >> done | uniq
  installsitelib='/usr/local/share/perl/5.8.4';
  installsitearch='/usr/local/lib/perl/5.8.4';
  installsitebin='/usr/local/bin';
  installsiteman3dir='/usr/local/man/man3';
  installsiteman1dir='/usr/local/man/man1';
  installvendorlib='/usr/share/perl5';
  installvendorarch='/usr/lib/perl5';
  installvendorbin='/usr/bin';
  installvendorman3dir='/usr/share/man/man3';
  installvendorman1dir='/usr/share/man/man1';

A while ago I filed a feature request[1] for Module::Build for the support
of /usr/local/lib and /usr/lib installation paths, a solution to which
should be very similar to supporting /etc.  Perhaps you'd like to
follow-up on my feature request and suggest /etc support.

References:
 1. http://rt.cpan.org/NoAuth/Bug.html?id=11278



Reply to: