Software /
code /
prosody
Annotate
tools/make_repo.lua @ 11781:9c23e7c8a67a
mod_http_file_share: Add optional global quota on total storage usage
Before, maximum storage usage (assuming all users upload as much as they
could) would depend on the quota, retention period and number of users.
Since number of users can vary, this makes it hard to know how much
storage will be needed.
Adding a limit to the total overall storage use solves this, making it
simple to set it to some number based on what storage is actually
available.
Summary job run less often than the prune job since it touches the
entire archive; and started before the prune job since it's needed
before the first upload.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 12 Sep 2021 01:38:33 +0200 |
parent | 10177:e9b47fcde93c |
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.") |