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 <[email protected]>
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