This update requires significant packaging changes. I would like to get feedback before commit, in case I made a mistake somewhere.
Changes specific to the devel/got port: - gotd is ready for wider testing and can be packaged - gotweb has been replaced by gotwebd; adjust devel/quirks accordingly - gotwebd.rc: reload on SIGHUP is not actually supported, set reload=NO - fix wantlib (missing libevent and libm) Full changelog and diff for the port follow: * got 0.80; 2023-01-17 too many changes to list all here; see git repository history for more - implement per-repository read/write authorization rules in gotd - add a gotd "listen" process which watches the unix socket - add a gotd "session" process, split off from the parent process - switch gotd from chroot(2) to unveil(2) - run gotd authentication in a separate child process - enforce a per-uid connection limit in the gotd listen process - introduce connection options to gotd.conf - gotd: allow to express timeouts using minutes/hours (op) - switch gotd.conf syntax from 'unix_socket' to 'listen on' - remove the gotsh group requirement from gotd; any user can now connect - expose 'gotctl info' output only to the root user - remove support for showing client capabilities in 'gotctl info' - farewell, gotweb. you served us well. rm gotweb (tracey) - lots of gotwebd refactoring (op) - gotwebd: use a templating system to render HTML (op) - gotwebd: add an RSS feed for the tags - gotwebd: remove erratic horizontal scrolling (op) - gotwebd.conf: use `listen on socket' syntax for UNIX sockets too (op) - gotwebd: render BLOB inline, add BLOBRAW for serving raw blobs (op) - gotwebd: css: fix horizontal overflow in blob and blame pages (op) - gotwebd: urlencode also the double quote character (op) - gotwebd: make commit page more like `got log' / tog (op) - cope with deleted references when reloading the tog log view - tog: fix typo that breaks log search when in hsplit (jamsek) - tog: always echo input prompt to bottom left of screen (jamsek) - make 'tog log' display the committer handle by default, '@' switches to author - tog: add mutt-like =/* keymaps as home/end aliases (patch by Mikhail) - implement diffstat display for got log, got diff, and tog diff (jamsek) - show from: and via: headers on consecutive lines in 'got log' and 'tog log' - show full URL during got clone/fetch/send (op) - make 'got send' print errors reported by the server (op) - fix 'got rebase' not detecting an out-of-date work tree in some cases - reduce max amount of tags stored in object cache to avoid high memory usage - avoid copying reused deltas to delta cache file; copy from pack file instead - got patch: handle the removal of binary files (op) - fix uninitialised fildes variables in libexec helpers (jamsek) - got: minor refactor of got_pathlist_free() API (jamsek) - fix indexing of pack files which contain ref-deltas diff /usr/ports commit - 6802ac417459dc67578bf97fc6c33b1d861c5817 path + /usr/ports blob - 7053c69213780c2ffa77fc1e066f63991082f3f0 file + devel/got/Makefile --- devel/got/Makefile +++ devel/got/Makefile @@ -1,10 +1,10 @@ COMMENT-main = game of trees version control system -COMMENT-web = game of trees repository cgi script +COMMENT-server = game of trees repository server COMMENT-webd = game of trees repository fast-cgi server -V = 0.79 +V = 0.80 DISTNAME = got-${V} -PKGNAME-web = gotweb-${V} +PKGNAME-server = gotd-${V} PKGNAME-webd = gotwebd-${V} CATEGORIES = devel HOMEPAGE = https://gameoftrees.org @@ -13,30 +13,27 @@ MULTI_PACKAGES = -main -web -webd # ISC PERMIT_PACKAGE = Yes -MULTI_PACKAGES = -main -web -webd +MULTI_PACKAGES = -main -server -webd # uses pledge() WANTLIB-main = c curses m panel pthread util z -WANTLIB-web = c util z -WANTLIB-webd = c util z +WANTLIB-server = c event m util z +WANTLIB-webd = c event m util z MAKE_FLAGS = CC="${CC}" -ALL_TARGET = all web webd -INSTALL_TARGET = install web-install webd-install +ALL_TARGET = all server webd +INSTALL_TARGET = install server-install webd-install MASTER_SITES = https://gameoftrees.org/releases/ DEBUG_PACKAGES = ${BUILD_PACKAGES} -BUILD_DEPENDS = www/kcgi>=0.12.0 - # some tests will fail without working non-interactive 'ssh 127.0.0.1' TEST_IS_INTERACTIVE = Yes TEST_ENV = $${SSH_AUTH_SOCK:+SSH_AUTH_SOCK="$$SSH_AUTH_SOCK"} TEST_DEPENDS = devel/git \ ${PKGPATH}=${V} -PREFIX-web = ${VARBASE}/www PREFIX-webd = ${VARBASE}/www TEST_TARGET = regress FAKE_FLAGS = MANDIR=${PREFIX}/man/man CHROOT_DIR=${VARBASE}/www blob - 6d7d971e03d237cb2dc33964d36132631df06a31 file + devel/got/distinfo --- devel/got/distinfo +++ devel/got/distinfo @@ -1,2 +1,2 @@ -SHA256 (got-0.79.tar.gz) = GuME42pJyO0Onf7q8+YQ0UI8vHR+wIqYnUK/QwROPvA= -SIZE (got-0.79.tar.gz) = 843921 +SHA256 (got-0.80.tar.gz) = 6SfQ67bRDN8XDPLd56G+IFUc1ErDXPASJIJgqAkiK60= +SIZE (got-0.80.tar.gz) = 784764 blob - /dev/null file + devel/got/pkg/DESCR-server (mode 644) --- /dev/null +++ devel/got/pkg/DESCR-server @@ -0,0 +1,8 @@ +gotd(8) is the Game of Trees Git repository server. + +gotd(8) makes Git repositories reachable over the network via ssh(1). +The plaintext git:// and HTTP/HTTPS protocols are intentionally not +supported. + +Documentation is provided in manual pages installed by this package: +gotsh(1), gotd.conf(5), gotd(8), gotctl(8) blob - 83e00c07fd57bb571d46cebe7bda981dd5157413 file + /dev/null --- devel/got/pkg/DESCR-web +++ /dev/null @@ -1,2 +0,0 @@ -Game of Trees Web (Gotweb) is a CGI program which displays repository data -and is designed to work with httpd(8) and slowcgi(8). blob - /dev/null file + devel/got/pkg/PLIST-server (mode 644) --- /dev/null +++ devel/got/pkg/PLIST-server @@ -0,0 +1,8 @@ +@rcscript ${RCDIR}/gotd +@bin bin/gotsh +@man man/man1/gotsh.1 +@man man/man5/gotd.conf.5 +@man man/man8/gotctl.8 +@man man/man8/gotd.8 +@bin sbin/gotctl +@bin sbin/gotd blob - 874cb69374a878114e04634163ef700f0ea746b9 file + /dev/null --- devel/got/pkg/PLIST-web +++ /dev/null @@ -1,43 +0,0 @@ -cgi-bin/gotweb/ -@bin cgi-bin/gotweb/gotweb -cgi-bin/gotweb/gw_tmpl/ -cgi-bin/gotweb/gw_tmpl/blame.tmpl -cgi-bin/gotweb/gw_tmpl/briefs.tmpl -cgi-bin/gotweb/gw_tmpl/commit.tmpl -cgi-bin/gotweb/gw_tmpl/diff.tmpl -cgi-bin/gotweb/gw_tmpl/err.tmpl -cgi-bin/gotweb/gw_tmpl/index.tmpl -cgi-bin/gotweb/gw_tmpl/summry.tmpl -cgi-bin/gotweb/gw_tmpl/tag.tmpl -cgi-bin/gotweb/gw_tmpl/tags.tmpl -cgi-bin/gotweb/gw_tmpl/tree.tmpl -cgi-bin/gotweb/libexec/ -@bin cgi-bin/gotweb/libexec/got-read-blob -@bin cgi-bin/gotweb/libexec/got-read-commit -@bin cgi-bin/gotweb/libexec/got-read-gitconfig -@bin cgi-bin/gotweb/libexec/got-read-gotconfig -@bin cgi-bin/gotweb/libexec/got-read-object -@bin cgi-bin/gotweb/libexec/got-read-pack -@bin cgi-bin/gotweb/libexec/got-read-tag -@bin cgi-bin/gotweb/libexec/got-read-tree -got/ -got/public/ -got/tmp/ -htdocs/gotweb/ -htdocs/gotweb/android-chrome-192x192.png -htdocs/gotweb/android-chrome-384x384.png -htdocs/gotweb/apple-touch-icon.png -htdocs/gotweb/browserconfig.xml -htdocs/gotweb/favicon-16x16.png -htdocs/gotweb/favicon-32x32.png -htdocs/gotweb/favicon.ico -htdocs/gotweb/got.png -htdocs/gotweb/got_large.png -htdocs/gotweb/gotweb.css -htdocs/gotweb/index.html -htdocs/gotweb/mstile-150x150.png -htdocs/gotweb/safari-pinned-tab.svg -htdocs/gotweb/site.webmanifest -@cwd ${LOCALBASE} -@man man/man5/gotweb.conf.5 -@man man/man8/gotweb.8 blob - /dev/null file + devel/got/pkg/gotd.rc (mode 644) --- /dev/null +++ devel/got/pkg/gotd.rc @@ -0,0 +1,15 @@ +#!/bin/ksh + +daemon="${TRUEPREFIX}/sbin/gotd" + +. /etc/rc.d/rc.subr + +pexp="gotd: parent" + +rc_configtest() { + ${daemon} -n ${daemon_flags} +} + +rc_reload=NO + +rc_cmd $1 blob - 070adaaebbaffa49b8b61624f824f855ca19098a file + devel/got/pkg/gotwebd.rc --- devel/got/pkg/gotwebd.rc +++ devel/got/pkg/gotwebd.rc @@ -8,4 +8,6 @@ rc_cmd $1 ${daemon} -n ${daemon_flags} } +rc_reload=NO + rc_cmd $1 blob - 39d25bcc0d169ad0420cfa5c89dd83f29320b151 file + devel/quirks/Makefile --- devel/quirks/Makefile +++ devel/quirks/Makefile @@ -3,7 +3,7 @@ PKGNAME = quirks-6.95 DISTFILES = # API.rev -PKGNAME = quirks-6.95 +PKGNAME = quirks-6.96 PKG_ARCH = * MAINTAINER = Marc Espie <es...@openbsd.org> blob - 34a9d35b3a827d5f81ba61737dfa354a5e0a813a file + devel/quirks/files/Quirks.pm --- devel/quirks/files/Quirks.pm +++ devel/quirks/files/Quirks.pm @@ -1778,6 +1778,7 @@ setup_obsolete_reason( 6 => 'caribou', 5 => 'riak', 15 => 'rmilter', + 3 => 'gotweb', ); # though it's not yet used, these should be pkgnames, so that eventually @@ -1794,6 +1795,7 @@ my $obsolete_suggestion = { 'keepassx' => 'keepassxc', 'lives' => [qw(kdenlive shotcut)], 'pdfshuffler' => 'pdfarranger', + 'gotweb' => 'gotwebd', }; # reasons for obsolete packages