"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Christian Weisgerber <naddy@mips.inka.de>
Subject:
FreeBSD port summary
To:
gameoftrees@openbsd.org
Date:
Thu, 17 Sep 2020 00:10:50 +0200

Download raw body.

Thread
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