Bug 200751

Summary: net/rtpproxy: Update to 2.0.0
Product: Ports & Packages Reporter: Euan Thoms <euan>
Component: Individual Port(s)Assignee: Babak Farrokhi <farrokhi>
Status: Closed FIXED    
Severity: Affects Some People CC: dpetrov67, koobs
Priority: --- Keywords: needs-patch, needs-qa, patch
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
shar file for net/rtpproxy
none
Diff patch between current port version and upgrade to v2.0.0
none
Output of portlint -AC
none
Diff patch between current port version and upgrade to v2.0.0
none
Poudriere testport log on 10.1 RELEASE amd64 none

Description Euan Thoms 2015-06-10 02:22:11 UTC
Created attachment 157595 [details]
shar file for net/rtpproxy

The version of rtpproxy in the current Ports tree is very old now. There seems to be no maintainer for it. I have updated it to the latest version (v2.0.0) since I use Kamailio / OpenSIPS which uses rtpproxy. It has some considerable improvements over the old version (1.2.1).

I am willing to be the maintainer of this port going forward, since I use it in production on at least two servers.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2015-06-10 02:57:49 UTC
Hi Euan, thanks for your submission.

Can you attach your change as a unified diff (via svn diff or diff -u<args>) please.

Shar files are only accepted for new ports (those that don't exist in the tree)

If you could include QA results as attachments to this issue, that would also be great. For more information, see:

https://www.freebsd.org/doc/en/books/porters-handbook/testing.html

At a minimum please include (as attachments):

* Output from portlint -AC
* Output from poudriere (testport or bulk -t), OR
* make stage && make check-plist && make stage-qa && make package

Thanks!
Comment 2 Euan Thoms 2015-06-10 21:53:11 UTC
Created attachment 157622 [details]
Diff patch between current port version and upgrade to v2.0.0
Comment 3 Euan Thoms 2015-06-10 21:54:24 UTC
Thanks Kubilay.

I already did a port portlint -AC and removed all FATAL's only 2 or 3 WARNINGS. Also, "make check-plist" is OK. I have yet to use Poudriere, so I will need to invest the time to setup / learn it. Since I have other ports submitted, and intend become a maintainer.

Normally I will test the port in 8.4, 9.3 and 10.1 the old fashioned way. But because this port compiles well without any patching and little change to the Makefile from the current version of the port, I am confident it builds well on other arch/versions. It's seems it's one of those really well developed C projects that build cleanly on all POSIX systems.

I have attached the diff file.


# portlint -AC
WARN: /usr/ports/net/rtpproxy/pkg-plist: There are only 4 items in the plist.  Consider using PLIST_FILES instead of pkg-plist when installing less than 6 items.
WARN: Makefile: no ftp/http mirror in MASTER_SITES for users behind a proxy.
0 fatal errors and 2 warnings found.


# make stage && make check-plist && make stage-qa && make package
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)
====> Running Q/A tests (stage-qa)

Do you want the full output of "make stage && make check-plist && make stage-qa && make package"? If so, it is long so I'll have to attach it.

Also, I haven't used it long enough in production yet to comment on the runtime quality, but I will do soon and report back. It does start up and has been running for 1-2 full days already, no crashes etc. yet.
Comment 4 Euan Thoms 2015-06-10 21:59:55 UTC
For the diff I attached, I used "diff -ruN" as I normally use to submit changes to a directory structure. Is this correct for FreeBSD/Ports development?
Comment 5 Euan Thoms 2015-06-15 06:56:34 UTC
Just to clarify: the patch I attached was created using "cd /usr/ports/net; diff -ruN rtpproxy.orig rtpproxy".

To apply it to the current ports tree I use the following:

# cd /usr/ports/net
# patch -E -p0 < rtpproxy.upgrade.diff

If this is not the recommended way to patch ports upgrades, please let me know how. I have searched the documentation but can't find exactly how to patch a whole ports directory for PR submissions.
Comment 6 Euan Thoms 2015-08-23 19:46:08 UTC
Created attachment 160263 [details]
Output of portlint -AC
Comment 7 Euan Thoms 2015-08-23 19:55:54 UTC
Created attachment 160264 [details]
Diff patch between current port version and upgrade to v2.0.0
Comment 8 Euan Thoms 2015-08-23 19:58:54 UTC
Created attachment 160265 [details]
Poudriere testport log on 10.1 RELEASE amd64

Not sure if this the correct log file. I'm new to poudriere and port test submission.
Comment 9 Mark Linimon freebsd_committer freebsd_triage 2015-09-03 03:20:21 UTC
Maintainer is now committer.
Comment 10 Euan Thoms 2015-09-19 12:04:03 UTC
Well, I'm disapointed nobody to the time to review my proposed changes. The updated port currently in the tree has 2 weaknesses that my version addressed.

Firsty, the "BEFORE:" descriptor in the rc script is currently set to 'ser openser'. Whilst both of these no longer exist in the tree! My changes were to set it to 'kamailio opensips'. The former is in the tree, the later I am going to submit a port for very soon.

Secondly, the rc script does not allow for the extra directives that rtpproxy version 2.0 now supports. The current port only has the 'laddr' directive. My changes included 'ctrl_socket' (the port to run on) and 'paddr' (the public address to advertise on when running behind NAT).

So basically, I will still have to use my own port on my servers because the currently maintained one is less effective than the one I've been trying to submit since June.

I will ask the maintainer to consider my changes via the ports mailing list.
Comment 11 commit-hook freebsd_committer freebsd_triage 2015-11-03 08:14:22 UTC
A commit references this bug:

Author: farrokhi
Date: Tue Nov  3 08:14:02 UTC 2015
New revision: 400687
URL: https://svnweb.freebsd.org/changeset/ports/400687

Log:
  - Improve rc script

  PR:		200751
  Approved by:	mat
  Differential Revision:	https://reviews.freebsd.org/D3741

Changes:
  head/net/rtpproxy/Makefile
  head/net/rtpproxy/files/patch-scripts_rtpproxy.in.freebsd
Comment 12 Euan Thoms 2015-11-03 17:49:01 UTC
Thanks. I just updated to 2.0.0_1 and my /etc/rc.conf settings work well.

Notably, I can now use the public advertise address behind a NAT without modifying the rc script.