Bug 191880 - New port: devel/libsmpp34 - Provide an implementation of SMPP-3.4 protocol for PDUs handling
Summary: New port: devel/libsmpp34 - Provide an implementation of SMPP-3.4 protocol fo...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: John Marino
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-15 14:30 UTC by Nikola Kolev
Modified: 2014-08-20 07:11 UTC (History)
2 users (show)

See Also:


Attachments
devel/libsmpp34 files (6.93 KB, text/plain)
2014-07-15 14:30 UTC, Nikola Kolev
no flags Details
devel/libsmpp34 fixed issues after make check-plist and make stage-qa (7.75 KB, text/plain)
2014-08-01 09:46 UTC, Nikola Kolev
no flags Details
libsmpp34 10.0 amd64 build works (54.15 KB, text/x-log)
2014-08-11 14:39 UTC, Nikola Kolev
no flags Details
libsmpp34 10.0 amd64 build fails (16.66 KB, text/x-log)
2014-08-11 14:39 UTC, Nikola Kolev
no flags Details
devel/libsmpp34 shar (7.77 KB, text/plain)
2014-08-19 13:09 UTC, Nikola Kolev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikola Kolev 2014-07-15 14:30:50 UTC
Created attachment 144690 [details]
devel/libsmpp34 files
Comment 1 John Marino freebsd_committer freebsd_triage 2014-07-31 16:24:11 UTC
Some of us may not know what the SMPP protocol is used for or which acronym of PDU is meant here.  A verbose explanation of the purpose of this port would be helpful.

In addition, can you provide test logs from poudriere or redports or at least the output from "make check-plist" followed by "make stage-qa" ?
Comment 2 John Marino freebsd_committer freebsd_triage 2014-07-31 16:38:06 UTC
If you choose poudriere, make sure you use either "poudriere testport" or "poudriere bulk -t" in order to enable stage-qa checks, thanks!
Comment 3 Nikola Kolev 2014-08-01 09:46:22 UTC
Created attachment 145204 [details]
devel/libsmpp34 fixed issues after make check-plist and make stage-qa

This attachment contains fixed issues reported by 'make check-plist' and 'make stage-qa'. I missed to executed them before.

I want to port OpenBSC (http://openbsc.osmocom.org/trac/) to FreeBSD. OpenBSC is free software project implementing various parts of the GSM network. It can run a full minimal GSM network in a box. I have OpenBSC port files ready but first need to commit its dependencies. Libsmpp34 is OpenBSC dependency. The Short Message Peer-to-Peer (SMPP) in the telecommunications industry is an open, industry standard protocol designed to provide a flexible data communication interface for the transfer of short message data between External Short Messaging Entities (ESME), Routing Entities (RE) and Message Centres.[1] It is often used to allow third parties (e.g. value-added service providers like news organizations) to submit messages, often in bulk. Because of its support for non-GSM SMS protocols, like UMTS, IS-95 (CDMA), CDMA2000, ANSI-136 (TDMA) and iDEN, the SMPP is the most commonly used protocol for short message exchange outside SS7 networks.(http://en.wikipedia.org/wiki/Short_Message_Peer-to-Peer)
Comment 4 John Marino freebsd_committer freebsd_triage 2014-08-01 10:56:21 UTC
Okay, thanks!  Moving to patch-ready and hoping dependencies are complete.
Comment 5 Carlo Strub freebsd_committer freebsd_triage 2014-08-10 20:55:22 UTC
Checking on redports.org, there seems to be some compile error:

-D_POSIX_PTHREAD_SEMANTICS -O2 -pipe -fno-strict-aliasing -MT libsmpp34_la-smpp34_dumpPdu.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_dumpPdu.Tpo -c ../src/smpp34_dumpPdu.c -o libsmpp34_la-smpp34_dumpPdu.o >/dev/null 2>&1
mv -f .deps/libsmpp34_la-smpp34_pack.Tpo .deps/libsmpp34_la-smpp34_pack.Plo
mv -f .deps/libsmpp34_la-smpp34_unpack.Tpo .deps/libsmpp34_la-smpp34_unpack.Plo
mv -f .deps/libsmpp34_la-smpp34_dumpPdu.Tpo .deps/libsmpp34_la-smpp34_dumpPdu.Plo
gmake[4]: Leaving directory `/work/a/ports/devel/libsmpp34/work/libsmpp34-1.10/binary'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/work/a/ports/devel/libsmpp34/work/libsmpp34-1.10'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/work/a/ports/devel/libsmpp34/work/libsmpp34-1.10'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /a/ports/devel/libsmpp34
================================================================
build of /usr/ports/devel/libsmpp34 ended at Sun Aug 10 20:52:34 UTC 2014

Can you investigate?
Comment 6 Nikola Kolev 2014-08-11 14:39:05 UTC
Created attachment 145662 [details]
libsmpp34 10.0 amd64 build works

FreeBSD osmocom-f10-vm 10.0-RELEASE-p7 FreeBSD 10.0-RELEASE-p7 #0: Tue Jul  8 06:37:44 UTC 2014     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
Comment 7 Nikola Kolev 2014-08-11 14:39:51 UTC
Created attachment 145663 [details]
libsmpp34 10.0 amd64 build fails

FreeBSD hypocrisy 10.0-RELEASE-p4 FreeBSD 10.0-RELEASE-p4 #0: Tue Jun  3 13:14:57 UTC 2014     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
Comment 8 Nikola Kolev 2014-08-11 14:47:18 UTC
Hi,

I've tested the port on two different 10.0 amd64 environments. On the first one the build is OK, on the second one the build fails. I suspect this is gmake problem but still I cannot find the problem. On the fail environment if enter into port work directory and then execute "./configure && gmake" everything works fine. Will try to find what happens.
Comment 9 Nikola Kolev 2014-08-11 14:51:37 UTC
Hi again,

MAKE_JOBS_UNSAFE=yes

do the job done.
Comment 10 Nikola Kolev 2014-08-18 09:31:23 UTC
Any activate?
Comment 11 John Marino freebsd_committer freebsd_triage 2014-08-19 12:48:05 UTC
Carlo, are you going to check this one?

Nikola, you increase your chances by uploading a new shar rather than say, "oh yeah add 'MAKE_JOBS_UNSAFE=yes' too".  We've got a lot of PRs and those with known to require changes beyond the patch are passed over for better PRs (frankly).
Comment 12 Nikola Kolev 2014-08-19 13:09:34 UTC
Created attachment 146032 [details]
devel/libsmpp34 shar

Add 'MAKE_JOBS_UNSAFE=yes' in Makefile.
Comment 13 John Marino freebsd_committer freebsd_triage 2014-08-19 13:16:03 UTC
any chance of getting poudriere test logs?

Or as a distant second option, a link to redports logs?

Or as a very distance third option:  "make check-plist" followed by "make stage-qa" output  (https://www.freebsd.org/doc/en/books/porters-handbook/porting-testing.html)
Comment 14 Nikola Kolev 2014-08-19 13:21:10 UTC
[koue@hypocrisy ~/osmocom/local/libsmpp34]$ portlint 
looks fine.
[koue@hypocrisy ~/osmocom/local/libsmpp34]$ make check-plist
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for directories owned by MTREEs
===> Checking for directories handled by dependencies
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)
[koue@hypocrisy ~/osmocom/local/libsmpp34]$ make stage-qa
====> Running Q/A tests (stage-qa)
[koue@hypocrisy ~/osmocom/local/libsmpp34]$
Comment 15 John Marino freebsd_committer freebsd_triage 2014-08-19 13:24:39 UTC
alright.  That won't test for missing dependencies or filesystem violations but it's something at least.
Comment 16 John Marino freebsd_committer freebsd_triage 2014-08-20 06:50:43 UTC
I'm going to switch this to INSTALL_TARGET=install-strip and remove the post-install target.
Comment 17 John Marino freebsd_committer freebsd_triage 2014-08-20 06:52:02 UTC
which wasn't even post-install but post-stage (incorrect)
Comment 18 commit-hook freebsd_committer freebsd_triage 2014-08-20 07:10:18 UTC
A commit references this bug:

Author: marino
Date: Wed Aug 20 07:09:50 UTC 2014
New revision: 365435
URL: http://svnweb.freebsd.org/changeset/ports/365435

Log:
  Add new port devel/libsmpp34

  PR:		191880
  Submitted by:	Nikola Kolev

  The main focus of the library is to work in packaging and unpackaging
  of data structures.  While this implementation uses SMPP-3.4, the aim is
  to generate a simple way to implement any proprietary protocol on TCP.

Changes:
  head/devel/Makefile
  head/devel/libsmpp34/
  head/devel/libsmpp34/Makefile
  head/devel/libsmpp34/distinfo
  head/devel/libsmpp34/files/
  head/devel/libsmpp34/files/patch-binary-Makefile.in
  head/devel/libsmpp34/files/patch-src-smpp34_structs.h
  head/devel/libsmpp34/files/patch-test_apps-tcp.c
  head/devel/libsmpp34/pkg-descr
  head/devel/libsmpp34/pkg-plist
Comment 19 John Marino freebsd_committer freebsd_triage 2014-08-20 07:11:48 UTC
Done, thanks!