head	1.28;
access;
symbols
	pkgsrc-2026Q1:1.27.0.4
	pkgsrc-2026Q1-base:1.27
	pkgsrc-2025Q4:1.27.0.2
	pkgsrc-2025Q4-base:1.27
	pkgsrc-2025Q3:1.25.0.2
	pkgsrc-2025Q3-base:1.25
	pkgsrc-2025Q2:1.23.0.2
	pkgsrc-2025Q2-base:1.23
	pkgsrc-2025Q1:1.19.0.2
	pkgsrc-2025Q1-base:1.19
	pkgsrc-2024Q4:1.13.0.2
	pkgsrc-2024Q4-base:1.13
	pkgsrc-2024Q3:1.12.0.2
	pkgsrc-2024Q3-base:1.12
	pkgsrc-2024Q2:1.10.0.2
	pkgsrc-2024Q2-base:1.10
	pkgsrc-2024Q1:1.5.0.2
	pkgsrc-2024Q1-base:1.5
	pkgsrc-2023Q4:1.2.0.24
	pkgsrc-2023Q4-base:1.2
	pkgsrc-2023Q3:1.2.0.22
	pkgsrc-2023Q3-base:1.2
	pkgsrc-2023Q2:1.2.0.20
	pkgsrc-2023Q2-base:1.2
	pkgsrc-2023Q1:1.2.0.18
	pkgsrc-2023Q1-base:1.2
	pkgsrc-2022Q4:1.2.0.16
	pkgsrc-2022Q4-base:1.2
	pkgsrc-2022Q3:1.2.0.14
	pkgsrc-2022Q3-base:1.2
	pkgsrc-2022Q2:1.2.0.12
	pkgsrc-2022Q2-base:1.2
	pkgsrc-2022Q1:1.2.0.10
	pkgsrc-2022Q1-base:1.2
	pkgsrc-2021Q4:1.2.0.8
	pkgsrc-2021Q4-base:1.2
	pkgsrc-2021Q3:1.2.0.6
	pkgsrc-2021Q3-base:1.2
	pkgsrc-2021Q2:1.2.0.4
	pkgsrc-2021Q2-base:1.2
	pkgsrc-2021Q1:1.2.0.2
	pkgsrc-2021Q1-base:1.2;
locks; strict;
comment	@# @;


1.28
date	2026.04.17.19.14.28;	author vins;	state Exp;
branches;
next	1.27;
commitid	aX8XaKVUw56PvlCG;

1.27
date	2025.10.11.18.37.20;	author vins;	state Exp;
branches;
next	1.26;
commitid	J8OHdAg4fCLNlbeG;

1.26
date	2025.09.28.14.45.23;	author khorben;	state Exp;
branches;
next	1.25;
commitid	J7sDdJfCHySdtucG;

1.25
date	2025.08.24.17.01.36;	author vins;	state Exp;
branches;
next	1.24;
commitid	eyRvD23faNFxm08G;

1.24
date	2025.07.14.16.57.19;	author vins;	state Exp;
branches;
next	1.23;
commitid	VTU2pujA4OVKEJ2G;

1.23
date	2025.05.23.17.41.17;	author vins;	state Exp;
branches;
next	1.22;
commitid	Z5Nj4TYvqI3Cz3WF;

1.22
date	2025.05.01.07.46.48;	author vins;	state Exp;
branches;
next	1.21;
commitid	nVcr0BCZVD3uZaTF;

1.21
date	2025.03.30.08.19.47;	author vins;	state Exp;
branches;
next	1.20;
commitid	jIFwHKyUbBJDc4PF;

1.20
date	2025.03.30.07.34.28;	author vins;	state Exp;
branches;
next	1.19;
commitid	OlsKWfwSIqYUW3PF;

1.19
date	2025.03.22.13.40.01;	author vins;	state Exp;
branches;
next	1.18;
commitid	JmPg31YMYJnoe4OF;

1.18
date	2025.03.22.12.51.45;	author vins;	state Exp;
branches;
next	1.17;
commitid	h78i2Jp2ibZTX3OF;

1.17
date	2025.03.22.10.37.27;	author vins;	state Exp;
branches;
next	1.16;
commitid	QDZpcnYTgfgLd3OF;

1.16
date	2025.03.09.20.53.49;	author vins;	state Exp;
branches;
next	1.15;
commitid	YokqP2RNjZUZ2rMF;

1.15
date	2025.02.13.16.48.29;	author vins;	state Exp;
branches;
next	1.14;
commitid	E4psLH9ilm6NskJF;

1.14
date	2025.01.13.19.35.40;	author vins;	state Exp;
branches;
next	1.13;
commitid	RREjCJcwjTBGnmFF;

1.13
date	2024.12.01.16.21.32;	author vins;	state Exp;
branches;
next	1.12;
commitid	ZiFGdmcHQyLHGOzF;

1.12
date	2024.08.22.18.08.13;	author vins;	state Exp;
branches;
next	1.11;
commitid	YbjXzMRD7HWJwQmF;

1.11
date	2024.07.30.14.21.07;	author vins;	state Exp;
branches;
next	1.10;
commitid	AfB4FPdFcgXR0SjF;

1.10
date	2024.06.10.09.47.23;	author jperkin;	state Exp;
branches;
next	1.9;
commitid	sd1f1nPep2hF6qdF;

1.9
date	2024.06.09.13.25.05;	author vins;	state Exp;
branches;
next	1.8;
commitid	FeFrkHrgHCS2ljdF;

1.8
date	2024.05.29.17.28.29;	author vins;	state Exp;
branches;
next	1.7;
commitid	Rz1KIj5DIAkw1VbF;

1.7
date	2024.05.06.08.40.23;	author jperkin;	state Exp;
branches;
next	1.6;
commitid	Xm6R3peSH7EgRU8F;

1.6
date	2024.05.06.08.27.50;	author jperkin;	state Exp;
branches;
next	1.5;
commitid	YcrhyZVPKZ0TMU8F;

1.5
date	2024.03.17.11.38.48;	author vins;	state Exp;
branches;
next	1.4;
commitid	7faW2sFmiS85sv2F;

1.4
date	2024.02.11.14.47.06;	author vins;	state Exp;
branches;
next	1.3;
commitid	pfztCSOMtziXB1YE;

1.3
date	2024.01.18.05.02.43;	author gutteridge;	state Exp;
branches;
next	1.2;
commitid	ilWMLSLNLDvT9TUE;

1.2
date	2021.02.01.12.47.25;	author ryoon;	state Exp;
branches;
next	1.1;
commitid	TX7O9F4SPBwIt0GC;

1.1
date	2021.01.29.20.35.11;	author ryoon;	state Exp;
branches;
next	;
commitid	AYszevAK02rcaFFC;


desc
@@


1.28
log
@devel/got: update to 0.124

# upstream changes (since 0.120)

* got 0.124; 2026-04-13
- make the chroot path directive in gotwebd.conf actually work
- fix a segfault in tog while using the & search feature
- plug a tree object leak in the gotd repo_write process
- fix gotd wrongly complaining about a missing gotsys.conf in pack files
- expand tabs in log messages displayed by tog diff to prevent misalignment
- prevent non-root users from blocking gotctl reload requests
- plug a memory leak in got-read-commit
- allow UTF-8 in gotsys.conf site owner names and repository descriptions
- reject non-UTF-8-encoded reference names in gotsys.conf
- make gotwebd display logged-in usernames in case of group-membership auth

* got 0.123; 2026-02-25
- make gotsys-write-conf configure clone-urls for all accessible repositories
- ensure visitors see the repository index page after logging into gotwebd
- make 'gotadmin cleanup' run even if HEAD points at a non-existent branch
- gotsys.conf.5 and got.1 wording and markup fixes
- replace obsolete tmppath pledge in got-notify-http with wpath+cpath & unveil
- avoid a malloc/free dance per parsed tree entry in got-read-pack
- stop using the pack delta-cache in got-read-pack, cache-less is faster here
- fix double-free in error path of the 'gotadmin pack' commit coloring phase
- store first-level object_idset hash table entries inline to avoid malloc/free
- avoid doing asprintf/free per tree entry in got_pack_load_tree_entries()
- avoid a per tree-entry memcpy() in got-read-pack enumerate_tree()
- avoid deltifying packed delta-base objects to speed up pack file generation
- cache fewer but larger deltas in delta-cache to speed up got-index-pack

* got 0.122; 2026-02-10
- fix gotd/gotsys-check trying to parse gotsys.conf from a non-zero file offset
- fix setting of a custom HEAD reference during repository creation by gotsysd
- tweak gotwebd's Content-Security-Policy (CSP) to allow javascript in websites
- fix CSP-violating URL-paths to gotwebd static assets in generated HTML
- document gotwebd's Content-Security-Policy in gotwebd.conf.5
- fix gotwebd serving websites from a branch other than HEAD
- add a per-repository clone_url option to gotwebd.conf
- make gotsys-write-conf set the clone_url option in gotwebd.conf
- make 'tog diff' indent log messages above patches for safety
- gotweb can now show SSH host key fingerprints for clone URLs and login hints
- make gotsys-write-conf add ssh host key fingerprints to /etc/gotwebd.conf
- only display the "Clone URL:" label if there is a clone URL to display
- fix overflow CSS for gotwebd clone URL
- scope gotwebd authentication cookies to gotweb URL root path instead of "/"
- make gotwebd display the authenticated user name while logged in
- provide a link which can be used to log out when logged into gotwebd

* got 0.121; 2026-01-31
- plug fulltext delta cache memory leaks; found by otto malloc
- make gotwebd serve its own static files if not they are not served by httpd
- avoid deleting local HEAD and "refs/got/" refs during 'got fetch -d'
- hint at PASSWDSKIP for security(8) in gotsh.1
- fix bogus 'got histedit' error when deleting files which do not exist on disk
- standardize -h option exit status code across all commands
- gotwebd: stop reading from client once request has been parsed; fixes hangs
- gotwebd: add support for serving static web sites from Git repositories
- gotwebd: fix login links when gotwebd is not served at the root URL location
- gotwebd: add support for custom mime types, like in httpd.conf
- gotwebd: allow for displaying non-default SSH port numbers in login hints
- gotwebd: prepend 64 bits of randomness to login token data
- gotwebd: stop gracefully when a TERM signal is received
- remove undocumented support for macros from gotsys.conf parse.y
- make it possible to set repository descriptions in gotwebd.conf
- add gotwebctl, a utility which can be used to control gotwebd
- fix gotsys.conf syntax check for empty hmac secrets
- allow gotsysd to configure and restart gotwebd
- remove gotsys-sshdconfig; gotsysd no longer modifies /etc/ssh/sshd_config
- improve syntax error handling in gotsysd.conf, gotwebd.conf, and gotd.conf
@
text
@# $NetBSD: Makefile,v 1.27 2025/10/11 18:37:20 vins Exp $

DISTNAME=	got-portable-0.124
PKGNAME=	${DISTNAME:S/-portable//}
CATEGORIES=	devel
MASTER_SITES=	https://gameoftrees.org/releases/portable/

MAINTAINER=	vins@@NetBSD.org
HOMEPAGE=	https://gameoftrees.org/index.html
COMMENT=	Game of Trees VCS to manipulate git repositories
LICENSE=	isc

CONFLICTS+=	got-portable-[0-9]*
SUPERSEDES+=	got-portable-[0-9]*
PREV_PKGPATH=	devel/got-portable

BUILD_DEFS+=	VARBASE

USE_TOOLS+=	pkg-config yacc ksh:test perl:test
USE_CURSES=	halfdelay resize_term wgetnstr wide
FAKE_NCURSES=	yes

CPPFLAGS+=	-DOPENSSL_API_COMPAT=0x10100000	# HMAC_CTX_new()

PKG_GROUPS=		_gotd
PKG_USERS=		_gotd:_gotd
PKG_GECOS._gotd=	Game of Trees Daemon
PKG_SHELL._gotd=	${NOLOGIN}
PKG_HOME._gotd=		/nonexistent

GNU_CONFIGURE=		yes
CONFIGURE_ENV+=		YACC=${YACC:Q}
CONFIGURE_ENV+=		CFLAGS=${CFLAGS:M*:Q}
CONFIGURE_ENV+=		LDFLAGS=${LDFLAGS:M*:Q}
CONFIGURE_ARGS+=	--enable-gotd
CONFIGURE_ARGS+=	--enable-cvg
CONFIGURE_ARGS+=	--with-gotd-empty-path=${VARBASE}/empty
CONFIGURE_ARGS+=	--with-gitwrapper-git-libexec-path=${PREFIX}/libexec/git-core

EGDIR=		${PREFIX}/share/examples/got
CONF_FILES+=	${EGDIR}/gotd.conf ${PKG_SYSCONFDIR}/gotd.conf

DOCDIR=		${PREFIX}/share/doc/got
PKG_DOCS=	CHANGELOG README README.pkgsrc README.portable TODO

MAKE_DIRS_PERMS+=	${VARBASE}/empty ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700

INSTALLATION_DIRS=	bin libexec
INSTALLATION_DIRS+=	${PKGMANDIR}/man1 ${PKGMANDIR}/man5
INSTALLATION_DIRS+=	share/doc/got share/examples/got

RCD_SCRIPTS=	gotd
PKG_SHELL=	bin/gotsh

# Tests for HTTP protocol support rely on the HTTP::Daemon Perl module.
TEST_DEPENDS+=		p5-HTTP-Daemon-[0-9]*:../../www/p5-HTTP-Daemon
TEST_DEPENDS+=		p5-Net-Daemon-[0-9]*:../../net/p5-Net-Daemon
TEST_DEPENDS+=		git-[0-9]*:../../devel/git
INTERACTIVE_STAGE+=	test
TEST_TARGET=		tests

REPLACE_KSH+=	regress/gotd/repo_write_protected.sh
REPLACE_KSH+=	regress/tog/log.sh

SUBST_CLASSES+=		pkgsrc
SUBST_STAGE.pkgsrc=	pre-configure
SUBST_FILES.pkgsrc=	README.pkgsrc
SUBST_VARS.pkgsrc=	PKG_SYSCONFDIR PREFIX VARBASE
SUBST_MESSAGE.pkgsrc=	Replacing pkgsrc placeholders.

SUBST_CLASSES+=		conf
SUBST_STAGE.conf=	pre-configure
SUBST_MESSAGE.conf=	Fix configuration file path.
SUBST_FILES.conf+=	gitwrapper/gitwrapper.1 gotd/gotd.conf.5	\
			gotd/gotd.h gotd/gotd.8
SUBST_SED.conf+=	-e "s:/etc/gotd.conf:${PKG_SYSCONFDIR}/gotd.conf:g"

MESSAGE_SUBST+=		DOCDIR=${DOCDIR:Q}

.include "../../mk/bsd.prefs.mk"

post-extract:
	${RUN}cp ${FILESDIR}/README.pkgsrc ${WRKSRC}

.if ${OPSYS} == "Linux"
post-patch:
# Avoid clash with libmd's own __SHA2_H__ implementation.
	${RUN}${RM} -f ${WRKSRC}/compat/sha2.h
.endif

post-install:
	${INSTALL_DATA} ${FILESDIR}/gotd.conf ${DESTDIR}${EGDIR}
	${INSTALL_DATA} ${PKG_DOCS:S|^|${WRKSRC}/|} ${DESTDIR}${DOCDIR}

# needs libtls
.include "../../security/libretls/buildlink3.mk"

# compatibility macros and functions for Linux.
.if ${OPSYS} == "Linux"
.  include "../../devel/libbsd/buildlink3.mk"
.endif

# hack for (gnu)panelw
.include "../../mk/curses.buildlink3.mk"

SUBST_CLASSES+=		ncursesw
SUBST_STAGE.ncursesw=	pre-configure
SUBST_MESSAGE.ncursesw=	Do not check for ncursesw
SUBST_FILES.ncursesw=	configure
.if ${CURSES_TYPE:M*ncurses*}
SUBST_SED.ncursesw+=	-e "s:gnupanelw:gnupanel:g"
.else
SUBST_SED.ncursesw+=	-e "s:gnupanelw:panel:g"
.endif
SUBST_SED.ncursesw+=	-e "s:panelw:panel:g"

# tog(1) uses POSIX threads
.include "../../mk/pthread.buildlink3.mk"
PTHREAD_OPTS+=			require

.include "../../devel/libevent/buildlink3.mk"
.include "../../devel/libuuid/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@


1.27
log
@devel/got: 0.120

* got 0.120; 2025-10-03
- disable gotwebd authentication if it is not enabled in /etc/gotwebd.conf
- ensure that GOTWEBD_LOGIN_TIMEOUT is used consistently at build time
- prevent date-specific gotsysd regress failures due to asctime_r whitespace
- make gotwebd refuse to start up if the _gotwebd user is root
- make gotwebd warn if the webserver's user is set to root in /etc/gotwebd.conf
- add /etc/gotwebd.conf parameters for hiding repositories
- reject bad hostnames provided to the gotsh weblogin command
- allow gotwebd to optionally display a login hint when authentication fails

* got 0.119; 2025-09-29
- clean up gotwebd requests before freeing sockets; avoids deref of NULL sock
- fix wrong process names in gotwebd error messages
- use an absolute URL in redirects generated by gotwebd
- fix an issue where histedit would not merge added files correctly
- tweak gotwebd deferred accept handling to work more like httpd's
- add a 'weblogin' command to gotsh for use with gotwebd user authentication
- add user authentication support to gotwebd
- make gotwebd IPC sockets use non-blocking I/O as intended to fix hang
- prevent gotd looping on unhandled errors raised by accept()
- fix gotsysd.conf "listen on" statement failing on non-existent sockets
- pass gotwebd.conf's www user setting to every gotwebd child process

* got 0.118; 2025-09-09
- security fix for -portable: gotwebd can be tricked into reading repositories
  outside its repos_path; bug introduced in got-0.111; OpenBSD is not affected
- make 'tog diff' show the repository name in names of patches written to /tmp
- plug memory leaks which were making gotwebd regress tests fail
- fix parallel processing of requests in gotwebd, improving responsiveness
- set gotwebd pledges according to address families of listening sockets
- run gotwebd fcgi parameter parsing in a dedicated process under pledge "stdio"
- make gotd commit notifications only show history which is unique to the branch
- enable sftp/scp support in the sshd_config file generated by gotsysd
- make gotsysd-managed repositories readable for the _gotd group
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.26 2025/09/28 14:45:23 khorben Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.120
d23 2
@


1.26
log
@devel/got: update to 0.118

# upstream changes

* got 0.118; 2025-09-09
- security fix for -portable: gotwebd can be tricked into reading
  repositories outside its repos_path; bug introduced in got-0.111;
  OpenBSD is not affected
- make 'tog diff' show the repository name in names of patches written
  to /tmp
- plug memory leaks which were making gotwebd regress tests fail
- fix parallel processing of requests in gotwebd, improving
  responsiveness
- set gotwebd pledges according to address families of listening sockets
- run gotwebd fcgi parameter parsing in a dedicated process under pledge
  "stdio"
- make gotd commit notifications only show history which is unique to
  the branch
- enable sftp/scp support in the sshd_config file generated by gotsysd
- make gotsysd-managed repositories readable for the _gotd group

XXX pull-up to the stable branch
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.25 2025/08/24 17:01:36 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.118
d31 2
a32 2
CONFIGURE_ENV+=		CFLAGS=${CFLAGS:Q}
CONFIGURE_ENV+=		LDFLAGS=${LDFLAGS:Q}
@


1.25
log
@devel/got: update to 0.117

# upstream changes

* got 0.117; 2025-08-17
- regress: replace "sed -i" with ed(1) for portable in-place editing
- ensure that error messages from gotsysd libexec helpers get logged
- fix gotsysd using wrong auth and hmac labels in the generated gotd.conf
- preserve bad symlinks across merges during rebase and histedit
- improve binary files detection: detect any control characters, not just NUL
- gotwebd: fix race condition resulting in trucated html with trailing garbage
- make commit coloring faster and more accurate, producing smaller pack files
- improve selection of pack files for pinning in the open pack file cache
- regress: don't load global/home git configuration files while running tests
- make 'got clone' set a got.conf default branch for fetching only, not sending

* got 0.116; 2025-07-25
- make our pack-refs header format align with the expectations of git 2.50.0
- fix bogus "bad offset in pack file" errors wrongly raised by gotd
- fix gotd branch protection rejecting commits that already exist on server
- pick a default branch to clone when the server does not advertise HEAD symref
- do not clobber changes staged via stage -p during "got revert"
- enforce additional restrictions on reference names specified in gotsys.conf
- change gotwebd favicons to show the smiley fish only
- fix gotd reload when /etc/gotd-secrets.conf is used
- fix bogus "raw object has unexpected size" errors during deltification
- fix bug in delta block stretch size calculation resulting in invalid deltas
- fix gotsysd behaviour when the anonymous user is removed from gotsys.conf
- add support for email and http/json notifications to gotsysd and gotsys.conf
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.24 2025/07/14 16:57:19 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.117
@


1.24
log
@devel/got: update to 0.155

# upstream changes (since 0.112)

* got 0.115; 2025-06-27
- make errors reported by gotsys-apply-conf actually visible
- stop trying to start gotd from gotsys-apply-conf if gotd is not running
- fix infinite loop in got_pack_repaint_parent_commits() and got-read-pack
- fix creation of gotd.conf deny rules in gotsys-write-conf
- add support for global repository access rules to gotsysd.conf
- fix segfault due to double-free in got-read-gotconfig

* got 0.114; 2025-06-23
- preserve author timestamps when rebasing commits
- stop running ssh with -q by default; -q hides host key fingerprint errors
- fix gotsys-read-conf crash when ssh key comments are missing in gotsys.conf
- relax repository path permission checks in gotsys-repo-create
- add gotsys apply -w option which waits until sysconf has been run
- fix gotsysd getting stuck due to missing final messages from libexec helpers
- plug a file descriptor leak in the gotsysd libexec process

* got 0.113; 2025-06-05
- tweak 'got status' and 'got add' ignores handling for better git compatibility
- improve redundant pack detection during 'gotadmin cleanup'
- gotwebd: do not forget to initialize *ngroups argument for getgrouplist()
- fix default access for root and _gotd when gotsysd runs without config file
- fix bogus "unexpected privsep message" from gotsh during 'got send'
- fix a race in gotd notification processing causing notify process to exit
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.23 2025/05/23 17:41:17 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.115
@


1.23
log
@devel/got: update to 0.112

* got 0.112; 2025-05-14
- remove /tmp/got-importmsg temp files when import commit message is left empty
- rely on secondary _gotwebd groups if repos_path is not owned by _gotwebd group
- fix unrelated errors being reported if a histedit operation is aborted
- implement support for protected references in gotsys.conf and gotsysd
- plug memory leaks in some libexec helpers and in the gitconfig parser
- stop needlessly opening the repository whenever a work tree is opened
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.22 2025/05/01 07:46:48 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.112
@


1.22
log
@devel/got: update to 0.111

* got 0.111; 2025-04-22
- introduce gotsysd: configure gotd servers by committing to gotsys.git repo
- make gotd run 'gotsys check' on gotsys.conf commits before accepting them
- make gotd run 'gotsys apply' when the gotsys.git repo receives changes
- add a missing malloc failure check to gotd's repo_write process
- make got clone/fetch work against Git servers which do not speak English
- stop processing more messages upon error in gotd repo_write process
- close file descriptors passed to gotd_imsg_compose_event() on failure
- potential fix for use-after-free in lib/repository.c's match_packed_object()
- make gotd return an informative error when the connection limit is exceeded
- in gotctl info, display the time when a client connection was created
- add reload support to gotd, triggered via 'gotctl reload', not via SIGHUP!
- test S_ISREG in parse_ref_file() explicitly rather than via getline(3)
- release ref-file lock when fstat fails in parse_ref_file()
- do not treat unhandled signals as a fatal error in gotwebd
- fix an edge case of tog spinning when 'B' is pressed in log view
- stop using got_repo_map_path() in gotwebd to fix spurious realpath(3) errors
- avoid creation of pack_fds array when not needed, saving file descriptors
- gotwebd now runs as the _gotwebd user by default, rather than "www"
- gotwebd can now serve repositories outside the /var/www chroot directory
- the gotwebd.conf repos_path directive is no longer relative to the chroot
- get rid of the gotwebd-specific libexec helpers in /var/www/bin/gotwebd
- improve gotwebd behaviour when sending data to already disconnected clients
- plug some memory leaks in got-send-pack and got-fetch-pack
- fix got-fetch-http performance when server sends chunked HTTP responses
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.21 2025/03/30 08:19:47 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.111
@


1.21
log
@got: add p5-Net-Daemon to TEST_DEPENDS
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.20 2025/03/30 07:34:28 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.110
@


1.20
log
@devel/got: update to 0.110

# changes

* got 0.110; 2025-02-20
- fix an endless loop in got-read-pack (regression from 0.109)
- change gotwebd diff algorithm from Myers to Patience diff
- gotd regress depends on p5-Net-Daemon now due to an added test case
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.19 2025/03/22 13:40:01 vins Exp $
d55 1
@


1.19
log
@devel/got: use MAKE_DIRS_PERMS to set permissions
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2025/03/22 12:51:45 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.109
a4 1
PKGREVISION=	1
@


1.18
log
@devel/got: threads required
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.17 2025/03/22 10:37:27 vins Exp $
d45 1
a45 1
MAKE_DIRS+=	${VARBASE}/empty ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
@


1.17
log
@devel/got: fix build with NetBSD curses
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2025/03/09 20:53:49 vins Exp $
d115 4
@


1.16
log
@devel/got: update to 0.109

* got 0.109; 2025-02-14
- fix gotd failing to protect references when the client sends an empty pack
- during pack generation, fix exclusion of commits via an ancestor commit
- fix a bogus "received unexpected privsep message" error from gotsh
- fix diffstat path order bug in field width computation
- gotwebd: preserve 'folder=' parameter when following More links
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2025/02/13 16:48:29 vins Exp $
d5 1
d21 2
a22 2
# required for waddwstr(3)
USE_NCURSES=	yes
a75 6
SUBST_CLASSES+=		ncursesw
SUBST_STAGE.ncursesw=	pre-configure
SUBST_MESSAGE.ncursesw=	Do not check for ncursesw on NetBSD
SUBST_FILES.ncursesw=	configure
SUBST_SED.ncursesw+=	-e "s:gnupanelw:gnupanel:g"

d85 1
a85 1
# let libmd include the correct header.
a95 4
# needs gnupanelw
BUILDLINK_API_DEPENDS.ncurses+=   ncurses>=6.5
.include "../../devel/ncurses/buildlink3.mk"

d101 14
@


1.15
log
@devel/got: update to 0.108

# changes
* got 0.108; 2025-01-22
- add ssh -i identity-file support to commands which use the network
- make 'got import' output independent of readdir(3) entry order
- avoid full file content comparisons in 'got status' for speed
- tog: fix NULL deref when log view T keymap is used on worktree entry
- tog: fix a deadlock (hang) in the log view implementation
- tog: plug a memory leak
- tog: do not exit if a tag pointing at a non-commit is selected in ref view
- tog: do not mark an incorrect base commit in nested log views
- tog: fix NULL deref when scrolling small tree views down
- tog: avoid showing a negative log view entry index
- tog: do not apply a pointless count modifier to the H, &, p keymaps
- tog: do not make users wait for the worktree diff to quit out of tog
- gotwebd: make parent process drop root privileges
- gotwebd: drop read access to /var/www from parent process
- gotwebd: rename "socket" processes to "server"
- gotadmin cleanup: pack the repository before removing objects
- gotadmin cleanup: do not delete directly referenced trees and blobs
- gotadmin cleanup: do not delete objects reachable via nested tags
- regress: skip test memleak_send_basic in sha256 mode; expected to fail
- regress: make seq(1) invocations portable to fix test failures on linux
- regress/gotwebd: implement paginated commits test
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.14 2025/01/13 19:35:40 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.108
@


1.14
log
@devel/got: update to 0.107

# changes

* got 0.107; 2024-12-28
- gotwebd.css styling tweaks
- hide ssh debug output during fetch/send -v, keep showing it at -vv and -vvv
- discern mixed-commit worktree diffs with commit ID headers
- gotwebd: avoid printf("%s", NULL) when path parameter is not in query
- implement a regression test harness for gotwebd
- fix free() called with bogus pointer in 'got fetch'; regression from 0.106
- ensure config privsep children get collected upon error to prevent zombies
- fix some fprintf(3) failure checks
- gotwebd: replace strftime(3) with asctime_r(3) for the sake of consistency
- tweak gotwebd log message levels, and log requests in verbose (-v) mode
- prevent out-of-bounds read during gotwebd fcgi record debugging
- implement tog work tree diff support via log view and CLI
- improve error reporting when 'got patch' encounters malformed patches
- improve got_opentemp_named_fd error reporting by showing the path template
- add ssh -J jumphost support to got and cvg commands which use the network
- add regression tests checking for memory leaks with Otto malloc and ktrace
- got tag: change -s signer to -S signer
- got tag: provide one-line output mode via new -s option
- tog: use wtimeout(3) instead of nodelay(3) to honour our display refresh rate
- switch got_pathlist data store from TAILQ to RB-tree
- plug many memory leaks, some of which affected gotwebd in particular
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2024/12/01 16:21:32 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.107
@


1.13
log
@devel/got: update to 0.106

# upstream changes (since version 0.102)

* got 0.106; 2024-11-21
- prevent gotd from exiting with pending notifications if client
  disconnects
- convert got to the new imsg API
- gotwebd: improve performance of repository age calculations
- gotwebd: ensure child processes inherit non-default config

* got 0.105; 2024-11-14
- fix bogus "branch on server has different ancestry" errors from 'got
  send'
- do not try to merge binary files during (un)stage -p and revert -p
- fix gotd notifications about changes involving empty files
- minor gotwebd.css styling changes
- plug several memory and file-descriptor leaks

* got 0.104; 2024-10-22
 - gotd.conf: document the macro syntax
 - tog: prevent a segfault upon unexpected object type in ref list view
 - fix pack file creation in the presence of tagged tag objects
 - plugged some memory leaks
 - fix a crash when unstaging a file which has been removed from disk
 - gotwebd: fix out of bounds access while handling the configuration

* got 0.103; 2024-09-24
- fix bug causing performance to degrade as more and more pack files
  appear
- tog: add diff view 'p' keymap to write the diff to file
- tog: display diffstat in diff view when diffing blobs or trees
  directly
- gotwebd: show commit id prefix on briefs page
- add support for HMAC digests to gotd HTTP notifications
- move authentication credentials from gotd.conf(5) to
  gotd-secrets.conf(5)
- fix spurious tog regression test failures on slower machines
- restore abort() calls in lib/hash.c to quiet potential compiler
  warnings
- gotwebd: unbreak listing of tags on the summary page (regression
  from 0.102)
- gotwebd: minor tweaks to the HTML for ease of styling
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2024/08/22 18:08:13 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.106
@


1.12
log
@devel/got: update to 0.102

* got 0.102; 2024-08-14
- support for sha256 repositories; the network protocol requires git(1) for now
- gotwebd: add support for the "owner" file
- gotwebd: fix the README link in the summary view
- fix handling of .gitignore files containing empty lines
- fix handling of files without trailing newline in histedit, rebase and merge
- gotd: allow numeric UIDs in permit/deny rules, as intended
- gotd: support numeric UIDs in the `user' directive
- fix comment handling and explain quoting in the *.conf.5 man pages
- tog: add ability to mark arbitrary commits to diff them
- print file index and work tree version in got info
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2024/07/30 14:21:07 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.102
@


1.11
log
@devel/got: update to 0.101

# changes
- improve gotwebd.8 one-line description
- adjust some SIZE_MAX bounds checks
- fix histedit -e bug where reverting all the changes caused histedit -c cycles
- show a more useful error when a reference name collides with another
- improve error message shown by 'got send' when ancestry has diverged
- fix wrong gotwebd default repository path in the manpage
- tog: fix jumping to the next commit from the diff view with the J key
- tog: fix horizontal scroll bug that draws a trailing '.'
- gotwebd: plug file descriptor leak in error path
- fix bug that prevented gotwebd from working without a config file
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2024/06/10 09:47:23 jperkin Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.101
@


1.10
log
@got: Use NOLOGIN.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2024/06/09 13:25:05 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.100
@


1.9
log
@devel/got: update to 0.100

* got 0.100; 2024-06-03
  - abort if we see a sha2 hash to quiet a potential compiler warning
  - switch to using readdir because readdir_r is deprecated
  - show hint about update -b if the user attempts to rebase a branch
    onto itself
  - in got.1 EXAMPLES, mention how files can be moved or renamed
  - fix running gotd regress in release tarball sources
  - in gotd.8 add an example which illustrates how to create
    repositories for gotd
  - don't leak the existence of gotd repositories to unrelated user
    accounts
  - fix empty notification messages with multiple gotd notification
    targets
  - display abbreviated commit/tag IDs in email notification subject
    lines
  - fix Date header generated by got-notify-email
  - regress: make server tests more robust against race hazard
  - regress: replace userinfo(8) with the more common getent(1)
  - fix wrong errno check in bufio_close_sync(), i.e. got-fetch-http
  - bufio: crank BIO_CHUNK up to 64k for improved http fetch performance
  - gotwebd.conf: remove `listen on socket off' and `unix_socket off'
    options
  - gotwebd.conf: make `listen' a top-level statement
  - gotwebd.conf: remove unix_socket_name option
  - gotwebd.conf: allow changing the user ID which gotwebd runs as
  - gotd/gotwebd: unify log.c
  - gotwebd: use less temporary files in /tmp
  - gotd/gotwebd: hide log_info() behind -v and log_debug behind -vv
    options
  - fix confusing error message from 'got commit' upon uncommitable
    paths
  - gotwebd: use the last matching fastcgi parameter if multiple
    parameters match
  - gotwebd: remove previd and prevset query string parameter, they were
    unused
  - plug 'got diff obj1 obj2' line metadata memory leak
  - fix interop with servers that do not use Git protocol sidebands,
    such as git9
  - reintroduce the 'got init' command as an alternative to 'gotadmin
    init'
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2024/05/29 17:28:29 vins Exp $
d26 1
a26 1
PKG_SHELL._gotd=	/sbin/nologin
@


1.8
log
@devel/got: update to got 0.99

# local changes
* Fix build following devel/ncursesw removal
* Package now requires LibreTLS
* Add required tools and dependencies for tests
* Regression tests are interactive

# upstream changes (since version  0.97)

* got 0.99; 2024-05-05
  see git repository history for per-change authorship information
- make 'got fetch' work with URLs which refer to $HOME via a tilde: ~user
- replace strftime %G-%m-%d with %F to prevent 2024-12-30 -> 2025-12-30
- fix spurious errors from got-fetch-http when server has no more data to send
- prevent gotd notification process from exiting due to EPIPE
- fix I/O hangs with TLS in got-notify-http
- document http and https protocol support in got.conf(5), too
- fix an fd leak in gotd's notify process causing endless CPU spin
- back out got stage -R option addition; deemed too inconvenient in practice
- fix got-fetch-http GET request URL; add leading slash and avoid double slashes
- allow custom GOT_TEST_HTTP_PORT when running regression tests
- gotwebd: add magic ".git" handling; try foo.git if repository foo is not found
- expose authenticated gotd user account in HTTP notifications
- gotd.conf(5) HTTP/JSON documentation fixes
- fix endless loop upon Ctrl-D (EOF) input during got stage/unstage/revert -p
- make gotd notifications work when 'git push' is used instead of 'got send'
- make got stage -p behave the same way in interactive and -F modes for 'q'
- fix lingering gotd processes from clients closing connections early
- regress: prevent spurious failure of gotd test_clone_basic_access_denied
- fix an issue where 'git fetch' would error or hang against gotd
- use polling read in got_pkt_readn() to avoid endless hangs in gotsh

* got 0.98; 2024-04-23
  see git repository history for per-change authorship information
- speed up got tag -l by caching timestamps in got_ref_cmp_tags()
- provide a macro for vi(1) path for use by -portable at compile time
- avoid a rename/stat race when gotd installs a new pack and then uses it
- make 'got ref -l' output consistent when packed references exist
- make 'got ref -l' work consistently when a reference argument is given
- add initial support for notifications to gotd(8), via email and http/json
- display process title in syslog when a gotd child process exits
- hide a pointless end-of-file error on imsg pipe in libexec helpers
- plug a memory leak in 'got blame'
- add support for topological sorting to the commit graph
- add log -t option which enables topological sorting of commits
- make 'got rebase' find a merge base with topological sorting if needed
- call unveil(2) earlier during import, commit, histedit, and tag commands
- make 'got status' display interrupted rebase, histedit, and merge operations
- got.1: escape Eq since it's a GNU roff macro, to fix rendering in -portable
- regress: use seq instead of jot, for portability reasons
- get rid of unnecessary "dns inet" pledge promises while fetching via git://
- add http clone/fetch support using a new got-fetch-http helper
- drop git+ssh protocol name from documentation; Git has done the same
- require -R option for staging or unstaging directory contents
- got patch: fix applying on empty files
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2024/05/06 08:40:23 jperkin Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.99
d20 2
d101 1
a101 1
# required for set_panel_userptr(3) and waddwstr(3).
@


1.7
log
@*: Revision bumps for ncurses 6.5 overhaul.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2024/05/06 08:27:50 jperkin Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.97
a4 1
PKGREVISION=	1
d19 1
a19 1
USE_TOOLS+=	pkg-config yacc
d51 8
a58 1
TEST_TARGET=	tests
d73 6
d96 2
a97 3
# need libcrypto.so.1.1
BUILDLINK_API_DEPENDS.openssl+=   openssl>=1.1.1d
.include "../../security/openssl/buildlink3.mk"
d100 1
@


1.6
log
@*: Switch packages to combined ncurses package.

CURSES_TYPE=ncursesw is no longer valid, update matches to use ncurses.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2024/03/17 11:38:48 vins Exp $
d5 1
@


1.5
log
@devel/got: update to 0.97

# upstream changes (since 0.95)

* got 0.97; 2024-03-11
  see git repository history for per-change authorship information
- improve error messages shown upon execv failure
- fix 'gotadmin pack' crash upon Ctrl-C due to invalid imsg_free()
- significantly speed up deltification of large files
- improve error handling in got_privsep_recv_imsg()

* got 0.96; 2024-02-13
  see git repository history for per-change authorship information
- gotwebd: add foldable commit briefs
- gotwebd: fix (again) the styling for the next/prev buttons
- gotwebd: add knob for the number of tags and commits in the summary page
- gotwebd: remove PAGE handling
- gotwebd: retire max_repos setting
- gotwebd: guard against missig folder and file parameter in BLOB and BLAME
- gotwebd: improve copy-paste from BLOB pages
- gotwebd: fix colour of target lines in dark mode CSS
- gotwebd.conf.5: show defaults, improve EXAMPLES
- gotwebd.8: improve EXAMPLES sections
- fix logging during gotwebd shutdown
- plug several memory leaks in tog
- plug object id queue leak when iterating pack index files
- ensure tmp file is closed and fix UB in diff error path
- do not crash when a meta-data file in the .got directory is empty
- make the gotd auth process provide the user's account name for later use
- avoid opening objects in the gotd session process for no reason
- use imsg_get_fd() instead of imsg->fd everywhere
- tolerate remotes without urls in git config file for interop with git-annex
- plug some fd leaks in the fdopen{,dir} error paths
- log -b: handle merge commits unrelated to requested changed path history
- fix use of uninitialized variable in update_blob()
- plug memory leak in got_pack_dump_delta_chain_to_file()
- never write accum_buf on error in got_pack_dump_delta_chain_to_file()
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2024/02/11 14:47:06 vins Exp $
d88 1
a88 1
.include "../../devel/ncursesw/buildlink3.mk"
@


1.4
log
@got: use devel/got-portable to update to v0.95

Bring this package in sync with upstream by relying on its portable
counterpart found at devel/got-portable.

Practically speaking, we're renaming devel/got-portable to devel/got and
making it supersede the former of the two. The previous devel/got
package, an independent port of Game of Trees to NetBSD by @@ryoon,
predating the official portable release, gets hereby silently deleted
along with this commit.

For reference, see:
https://mail-index.netbsd.org/pkgsrc-users/2024/01/18/msg038795.html
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2024/01/15 19:41:19 vins Exp $
d3 1
a3 1
DISTNAME=	got-portable-0.95
@


1.3
log
@got: note this conflicts with got-portable
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2021/02/01 12:47:25 ryoon Exp $
d3 2
a4 1
DISTNAME=	got-0.48
d6 1
a6 1
MASTER_SITES=	https://gameoftrees.org/releases/
d8 3
a10 3
MAINTAINER=	ryoon@@NetBSD.org
HOMEPAGE=	https://gameoftrees.org/
COMMENT=	Game of Trees version control system manipulating Git repo
d14 2
d17 1
a17 1
USE_TOOLS+=	awk find
d19 1
a19 1
INSTALLATION_DIRS=	bin libexec ${PKGMANDIR}/man1 ${PKGMANDIR}/man5
d21 46
a66 6
MAKE_FLAGS+=	BINOWN=${BINOWN}
MAKE_FLAGS+=	BINGRP=${BINGRP}
MAKE_FLAGS+=	MANOWN=${MANOWN}
MAKE_FLAGS+=	MANGRP=${MANGRP}
MAKE_FLAGS+=	MANDIR=${PREFIX}/${PKGMANDIR}
MAKE_FLAGS+=	MKHTML=no
d70 4
d75 2
a76 14
	${FIND} ${WRKSRC} -name '*.[cy]' -exec \
		${AWK} '/^#include /{c += 1;} \
			c == 1 { \
			gsub("(^#include )", "#include \"openbsd-compat.h\"\n&", $$0) \
			} \
			{print $$0 > "{}.back"} \
		' \
		{} \;
	${FIND} ${WRKSRC} -name '*.[cy]' -exec \
		cp {}.back {} \;
	${CP} -r ${FILESDIR}/openbsd-compat ${WRKSRC}/
.if ${OPSYS} == "NetBSD"
	# NetBSD has sha1.h.
	${RM} -f ${WRKSRC}/openbsd-compat/sha1.h
d79 9
a87 1
# For set_panel_userptr(3)'s second argument and waddwstr(3).
d89 9
@


1.2
log
@got: Fix typo in COMMENT

Pointed out by bch, thank you.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2021/01/29 20:35:11 ryoon Exp $
d12 2
@


1.1
log
@devel/got: import got-0.48

Game of Trees (Got) is a version control system which prioritizes ease
of use and simplicity over flexibility.
@
text
@d1 1
a1 1
# $NetBSD$
d9 1
a9 1
COMMENT=	Game of Trees version control system manipurating Git repo
@

