Mercurial > prosody-hg
annotate tools/make_repo.lua @ 10460:5ce6cbb5ce6a
mod_http: Log served URLs at 'info' level
These are similar to the "activated service" messages from portmanager
and similarily useful for the service admin to know even if they're not
debugging anything.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 29 Nov 2019 21:30:08 +0100 |
| parents | e9b47fcde93c |
| children |
| rev | line source |
|---|---|
|
10156
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
1 print("Getting all the available modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
2 if os.execute '[ -e "./downloaded_modules" ]' then |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
3 os.execute("rm -rf downloaded_modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
4 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
5 os.execute("hg clone https://hg.prosody.im/prosody-modules/ downloaded_modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
6 local i, popen = 0, io.popen |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
7 local flag = "mod_" |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
8 if os.execute '[ -e "./repository" ]' then |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
9 os.execute("mkdir repository") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
10 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
11 local pfile = popen('ls -a "downloaded_modules"') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
12 for filename in pfile:lines() do |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
13 i = i + 1 |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
14 if filename:sub(1, #flag) == flag then |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
15 local file = io.open("repository/"..filename.."-scm-1.rockspec", "w") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
16 file:write('package = "'..filename..'"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
17 file:write('version = "scm-1"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
18 file:write('source = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
19 file:write('\turl = "hg+https://hg.prosody.im/prosody-modules",', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
20 file:write('\tdir = "prosody-modules"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
21 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
22 file:write('description = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
23 file:write('\thomepage = "https://prosody.im/",', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
24 file:write('\tlicense = "MIT"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
25 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
26 file:write('dependencies = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
27 file:write('\t"lua >= 5.1"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
28 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
29 file:write('build = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
30 file:write('\ttype = "builtin",', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
31 file:write('\tmodules = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
32 file:write('\t\t["'..filename..'.'..filename..'"] = "'..filename..'/'..filename..'.lua"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
33 file:write('\t}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
34 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
35 file:close() |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
36 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
37 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
38 pfile:close() |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
39 os.execute("cd repository/ && luarocks-admin make_manifest ./ && chmod -R 644 ./*") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
40 print("") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
41 print("Done!. Modules' sources are locally available at ./downloaded_modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
42 print("Repository is available at ./repository") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
43 print("The repository contains all of prosody modules' respective rockspecs, as well as manifest files and an html Index") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
44 print("You can now either point your server to this folder, or copy its contents to another configured folder.") |
