From: Christian Weisgerber Subject: FreeBSD port summary To: gameoftrees@openbsd.org Date: Thu, 17 Sep 2020 00:10:50 +0200 So I have a FreeBSD port for got 0.39. See the end of this message for a list of patches, additional library functions, and interposed header files. Some of this is unavoidable, e.g. FreeBSD has no bsd.regress.mk. There are various odds and ends, but apart from OpenBSD-specific APIs the principal issues are... Code: * FreeBSD deviates from POSIX and has open(symlink, NO_FOLLOW) return EMLINK instead of ELOOP. * Mismatches around int64_t, time_t, and format strings. Shell scripts (regress/cmdline): * OpenBSD followed GNU sed(1) and introduced -i with an optional argument. FreeBSD added -i with a mandatory argument. There is no way to specify an empty suffix that satisfies both syntaxes. * mktemp(1) is non-standard, and despite FreeBSD having copied it from OpenBSD, they are now somewhat incompatible. Except for test_log_in_worktree_different_repo, all regression tests succeed. This may be a related bug: $ got co got.git got: realpath: /home/naddy/got: No such file or directory (An explicit "got co got.git got" works fine.) Anyway, I'll import this into the FreeBSD ports tree soon. ------------------- openbsd-compat/ patch-Makefile patch-Makefile.inc patch-got_Makefile patch-got_got.c patch-lib_object__create.c patch-lib_utf8.c patch-lib_worktree.c patch-libexec_Makefile.inc patch-libexec_got-index-pack_got-index-pack.c patch-libexec_got-read-gotconfig_got-read-gotconfig.c patch-libexec_got-read-gotconfig_parse.y patch-regress_Makefile patch-regress_cmdline_Makefile patch-regress_cmdline_blame.sh patch-regress_cmdline_commit.sh patch-regress_cmdline_common.sh patch-regress_cmdline_diff.sh patch-regress_cmdline_histedit.sh patch-regress_cmdline_import.sh patch-regress_cmdline_rebase.sh patch-regress_cmdline_revert.sh patch-regress_cmdline_rm.sh patch-regress_cmdline_stage.sh patch-regress_cmdline_status.sh patch-regress_cmdline_unstage.sh patch-regress_cmdline_update.sh patch-regress_delta_Makefile patch-regress_fetch_Makefile patch-regress_idset_Makefile patch-regress_path_Makefile patch-tog_Makefile patch-tog_tog.c files/openbsd-compat: Makefile endian.h freezero.c getdtablecount.c imsg-buffer.c imsg.c imsg.h recallocarray.c sha1.h stdlib.h sys/ unistd.h util.h files/openbsd-compat/sys: cdefs.h queue.h -- Christian "naddy" Weisgerber naddy@mips.inka.de