Rework LuCI build system
[project/luci.git] / modules / base / luasrc / ccache.lua
diff --git a/modules/base/luasrc/ccache.lua b/modules/base/luasrc/ccache.lua
deleted file mode 100644 (file)
index 56ccbc3..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
---[[
-LuCI - Lua Configuration Interface
-
-Copyright 2008 Steven Barth <steven@midlink.org>
-Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-$Id$
-]]--
-
-local io = require "io"
-local fs = require "nixio.fs"
-local util = require "luci.util"
-local nixio = require "nixio"
-local debug = require "debug"
-local string = require "string"
-local package = require "package"
-
-local type, loadfile = type, loadfile
-
-
-module "luci.ccache"
-
-function cache_ondemand(...)
-       if debug.getinfo(1, 'S').source ~= "=?" then
-               cache_enable(...)
-       end
-end
-
-function cache_enable(cachepath, mode)
-       cachepath = cachepath or "/tmp/luci-modulecache"
-       mode = mode or "r--r--r--"
-
-       local loader = package.loaders[2]
-       local uid    = nixio.getuid()
-
-       if not fs.stat(cachepath) then
-               fs.mkdir(cachepath)
-       end
-
-       local function _encode_filename(name)
-               local encoded = ""
-               for i=1, #name do
-                       encoded = encoded .. ("%2X" % string.byte(name, i))
-               end
-               return encoded
-       end
-
-       local function _load_sane(file)
-               local stat = fs.stat(file)
-               if stat and stat.uid == uid and stat.modestr == mode then
-                       return loadfile(file)
-               end
-       end
-
-       local function _write_sane(file, func)
-               if nixio.getuid() == uid then
-                       local fp = io.open(file, "w")
-                       if fp then
-                               fp:write(util.get_bytecode(func))
-                               fp:close()
-                               fs.chmod(file, mode)
-                       end
-               end
-       end
-
-       package.loaders[2] = function(mod)
-               local encoded = cachepath .. "/" .. _encode_filename(mod)
-               local modcons = _load_sane(encoded)
-               
-               if modcons then
-                       return modcons
-               end
-
-               -- No cachefile
-               modcons = loader(mod)
-               if type(modcons) == "function" then
-                       _write_sane(encoded, modcons)
-               end
-               return modcons
-       end
-end