From bf9f0f13c4ce9854a23fbd4f82c8bae6ed8dde20 Mon Sep 17 00:00:00 2001
From: Alexander Traud <pabstraud@compuserve.com>
Date: Mon, 2 Nov 2020 08:24:42 +0100
Subject: [PATCH] loader: Sync load- and build-time deps.

In MODULEINFO, each depend has to be listed in .requires of AST_MODULE_INFO.

ASTERISK-29148

Change-Id: I254dd33194ae38d2877b8021c57c2a5deb6bbcd2
---
 funcs/func_odbc.c             | 1 +
 funcs/func_periodic_hook.c    | 1 +
 res/res_hep_pjsip.c           | 2 +-
 res/res_odbc.c                | 1 +
 res/res_pjproject.c           | 2 ++
 res/res_pjsip.c               | 2 +-
 res/res_pjsip_stir_shaken.c   | 2 +-
 res/res_prometheus.c          | 4 ++++
 tests/test_http_media_cache.c | 1 +
 9 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/funcs/func_odbc.c b/funcs/func_odbc.c
index acebdcc51a..5cc0faaa98 100644
--- a/funcs/func_odbc.c
+++ b/funcs/func_odbc.c
@@ -1947,4 +1947,5 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "ODBC lookups",
 	.load = load_module,
 	.unload = unload_module,
 	.reload = reload,
+	.requires = "res_odbc",
 );
diff --git a/funcs/func_periodic_hook.c b/funcs/func_periodic_hook.c
index 31c534cb95..e38ff3e7ae 100644
--- a/funcs/func_periodic_hook.c
+++ b/funcs/func_periodic_hook.c
@@ -519,4 +519,5 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Periodic dialplan
 	.support_level = AST_MODULE_SUPPORT_CORE,
 	.load = load_module,
 	.unload = unload_module,
+	.requires = "app_chanspy,func_cut,func_groupcount,func_uri",
 );
diff --git a/res/res_hep_pjsip.c b/res/res_hep_pjsip.c
index be2f6eab0c..b1a0377383 100644
--- a/res/res_hep_pjsip.c
+++ b/res/res_hep_pjsip.c
@@ -251,5 +251,5 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "PJSIP HEPv3 Logger",
 	.support_level = AST_MODULE_SUPPORT_EXTENDED,
 	.load = load_module,
 	.unload = unload_module,
-	.requires = "res_hep,res_pjsip",
+	.requires = "res_pjsip,res_pjsip_session,res_hep",
 );
diff --git a/res/res_odbc.c b/res/res_odbc.c
index da8700dad5..0dc812429f 100644
--- a/res/res_odbc.c
+++ b/res/res_odbc.c
@@ -1143,4 +1143,5 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_
 	.unload = unload_module,
 	.reload = reload,
 	.load_pri = AST_MODPRI_REALTIME_DEPEND,
+	.requires = "res_odbc_transaction",
 );
diff --git a/res/res_pjproject.c b/res/res_pjproject.c
index 2bb5d3bfb4..f6dce4cd9a 100644
--- a/res/res_pjproject.c
+++ b/res/res_pjproject.c
@@ -34,6 +34,7 @@
 
 /*** MODULEINFO
 	<depend>pjproject</depend>
+	<depend>res_sorcery_config</depend>
 	<support_level>core</support_level>
  ***/
 
@@ -767,4 +768,5 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_
 	.unload = unload_module,
 	.reload = reload_module,
 	.load_pri = AST_MODPRI_CHANNEL_DEPEND - 6,
+	.requires = "res_sorcery_config",
 );
diff --git a/res/res_pjsip.c b/res/res_pjsip.c
index 8954ef3f96..f99135a527 100644
--- a/res/res_pjsip.c
+++ b/res/res_pjsip.c
@@ -5842,6 +5842,6 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_
 	.unload = unload_module,
 	.reload = reload_module,
 	.load_pri = AST_MODPRI_CHANNEL_DEPEND - 5,
-	.requires = "dnsmgr,res_pjproject",
+	.requires = "dnsmgr,res_pjproject,res_sorcery_config,res_sorcery_memory,res_sorcery_astdb",
 	.optional_modules = "res_statsd",
 );
diff --git a/res/res_pjsip_stir_shaken.c b/res/res_pjsip_stir_shaken.c
index 58e86552af..88c1f3b7e7 100644
--- a/res/res_pjsip_stir_shaken.c
+++ b/res/res_pjsip_stir_shaken.c
@@ -325,5 +325,5 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_
 	.load = load_module,
 	.unload = unload_module,
 	.load_pri = AST_MODPRI_DEFAULT,
-	.requires = "res_pjsip,res_stir_shaken",
+	.requires = "res_pjsip,res_pjsip_session,res_stir_shaken",
 );
diff --git a/res/res_prometheus.c b/res/res_prometheus.c
index fdc90cffe9..3c39733f26 100644
--- a/res/res_prometheus.c
+++ b/res/res_prometheus.c
@@ -26,6 +26,7 @@
 
 /*** MODULEINFO
 	<use>pjproject</use>
+	<use type="module">res_pjsip</use>
 	<support_level>extended</support_level>
  ***/
 
@@ -1001,4 +1002,7 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_
 	.unload = unload_module,
 	.reload = reload_module,
 	.load_pri = AST_MODPRI_DEFAULT,
+#ifdef HAVE_PJPROJECT
+	.requires = "res_pjsip",
+#endif
 );
diff --git a/tests/test_http_media_cache.c b/tests/test_http_media_cache.c
index 2a3398f18a..c1975390a5 100644
--- a/tests/test_http_media_cache.c
+++ b/tests/test_http_media_cache.c
@@ -697,4 +697,5 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "HTTP Media Cache Backend
 		.load = load_module,
 		.reload = reload_module,
 		.unload = unload_module,
+		.requires = "res_http_media_cache",
 	);
-- 
GitLab