On Thu, 2022-09-22 at 03:18 -0700, Lorenzo Miniero wrote:
> Hi Renich,
>
> first of all, if possible I'd choose a different name for the package
> (and
> as a consequence paths). While the repo is still called "janus-
> gateway"
> because that's how it was called historically, and renaming it could
> cause
> confusion, we don't call it a gateway anymore, but a WebRTC server.
> So
> maybe something like janus-webrtc-server or more simply janus-webrtc
> would
> be a better choice? I guess only calling it janus (as Debian does)
> may be
> risky, since it's a common name for software projects of different
> kinds,
> but would also be easier to find.
No problem by me. I've never changed the name of a package in the
middle of a review, though. Let me run this by the reviewer. The worst
case scenario would be to rename it afterwards, which is possible.
janus seems like a good name. Besides, debian already did it. I think
we can too.
> On the contents, from a first glance:
>
> - I think that the janus.js file can be removed from the main
> package,
> since it's not an actual SDK (Janode is closer to being that), and
> it's
> also available in the demos package anyway, where it indeed
> belongs.
Done. No more janus.js.
> - The "/usr/share/janus/recordings/" and
> "/usr/share/janus/streams/"
> samples, instead, should probably be moved away from the demos,
> and to the
> respective plugins packages instead (recordings to recordandplay,
> streams
> to streaming), since those files are actually used only by those
> plugins as
> part of the default (sample) configuration files. More precisely,
> the
> sample recording is the only recording that's available right away
> when the
> Record&Play plugin is loaded, while the streams are static samples
> that are
> made available as static mountpoints in the Streaming plugin. This
> is
> similar to how the Duktape and Lua plugins have their own samples
> (which
> you already correctly bundled with the respective plugins). As a
> side note,
> make also sure that the paths you chose for all of them them do
> match the
> paths listed in the respective .jcfg files, or they won't be found
> at
> startup.
This is done as well. I will have to check the configuration files,
though. i'll make sure they're correct.
> - For the same reason, the "test_gstreamer*" files all belong to
> the
> Streaming plugin package, and not the -devel one. I guess the -
> devel
> package should only include the headers that can be used to builld
> plugins
> externally.
OK. Done as well.
> - pcap2mjr seems to be missing in the tools? That one depends on
> libpcap(-devel), so in case it wasn't installed, it may not have
> been built
> for you which is why you may have missed it.
I've added libpcap-devel to the requirements and pcap2mjr was generated
and put in place. Thank you! :D
> - The docs paths seem incorrect: I see a
> "/usr/share/doc/janus-gateway/janus-gateway-1.0.4" folder is
> created, but
> is then unused, since all docs are added to the parent
> "/usr/share/doc/janus-gateway" folder instead, meaning that
> updates would
> replace the files rather than putting them in the folder with the
> new
> version path. I also see the configuration samples added to the
> docs
> package too, but they're already part of the respective packages
> (core,
> plugins, etc.), wouldn't that cause a conflict when installing?
Yeah, good catch. Removed the duplicate files and directory. Fedora,
doesn't version documentation. It gets replaced with every new version
and doesn't leave lingering files, AFAIK.
Is this a problem? Would you prefer it to be located in
"/usr/share/doc/janus/1.0.4/" instead?
In any case, I ran into a few issues here. First, even if I pass
"--docdir=/usr/share/doc/janus" to "configure", it, still, creates:
"/usr/share/doc/janus/janus-gateway-1.0.4".
It's not a big deal but, given what you told me about the old name,
maybe it would be good to "softcode" the name and/or eliminate it
completely even. For example, just generate
"/usr/share/doc/janus/1.0.4/" or something similar.
> - Not sure if it makes sense, but do you think macro packages like
> janus-gateway-plugins to automatically install all media plugins
> (and same
> for the other groups) may be useful? IIRC it's the approach used
> for
> GStreamer packages to group-install some of its plugins, although
> I may be
> wrong. At any rate, a dnf install on janus-gateway-plugins-* would
> get the
> same result, so it's probably not needed.
Oh, it does! I was leaving that one for last.
And, for the sake of clarity, janus-plugins would install janus-
plugins-*, but not janus-eventhandlers-* or janus-loggers-*. The reason
for this would be that you will rarely need support for all transports
or eventhandlers at the same time. If you do, you're a special case and
should just install them all manually.
Do we agree on this?
> I hope this helps, and thanks for the great work!
> Lorenzo
You have been of great help indeed, my friend. :D
Thank you for all this.
I will make the relevant proposals to the reviewer and get back to you
afterwards.
A few useful links to check:
* file list of new packages:
https://termbin.com/9z69
* file diff (modified to fit the purpose):
https://termbin.com/yydi