[Bug 196516] [New Port] mail/openemm2013 OpenEMM a email marketing enterprise app

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jan 5 15:21:02 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196516

            Bug ID: 196516
           Summary: [New Port] mail/openemm2013 OpenEMM a email marketing
                    enterprise app
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: horst.leitenmueller at liwest.at

Created attachment 151359
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=151359&action=edit
openemm2013.shar includes complete port

i have some additional question on porting an java application:


0) do-install
    copytree_share to exclude documentation directory not working (moved doc
one level up in do-build: )
    do-build:
        ${MV} ${WRKSRC}/target/USR_SHARE ${WRKSRC}/USR_SHARE

    do-install
        ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}
        (cd ${WRKSRC}/target/ && ${COPYTREE_SHARE} \*
${STAGEDIR}${PREFIX}/${PORTNAME} "! -name USR_SHARE*")

    post-install
        # update also /usr/local/share with the docs
        ${MKDIR} ${STAGEDIR}${DOCSDIR}
        (cd ${WRKSRC}/USR_SHARE/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})

    is there a better solution for this ?


1) pkg-plist 
    documentation with 

    i added for all entries in the Docsdir 
    %%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.txt  

    but i get a warning that 

    portlint -A
    WARN: /usr/ports/mail/openemm2013/pkg-plist: Both ``%%PORTDOCS%%@dirrm
%%DOCSDIR%%'' and ``%%PORTDOCS%%@unexec %D/%%DOCSDIR%% 2>/dev/null || true''
are missing.  At least one should be used.

    and in portershandbook
https://www.freebsd.org/doc/en/books/porters-handbook/plist-keywords.html 
7.6.7.10. @dirrm directory (Deprecated)

    so now what i have to add :-)


2) License if not defined in freebsd.lic db mk
    and building with poudriere will fail if the license must be accepted, how
can this be solved ?

LICENSE=        MPL
#LICENSE=       CPAL
#LICENSE_COMB=   multi
#LICENSE_NAME=  Common Public Attribution License Version 1.0 (CPAL)
#LICENSE_FILE=   ${DOCSDIR}/LICENSE.txt  
#LICENSE_PERMS_OpenEMM= auto-accept # dist-mirror pkg-mirror auto-accept

is there a best practice to transfer all lic to the correct place of freebsd
post-install:

        # TODO LEI
        # move the licenses to the correct place
        # /usr/local/share/doc/openemm2013/LICENSE.txt
        # /usr/local/share/doc/openemm2013/ThirdPartyLicences/*



3) devel/libslang2 name for lib dependency (LIB_DEPENDS)

   but libslang.so is the one which must be declared otherwise it will be never
found is it normal in this way ?

   LIB_DEPENDS=    libslang.so:${PORTSDIR}/devel/libslang2


4) USES python best way to define dynamically RUN_DEPENDS  for db
(py27-MySQLdb56 )

RUN_DEPENDS=    ${TOMCATHOME}/bin/bootstrap.jar:${PORTSDIR}/www/tomcat8
py27-MySQLdb56>=1.2.3:${PORTSDIR}/databases/py-MySQLdb56
....

USES=   python:2.7,run
.... 




5) best way to reinplace_cmd for paths in the target system
    example 

    @${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' -e 's|-L INFO|-L
INFO -s /var/run/openemm/bav.sock|' ${WRKSRC}/src/script/control/bounce.sh

    to hardcode /var/run will not be the best or ?

also portlint is complaining
root at openemm:/usr/ports/mail/openemm2013 # portlint
WARN: Makefile: possible use of absolute pathname "/var".


6) not able to replace

    i have a few problems with the REINPLACE_CMD 
        i thougt special character escaping is working as normal example \$
would escapce $ but it's not $$ escapes it 
        problem here a can't escape the single quote only in this way it's
working...
        another problem i wanted to use grouping but this was also not working
            LHS |(base=)os.envirion.*| and on RHS |\1=${PREFIX}...| 

    @${REINPLACE_CMD} -e "s|base = os.environ\['HOME'\]| base =
'${PREFIX}\/${PORTNAME}'|g" -e "s|lockpath = os.environ\['LOCK_HOME'\]|lockpath
= '/var/run/openemm'|g" ${WRKSRC}/src/script/lib/agn.py

7) symlink for pyhton 

    the application refers to the /usr/local/bin/python path installation of
pyhton is only with version Nr
        # TODO LEI
        #${LN} -sf /usr/local/bin/python2.7 /usr/local/bin/python

    how can this be done ?, (btw.: app has no variable for current pyhton path)

8) portlint and position of LIB_DEPENDS / BUILD_DEPENDS / RUN_DEPENDS
portlint complains about position of following

WARN: Makefile: "BUILD_DEPENDS" has to appear earlier.
WARN: Makefile: "RUN_DEPENDS" has to appear earlier.

i have tried now all positions before ... but without success, where should it
be placed (i would love to have a xsd for that to know WHAT is wrong and where
it should be...)


9) portlint -A was complaing about not using PREFIX in pkg-message
    i thougt it will be replaced ? but this is not working as expected; is
there a other way to get this solved 
    or is the only way to hardcode it ?

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list