Commits


portable: remove sys/tree.h compat inclusion libbsd as a library was created some years back to pull together BSD-specific functionality to be used on non-BSD systems. When it was in its infancy, and not being widely adopted across non-BSD systems, there was often a need to carry around compat versions of sys/{queue,tree}.h This is no longer the case -- and the compat code for this has never worked on systems which lacked a compatible sys/tree.h header anyway, so remove this, and let the user know that libbsd is needed. A few people have mentioned this to me.


portable: configure.ac: tidy/add summary Remove some unneeded comments which were references to files. Add a quick summary output at the end of ./configure which will aid with CI debugging.


portable: use a release variable for tarballs When creating a release tarball, use a GOT_RELEASE variable to determine the version of the release.


portable: MacOS: harden homebrew checks When building got-portable for MacOS, don't assume the toolchain programs are in /usr/local. This used to be true before Apple silicon existed, but since then the paths have changed. Instead, ask brew(1) for its prefix (if it's installed), or default to /usr/local if not. Noticed by Lucas.


portable: sockets: handle sa_len/ss_len portably In the sockaddr_storage struct, there can be a ss_len field. This is seen on some BSDs, but not Linux. Since this isn't POSIX-specific, there's no guarantee it will be available on all systems.


portable: configure: fix version string Older autotools versions need extra coaxing when running external programs.


portable: fix sys/queue,h detection When checking for specific sys/queue.h declarations, ensure to add the header file (sys/queue.h) to search, otherwise nothing will be found.


portable: add repo version to main string When compiling got-portable from source, outside of an official release tarball, it's often helpful to know which commit the binary was built from, especially for diagnostic purposes. This adds an extra hook to AC_INIT to derive whether -portable is being built in-tree or via a release tarball.


portable: MacOS: export env from configure Compiling -portable on MacOS directly would never have worked, as the environment was only being set when run under CI. Move these checks into configure.ac so that they propagate out to make, etc. Noticed by cjones on IRC.


Revert "portable: ci: macos: add libressl" Remove dependency on libretls as TLS isn't going to be included in gotwebd any time soon. This reverts commit af7f5027866eea7b4299c2319f83d0eb18a395e6.


portable: gotwebd: handle setres{g,u}id This isn't defined on all systems.


portable: ci: macos: add libressl


portable: add setproctitle This is needed for gotwebd.


portable: gotwebd: first stab at compilation This is not yet "clean", but does compile. A few things to consider: * See comments beginning with "TA:"


portable: honour sys/queue.h directly Don't assert compat/queue.h in favour of what's on the system. When -portable was first being developed, there were frequent clashes between libbsd, and the check for sys/queue.h got lost in that noise. Noticed by stsp@


portable: set next version


portable: set next version


portable: release 0.73


portable: set next version


fix cross-compilation; diff from Leah Neukirchen (thanks!), ok thomas


portable: set next version


portable: set next version Bump the version in git now to the next version. Over time, this should really use the SHA1 to indicate a non-released build.


Release 0.69


portable: add siphash implementation Siphash is being used in place of murmurhash for object-id set as this is faster. However, this isn't really seen much in the non-BSD userspace, so provide an implementation for it portably, if one isn't found.


Release 0.68.1 Update CHANGELOG and configure.ac for the 0.68.1 release