From bffc3eece0c655fca3f6bdf5f4de578d31c9434a Mon Sep 17 00:00:00 2001 From: hisham Date: Thu, 8 Oct 2009 18:57:41 +0000 Subject: improve compatibility with LR1 .rock files git-svn-id: http://luarocks.org/svn/luarocks/trunk@74 9ca3f7c1-7366-0410-b1a3-b5c78f85698c --- src/luarocks/install.lua | 6 ++++++ src/luarocks/manif.lua | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/luarocks/install.lua b/src/luarocks/install.lua index 15e905e1..3b399ebc 100644 --- a/src/luarocks/install.lua +++ b/src/luarocks/install.lua @@ -58,6 +58,12 @@ function install_binary_rock(rock_file) ok, err, errcode = deps.fulfill_dependencies(rockspec) if err then return nil, err, errcode end + -- For compatibility with .rock files built with LuaRocks 1 + if not fs.exists(path.rock_manifest_file(name, version)) then + ok, err = manif.make_rock_manifest(name, version) + if err then return nil, err end + end + ok, err = rep.run_hook(rockspec, "post_install") if err then return nil, err end diff --git a/src/luarocks/manif.lua b/src/luarocks/manif.lua index 63ba4a17..bdb691ab 100644 --- a/src/luarocks/manif.lua +++ b/src/luarocks/manif.lua @@ -38,8 +38,7 @@ function load_rock_manifest(name, version) if rock_manifest_cache[name_version] then return rock_manifest_cache[name_version].rock_manifest end - local install_dir = path.install_dir(name, version) - local pathname = dir.path(install_dir, "rock_manifest") + local pathname = dir.rock_manifest_file(name, version) local rock_manifest = persist.load_into_table(pathname) if not rock_manifest then return nil end rock_manifest_cache[name_version] = rock_manifest @@ -48,7 +47,7 @@ end function make_rock_manifest(name, version) local install_dir = path.install_dir(name, version) - local rock_manifest = dir.path(install_dir, "rock_manifest") + local rock_manifest = path.rock_manifest_file(name, version) local tree = {} for _, file in ipairs(fs.find(install_dir)) do local full_path = dir.path(install_dir, file) -- cgit v1.2.3-55-g6feb