From 50bdc20f9024216de8f6cb45756ca54ffec42a5d Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 30 Mar 2011 02:46:42 +0000 Subject: added libdir handling diff --git a/rhnop-server/Makefile b/rhnop-server/Makefile index 2d0f2f8..a0a9f64 100644 --- a/rhnop-server/Makefile +++ b/rhnop-server/Makefile @@ -79,6 +79,7 @@ install-bin: $(EXECUTABLE) install-lib: $(INSTALL) -d $(DESTDIR)$(LIBDIR) $(INSTALL) -m 644 conf.lua $(DESTDIR)$(LIBDIR) + $(SED) -e 's#^local filename.*$$#local filename = "$(ETCDIR)/rhnop/nopsyncd.conf"#' -i $(DESTDIR)$(LIBDIR)/conf.lua $(INSTALL) -m 644 playlog.lua $(DESTDIR)$(LIBDIR) $(INSTALL) -m 644 rddb.lua $(DESTDIR)$(LIBDIR) $(INSTALL) -m 644 qlistener.lua $(DESTDIR)$(LIBDIR) diff --git a/rhnop-server/conf.lua b/rhnop-server/conf.lua index 83257b5..8e97650 100644 --- a/rhnop-server/conf.lua +++ b/rhnop-server/conf.lua @@ -21,7 +21,9 @@ local conf = {} -local file = assert(io.open("nopsyncd.conf", "r")) +local filename = "nopsyncd.conf" + +local file = assert(io.open(filename, "r")) for line in file:lines() do local k,v = string.match(line, "^([^=#]+)=(.*)$") if k and v and v ~= "" then diff --git a/rhnop-server/configure b/rhnop-server/configure index 0b0aa09..d1f68f9 100755 --- a/rhnop-server/configure +++ b/rhnop-server/configure @@ -191,6 +191,7 @@ LUA := '$LUA' LUAC := '$LUAC' STRIP := strip INSTALL := install +SED := sed PREFIX := '$PREFIX' BINDIR := '$BINDIR' diff --git a/rhnop-server/nopsyncd.c b/rhnop-server/nopsyncd.c index 63bef7f..acb1eb1 100644 --- a/rhnop-server/nopsyncd.c +++ b/rhnop-server/nopsyncd.c @@ -30,8 +30,11 @@ #include #include "l_pipe.h" +#include "config.h" #define LUA_MAIN_LOOP_FUNC "main_loop" +#define QLISTENER LIBDIR"/qlistener.lua" +#define TCPSERVER LIBDIR"/tcpserver.lua" static const luaL_Reg nopsyncd_lualibs[] = { {"", luaopen_base}, @@ -66,6 +69,9 @@ int init_main_loop(lua_State *L, const char* filename) return -1; } + lua_pushstring(L, LIBDIR); + lua_setglobal(L, "rhnoplibdir"); + ret = lua_pcall(L, 0, 0, 0); if(ret) { const char* err_str = luaL_checkstring(L, -1); @@ -143,14 +149,14 @@ int main(int argc, char* argv[]) return 1; } - ret = pthread_create(&qlistener, NULL, main_loop, "qlistener.lua"); + ret = pthread_create(&qlistener, NULL, main_loop, QLISTENER); if(ret) { fprintf(stderr, "Error creating qlistener thread (code: %d)\n", ret); return 1; } pthread_detach(qlistener); /* can't kill this thread so don't join to it */ - ret = pthread_create(&tcpserver, NULL, main_loop, "tcpserver.lua"); + ret = pthread_create(&tcpserver, NULL, main_loop, TCPSERVER); if(ret) { fprintf(stderr, "Error creating qlistener thread (code: %d)\n", ret); return 1; diff --git a/rhnop-server/qlistener.lua b/rhnop-server/qlistener.lua index 8f2c0e2..4e96649 100644 --- a/rhnop-server/qlistener.lua +++ b/rhnop-server/qlistener.lua @@ -22,6 +22,8 @@ local last_cart = nil mq = require "mq" + +package.path = package.path .. ";" .. rhnoplibdir .. "/?.lua" playlog = require "playlog" rddb = require "rddb" conf = require "conf" diff --git a/rhnop-server/tcpserver.lua b/rhnop-server/tcpserver.lua index bd945b6..c035ba4 100644 --- a/rhnop-server/tcpserver.lua +++ b/rhnop-server/tcpserver.lua @@ -21,6 +21,7 @@ require "socket" +package.path = package.path .. ";" .. rhnoplibdir .. "/?.lua" conf = require "conf" function init_server() -- cgit v0.10.2