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

Reply via email to