On Thursday, June 11, 2015 13:44 SGT, "Euan Thoms" <[email protected]> wrote: 
 
>  
> On Thursday, June 11, 2015 13:33 SGT, "Euan Thoms" <[email protected]> wrote: 
>  
> >  
> > On Thursday, June 11, 2015 13:18 SGT, "Chris H" <[email protected]> 
> > wrote: 
> >  
> > > On Thu, 11 Jun 2015 11:33:03 +0800 "Euan Thoms" <[email protected]> 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 <[email protected]>
> > # $FreeBSD$
> > 
> > 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=             [email protected]
> > 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? 
> 
> Oops, I just found a folder in the source tarballs packaging folder called 
> "freebsd". And inside that is what looks like a fully baked port.
> 
> # ls work/opensips-1.11.5-tls/packaging/freebsd
> Makefile   distinfo   files/     pkg-descr
> 
> 
> I haven't tried it yet, but I am now wondering why it isn't in the ports 
> tree. Somebody has gone to the effort to make it.

Well, that port in the tarballs' use of macros is outdated and it only support 
i386 which is strange (ONLY_FOR_ARCHS=i386). But the patches may come in handy 
getting it to build with clang. Currently my port got it building with 
USE_GCC=yes without any patching. Just that I can't get it to stage.
 
-- 
Regards, Euan Thoms 


_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"

Reply via email to