janus-gateway: remove unessasary dependencies.
PATCH v3 1/10 janus-gateway: remove unessasary dependencies.
Janus gateway currently depends on several dependencies that are not necessary. I removed every select and depend from the config file and re-enabled each dependency until I had a list of the bare minimum needed to compile the package. I also removed sofia-sip from the dependency list for the following patch.
---
v2 - v3:
- No changes
v1 - v2:
- No changes
package/janus-gateway/Config.in | 7 ++----- package/janus-gateway/janus-gateway.mk | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-)
package/janus-gateway/Config.in +2 -5
@@ -1,14 +1,11 @@ config BR2_PACKAGE_JANUS_GATEWAY bool "janus-gateway" - select BR2_PACKAGE_LIBMICROHTTPD select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNICE - select BR2_PACKAGE_SOFIA_SIP select BR2_PACKAGE_LIBSRTP select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_DING_LIBS - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, libmicrohttpd - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libmicrohttpd + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libnice -> libglib2 depends on BR2_USE_MMU # libnice depends on !BR2_STATIC_LIBS # dlopen
package/janus-gateway/janus-gateway.mk +2 -2
@@ -10,8 +10,8 @@ JANUS_GATEWAY_LICENSE = GPLv3 JANUS_GATEWAY_LICENSE_FILES = COPYING # ding-libs provides the ini_config library -JANUS_GATEWAY_DEPENDENCIES = host-pkgconf libmicrohttpd jansson \ - libnice sofia-sip libsrtp host-gengetopt openssl ding-libs +JANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \ + libsrtp host-gengetopt libglib2 openssl # Straight out of the repository, no ./configure, and we also patch # configure.ac.
Signature · 1 line
2.9.3
PATCH v3 2/10 janus-gateway: Make sofia-sip a optional dependency.
Currently janus-gateway requires sofia-sip in the build system, however this is unessasary. This patch makes the sip gateway plugin a option. It also creates a menuconfig for janus gateway for the following patches that enable selecting more optional plugins.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
- selecting the sip gateway plugin now selects the sofia sip package.
v1 -> v2:
- Fixed patch so that this patch only adds the plugin to both the Config.in and the .mk file.
package/janus-gateway/Config.in | 12 +++++++++++- package/janus-gateway/janus-gateway.mk | 7 +++++++ 2 files changed, 18 insertions(+), 1 deletion(-)
package/janus-gateway/Config.in +11 -1
@@ -1,4 +1,4 @@ -config BR2_PACKAGE_JANUS_GATEWAY +menuconfig BR2_PACKAGE_JANUS_GATEWAY bool "janus-gateway" select BR2_PACKAGE_JANSSON select BR2_PACKAGE_LIBGLIB2
@@ -15,6 +15,16 @@ config BR2_PACKAGE_JANUS_GATEWAY https://github.com/meetecho/janus-gateway +if BR2_PACKAGE_JANUS_GATEWAY + +comment "janus-gateway plugins" + +config BR2_PACKAGE_JANUS_SIP_GATEWAY + select BR2_PACKAGE_SOFIA_SIP + bool "sip gateway" + +endif + comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
package/janus-gateway/janus-gateway.mk +7 -0
@@ -26,6 +26,13 @@ JANUS_GATEWAY_CONF_OPTS = \ --disable-data-channels \ --disable-rabbitmq +ifeq ($(BR2_PACKAGE_JANUS_SIP_GATEWAY),y) +JANUS_GATEWAY_DEPENDENCIES += sofia-sip +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-sip +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-sip +endif + ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets
Signature · 1 line
2.9.3
PATCH v3 3/10 janus-gateway: Make audio bridge plugin optional.
In reply to Adam DuskettCurrently janus-gateway is built by default with the audio bridge plugin. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 119K .so
file on the target directory, adds the dependency of opus for this plugin, and janus will also create a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the audio bridge plugin a option, removes the check for opus, adds opus as a dependency to the audio bridge plugin, and selects the opus package automatically when the user selects the plugin.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
- Selecting the audio bridge plugin now adds opus to the dependencies in the make file and selects the opus package in the config file.
- remove unecessary check for opus in the make file as the package is now selected by default if the user chooses to enable the audiobridge plugin.
v1 -> v2:
- Fixed patch so that this patch adds the plugin to both the Config.in and the .mk file.
package/janus-gateway/Config.in | 4 ++++ package/janus-gateway/janus-gateway.mk | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-)
package/janus-gateway/Config.in +4 -0
@@ -19,6 +19,10 @@ if BR2_PACKAGE_JANUS_GATEWAY comment "janus-gateway plugins" +config BR2_PACKAGE_JANUS_AUDIO_BRIDGE + select BR2_PACKAGE_OPUS + bool "audio bridge" + config BR2_PACKAGE_JANUS_SIP_GATEWAY select BR2_PACKAGE_SOFIA_SIP bool "sip gateway"
package/janus-gateway/janus-gateway.mk +7 -7
@@ -26,6 +26,13 @@ JANUS_GATEWAY_CONF_OPTS = \ --disable-data-channels \ --disable-rabbitmq +ifeq ($(BR2_PACKAGE_JANUS_AUDIO_BRIDGE),y) +JANUS_GATEWAY_DEPENDENCIES += opus +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-audiobridge +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-audiobridge +endif + ifeq ($(BR2_PACKAGE_JANUS_SIP_GATEWAY),y) JANUS_GATEWAY_DEPENDENCIES += sofia-sip JANUS_GATEWAY_CONF_OPTS += --enable-plugin-sip
@@ -40,13 +47,6 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-websockets endif -ifeq ($(BR2_PACKAGE_OPUS),y) -JANUS_GATEWAY_DEPENDENCIES += opus -JANUS_GATEWAY_CONF_OPTS += --enable-plugin-audiobridge -else -JANUS_GATEWAY_CONF_OPTS += --disable-plugin-audiobridge -endif - ifeq ($(BR2_PACKAGE_LIBOGG),y) JANUS_GATEWAY_DEPENDENCIES += libogg JANUS_GATEWAY_CONF_OPTS += --enable-plugin-voicemail
Signature · 1 line
2.9.3
PATCH v3 4/10 janus-gateway: Make echo test plugin optional.
In reply to Adam DuskettCurrently janus-gateway is built by default with the echo test plugin. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 36K .so
file on the target directory, and janus will also generate a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the echo test plugin optional.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
v1 -> v2:
- Fixed patch so that this patch only adds the plugin to both the Config.in and the .mk file.
package/janus-gateway/Config.in | 3 +++ package/janus-gateway/janus-gateway.mk | 6 ++++++ 2 files changed, 9 insertions(+)
package/janus-gateway/Config.in +3 -0
@@ -23,6 +23,9 @@ config BR2_PACKAGE_JANUS_AUDIO_BRIDGE select BR2_PACKAGE_OPUS bool "audio bridge" +config BR2_PACKAGE_JANUS_ECHO_TEST + bool "echo test" + config BR2_PACKAGE_JANUS_SIP_GATEWAY select BR2_PACKAGE_SOFIA_SIP bool "sip gateway"
package/janus-gateway/janus-gateway.mk +6 -0
@@ -33,6 +33,12 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-audiobridge endif +ifeq ($(BR2_PACKAGE_JANUS_ECHO_TEST),y) +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-echotest +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-echotest +endif + ifeq ($(BR2_PACKAGE_JANUS_SIP_GATEWAY),y) JANUS_GATEWAY_DEPENDENCIES += sofia-sip JANUS_GATEWAY_CONF_OPTS += --enable-plugin-sip
Signature · 1 line
2.9.3
PATCH v3 5/10 janus-gateway: Make recordplay plugin optional.
In reply to Adam DuskettCurrently janus-gateway is built by default with the record and play plugin. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 68K .so
file on the target directory, and janus will also create a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the record and play plugin a option.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
v1 -> v2:
- Fixed patch so that this patch only adds the plugin to both the Config.in and the .mk file.
package/janus-gateway/Config.in | 3 +++ package/janus-gateway/janus-gateway.mk | 6 ++++++ 2 files changed, 9 insertions(+)
package/janus-gateway/Config.in +3 -0
@@ -26,6 +26,9 @@ config BR2_PACKAGE_JANUS_AUDIO_BRIDGE config BR2_PACKAGE_JANUS_ECHO_TEST bool "echo test" +config BR2_PACKAGE_JANUS_RECORDPLAY + bool "record and play" + config BR2_PACKAGE_JANUS_SIP_GATEWAY select BR2_PACKAGE_SOFIA_SIP bool "sip gateway"
package/janus-gateway/janus-gateway.mk +6 -0
@@ -39,6 +39,12 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-echotest endif +ifeq ($(BR2_PACKAGE_JANUS_RECORDPLAY),y) +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-recordplay +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-recordplay +endif + ifeq ($(BR2_PACKAGE_JANUS_SIP_GATEWAY),y) JANUS_GATEWAY_DEPENDENCIES += sofia-sip JANUS_GATEWAY_CONF_OPTS += --enable-plugin-sip
Signature · 1 line
2.9.3
PATCH v3 6/10 janus-gateway: Make streaming plugin optional.
In reply to Adam DuskettCurrently janus-gateway is built by default with the streaming plugin. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 133K .so
file on the target directory, and janus will also generate a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the streaming plugin optional.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
v1 -> v2:
- Fixed patch so that this patch only adds the plugin to both the Config.in and the .mk file.
package/janus-gateway/Config.in | 3 +++ package/janus-gateway/janus-gateway.mk | 6 ++++++ 2 files changed, 9 insertions(+)
package/janus-gateway/Config.in +3 -0
@@ -33,6 +33,9 @@ config BR2_PACKAGE_JANUS_SIP_GATEWAY select BR2_PACKAGE_SOFIA_SIP bool "sip gateway" +config BR2_PACKAGE_JANUS_STREAMING + bool "streaming" + endif comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
package/janus-gateway/janus-gateway.mk +6 -0
@@ -52,6 +52,12 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-sip endif +ifeq ($(BR2_PACKAGE_JANUS_STREAMING),y) +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-streaming +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming +endif + ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets
Signature · 1 line
2.9.3
PATCH v3 7/10 janus-gateway: Make text room plugin optional.
In reply to Adam DuskettCurrently janus-gateway is built by default with the text room plugin. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 63K .so
file on the target directory, and janus will also generate a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the text room plugin optional.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
v1 -> v2:
- No changes.
package/janus-gateway/Config.in | 3 +++ package/janus-gateway/janus-gateway.mk | 6 ++++++ 2 files changed, 9 insertions(+)
package/janus-gateway/Config.in +3 -0
@@ -36,6 +36,9 @@ config BR2_PACKAGE_JANUS_SIP_GATEWAY config BR2_PACKAGE_JANUS_STREAMING bool "streaming" +config BR2_PACKAGE_JANUS_TEXT_ROOM + bool "text room" + endif comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
package/janus-gateway/janus-gateway.mk +6 -0
@@ -58,6 +58,12 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming endif +ifeq ($(BR2_PACKAGE_JANUS_TEXT_ROOM),y) +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-textroom +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-textroom +endif + ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets
Signature · 1 line
2.9.3
PATCH v3 8/10 janus-gateway: Make video call plugin optional.
In reply to Adam DuskettCurrently janus-gateway is built by default with the video call plugin. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 47K .so
file on the target directory, and janus will also generate a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the video call plugin optional.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
v1 -> v2:
- No changes.
package/janus-gateway/Config.in | 3 +++ package/janus-gateway/janus-gateway.mk | 6 ++++++ 2 files changed, 9 insertions(+)
package/janus-gateway/Config.in +3 -0
@@ -39,6 +39,9 @@ config BR2_PACKAGE_JANUS_STREAMING config BR2_PACKAGE_JANUS_TEXT_ROOM bool "text room" +config BR2_PACKAGE_JANUS_VIDEO_CALL + bool "video call" + endif comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
package/janus-gateway/janus-gateway.mk +6 -0
@@ -64,6 +64,12 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-textroom endif +ifeq ($(BR2_PACKAGE_JANUS_VIDEO_CALL),y) +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-videocall +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-videocall +endif + ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets
Signature · 1 line
2.9.3
PATCH v3 9/10 janus-gateway: Make video room plugin optional.
In reply to Adam DuskettCurrently janus-gateway is built by default with the video room plugin. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 47K .so
file on the target directory, and janus will also generate a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the video room plugin optional.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
v1 -> v2:
- No changes.
package/janus-gateway/Config.in | 3 +++ package/janus-gateway/janus-gateway.mk | 6 ++++++ 2 files changed, 9 insertions(+)
package/janus-gateway/Config.in +3 -0
@@ -42,6 +42,9 @@ config BR2_PACKAGE_JANUS_TEXT_ROOM config BR2_PACKAGE_JANUS_VIDEO_CALL bool "video call" +config BR2_PACKAGE_JANUS_VIDEO_ROOM + bool "video room" + endif comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
package/janus-gateway/janus-gateway.mk +6 -0
@@ -70,6 +70,12 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-videocall endif +ifeq ($(BR2_PACKAGE_JANUS_VIDEO_ROOM),y) +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-videoroom +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-videoroom +endif + ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets
Signature · 1 line
2.9.3
PATCH v3 10/10 janus-gateway: Make voicemail plugin optional.
In reply to Adam DuskettCurrently janus-gateway's voicemail plugin is only built if libogg is selected, and even then there is no way to disable the plugin from being built. This causes a example config file to be placed on the target filing system that the user may not need or want, creates a 33K .so file on the target directory, and janus will also generate a warning when ran if the plugin does not have a matching configuration file setup by the user, as it will not use the example config file by default.
This patch makes the voicemail plugin optional, removes the check for libogg, adds libogg as a dependency to the voicemail plugin, and selects the libogg package automatically when the user selects the plugin.
---
v2 -> v3:
- Removed 'PLUGIN' from the name; as this is implied.
- Removed 'default n' from the config file, as this is the default.
- Selecting the voicemail plugin now adds libogg to the dependencies in the make file and selects the libogg package in the config file.
- remove unecessary check for libogg in the make file as the package is now selected by default if the user chooses to enable the voicemail plugin.
v1 -> v2:
- No changes.
package/janus-gateway/Config.in | 4 ++++ package/janus-gateway/janus-gateway.mk | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-)
package/janus-gateway/Config.in +4 -0
@@ -45,6 +45,10 @@ config BR2_PACKAGE_JANUS_VIDEO_CALL config BR2_PACKAGE_JANUS_VIDEO_ROOM bool "video room" +config BR2_PACKAGE_JANUS_VOICE_MAIL + select BR2_PACKAGE_LIBOGG + bool "voice mail" + endif comment "janus-gateway needs a toolchain w/ dynamic library, threads, wchar"
package/janus-gateway/janus-gateway.mk +7 -7
@@ -76,6 +76,13 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-videoroom endif +ifeq ($(BR2_PACKAGE_JANUS_VOICE_MAIL),y) +JANUS_GATEWAY_DEPENDENCIES += libogg +JANUS_GATEWAY_CONF_OPTS += --enable-plugin-voicemail +else +JANUS_GATEWAY_CONF_OPTS += --disable-plugin-voicemail +endif + ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets
@@ -83,13 +90,6 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-websockets endif -ifeq ($(BR2_PACKAGE_LIBOGG),y) -JANUS_GATEWAY_DEPENDENCIES += libogg -JANUS_GATEWAY_CONF_OPTS += --enable-plugin-voicemail -else -JANUS_GATEWAY_CONF_OPTS += --disable-plugin-voicemail -endif - # Parallel build broken JANUS_GATEWAY_MAKE = $(MAKE1)
Signature · 1 line
2.9.3
PATCH v3 1/10 janus-gateway: remove unessasary dependencies.
In reply to Adam DuskettHello,
Quoted 10 lines · Adam Duskett
Janus gateway currently depends on several dependencies that are not necessary. I removed every select and depend from the config file and re-enabled each dependency until I had a list of the bare minimum needed to compile the package. I also removed sofia-sip from the dependency list for the following patch.
Signed-off-by Adam Duskett <[email protected]>---
v2 - v3:
- No changes
I've applied the entire series. One thing that was wrong is that you added the "select" statements *before* the "bool" statements in the Config.in file, while we do the opposite in the rest of Buildroot. So I've fixed that up.
I've also added a commit that fixes an autobuilder issue caused by the streaming plugin requiring kernel headers >= 3.9 because of SO_REUSEPORT.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com