On 17/06/2014 20:09, Kurt Jaeger wrote:
> Hi!
> 
> matthew@ wrote:
> 
>> There's a number of things wrong with this port, some inherited from the
>> pgpool-II port you copied, and some where you're using outmoded constructs.
> [...]
>>     - Use options helpers rather than if $(PORT_OPTIONS:MFoo).  Eg.
>>       instead of
>>
>> .if ${PORT_OPTIONS:MSSL}
>> USE_OPENSSL=    yes
>> CONFIGURE_ARGS+=--with-openssl
>> .endif
>>
>>       use:
>>
>> SSL_CONFIGURE_WITH=    openssl
>> SSL_USE=               OPENSSL=YES
>>
>>       and similarly for the PAM option.
> 
> I tried this for PAM:
> 
> PAM_CONFIGURE_WITH+=            pam
> PAM_USE=                        PAM=yes
> 
> and config.log contains 
> 
> #define USE_PAM 1
> 
> even if the PAM option is not selected.

You don't need += there -- just plain =

That should have resulted in configure being called with the argument
--with-pam or --without-pam according to the option setting.   One of
those config.foo files it generates should have the command line that
was used.   There are a number of variations on the CONFIGURE options
helpers -- read the comments in /usr/ports/Mk/bsd.options.mk for the
gory details.

> This leads to the compile failing for pool_hba.c with some pam-related error,
> see
> 
>       http://people.freebsd.org/~pi/misc/pgpool-pam-error.txt
> 
> The other method worked. Do you have any idea why that happens ?

Looks like it isn't calling configure with quite the right commandline.

>>     - The port cannot be staged as a non-root user.  This is due to the
>>       way the contrib Makefiles are written -- although elsewhere it
>>       uses standard autoconf stuff, which pretty much just works for
>>       staging purposes.
> 
> I'm unsure what you mean with "the contrib Makefiles" ?
> 
> You refer to the
> 
>         cd ${WRKSRC}/sql/${f} && ${GMAKE} \
>                 STAGEDIR=${STAGEDIR} \
>                 PREFIX=${PREFIX} \
>                 ${INSTALL_TARGET}
> 
> construct in target post-install ?

Yes -- that's what I mean.  If you try running 'make stage' as a
non-root user, you'll see where it tries to run 'install -o root ...'
(which doesn't work).

        Cheers,

        Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to