aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 2.4.2v2.4.2Hisham2016-11-304-6/+6
|
* Merge branch 'master' of https://github.com/keplerproject/luarocksHisham2016-11-290-0/+0
|\
| * Update gitter badge link (keplerproject -> luarocks) [ci skip]Peter Melnichenko2016-11-101-1/+1
| |
* | Update Gitter linkHisham2016-11-101-1/+1
|/
* keplerproject/luarocks -> luarocks/luarocksHisham2016-11-072-4/+4
|
* Merge pull request #644 from mpeterv/fix-conflict-resolveHisham Muhammad2016-11-039-189/+328
|\ | | | | Fix conflict resolution on deploy/remove w.r.t. C/Lua modules with same name
| * Fix and refactor conflict resolution on deploy/deletePeter Melnichenko2016-11-012-183/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor repos.deploy_files and repos.delete_version to make relationships between properties of deployed files clearer and to avoid converting back and forth between related properties. Location of each deployable file in its rock manifest is pair deploy_type - the first subtree name ("bin", "lib", or "lua") and file_path - remaining path from the subtree to the file. These components determine where each file is physically located. Conflicts are considered based on two other properties: type and name of an item a file provides. Type can be "command" or "module". For items deployed using non-versioned names pairs (type, name) should be unique. Conversion from (deploy_type, file_path) to (item_type, item_name) is obvious, using path.path_to_module() for modules. Reversing this conversion is necessary for moving files between versioned and non-versioned locations on conflicts, and also for path.which function used in luarocks.show. However, rock tree manifest only allows to get file_path, which is not enough for modules - deploy_type can be both "lua" and "lib". Currently path.which infers deploy_type based on extension, falling back to "lib" if it's unknown, causing luarocks.show to display wrong paths (#424). This commit does not address that but adds relevant funcionality. Currently conflict resolution assumes that both files in conflict have same deploy_type and errors on conflict between a C module and a Lua module. This commit fixes that, inferring deploy_type for files with unknown extension using rock manifest.
| * Add a test for conflict resolution with mixed deploy typesPeter Melnichenko2016-11-017-6/+123
| |
* | Use ("%q"):format() for quoting in persistPeter Melnichenko2016-11-021-1/+1
| |
* | Fix persist for multiline strings ending with closing bracket prefixPeter Melnichenko2016-11-021-1/+2
| |
* | Add a few tests for luarocks.persistPeter Melnichenko2016-11-021-0/+55
|/ | | | One fails.
* Correct comment to match filename.Hisham2016-11-011-1/+1
|
* Use optional lpeg feature when available.Hisham2016-11-011-0/+1
|
* Remove dead codeHisham2016-11-011-3/+0
|
* Merge pull request #641 from mpeterv/missing-deps-check-changes-slurpHisham Muhammad2016-10-306-52/+87
|\ | | | | Get rid of repeated missing deps checks
| * Get rid of repeated missing deps checksPeter Melnichenko2016-10-306-52/+87
|/ | | | | | | | | | | Do not report missing dependencies on manifest update, which is now done more often. Instead do it at the end of commands that may alter manifest (install, build, make, remove - excluding purge). For reporting reuse format used when showing missing deps to be installed. Do not report missing indirect dependencies, only direct ones.
* Merge pull request #638 from mpeterv/remove-without-manifest-rebuildHisham Muhammad2016-10-292-64/+122
|\ | | | | Remove packages without manifest rebuild
| * Update manifest after removal without rebuildingPeter Melnichenko2016-10-282-9/+84
| | | | | | | | | | | | | | Rename `manif.update_manifest` to `manif.add_to_manifest`. Add `manif.remove_from_manifest` that performs reverse action. Use it in `repos.delete_version` to avoid rebuilding manifest everytime a package is removed.
| * manif.update_manifest: do not update manifest if rebuiltPeter Melnichenko2016-10-281-8/+4
| |
| * manif.update_manifest: load manifest as localPeter Melnichenko2016-10-281-1/+1
| |
| * Rename a variable in manif.update_manifestPeter Melnichenko2016-10-281-6/+6
| | | | | | | | | | `repo` sometimes means root dir and sometimes means rock dir. At least do not reuse the same variable for both.
| * Refactor store_results in luarocks.manif (2)Peter Melnichenko2016-10-281-21/+8
| | | | | | | | | | Do not accept a hook function to call after storing results. Simply call it on the outside after calling store_results.
| * Refactor store_results in luarocks.manifPeter Melnichenko2016-10-281-22/+22
| | | | | | | | | | | | Instead of passing a function and its arguments to a helper function for it to call it, make a copy of result, and return it, call the function on the outer level and pass the result to helper.
* | Improve performance of manif_core.get_versionsPeter Melnichenko2016-10-291-11/+10
|/ | | | | | | | | | To get all installed versions of a package using deps_mode, instead of deeply merging all manifests of corresponding trees, shallowly merge only tables related to that package. This affects speed of manifest manipulation and dependency resolution. Minimal performance testing suggests 3x-4x speed-up on reinstallation of a package using `luarocks make`.
* Merge pull request #637 from mpeterv/fix-win-abs-pathHisham Muhammad2016-10-282-8/+44
|\ | | | | Fix absolute path detection on Windows
| * Fix absolute path detection on WindowsPeter Melnichenko2016-10-281-8/+31
| | | | | | | | | | | | Do not use "^[%.a-zA-Z]?:?[\\/]" as a pattern when checking if a path is absolute on Windows. Check if there is a directory separator after an optional drive letter instead.
| * Add test for #632.Hisham2016-10-281-0/+13
| |
* | Merge branch 'master' of https://github.com/keplerproject/luarocksHisham2016-10-284-32/+39
|\|
| * Refactor windows argument quoting functionsPeter Melnichenko2016-10-281-21/+9
| | | | | | | | Use string replacements instead of functions in calls to gsub.
| * Move Unix-specific fs.Q implementation into luarocks.fs.unixPeter Melnichenko2016-10-282-11/+9
| |
| * Add a few tests for fs.QPeter Melnichenko2016-10-281-0/+21
| |
* | Prefer versioned Lua interpreter if it exists.Hisham2016-10-281-1/+1
|/ | | | | | | | | | This avoids in practice a problem that occurs in this scenario: 1. user installs Lua 5.1, gets lua and lua5.1 binaries 2. user installs LuaRocks, it detects and uses lua 3. user installs Lua 5.2, gets lua and lua5.2 binaries (lua is replaced) 4. user installs LuaRocks with --lua-version=5.2, it detects and uses lua 5. luarocks-5.1 now uses lua, which is Lua 5.2, rockspecs get passed the wrong value of $(LUA)
* Support user-defined platforms array.Hisham2016-10-261-30/+57
| | | | | Let the user set their own custom platform entries, but also provide fallbacks to make sure things work.
* Check if header matches interpreter.Hisham2016-10-261-0/+12
|
* Improve check of Lua interpreterHisham2016-10-261-38/+39
| | | | | (e.g. allow it to find `lua5.1` when lua is 5.3 and only `--lua-version=5.1` is given).
* Merge branch 'master' of https://github.com/keplerproject/luarocksHisham2016-10-2615-16/+24
|\
| * Merge pull request #635 from mpeterv/rock-name-caseHisham Muhammad2016-10-2610-7/+22
| |\ | | | | | | Make rock name arguments case insensitive
| | * Add two tests for uppercase rock name argumentsPeter Melnichenko2016-10-262-1/+13
| | |
| | * Treat rock name arguments in case insensitive wayPeter Melnichenko2016-10-268-6/+9
| |/ | | | | | | | | | | | | | | | | | | Internally package names are lowercased, however, rockspec may contain a name with uppercase letters, which will be displayed by `luarocks show`. Some commands, like `luarocks search`, `luarocks install` and `luarocks build`, support this and convert input name to lowercase before passing it to interanl functions. Do the same thing in other commands accepting rock names.
| * Remove some unused locals and importsPeter Melnichenko2016-10-206-9/+2
| |
* | Add link_lua_explicitly option.Hisham2016-10-252-1/+3
| | | | | | | | | | Remove explicit reference to cygwin, and make option available for custom environments.
* | Check rockspec_version before running type check.Hisham2016-10-251-6/+6
|/
* Show traceback for errors in scheduled functionsPeter Melnichenko2016-10-201-9/+15
|
* Slightly improve error messages in deploy/removePeter Melnichenko2016-10-201-5/+7
|
* Add a test for sailor/sailorproject#138Peter Melnichenko2016-10-201-0/+12
|
* Merge pull request #631 from mpeterv/fix-conflict-resolutionHisham Muhammad2016-10-204-96/+188
|\ | | | | Fix conflict resolution
| * Fix backup of wrapped scripts on deployPeter Melnichenko2016-10-201-26/+25
| | | | | | | | | | When deploying script to bin/script.bat, check and back up bin/script.bat, not bin/script.
| * Add a test for wrapped script backupPeter Melnichenko2016-10-201-0/+2
| |
| * Fix conflict resolution on deploy/deletePeter Melnichenko2016-10-192-78/+146
| | | | | | | | | | | | | | | | When deploying or deleting files, resolve conflicts purely based on module names and command names, not file names. Also, don't assume that in case of a conflict both packages have the same file providing the module or command; it can be false due to binary wrappers and `path_to_module("mod/init.lua")` == `path_to_module("mod.lua").
| * Add a test for #302Peter Melnichenko2016-10-192-0/+23
|/