From 8a0beffbe2b37d18b6078ce8a38c64fabbbc4f58 Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Mon, 31 Jan 2022 21:14:43 +0100 Subject: [PATCH] Bumped v release; files are now served properly --- .woodpecker/.builder.yml | 1 + Makefile | 4 ++-- src/repo/sync.v | 5 ++--- src/routes.v | 10 ++++++---- src/web/web.v | 1 - 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.woodpecker/.builder.yml b/.woodpecker/.builder.yml index 55d83d5..e94a846 100644 --- a/.woodpecker/.builder.yml +++ b/.woodpecker/.builder.yml @@ -13,5 +13,6 @@ pipeline: when: event: push path: + - Makefile - Dockerfile.builder - patches/* diff --git a/Makefile b/Makefile index c363c8a..8674ca0 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ SRC_DIR := src SOURCES != find '$(SRC_DIR)' -iname '*.v' -V_RELEASE := weekly.2022.04 +V_RELEASE := weekly.2022.05 V_PATH ?= v-$(V_RELEASE)/v V := $(V_PATH) -showcc @@ -70,4 +70,4 @@ v-$(V_RELEASE)/v: make -C 'v-$(V_RELEASE)' clean: - rm -rf '$(LARCHIVE_DIR)' 'data' 'vieter' 'dvieter' 'pvieter' 'vieter.c' 'v-$(V_RELEASE)' + rm -rf 'data' 'vieter' 'dvieter' 'pvieter' 'vieter.c' 'v-$(V_RELEASE)' diff --git a/src/repo/sync.v b/src/repo/sync.v index 0bb5545..d6080e0 100644 --- a/src/repo/sync.v +++ b/src/repo/sync.v @@ -44,9 +44,8 @@ fn (r &Repo) sync() ? { C.archive_write_add_filter_gzip(a_files) C.archive_write_set_format_pax_restricted(a_files) - // TODO add symlink to .tar.gz version - db_path := os.join_path_single(r.repo_dir, 'repo.db') - files_path := os.join_path_single(r.repo_dir, 'repo.files') + db_path := os.join_path_single(r.repo_dir, 'vieter.db.tar.gz') + files_path := os.join_path_single(r.repo_dir, 'vieter.files.tar.gz') C.archive_write_open_filename(a_db, &char(db_path.str)) C.archive_write_open_filename(a_files, &char(files_path.str)) diff --git a/src/routes.v b/src/routes.v index 5dfd34e..45e7fa5 100644 --- a/src/routes.v +++ b/src/routes.v @@ -27,7 +27,7 @@ fn is_pkg_name(s string) bool { ['/health'; get] pub fn (mut app App) healthcheck() web.Result { - return app.text('Healthy') + return app.text('Healthy') } // get_root handles a GET request for a file on the root @@ -35,10 +35,12 @@ pub fn (mut app App) healthcheck() web.Result { fn (mut app App) get_root(filename string) web.Result { mut full_path := '' - if is_pkg_name(filename) { - full_path = os.join_path_single(app.repo.pkg_dir, filename) + if filename.ends_with('.db') || filename.ends_with('.files') { + full_path = os.join_path_single(app.repo.repo_dir, '${filename}.tar.gz') + } else if filename.ends_with('.db.tar.gz') || filename.ends_with('.files.tar.gz') { + full_path = os.join_path_single(app.repo.repo_dir, '$filename') } else { - full_path = os.join_path_single(app.repo.repo_dir, filename) + full_path = os.join_path_single(app.repo.pkg_dir, filename) } return app.file(full_path) diff --git a/src/web/web.v b/src/web/web.v index 2db8f18..bbb909f 100644 --- a/src/web/web.v +++ b/src/web/web.v @@ -262,7 +262,6 @@ pub fn (mut ctx Context) file(f_path string) Result { if ctx.done { return Result{} } - ctx.done = true if !os.is_file(f_path) { return ctx.not_found()