Commit Briefs

Thomas Adam

portable: remove sys/tree.h compat inclusion (ta/remove-queue-compat)

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.


Thomas Adam

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.


Thomas Adam

portable: use a release variable for tarballs

When creating a release tarball, use a GOT_RELEASE variable to determine the version of the release.


Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

portable: configure: fix version string

Older autotools versions need extra coaxing when running external programs.


Thomas Adam

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.


Thomas Adam

portable: add repo version to main string (ta/version)

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.


Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

portable: gotwebd: handle setres{g,u}id

This isn't defined on all systems.


Thomas Adam

portable: ci: macos: add libressl


Thomas Adam

portable: add setproctitle

This is needed for gotwebd.


Thomas Adam

portable: gotwebd: first stab at compilation

This is not yet "clean", but does compile. A few things to consider: * See comments beginning with "TA:"


Thomas Adam

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@


Thomas Adam

portable: set next version


Thomas Adam

portable: set next version


Thomas Adam

portable: release 0.73 (tags/0.73)


Thomas Adam

portable: set next version



Thomas Adam

portable: set next version


Thomas Adam

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.


Thomas Adam

Release 0.69 (tags/0.69)


Thomas Adam

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.


Thomas Adam

Release 0.68.1 (tags/0.68.1)

Update CHANGELOG and configure.ac for the 0.68.1 release