Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Jun 2015 09:35:57 +0200
From:      Rainer Hurling <rhurlin@gwdg.de>
To:        Euan Thoms <euan@potensol.com>
Cc:        <freebsd-ports@freebsd.org>
Subject:   Re: New port with USES=gmake will not stage
Message-ID:  <55793A5D.4000903@gwdg.de>
In-Reply-To: <72b3-55791e00-1b-6b8b4580@197501805>
References:  <72b3-55791e00-1b-6b8b4580@197501805>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Euan,

Am 11.06.2015 um 07:33 schrieb Euan Thoms:
>
> On Thursday, June 11, 2015 13:18 SGT, "Chris H" <bsd-lists@bsdforge.com> wrote:
>
>> On Thu, 11 Jun 2015 11:33:03 +0800 "Euan Thoms" <euan@potensol.com> wrote
>>
>>> I'm making a port for OpenSIPS. It builds successfully, but the even with
>>> just "make" it installs files to the system instead of to stage (i.e. to
>>> /usr/local/... instead of /usr/ports/net/opensips/work/stage/usr/local/...).
>>>
>>> I am using gmake and gcc since that's what's required for OpenSIPS.
>>>
>>> I've done a similar port before and the FreeBSD ports macros do the staging
>>> for me. However, even when I tell gmake the DESTDIR=${STAGEDIR} in do-build
>>> and do-install, a "make" just installs the files to /usr/local/... .
>>>
>>> I can't find any documentation on how to ensure building uses staging.
>>> OpenSIPS doesn't have a configure script AFAIK. It has it's own menuconfig
>>> which normally generates a Makefile.conf. The only thing useful in there is
>>> PREFIX= , but that is to specify the final destination paths (also used in
>>> linking I guess). My port passes the compile flags in MAKE_ARGS instead of
>>> using a Makefile.conf file.
>> Kind of a tough call w/o any real information -- your Makefile, the source
>> location? :)
>
> Sorry about that.
>
> Source file is here: http://opensips.org/pub/opensips/1.11.5/opensips-1.11.5-latest_src.tar.gz
>
> here is my Makefile contents:
>
> # cat Makefile
> # Created by: Euan Thoms <euan@potensol.com>
> # $FreeBSD$
>

I am wondering, if there is a small typo in your PORTNAME. Shouldn't it 
be 'opensips1-tls' instead of 'opensips1-lts' (lts -> tls)?

And why do you use 'opensips1' instead of 'opensips'? PORTVERSION 
already includes the version number. It seems, this complicates the 
subsequent setting of WRKSRC etc ...

> PORTNAME=               opensips1-lts
> PORTVERSION=            1.11.5
> CATEGORIES=             net
> MASTER_SITES=           http://opensips.org/pub/opensips/1.11.5/
> DISTNAME=               opensips-${PORTVERSION}-latest_src
>
> MAINTAINER=             euan@potensol.com
> COMMENT=                OpenSIPS (Open SIP Server) is a mature Open Source implementation of a SIP server.
>
> LICENSE=                GPLv2
> LIB_DEPENDS=            libxml2.so:${PORTSDIR}/textproc/libxml2 \
>                          libmemcached.so:${PORTSDIR}/databases/libmemcached
>
> BUILD_DEPENDS=          python:${PORTSDIR}/lang/python
>
> WRKSRC=                 ${WRKDIR}/opensips-${PORTVERSION}-tls
>
> OPTIONS_DEFINE=         LDAP MYSQL PGSQL MEMCACHED
> OPTIONS_DEFAULT=        LDAP PGSQL MEMCACHED
> OPTIONS_SUB= yes
>
> LDAP_DESC=              Build with LDAP support
> MYSQL_DESC=             Build with MySQL support
> PGSQL_DESC=             Build with PostgreSQL support
> MEMCACHED_DESC=         Build with memcached support
>
> USES=                   gmake shebangfix
> USE_GCC=                yes
>
> .include <bsd.port.options.mk>
>
> #post-patch:
> #       ${REINPLACE_CMD} -e 's|^#include <Python.h>|#include "Python.h"|' ${WRKSRC}/
>
> EXCLUDE_MODULES=        aaa_radius b2b_logic cachedb_cassandra cachedb_couchbase \
>                          cachedb_memcached cachedb_mongodb cachedb_redis carrierroute cpl-c db_berkeley \
>                          db_http db_mysql db_oracle db_perlvdb db_postgres db_unixodbc dialplan \
>                          event_rabbitmq h350 regex identity jabber json ldap lua httpd mi_xmlrpc_ng \
>                          mi_xmlrpc mmgeoip osp perl pi_http presence presence_dialoginfo presence_mwi \
>                          presence_xml pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp python \
>                          rest_client rls sngtc snmpstats xcap xcap_client xmpp
>
> INCLUDE_MODULES=        aaa_radius b2b_logic cachedb_memcached carrierroute \
>                          cpl-c db_postgres dialplan event_rabbitmq h350 regex identity jabber json \
>                          ldap httpd mi_xmlrpc_ng mi_xmlrpc mmgeoip perl pi_http presence \
>                          presence_dialoginfo presence_mwi presence_xml pua pua_bla pua_dialoginfo \
>                          pua_mi pua_usrloc pua_xmpp python rest_client rls xcap xcap_client xmpp
>
> MAKE_ARGS+=             PREFIX=${LOCALBASE}
> MAKE_ARGS+=             exclude_modules="${EXCLUDE_MODULES}" include_modules="${INCLUDE_MODULES}"
>
> #do-build:
> #       cd ${WRKSRC} && ${GMAKE} ${MAKE_ARGS} ${ALL_TARGET}
> #
> #do-install:
> #       cd ${WRKSRC} && ${GMAKE} ${MAKE_ARGS} ${INSTALL_TARGET}
>
> .include <bsd.port.mk>
> #### EOF ############
>
> I can't find the make files for stage to drill down and see what's going wrong. Any pointers to the script that "make stage" uses?
>
>>>
>>> --
>>> Regards, Euan Thoms




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55793A5D.4000903>