Bug 1815936

Summary: Review Request: reSIProcate - SIP and TURN stacks, with SIP proxy and TURN server implementations
Product: [Fedora] Fedora Reporter: Daniel Pocock <daniel>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jsmith.fedora, package-review
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-06 00:45:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 201449    

Description Daniel Pocock 2020-03-22 21:22:12 UTC
Spec URL: https://fedrtc.org/resiprocate-review/resiprocate.spec
SRPM URL: https://fedrtc.org/resiprocate-review/resiprocate-1.12.0~beta12-35.src.rpm
Description: SIP and TURN stacks, with SIP proxy and TURN server implementations
Fedora Account System Username: pocock

Comment 1 Daniel Pocock 2020-03-22 22:15:43 UTC
This depends on asio 1.12.2 or greater.  I built asio 1.14.0 in rawhide
https://bodhi.fedoraproject.org/updates/FEDORA-2020-1a78b8bb5d

Comment 2 Daniel Pocock 2020-03-22 22:17:04 UTC
This release is tagged as a beta pending any feedback from the Fedora review.  When it is accepted in Fedora I'll tag 1.12.0 upstream.  If any changes are required upstream, I'll commit them before the final 1.12.0 tag.

Comment 3 Jared Smith 2020-03-23 12:43:28 UTC
I tried building this in Rawhide, but wasn't successful.

The first issue I ran into was that on line 168 of your spec file, you have PYCONFIG hard-coded to /usr/bin/python3.7-config, where in Fedora the python3-devel package provides /usr/bin/python3-config and /usr/bin/python-config.

Once I changed that, I ran into the following issue during compilation:

g++ -DHAVE_CONFIG_H -I. -I..   -DRESIP_OSTYPE_LINUX -DRESIP_ARCH_X86_64 -DRESIP_LARCH_ -D_REENTRANT -DRESIP_TOOLCHAIN_GNU -I .. -DASIO_HAS_BOOST_BIND -DBOOST_ASIO_HAS_STD_CHRONO -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/include/libdb4 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -Wall -Wno-deprecated -c -o TlsServer.o TlsServer.cxx
In file included from ReTurnConfig.cxx:16:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
ReTurnConfig.cxx:34:22: error: 'chrono' is not a namespace-name
   34 | using namespace std::chrono;
      |                      ^~~~~~
ReTurnConfig.cxx: In constructor 'reTurn::ReTurnUserFileScanner::ReTurnUserFileScanner(asio::io_service&, reTurn::ReTurnConfig&)':
ReTurnConfig.cxx:365:4: error: class 'reTurn::ReTurnUserFileScanner' does not have any field named 'mTimer'
  365 |    mTimer(ioService, seconds(mLoopInterval))
      |    ^~~~~~
ReTurnConfig.cxx:365:22: error: 'seconds' was not declared in this scope
  365 |    mTimer(ioService, seconds(mLoopInterval))
      |                      ^~~~~~~
ReTurnConfig.cxx:365:22: note: suggested alternatives:
In file included from /usr/include/boost/chrono/chrono.hpp:11,
                 from /usr/include/boost/chrono/include.hpp:15,
                 from /usr/include/boost/chrono.hpp:17,
                 from ReTurnConfig.cxx:14:
/usr/include/boost/chrono/duration.hpp:201:44: note:   'boost::chrono::seconds'
  201 |     typedef duration<boost::int_least64_t> seconds;              // at least 35 bits needed
      |                                            ^~~~~~~
In file included from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:16,
                 from /usr/include/asio/time_traits.hpp:23,
                 from /usr/include/asio/deadline_timer_service.hpp:27,
                 from /usr/include/asio/basic_deadline_timer.hpp:25,
                 from /usr/include/asio.hpp:20,
                 from ReTurnConfig.hxx:5,
                 from ReTurnConfig.cxx:16:
/usr/include/boost/date_time/posix_time/posix_time_duration.hpp:53:30: note:   'boost::posix_time::seconds'
   53 |   class BOOST_SYMBOL_VISIBLE seconds : public time_duration
      |                              ^~~~~~~
ReTurnConfig.cxx: In member function 'void reTurn::ReTurnUserFileScanner::start()':
ReTurnConfig.cxx:383:7: error: 'mTimer' was not declared in this scope
  383 |       mTimer.expires_from_now(seconds(timerInterval));
      |       ^~~~~~
ReTurnConfig.cxx:383:31: error: 'seconds' was not declared in this scope
  383 |       mTimer.expires_from_now(seconds(timerInterval));
      |                               ^~~~~~~
ReTurnConfig.cxx:383:31: note: suggested alternatives:
In file included from /usr/include/boost/chrono/chrono.hpp:11,
                 from /usr/include/boost/chrono/include.hpp:15,
                 from /usr/include/boost/chrono.hpp:17,
                 from ReTurnConfig.cxx:14:
/usr/include/boost/chrono/duration.hpp:201:44: note:   'boost::chrono::seconds'
  201 |     typedef duration<boost::int_least64_t> seconds;              // at least 35 bits needed
      |                                            ^~~~~~~
In file included from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:16,
                 from /usr/include/asio/time_traits.hpp:23,
                 from /usr/include/asio/deadline_timer_service.hpp:27,
                 from /usr/include/asio/basic_deadline_timer.hpp:25,
                 from /usr/include/asio.hpp:20,
                 from ReTurnConfig.hxx:5,
                 from ReTurnConfig.cxx:16:
/usr/include/boost/date_time/posix_time/posix_time_duration.hpp:53:30: note:   'boost::posix_time::seconds'
   53 |   class BOOST_SYMBOL_VISIBLE seconds : public time_duration
      |                              ^~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TcpConnection.hxx:11,
                 from TcpServer.hxx:10,
                 from TcpServer.cxx:1:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from RequestHandler.cxx:1:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TlsConnection.hxx:14,
                 from TlsConnection.cxx:11:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TcpConnection.hxx:11,
                 from TcpConnection.cxx:1:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from RequestHandler.cxx:6:
TurnAllocation.hxx:86:10: error: 'steady_timer' in namespace 'asio' does not name a type
   86 |    asio::steady_timer mAllocationTimer;
      |          ^~~~~~~~~~~~
make[3]: *** [Makefile:731: ReTurnConfig.o] Error 1
make[3]: *** Waiting for unfinished jobs....
RequestHandler.cxx: In member function 'reTurn::RequestHandler::ProcessResult reTurn::RequestHandler::processTurnAllocateRequest(reTurn::AsyncSocketBase*, reTurn::TurnAllocationManager&, reTurn::StunMessage&, reTurn::StunMessage&)':
RequestHandler.cxx:599:29: warning: catching polymorphic type 'asio::system_error' {aka 'class std::system_error'} by value [-Wcatch-value=]
  599 |    catch(asio::system_error e)
      |                             ^
make[3]: *** [Makefile:731: TcpServer.o] Error 1
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TlsConnection.hxx:14,
                 from TlsServer.hxx:14,
                 from TlsServer.cxx:7:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
make[3]: *** [Makefile:731: TcpConnection.o] Error 1
make[3]: *** [Makefile:731: TlsConnection.o] Error 1
make[3]: *** [Makefile:731: RequestHandler.o] Error 1
make[3]: *** [Makefile:731: TlsServer.o] Error 1
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TcpConnection.hxx:11,
                 from TcpServer.hxx:10,
                 from reTurnServer.cxx:17:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from reTurnServer.cxx:19:
UdpServer.hxx:70:13: error: 'steady_timer' in namespace 'asio' does not name a type
   70 |       asio::steady_timer mCleanupTimer;
      |             ^~~~~~~~~~~~
make[3]: *** [Makefile:731: reTurnServer.o] Error 1
make[3]: Leaving directory '/home/jsmith/Build/BUILD/resiprocate-1.12.0~beta12/reTurn'
make[2]: *** [Makefile:829: all-recursive] Error 1
make[2]: Leaving directory '/home/jsmith/Build/BUILD/resiprocate-1.12.0~beta12/reTurn'
make[1]: *** [Makefile:454: all-recursive] Error 1
make[1]: Leaving directory '/home/jsmith/Build/BUILD/resiprocate-1.12.0~beta12'
make: *** [Makefile:384: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.7Vk5RV (%build)

Comment 4 Jared Smith 2020-03-23 12:45:26 UTC
Sorry, my apologies -- the test above was on Fedora 32.  Trying on Rawhide now.

Comment 5 Daniel Pocock 2020-03-23 12:48:02 UTC
Thanks for looking at this.  To resolve those errors, you need a buildroot override to get asio-1.14.0, see my earlier comments about asio

The asio-1.10.x RPM in Fedora will generate errors like that.

Comment 6 Jared Smith 2020-03-23 14:50:44 UTC
Still having the same issues on Rawhide:

g++ -DHAVE_CONFIG_H -I. -I..   -DRESIP_OSTYPE_LINUX -DRESIP_ARCH_X86_64 -DRESIP_LARCH_ -D_REENTRANT -DRESIP_TOOLCHAIN_GNU -I .. -DASIO_HAS_BOOST_BIND -DBOOST_ASIO_HAS_STD_CHRONO -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/include/libdb4 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -Wall -Wno-deprecated -c -o TlsServer.o TlsServer.cxx
In file included from ReTurnConfig.cxx:16:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
ReTurnConfig.cxx:34:22: error: 'chrono' is not a namespace-name
   34 | using namespace std::chrono;
      |                      ^~~~~~
ReTurnConfig.cxx: In constructor 'reTurn::ReTurnUserFileScanner::ReTurnUserFileScanner(asio::io_service&, reTurn::ReTurnConfig&)':
ReTurnConfig.cxx:365:4: error: class 'reTurn::ReTurnUserFileScanner' does not have any field named 'mTimer'
  365 |    mTimer(ioService, seconds(mLoopInterval))
      |    ^~~~~~
ReTurnConfig.cxx:365:22: error: 'seconds' was not declared in this scope
  365 |    mTimer(ioService, seconds(mLoopInterval))
      |                      ^~~~~~~
ReTurnConfig.cxx:365:22: note: suggested alternatives:
In file included from /usr/include/boost/chrono/chrono.hpp:11,
                 from /usr/include/boost/chrono/include.hpp:15,
                 from /usr/include/boost/chrono.hpp:17,
                 from ReTurnConfig.cxx:14:
/usr/include/boost/chrono/duration.hpp:201:44: note:   'boost::chrono::seconds'
  201 |     typedef duration<boost::int_least64_t> seconds;              // at least 35 bits needed
      |                                            ^~~~~~~
In file included from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:16,
                 from /usr/include/asio/time_traits.hpp:23,
                 from /usr/include/asio/deadline_timer_service.hpp:27,
                 from /usr/include/asio/basic_deadline_timer.hpp:25,
                 from /usr/include/asio.hpp:20,
                 from ReTurnConfig.hxx:5,
                 from ReTurnConfig.cxx:16:
/usr/include/boost/date_time/posix_time/posix_time_duration.hpp:53:30: note:   'boost::posix_time::seconds'
   53 |   class BOOST_SYMBOL_VISIBLE seconds : public time_duration
      |                              ^~~~~~~
ReTurnConfig.cxx: In member function 'void reTurn::ReTurnUserFileScanner::start()':
ReTurnConfig.cxx:383:7: error: 'mTimer' was not declared in this scope
  383 |       mTimer.expires_from_now(seconds(timerInterval));
      |       ^~~~~~
ReTurnConfig.cxx:383:31: error: 'seconds' was not declared in this scope
  383 |       mTimer.expires_from_now(seconds(timerInterval));
      |                               ^~~~~~~
ReTurnConfig.cxx:383:31: note: suggested alternatives:
In file included from /usr/include/boost/chrono/chrono.hpp:11,
                 from /usr/include/boost/chrono/include.hpp:15,
                 from /usr/include/boost/chrono.hpp:17,
                 from ReTurnConfig.cxx:14:
/usr/include/boost/chrono/duration.hpp:201:44: note:   'boost::chrono::seconds'
  201 |     typedef duration<boost::int_least64_t> seconds;              // at least 35 bits needed
      |                                            ^~~~~~~
In file included from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:16,
                 from /usr/include/asio/time_traits.hpp:23,
                 from /usr/include/asio/deadline_timer_service.hpp:27,
                 from /usr/include/asio/basic_deadline_timer.hpp:25,
                 from /usr/include/asio.hpp:20,
                 from ReTurnConfig.hxx:5,
                 from ReTurnConfig.cxx:16:
/usr/include/boost/date_time/posix_time/posix_time_duration.hpp:53:30: note:   'boost::posix_time::seconds'
   53 |   class BOOST_SYMBOL_VISIBLE seconds : public time_duration
      |                              ^~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TcpConnection.hxx:11,
                 from TcpServer.hxx:10,
                 from TcpServer.cxx:1:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TcpConnection.hxx:11,
                 from TcpConnection.cxx:1:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from RequestHandler.cxx:1:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TlsConnection.hxx:14,
                 from TlsConnection.cxx:11:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from RequestHandler.cxx:6:
TurnAllocation.hxx:86:10: error: 'steady_timer' in namespace 'asio' does not name a type
   86 |    asio::steady_timer mAllocationTimer;
      |          ^~~~~~~~~~~~
RequestHandler.cxx: In member function 'reTurn::RequestHandler::ProcessResult reTurn::RequestHandler::processTurnAllocateRequest(reTurn::AsyncSocketBase*, reTurn::TurnAllocationManager&, reTurn::StunMessage&, reTurn::StunMessage&)':
RequestHandler.cxx:599:29: warning: catching polymorphic type 'asio::system_error' {aka 'class std::system_error'} by value [-Wcatch-value=]
  599 |    catch(asio::system_error e)
      |                             ^
make[3]: *** [Makefile:731: ReTurnConfig.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [Makefile:731: TlsConnection.o] Error 1
make[3]: *** [Makefile:731: TcpServer.o] Error 1
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TlsConnection.hxx:14,
                 from TlsServer.hxx:14,
                 from TlsServer.cxx:7:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
make[3]: *** [Makefile:731: RequestHandler.o] Error 1
make[3]: *** [Makefile:731: TcpConnection.o] Error 1
In file included from TurnManager.hxx:9,
                 from RequestHandler.hxx:10,
                 from TcpConnection.hxx:11,
                 from TcpServer.hxx:10,
                 from reTurnServer.cxx:17:
ReTurnConfig.hxx:116:13: error: 'steady_timer' in namespace 'asio' does not name a type
  116 |       asio::steady_timer mTimer;
      |             ^~~~~~~~~~~~
In file included from reTurnServer.cxx:19:
UdpServer.hxx:70:13: error: 'steady_timer' in namespace 'asio' does not name a type
   70 |       asio::steady_timer mCleanupTimer;
      |             ^~~~~~~~~~~~
make[3]: *** [Makefile:731: TlsServer.o] Error 1
make[3]: Leaving directory '/builddir/build/BUILD/resiprocate-1.12.0~beta12/reTurn'
make[3]: *** [Makefile:731: reTurnServer.o] Error 1
make[2]: *** [Makefile:829: all-recursive] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/resiprocate-1.12.0~beta12/reTurn'
make[1]: Leaving directory '/builddir/build/BUILD/resiprocate-1.12.0~beta12'
make[1]: *** [Makefile:454: all-recursive] Error 1
make: *** [Makefile:384: all] Error 2


RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.eKkA1v (%build)
    line 63: It's not recommended to have unversioned Obsoletes: Obsoletes: resiprocate-b2bua
    Bad exit status from /var/tmp/rpm-tmp.eKkA1v (%build)
Finish: rpmbuild resiprocate-1.12.0~beta12-35.fc32.src.rpm
Finish: build phase for resiprocate-1.12.0~beta12-35.fc32.src.rpm
ERROR: Exception(/home/jsmith/Build/SRPMS/resiprocate-1.12.0~beta12-35.fc32.src.rpm) Config(fedora-rawhide-x86_64) 6 minutes 34 seconds

Comment 7 Daniel Pocock 2020-03-23 16:00:40 UTC
When I look at this part of your output:

In file included from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:16,
                 from /usr/include/asio/time_traits.hpp:23,
                 from /usr/include/asio/deadline_timer_service.hpp:27,
                 from /usr/include/asio/basic_deadline_timer.hpp:25,
                 from /usr/include/asio.hpp:20,
                 from ReTurnConfig.hxx:5,
                 from ReTurnConfig.cxx:16:



it looks like asio-1.10.8

In asio-1.14.0, you can see
 /usr/include/asio/deadline_timer_service.hpp
has become:
 /usr/include/asio/detail/deadline_timer_service.hpp

and it doesn't include time_traits.hpp.

Comment 8 Daniel Pocock 2020-03-25 20:13:40 UTC
I'd like to get your PYCONFIG change committed in Git but it doesn't allow push while the package is in the orphaned state.  Is there any way around this?

As an additional sanity check, can you please edit the line for asio-devel:

-BuildRequires: asio-devel
+BuildRequires: asio-devel >= 1.12.0


and then rpmbuild will verify that the right asio-devel version is really present.

Comment 9 Jared Smith 2020-03-26 19:12:02 UTC
OK, making progress.

When building in rawhide (with the PYCONFIG change, as well as the versioned BuildRequires on asio-devel), I now get the following build errors:

RPM build errors:
error: Installed (but unpackaged) file(s) found:
   /usr/lib/debug/usr/lib64/libreTurnCommon-1.12.so-1.12.0~beta12-35.fc33.x86_64.debug
   /usr/lib64/libreTurnCommon-1.12.so
   /usr/lib64/libreTurnCommon.so
    line 63: It's not recommended to have unversioned Obsoletes: Obsoletes: resiprocate-b2bua

I think you just need to add those files to the appropriate %files sections. 

Also, just as an FYI, it seems that the source code (%{SOURCE0} in the spec file) has gone missing from the upstream resiprocate.org website -- luckily I still had a copy from the last time I looked at the review.

Comment 10 Daniel Pocock 2020-03-27 15:21:43 UTC
The resiprocate.org server had a crash a few weeks ago, it is very gradually being restored from backup.  I think the older source tarballs are back again now.  My own beta build this week is at this URL:
https://fedrtc.org/resiprocate-review/

The unversioned Obsoletes is fixed in my local copy, I can't push it.

-Obsoletes: resiprocate-b2bua
+Obsoletes: resiprocate-b2bua < 1.9.0

I made the reTurn stuff optional on older systems without asio-1.14.0, so that part wasn't tested in my own build on EPEL7.  I don't have a machine running rawhide here.

Could you please add them like this.  Will it automatically handle the debug symbols?  I don't have anything about *.debug files for any of the other libs.


 %files libs
 %doc COPYING
 %{_libdir}/libdum-*.so
 %{_libdir}/librepro-*.so
 %{_libdir}/libresip-*.so
 %if %build_return
 %{_libdir}/libreTurnClient-*.so
+%{_libdir}/libreTurnCommon-*.so
 %endif
 %{_libdir}/librutil-*.so
 %{_libdir}/libsipdial-*.so

 %files devel
 .....
 %{_libdir}/libresip.so
 %if %build_return
 %{_libdir}/libreTurnClient.so
+%{_libdir}/libreTurnCommon-*.so
 %endif
 %{_libdir}/librutil.so
 %{_libdir}/libsipdial.so

Comment 11 Daniel Pocock 2020-03-29 16:31:07 UTC
Sorry, the above example was wrong, it should be



 %files libs
 %doc COPYING
 %{_libdir}/libdum-*.so
 %{_libdir}/librepro-*.so
 %{_libdir}/libresip-*.so
 %if %build_return
 %{_libdir}/libreTurnClient-*.so
+%{_libdir}/libreTurnCommon-*.so
 %endif
 %{_libdir}/librutil-*.so
 %{_libdir}/libsipdial-*.so

 %files devel
 .....
 %{_libdir}/libresip.so
 %if %build_return
 %{_libdir}/libreTurnClient.so
+%{_libdir}/libreTurnCommon.so
 %endif
 %{_libdir}/librutil.so
 %{_libdir}/libsipdial.so




Notice it is libreTurnCommon.so, not libreTurnCommon-*.so

I pushed all the latest changes to the spec file in upstream Git
https://github.com/resiprocate/resiprocate

Comment 12 Daniel Pocock 2020-03-29 16:33:18 UTC
Hi Jared,

I keep a resiprocate.spec.in upstream, would you mind submitting your change as a pull request there?

https://github.com/resiprocate/resiprocate

I already put in the other changes.

I prefer that people see your name on the commit as we value all contributors.  After the effort you put into this Fedora review you are also entitled to add your name to the upstream AUTHORS file but please make that a separate commit.

Regards,

Daniel

Comment 13 Daniel Pocock 2020-03-29 20:13:05 UTC
The latest spec file and SRPM are on the server

The spec file doesn't include your change to PYCONFIG, can you please send it as a pull request or diff, I didn't want to try and guess exactly what you wrote.

Spec URL: https://fedrtc.org/resiprocate-review/resiprocate.spec
SRPM URL: https://fedrtc.org/resiprocate-review/resiprocate-1.12.0~beta14-35.src.rpm

Comment 14 Jared Smith 2020-05-08 18:55:24 UTC
Daniel,

I sent you my changes to PYCONFIG in a private message -- hopefully you've had a chance to review that and can update your spec and SRPM files so that we can continue with the package review.

Comment 15 Daniel Pocock 2020-05-09 13:22:26 UTC
Spec URL: https://fedrtc.org/resiprocate-review/resiprocate.spec
SRPM URL: https://fedrtc.org/resiprocate-review/resiprocate-1.12.0-35.src.rpm
Description: SIP and TURN stacks, with SIP proxy and TURN server implementations
Fedora Account System Username: pocock


Thanks for that patch, I've committed it upstream
https://github.com/resiprocate/resiprocate/commit/80684d04d03a2ae4552c4b9b18b5cc94225c7b46

I made the v1.12.0 tag and produced a new SRPM

Comment 16 Jared Smith 2020-05-18 20:14:47 UTC
No matching package to install: 'db4-cxx-devel'
No matching package to install: 'db4-devel'

Did you mean libdb4-cxx-devel and libdb4-devel instead?

I recommend you test rebuilding your SRPM in mock before posting it here, as that typically exposes a bunch of issues.

Comment 17 Package Review 2022-06-05 00:45:21 UTC
This is an automatic check from review-stats script.

This review request ticket hasn't been updated for some time, but it seems
that the review is still being working out by you. If this is right, please
respond to this comment clearing the NEEDINFO flag and try to reach out the
submitter to proceed with the review.

If you're not interested in reviewing this ticket anymore, please clear the
fedora-review flag and reset the assignee, so that a new reviewer can take
this ticket.

Without any reply, this request will shortly be resetted.

Comment 18 Package Review 2022-07-06 00:45:13 UTC
This is an automatic action taken by review-stats script.

The ticket reviewer failed to clear the NEEDINFO flag in a month.
As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews
we reset the status and the assignee of this ticket.

Comment 19 Package Review 2023-07-06 00:45:26 UTC
This is an automatic check from review-stats script.

This review request ticket hasn't been updated for some time. We're sorry
it is taking so long. If you're still interested in packaging this software
into Fedora repositories, please respond to this comment clearing the
NEEDINFO flag.

You may want to update the specfile and the src.rpm to the latest version
available and to propose a review swap on Fedora devel mailing list to increase
chances to have your package reviewed. If this is your first package and you
need a sponsor, you may want to post some informal reviews. Read more at
https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group.

Without any reply, this request will shortly be considered abandoned
and will be closed.
Thank you for your patience.

Comment 20 Package Review 2023-08-06 00:45:24 UTC
This is an automatic action taken by review-stats script.

The ticket submitter failed to clear the NEEDINFO flag in a month.
As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews
we consider this ticket as DEADREVIEW and proceed to close it.