Commits


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


pass the callback data instead of hardcoding NULL, ok stsp


remove needless header inclusion; lib/pack.c does not need got_opentemp.h


fix path to the temp file used to accumulate the patch edits ok stsp


use test(1) -eq and -ne to compare integers; ok tb


typos


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.


add `got patch' command for applying unified diffs


fix level of indirection ok stsp


make the URI parser tolerate trailing slashes at the end of the input URI ok naddy


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.


portable: support NetBSD This adds support for NetBSD, using the following external dependencies: libuuid ncursesw There is no CI (yet) as enabling that on Cirrus-CI requires some work, so for now, these builds will be run manually before releases. The test suite will also need tweaking to be fully supported but the key tests are supported for now.


portable: CI: add MacOS definition Enable CI builds for MaxcOS on CirrusCI.


portable: include support for MacOS This adds support for MacOS (Monteray onward, although should work on older MacOSes). The BSD wrapper for poll/ppoll has been lifted from the work the folks over at OpenSSH have done -- thanks!


portable: make UUID includes generic Move the detection of UUID header files to be included portably. This will have no functional effect until MacOS detection is put in place.


portable: update Makefile.am Update got-{fetch,index,send}'s Makefile.am to include ratelimit.c for progress output.


apply time-based rate-limiting to got-send-pack upload progress output


apply time-based rate-limiting to got-fetch-pack download progress output


apply time-based rate-limiting to got-index-pack progress output


Release 0.67


portable: pack-create: remove endian.h endian.h is portably included on non-OpenBSD systems, so let that mechanism determine if it should be included or not.


explicitly include <endian.h> for be32toh()