Hola, Here is an update to restic-rest-server. The patch we had is now upstream so it can be removed \o/.
Full changelog here: https://github.com/restic/rest-server/releases/tag/v0.10.0 OK? Cheers, Aaron
Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/restic-rest-server/Makefile,v retrieving revision 1.8 diff -u -p -r1.8 Makefile --- Makefile 15 Sep 2019 02:04:00 -0000 1.8 +++ Makefile 16 Nov 2020 23:10:56 -0000 @@ -1,36 +1,40 @@ -# $OpenBSD: Makefile,v 1.8 2019/09/15 02:04:00 jsing Exp $ +# $OpenBSD$ COMMENT = REST backend for the restic backup tool -V = 0.9.7 -DISTNAME = rest-server-${V} -PKGNAME = restic-${DISTNAME} -REVISION = 4 +MODGO_MODNAME = github.com/restic/rest-server +MODGO_VERSION = v0.10.0 -CATEGORIES = sysutils +DISTNAME = rest-server-${MODGO_VERSION} +PKGNAME = restic-${DISTNAME:S/-v/-/} -MAINTAINER = Aaron Bieber <abie...@openbsd.org> +CATEGORIES = sysutils # BSD PERMIT_PACKAGE = Yes -WANTLIB += c pthread - -MASTER_SITES = https://github.com/restic/rest-server/releases/download/v${V}/ - -MODULES = lang/go -MODGO_TYPE = bin +SUBST_VARS += VARBASE -NO_TEST = Yes - -SUBST_VARS += VARBASE - -ALL_TARGET = github.com/restic/rest-server - -do-build: - cd ${WRKSRC} && ${MODGO_CMD} run -x build.go +MODULES = lang/go do-install: - cp ${WRKSRC}/rest-server ${PREFIX}/bin/restic-rest-server + cp ${MODGO_WORKSPACE}/bin/rest-server ${PREFIX}/bin/restic-rest-server + +MODGO_MODULES = \ + github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a \ + github.com/golang/protobuf v1.0.0 \ + github.com/gorilla/handlers v1.3.0 \ + github.com/inconshreveable/mousetrap v1.0.0 \ + github.com/matttproud/golang_protobuf_extensions v1.0.0 \ + github.com/miolini/datacounter v0.0.0-20171104152933-fd4e42a1d5e0 \ + github.com/prometheus/client_golang v0.8.0 \ + github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5 \ + github.com/prometheus/common v0.0.0-20180110214958-89604d197083 \ + github.com/prometheus/procfs v0.0.0-20180212145926-282c8707aa21 \ + github.com/spf13/cobra v0.0.1 \ + github.com/spf13/pflag v1.0.0 \ + goji.io v2.0.2+incompatible \ + golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4 \ + golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/sysutils/restic-rest-server/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- distinfo 6 Mar 2018 13:49:03 -0000 1.1.1.1 +++ distinfo 16 Nov 2020 23:10:56 -0000 @@ -1,2 +1,62 @@ -SHA256 (rest-server-0.9.7.tar.gz) = kigRz8SYefcIb+VZ0l7Bu0FpssSl3zVZtJnmKS9DVmE= -SIZE (rest-server-0.9.7.tar.gz) = 2395915 +SHA256 (go_modules/github.com/beorn7/perks/@v/v0.0.0-20160804104726-4c0e84591b9a.mod) = zE0fqtdZZfpp6xMSC/lWgncZAF/z7NxwSzb7WPsf0W4= +SHA256 (go_modules/github.com/beorn7/perks/@v/v0.0.0-20160804104726-4c0e84591b9a.zip) = HGUt3sZT6CuJgq2WUSiN5ixigeaDhLIviDTTQdUrWGw= +SHA256 (go_modules/github.com/golang/protobuf/@v/v1.0.0.mod) = wKIDG/J3CHdJ2MzEMkSfaxN1eH6shkHdL5MAdCMar7Q= +SHA256 (go_modules/github.com/golang/protobuf/@v/v1.0.0.zip) = N894G4/wTE/jcDbKICUCHlCQzPIv3n2Ml1aWcikqzHo= +SHA256 (go_modules/github.com/gorilla/handlers/@v/v1.3.0.mod) = oNFTwIUcN1TH7TOs0Dj1o/aDO6MwYsWN0LrdqreLxS8= +SHA256 (go_modules/github.com/gorilla/handlers/@v/v1.3.0.zip) = N2NfmsGdPOpH336y/lWpcC4q/nf8UcYHE08HCpxiGPc= +SHA256 (go_modules/github.com/inconshreveable/mousetrap/@v/v1.0.0.mod) = OR2uvJOw35u4momxS/pgJo2eueJ2I+xBUEGrq6vdAFw= +SHA256 (go_modules/github.com/inconshreveable/mousetrap/@v/v1.0.0.zip) = w/oIE+ePXO8Q3A6ZEsQ+aOBv+XCpjpjEBQ/hTbv9GMc= +SHA256 (go_modules/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.0.mod) = XJwAhrmy623J8nuh0zsopmRj/jDC+Hb/BbfISOd56nc= +SHA256 (go_modules/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.0.zip) = PkKTYXT1bC3NYlExIZzw3zn4aeIPLAOFtJzJ3+z/SNM= +SHA256 (go_modules/github.com/miolini/datacounter/@v/v0.0.0-20171104152933-fd4e42a1d5e0.mod) = orhJr+17WTds016cjOl388k/U4q1oW72r1WRPmiTAFw= +SHA256 (go_modules/github.com/miolini/datacounter/@v/v0.0.0-20171104152933-fd4e42a1d5e0.zip) = 3TB6VXFrDji/HouNBb8/qbhcNWsh08USkVtae7TIEE0= +SHA256 (go_modules/github.com/prometheus/client_golang/@v/v0.8.0.mod) = qnj8mhMBrpT0RwOEbd3fJU3v7DA1bj8TALu02w6z22U= +SHA256 (go_modules/github.com/prometheus/client_golang/@v/v0.8.0.zip) = 2K+tXqagG9K52j0CKS1gMKpTKT1eAD+xbwKofgz5oYw= +SHA256 (go_modules/github.com/prometheus/client_model/@v/v0.0.0-20171117100541-99fa1f4be8e5.mod) = ns1IHRDj87hroHVZhqhYUgKLhvK6WXll09NnKy8vtzg= +SHA256 (go_modules/github.com/prometheus/client_model/@v/v0.0.0-20171117100541-99fa1f4be8e5.zip) = 6wUeAwiQYhFM7tGSyX/NfKNU1veXI1OMAEpIUN1VL2o= +SHA256 (go_modules/github.com/prometheus/common/@v/v0.0.0-20180110214958-89604d197083.mod) = BQyxxQq3PNWzp4RWTFLeTV03phPn5bx0jnxvXySXwpU= +SHA256 (go_modules/github.com/prometheus/common/@v/v0.0.0-20180110214958-89604d197083.zip) = eWhV1lUkKk0rAhfJPQLCghm7Z07XOantnQmNMvgto1I= +SHA256 (go_modules/github.com/prometheus/procfs/@v/v0.0.0-20180212145926-282c8707aa21.mod) = Ut7XCWB1iCAO/0vPvWH84yuww/Dv3TLYRuPqFQsZY1I= +SHA256 (go_modules/github.com/prometheus/procfs/@v/v0.0.0-20180212145926-282c8707aa21.zip) = 8kAdu0AbVL00FDcr1mO1LldJU2EQMzo1VrBe7Pa56EE= +SHA256 (go_modules/github.com/spf13/cobra/@v/v0.0.1.mod) = Qex/GhL3k0rDSaxrh9mbxDqOxEBe+WjzvwvQoyYl12o= +SHA256 (go_modules/github.com/spf13/cobra/@v/v0.0.1.zip) = ZI+uDm7XqYW/UtUfiUhpQpVXo4f4GiMKQDLc09s7Hdc= +SHA256 (go_modules/github.com/spf13/pflag/@v/v1.0.0.mod) = wBGbXfu/PAywKxaM4PzBnn7e+nPJhExGCevLV/Q5TRQ= +SHA256 (go_modules/github.com/spf13/pflag/@v/v1.0.0.zip) = fSM5NJWPNExCmTn6du5oCq54HN24xe6paxQ3Zih2K40= +SHA256 (go_modules/goji.io/@v/v2.0.2+incompatible.mod) = Z8BAjLXh2HEblPSeDSbO6shNoi6n3RzR5cN/ujRVxbg= +SHA256 (go_modules/goji.io/@v/v2.0.2+incompatible.zip) = HqabKONWy5E4HOIzkAT88UStGyaMnjSXye8wR1GuC7M= +SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20180214000028-650f4a345ab4.mod) = XQEUTZSEElkdjxHUn3p0+trOWOEtc2bPCvmSFH5SSG0= +SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20180214000028-650f4a345ab4.zip) = /DuEgGxQJOUYAGW706pZ9XKpkvvQvpsTKREZQ07GtJI= +SHA256 (go_modules/golang.org/x/sync/@v/v0.0.0-20200317015054-43a5402ce75a.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw= +SHA256 (go_modules/golang.org/x/sync/@v/v0.0.0-20200317015054-43a5402ce75a.zip) = GWIFAiStqVM+cxy4sbpsMdYacoK3VzdD0u6SIFQenkk= +SHA256 (rest-server-v0.10.0.zip) = lbl+H6qSpZexEcsJqpOOy03V1ZSaIyUT1GTqbHn5els= +SIZE (go_modules/github.com/beorn7/perks/@v/v0.0.0-20160804104726-4c0e84591b9a.mod) = 31 +SIZE (go_modules/github.com/beorn7/perks/@v/v0.0.0-20160804104726-4c0e84591b9a.zip) = 14808 +SIZE (go_modules/github.com/golang/protobuf/@v/v1.0.0.mod) = 34 +SIZE (go_modules/github.com/golang/protobuf/@v/v1.0.0.zip) = 384035 +SIZE (go_modules/github.com/gorilla/handlers/@v/v1.3.0.mod) = 35 +SIZE (go_modules/github.com/gorilla/handlers/@v/v1.3.0.zip) = 25394 +SIZE (go_modules/github.com/inconshreveable/mousetrap/@v/v1.0.0.mod) = 44 +SIZE (go_modules/github.com/inconshreveable/mousetrap/@v/v1.0.0.zip) = 3712 +SIZE (go_modules/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.0.mod) = 56 +SIZE (go_modules/github.com/matttproud/golang_protobuf_extensions/@v/v1.0.0.zip) = 15288 +SIZE (go_modules/github.com/miolini/datacounter/@v/v0.0.0-20171104152933-fd4e42a1d5e0.mod) = 38 +SIZE (go_modules/github.com/miolini/datacounter/@v/v0.0.0-20171104152933-fd4e42a1d5e0.zip) = 6010 +SIZE (go_modules/github.com/prometheus/client_golang/@v/v0.8.0.mod) = 43 +SIZE (go_modules/github.com/prometheus/client_golang/@v/v0.8.0.zip) = 111363 +SIZE (go_modules/github.com/prometheus/client_model/@v/v0.0.0-20171117100541-99fa1f4be8e5.mod) = 42 +SIZE (go_modules/github.com/prometheus/client_model/@v/v0.0.0-20171117100541-99fa1f4be8e5.zip) = 65966 +SIZE (go_modules/github.com/prometheus/common/@v/v0.0.0-20180110214958-89604d197083.mod) = 36 +SIZE (go_modules/github.com/prometheus/common/@v/v0.0.0-20180110214958-89604d197083.zip) = 110218 +SIZE (go_modules/github.com/prometheus/procfs/@v/v0.0.0-20180212145926-282c8707aa21.mod) = 36 +SIZE (go_modules/github.com/prometheus/procfs/@v/v0.0.0-20180212145926-282c8707aa21.zip) = 88403 +SIZE (go_modules/github.com/spf13/cobra/@v/v0.0.1.mod) = 30 +SIZE (go_modules/github.com/spf13/cobra/@v/v0.0.1.zip) = 140262 +SIZE (go_modules/github.com/spf13/pflag/@v/v1.0.0.mod) = 30 +SIZE (go_modules/github.com/spf13/pflag/@v/v1.0.0.zip) = 61628 +SIZE (go_modules/goji.io/@v/v2.0.2+incompatible.mod) = 15 +SIZE (go_modules/goji.io/@v/v2.0.2+incompatible.zip) = 28167 +SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20180214000028-650f4a345ab4.mod) = 27 +SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20180214000028-650f4a345ab4.zip) = 1574640 +SIZE (go_modules/golang.org/x/sync/@v/v0.0.0-20200317015054-43a5402ce75a.mod) = 25 +SIZE (go_modules/golang.org/x/sync/@v/v0.0.0-20200317015054-43a5402ce75a.zip) = 27020 +SIZE (rest-server-v0.10.0.zip) = 255834 Index: patches/patch-htpasswd_go =================================================================== RCS file: patches/patch-htpasswd_go diff -N patches/patch-htpasswd_go --- patches/patch-htpasswd_go 5 Mar 2019 13:49:50 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,45 +0,0 @@ -$OpenBSD: patch-htpasswd_go,v 1.1 2019/03/05 13:49:50 abieber Exp $ - -https://github.com/restic/rest-server/pull/81 - -Index: htpasswd.go ---- htpasswd.go.orig -+++ htpasswd.go -@@ -30,8 +30,10 @@ import ( - "encoding/csv" - "log" - "os" -+ "os/signal" - "regexp" - "sync" -+ "syscall" - "time" - - "golang.org/x/crypto/bcrypt" -@@ -54,6 +56,8 @@ type HtpasswdFile struct { - // NewHtpasswdFromFile reads the users and passwords from a htpasswd file and returns them. If an error is encountered, - // it is returned, together with a nil-Pointer for the HtpasswdFile. - func NewHtpasswdFromFile(path string) (*HtpasswdFile, error) { -+ c := make(chan os.Signal, 1) -+ signal.Notify(c, syscall.SIGHUP) - stat, err := os.Stat(path) - if err != nil { - return nil, err -@@ -72,6 +76,17 @@ func NewHtpasswdFromFile(path string) (*HtpasswdFile, - - // Start a goroutine that limits reload checks to once per CheckInterval - go h.throttleTimer() -+ -+ go func() { -+ for range c { -+ err := h.Reload() -+ if err == nil { -+ log.Printf("Reloaded htpasswd file") -+ } else { -+ log.Printf("Could not reload htpasswd file: %v", err) -+ } -+ } -+ }() - - return h, nil - }