diff options
author | FractalU <r.beckmann@protonmail.com> | 2025-03-15 20:29:44 +0100 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2025-03-17 17:33:33 +0000 |
commit | 535ce8fb743054fd5cb9ef2c243e9f9b8974391d (patch) | |
tree | 80eda2b596197249f2f5c17f7874b5ee91391ee7 | |
parent | cf633dd70e791fd30c80b5b809d2d2cedd6e733d (diff) | |
download | luarocks-535ce8fb743054fd5cb9ef2c243e9f9b8974391d.tar.gz luarocks-535ce8fb743054fd5cb9ef2c243e9f9b8974391d.tar.bz2 luarocks-535ce8fb743054fd5cb9ef2c243e9f9b8974391d.zip |
rockspec format: indicate that scm URLs cannot start with http(s):// and that git:// is being treated the same as git+https:// only for GitHub URLs
-rw-r--r-- | docs/rockspec_format.md | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/docs/rockspec_format.md b/docs/rockspec_format.md index 9c663dbf..a5fe1db9 100644 --- a/docs/rockspec_format.md +++ b/docs/rockspec_format.md | |||
@@ -29,10 +29,10 @@ Dependencies are represented in LuaRocks through strings with a package name fol | |||
29 | ## Build rules | 29 | ## Build rules |
30 | 30 | ||
31 | * **source** (table, mandatory field) - Contains information on how to fetch sources to build this rock. Supports [per-platform overrides](platform_overrides.md). | 31 | * **source** (table, mandatory field) - Contains information on how to fetch sources to build this rock. Supports [per-platform overrides](platform_overrides.md). |
32 | * **source.url** (string, mandatory field) - the URL of the package source archive. Examples: "https://github.com/downloads/keplerproject/wsapi/wsapi-1.3.4.tar.gz", "git://github.com/keplerproject/wsapi.git". Note that this field is ignored when running [luarocks make](luarocks_make.md), which uses the sources from your current directory instead. Different protocols are supported: | 32 | * **source.url** (string, mandatory field) - the URL of the package source archive. Examples: "https://github.com/keplerproject/wsapi/archive/v1.3.4.tar.gz, "git://github.com/keplerproject/wsapi.git". Note that this field is ignored when running [luarocks make](luarocks_make.md), which uses the sources from your current directory instead. Different protocols are supported: |
33 | * `cvs://` - for the CVS source control manager | 33 | * `cvs://` - for the CVS source control manager |
34 | * `file://` - for URLs in the local filesystem (note that for Unix paths, the root slash is the third slash, resulting in paths like `"file:///full/path/filename"` | 34 | * `file://` - for URLs in the local filesystem to archive file (note that for Unix paths, the root slash is the third slash, resulting in paths like `"file:///full/path/filename"`) |
35 | * `ftp://` - for FTP URLs | 35 | * `ftp://` - for FTP URLs to archive file |
36 | * `git://` - for the Git source control manager | 36 | * `git://` - for the Git source control manager |
37 | * `git+file://` - for the Git source control manager when using repositories that need file:// URLs | 37 | * `git+file://` - for the Git source control manager when using repositories that need file:// URLs |
38 | * `git+http://` - for the Git source control manager when using repositories that need http:// URLs | 38 | * `git+http://` - for the Git source control manager when using repositories that need http:// URLs |
@@ -42,11 +42,11 @@ Dependencies are represented in LuaRocks through strings with a package name fol | |||
42 | * `hg+http://` - for the Mercurial source control manager using repositories that need http:// URLs | 42 | * `hg+http://` - for the Mercurial source control manager using repositories that need http:// URLs |
43 | * `hg+https://` - for the Mercurial source control manager using repositories that need https:// URLs | 43 | * `hg+https://` - for the Mercurial source control manager using repositories that need https:// URLs |
44 | * `hg+ssh://` - for the Mercurial source control manager using repositories that need SSH login | 44 | * `hg+ssh://` - for the Mercurial source control manager using repositories that need SSH login |
45 | * `http://` - for HTTP URLs | 45 | * `http://` - for HTTP URLs to archive file |
46 | * `https://` - for HTTPS URLs | 46 | * `https://` - for HTTPS URLs to archive file |
47 | * `hg://` - for the Mercurial source control manager | ||
48 | * `sscm://` - for the SurroundSCM source control manager | 47 | * `sscm://` - for the SurroundSCM source control manager |
49 | * `svn://` - for the Subversion source control manager | 48 | * `svn://` - for the Subversion source control manager |
49 | * **Important:** A source control manager URL cannot start with `http://` `https://`, `ftp://` or `file://`. For example, `https://github.com/keplerproject/wsapi.git` is incorrect, even though it works perfectly fine with `git clone`. The correct one is `git://github.com/keplerproject/wsapi.git`. Also note that only for GitHub URLs `git://` is being treated the same as `git+https://`. This is due to [GitHub's increased security](https://github.blog/security/application-security/improving-git-protocol-security-github/) and preserving backwards compatibility. | ||
50 | * **source.md5** (string) - the MD5 sum for the source archive. Example: "9ca22fd9f9413b54802d3d40b38c4e5c" | 50 | * **source.md5** (string) - the MD5 sum for the source archive. Example: "9ca22fd9f9413b54802d3d40b38c4e5c" |
51 | * **source.file** (string) - the filename of the source archive. Can be omitted if it can be inferred from the `source.url` field. Example: "luasocket-2.0.1.tar.gz" | 51 | * **source.file** (string) - the filename of the source archive. Can be omitted if it can be inferred from the `source.url` field. Example: "luasocket-2.0.1.tar.gz" |
52 | * **source.dir** (string) - the name of the directory created when the source archive is unpacked. Can be omitted if it can be inferred from the `source.file` field. Example: "luasocket-2.0.1" | 52 | * **source.dir** (string) - the name of the directory created when the source archive is unpacked. Can be omitted if it can be inferred from the `source.file` field. Example: "luasocket-2.0.1" |