aboutsummaryrefslogtreecommitdiff
path: root/src/luarocks/install.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/luarocks/install.lua')
-rw-r--r--src/luarocks/install.lua25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/luarocks/install.lua b/src/luarocks/install.lua
index 3ef32c99..15e905e1 100644
--- a/src/luarocks/install.lua
+++ b/src/luarocks/install.lua
@@ -38,38 +38,35 @@ function install_binary_rock(rock_file)
38 if rep.is_installed(name, version) then 38 if rep.is_installed(name, version) then
39 rep.delete_version(name, version) 39 rep.delete_version(name, version)
40 end 40 end
41
41 local rollback = util.schedule_function(function() 42 local rollback = util.schedule_function(function()
42 fs.delete(path.install_dir(name, version)) 43 fs.delete(path.install_dir(name, version))
43 fs.remove_dir_if_empty(path.versions_dir(name)) 44 fs.remove_dir_if_empty(path.versions_dir(name))
44 end) 45 end)
46
45 local ok, err, errcode = fetch.fetch_and_unpack_rock(rock_file, path.install_dir(name, version)) 47 local ok, err, errcode = fetch.fetch_and_unpack_rock(rock_file, path.install_dir(name, version))
46 if not ok then return nil, err, errcode end 48 if not ok then return nil, err, errcode end
47 ok, err = rep.install_bins(name, version) 49
48
49 local rockspec, err, errcode = fetch.load_rockspec(path.rockspec_file(name, version)) 50 local rockspec, err, errcode = fetch.load_rockspec(path.rockspec_file(name, version))
50 if err then 51 if err then
51 return nil, "Failed loading rockspec for installed package: "..err, errcode 52 return nil, "Failed loading rockspec for installed package: "..err, errcode
52 end 53 end
53 54
54 ok, err, errcode = deps.check_external_deps(rockspec, "install") 55 ok, err, errcode = deps.check_external_deps(rockspec, "install")
55 if err then 56 if err then return nil, err, errcode end
56 return nil, err, errcode
57 end
58 57
59 ok, err, errcode = deps.fulfill_dependencies(rockspec) 58 ok, err, errcode = deps.fulfill_dependencies(rockspec)
60 if err then 59 if err then return nil, err, errcode end
61 return nil, err, errcode
62 end
63 60
64 ok, err = rep.run_hook(rockspec, "post_install") 61 ok, err = rep.run_hook(rockspec, "post_install")
65 if err then 62 if err then return nil, err end
66 return nil, err 63
67 end 64 ok, err = rep.deploy_files(name, version)
65 if err then return nil, err end
68 66
69 ok, err = manif.update_manifest(name, version) 67 ok, err = manif.update_manifest(name, version)
70 if err then 68 if err then return nil, err end
71 return nil, err 69
72 end
73 util.remove_scheduled_function(rollback) 70 util.remove_scheduled_function(rollback)
74 return true 71 return true
75end 72end