Commit Briefs
got patch: re-add forgotten lseek
otherwise got-read-patch can't parse any patch because the position indicator is at the end of file. While here fix the return too and set patchfd to -1 on error (stsp suggestion.) ok thomas, stsp
make "got cherrypick/backout" match argument against refs before object IDs
Use got_repo_match_object_id() instead of hand-rolled code and pick up the updated handling of reference arguments. ok stsp
fix got_repo_match_object_id() docstring, it is not specific to commits
This was a leftover from got_repo_resolve_commit_arg() which was superseded in commit 71a276322e39e17baf5697b5daac8e8fe6ad2ae1
make "got ref" match argument against references before object IDs
Use got_repo_match_object_id() instead of hand-rolled code and pick up the updated handling of reference arguments. ok stsp
make got_repo_match_object_id_prefix() reject overlong input strings
suggested by + ok naddy
portable: got-read-patch: use compat includes
Remove the global header #includes for those items which are detected portably.
portable: add landlock to got-patch
Add the appropriate call to tje got-patch machinary to enable landlock();
portable: enable got-patch tests
Enable the got-patch tests.
portable: regress: improve sed "-i ''" on linux
GNU sed doesn't like "-i ''" which on BSD means to not keep backups around. Scan for "-i ''" and replace with just "-i" which will use the filename given to sed just fine.
portable: improve macos compat with bison/openssl
Some MacOS systems might not have GNU Bison installed, or have openssl installed. In such instances the host versions of those can be used, with a few tweaks around the edges to make them work. This commit addresses these by: * Relaxing a HAVE_CRYPTO check for __APPLE__, since the inclusion of the machine-specific headers isn't dependent on openssl being installed; * If the non-GNU version of bison on MacOS is being used, define any missing YY* variables, and add a compiler #warning so we log something. This also updates the CI scripts to default to the system versions of bison and removes openssl as a core dependency -- it's more likely openssl is going to be installed, so removing it here will mean we can catch the case for just the MacOS-specific failures, and the inclusion of openssl on other OSes should cover the rest. Noticed by Evan Silberman
portable: README: clarify jot for regress
When running the tests under Linux, jot(1) can be found in the athena-jot package.
portable: enable got-read-patch
Allow the libexec helper, `got-read-patch` to be compiled, portably.
fix level of indirection
ok stsp
portable: add support for DragonFlyBSD
This adds support for DragonFlyBSD.
portable: update README
Mention which operating systems are supported.
portable: improve panelw detection
Rather than making certain checks for panelw dependant on the underlying operating system, actually use pkg-config's detection mechanism properly. This makes the checking for panelw much easier and broader for other OSes which might have either panelw or gnupanelw.