diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2024-02-16 23:01:02 -0300 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2024-02-17 01:09:11 -0300 |
commit | 614c1e410e19ca3bf5c014e359d35b74de2fe4f9 (patch) | |
tree | 8a45ae858493c0cf1bb54bff06391f0e5159343d | |
parent | 7a9bfd8dae3a1611366fc42b06f7ec34bc5347d6 (diff) | |
download | luarocks-614c1e410e19ca3bf5c014e359d35b74de2fe4f9.tar.gz luarocks-614c1e410e19ca3bf5c014e359d35b74de2fe4f9.tar.bz2 luarocks-614c1e410e19ca3bf5c014e359d35b74de2fe4f9.zip |
refactor: reduce some aliasing
Reduce some variable aliasing, just in case this is what is triggering
possible LuaJIT bugs on the MIPS-based LoongArch architecture.
See #1553.
-rw-r--r-- | src/luarocks/deps.lua | 14 | ||||
-rw-r--r-- | src/luarocks/manif/writer.lua | 10 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/luarocks/deps.lua b/src/luarocks/deps.lua index 6f8990d7..0b9ca8b5 100644 --- a/src/luarocks/deps.lua +++ b/src/luarocks/deps.lua | |||
@@ -609,12 +609,12 @@ end | |||
609 | -- to build a transitive closure of all dependent packages. | 609 | -- to build a transitive closure of all dependent packages. |
610 | -- Additionally ensures that `dependencies` table of the manifest is up-to-date. | 610 | -- Additionally ensures that `dependencies` table of the manifest is up-to-date. |
611 | -- @param results table: The results table being built, maps package names to versions. | 611 | -- @param results table: The results table being built, maps package names to versions. |
612 | -- @param manifest table: The manifest table containing dependencies. | 612 | -- @param mdeps table: The manifest dependencies table. |
613 | -- @param name string: Package name. | 613 | -- @param name string: Package name. |
614 | -- @param version string: Package version. | 614 | -- @param version string: Package version. |
615 | function deps.scan_deps(results, manifest, name, version, deps_mode) | 615 | function deps.scan_deps(results, mdeps, name, version, deps_mode) |
616 | assert(type(results) == "table") | 616 | assert(type(results) == "table") |
617 | assert(type(manifest) == "table") | 617 | assert(type(mdeps) == "table") |
618 | assert(type(name) == "string" and not name:match("/")) | 618 | assert(type(name) == "string" and not name:match("/")) |
619 | assert(type(version) == "string") | 619 | assert(type(version) == "string") |
620 | 620 | ||
@@ -623,10 +623,8 @@ function deps.scan_deps(results, manifest, name, version, deps_mode) | |||
623 | if results[name] then | 623 | if results[name] then |
624 | return | 624 | return |
625 | end | 625 | end |
626 | if not manifest.dependencies then manifest.dependencies = {} end | 626 | if not mdeps[name] then mdeps[name] = {} end |
627 | local md = manifest.dependencies | 627 | local mdn = mdeps[name] |
628 | if not md[name] then md[name] = {} end | ||
629 | local mdn = md[name] | ||
630 | local dependencies = mdn[version] | 628 | local dependencies = mdn[version] |
631 | local rocks_provided | 629 | local rocks_provided |
632 | if not dependencies then | 630 | if not dependencies then |
@@ -647,7 +645,7 @@ function deps.scan_deps(results, manifest, name, version, deps_mode) | |||
647 | local matched = match_all_deps(dependencies, get_versions) | 645 | local matched = match_all_deps(dependencies, get_versions) |
648 | results[name] = version | 646 | results[name] = version |
649 | for _, match in pairs(matched) do | 647 | for _, match in pairs(matched) do |
650 | deps.scan_deps(results, manifest, match.name, match.version, deps_mode) | 648 | deps.scan_deps(results, mdeps, match.name, match.version, deps_mode) |
651 | end | 649 | end |
652 | end | 650 | end |
653 | 651 | ||
diff --git a/src/luarocks/manif/writer.lua b/src/luarocks/manif/writer.lua index a435d29e..e39137c2 100644 --- a/src/luarocks/manif/writer.lua +++ b/src/luarocks/manif/writer.lua | |||
@@ -91,13 +91,17 @@ local function update_dependencies(manifest, deps_mode) | |||
91 | assert(type(manifest) == "table") | 91 | assert(type(manifest) == "table") |
92 | assert(type(deps_mode) == "string") | 92 | assert(type(deps_mode) == "string") |
93 | 93 | ||
94 | if not manifest.dependencies then manifest.dependencies = {} end | ||
95 | local mdeps = manifest.dependencies | ||
96 | |||
94 | for pkg, versions in pairs(manifest.repository) do | 97 | for pkg, versions in pairs(manifest.repository) do |
95 | for version, repositories in pairs(versions) do | 98 | for version, repositories in pairs(versions) do |
96 | for _, repo in ipairs(repositories) do | 99 | for _, repo in ipairs(repositories) do |
97 | if repo.arch == "installed" then | 100 | if repo.arch == "installed" then |
98 | repo.dependencies = {} | 101 | local rd = {} |
99 | deps.scan_deps(repo.dependencies, manifest, pkg, version, deps_mode) | 102 | repo.dependencies = rd |
100 | repo.dependencies[pkg] = nil | 103 | deps.scan_deps(rd, mdeps, pkg, version, deps_mode) |
104 | rd[pkg] = nil | ||
101 | end | 105 | end |
102 | end | 106 | end |
103 | end | 107 | end |