Changeset

12947:14a44b1a51d0

prosody.loader: Allow loading modules under 'prosody' namespace (#1223) Actually `hg mv`-ing all the files is disruptive, basically breaking everything from rebasing all my WIP draft commits to the package building. So instead, what if we didn't and instead rewrote package names as they are `require()`-d? Debian packages produced by the Prosody are already installed into this structure so much will Just Work if all require calls are updated.
author Kim Alvefur <zash@zash.se>
date Fri, 17 Mar 2023 13:51:43 +0100
parents 12946:59478b295137
children 12948:29983f09c913
files GNUmakefile loader.lua makefile
diffstat 3 files changed, 19 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/GNUmakefile	Sat Mar 18 16:13:32 2023 +0100
+++ b/GNUmakefile	Fri Mar 17 13:51:43 2023 +0100
@@ -42,6 +42,10 @@
 	$(INSTALL_EXEC) ./prosody.install $(BIN)/prosody
 	$(INSTALL_EXEC) ./prosodyctl.install $(BIN)/prosodyctl
 
+install-loader:
+	$(MKDIR) $(SOURCE)
+	$(INSTALL_DATA) loader.lua $(SOURCE)
+
 install-core:
 	$(MKDIR) $(SOURCE)
 	$(MKDIR) $(SOURCE)/core
@@ -89,7 +93,7 @@
 install-data:
 	$(MKDIR_PRIVATE) $(DATA)
 
-install: install-util install-net install-core install-plugins install-bin install-etc install-man install-meta install-data
+install: install-util install-net install-core install-plugins install-bin install-etc install-man install-meta install-data install-loader
 
 clean:
 	rm -f prosody.install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/loader.lua	Fri Mar 17 13:51:43 2023 +0100
@@ -0,0 +1,9 @@
+for i = #package.searchers, 1, -1 do
+	local search = package.searchers[i];
+	table.insert(package.searchers, i, function(module_name)
+		local lib = module_name:match("^prosody%.(.*)$");
+		if lib then
+			return search(lib);
+		end
+	end)
+end
--- a/makefile	Sat Mar 18 16:13:32 2023 +0100
+++ b/makefile	Fri Mar 17 13:51:43 2023 +0100
@@ -44,6 +44,10 @@
 	$(INSTALL_EXEC) ./prosody.install $(BIN)/prosody
 	$(INSTALL_EXEC) ./prosodyctl.install $(BIN)/prosodyctl
 
+install-loader:
+	$(MKDIR) $(SOURCE)
+	$(INSTALL_DATA) loader.lua $(SOURCE)
+
 install-core:
 	$(MKDIR) $(SOURCE)
 	$(MKDIR) $(SOURCE)/core
@@ -91,7 +95,7 @@
 install-data:
 	$(MKDIR_PRIVATE) $(DATA)
 
-install: install-util install-net install-core install-plugins install-bin install-etc install-man install-meta install-data
+install: install-util install-net install-core install-plugins install-bin install-etc install-man install-meta install-data install-loader
 
 clean:
 	rm -f prosody.install