tech-pkg archive

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

where should manpages and .packlist for rt4 extensions go?



Hi,

perl devel/rt4 extensions have their own install module,
devel/p5-Module-Install-RTx.

Currently p5-Module-Install-RTx is pretty much as it comes off CPAN,
and has:

--- snip Module/Install/RTx.pm ---
    $self->makemaker_args( INSTALLSITEMAN1DIR => "$RT::LocalPath/man/man1" );
    $self->makemaker_args( INSTALLSITEMAN3DIR => "$RT::LocalPath/man/man3" );
    $self->makemaker_args( INSTALLSITEARCH => "$RT::LocalPath/man" );

    # INSTALLDIRS=vendor should install manpages into /usr/share/man.
    # That is the default path in most distributions. Need input from
    # Redhat, Centos etc.
    $self->makemaker_args( INSTALLVENDORMAN1DIR => "/usr/share/man/man1" );
    $self->makemaker_args( INSTALLVENDORMAN3DIR => "/usr/share/man/man3" );
    $self->makemaker_args( INSTALLVENDORARCH => "/usr/share/man" );
--- snap ---

We also have the following paths available from devel/rt4:

--- snip RT/Generated.pm with prefix=/usr/pkg ---
$BasePath = '/usr/pkg';
$EtcPath = '/usr/pkg/etc/rt4';
$BinPath = '/usr/pkg/share/rt4/bin';
$SbinPath = '/usr/pkg/share/rt4/sbin';
$VarPath = '/var/spool/rt4';
$FontPath = '/usr/pkg/share/rt4/data/fonts';
$LexiconPath = '/usr/pkg/share/rt4/data/po';
$StaticPath = '/usr/pkg/share/rt4/data/static';
$PluginPath = '/usr/pkg/share/rt4/plugins';
$LocalPath = '/var/rt4';
$LocalEtcPath = '/var/rt4/etc';
$LocalLibPath        =    '/var/rt4/lib';
$LocalLexiconPath = '/var/rt4/po';
$LocalStaticPath = '/var/rt4/static';
$LocalPluginPath = '/var/rt4/plugins';
--- snap ---

I'm not happy with rt extensions being installed into /var, so would
prefer if pkgsrc packages defined 'MAKE_ENV+= INSTALLDIRS="vendor"'
resulting in installation to $PluginPath (/usr/pkg/share/rt4/plugins
for prefix=/usr/pkg).
That at present gives us attempts to install man pages and .packlist
into /usr/share/man, which is definitely not where they belong.

If we just comment out the lines about INSTALLVENDORMAN1DIR,
INSTALLVENDORMAN3DIR and INSTALLVENDORARCH, they get installed to
${PERL5_SUB_INSTALLVENDORMAN3DIR}, ${PERL5_SUB_INSTALLVENDORMAN3DIR}
and ${PERL5_SUB_INSTALLVENDORARCH}, which works but may not be the best
option.

--- snip ---
    # install the manpages and .packlist with the plugin 
    {     
        use Config;
        $self->makemaker_args( INSTALLVENDORMAN1DIR => "$RT::PluginPath/man/man1
" ); 
        $self->makemaker_args( INSTALLVENDORMAN3DIR => "$RT::PluginPath/man/man3
" );
        $self->makemaker_args( INSTALLVENDORARCH => "$RT::PluginPath/$Config{api
_versionstring}/$Config{archname}" );
    }
--- snap ---

keeps it all together but gives us another directory to find man pages in.

Opinions?

regards,
	spz


Home | Main Index | Thread Index | Old Index