mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
git-update: Make maximum blob size configurable
Support setting the maximum blob size in the configuration file. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
parent
87f5f1b407
commit
2cd69bf66d
2 changed files with 18 additions and 2 deletions
|
@ -56,6 +56,9 @@ git-shell-cmd = /usr/bin/git-shell
|
||||||
git-update-cmd = /srv/http/aurweb/git-interface/git-update.py
|
git-update-cmd = /srv/http/aurweb/git-interface/git-update.py
|
||||||
ssh-cmdline = ssh aur@aur.archlinux.org
|
ssh-cmdline = ssh aur@aur.archlinux.org
|
||||||
|
|
||||||
|
[update]
|
||||||
|
max-blob-size = 256000
|
||||||
|
|
||||||
[aurblup]
|
[aurblup]
|
||||||
db-path = /srv/http/aurweb/aurblup/
|
db-path = /srv/http/aurweb/aurblup/
|
||||||
sync-dbs = core extra community multilib testing community-testing
|
sync-dbs = core extra community multilib testing community-testing
|
||||||
|
|
|
@ -25,6 +25,19 @@ notify_cmd = config.get('notifications', 'notify-cmd')
|
||||||
repo_path = config.get('serve', 'repo-path')
|
repo_path = config.get('serve', 'repo-path')
|
||||||
repo_regex = config.get('serve', 'repo-regex')
|
repo_regex = config.get('serve', 'repo-regex')
|
||||||
|
|
||||||
|
max_blob_size = config.getint('update', 'max-blob-size')
|
||||||
|
|
||||||
|
|
||||||
|
def size_humanize(num):
|
||||||
|
for unit in ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB']:
|
||||||
|
if abs(num) < 2048.0:
|
||||||
|
if isinstance(num, int):
|
||||||
|
return "{}{}".format(num, unit)
|
||||||
|
else:
|
||||||
|
return "{:.2f}{}".format(num, unit)
|
||||||
|
num /= 1024.0
|
||||||
|
return "{:.2f}{}".format(num, 'YiB')
|
||||||
|
|
||||||
|
|
||||||
def extract_arch_fields(pkginfo, field):
|
def extract_arch_fields(pkginfo, field):
|
||||||
values = []
|
values = []
|
||||||
|
@ -254,8 +267,8 @@ for commit in walker:
|
||||||
die_commit("not a blob object: {:s}".format(treeobj),
|
die_commit("not a blob object: {:s}".format(treeobj),
|
||||||
str(commit.id))
|
str(commit.id))
|
||||||
|
|
||||||
if blob.size > 250000:
|
if blob.size > max_blob_size:
|
||||||
die_commit("maximum blob size (250kB) exceeded", str(commit.id))
|
die_commit("maximum blob size ({:s}) exceeded".format(size_humanize(max_blob_size)), str(commit.id))
|
||||||
|
|
||||||
metadata_raw = repo[commit.tree['.SRCINFO'].id].data.decode()
|
metadata_raw = repo[commit.tree['.SRCINFO'].id].data.decode()
|
||||||
(metadata, errors) = srcinfo.parse.parse_srcinfo(metadata_raw)
|
(metadata, errors) = srcinfo.parse.parse_srcinfo(metadata_raw)
|
||||||
|
|
Loading…
Add table
Reference in a new issue