Commit Briefs

Thomas Adam

portable: tog: add keyword.c


Thomas Adam

portable: add object_qid.c where required

Part of a wider change.


Thomas Adam

portable: linux: add libmd

On some systems libmd isn't explicitly implied, so detect this via pkg-config at configure time. Problem reported by @stsp


Thomas Adam

portable: configure: split out dependencies

Rather than assume all dependencies are required for all programs, split them out. This will make packaging easier, as well as splitting the code to use subprojects. Note that due to the use of config.h semantics, in most cases the got_compat.h header file is now at the top of the .c file it is included in, so that it can handle the system header inclusion properly.


Thomas Adam

portable: update Makefiles

sha1.c -> hash.c


Thomas Adam

portable: support infrastructure for gotd/gotsh

Provide the ability for -portable to continue to compile, until such time that gotd and gotsh have been enabled in -portable.



Thomas Adam

move code for reading Git's config file into new file read_gitconfig_privsep.c

The end goal here is to remove the dependency of repository.c on privsep.c during compilation.


Thomas Adam

move functions which open objects into new file object_open_privsep.c

For the future, this will make it possible to provide alternative implementations of functions now stored in object_open_privsep.c. This will probably be needed by future gotd(8) which runs inside a chroot(2) environment and without the "exec" pledge(2) promise, making it impossible to run libexec helpers on the fly. Details of this design are not yet settled, but moving functions into a separate compilation unit won't hurt in any case.


Thomas Adam

portable: add sigs/buf for signed commits

Add support for upstream's tag signing commits, but adding the relevant files to autotools, and making those portable-compatible.


Thomas Adam

portable: include worktree_open

Make worktree_open part of the build.


Thomas Adam

portable: update to handle bloom, etc

Update portable to support changes for bloom, etc.


Thomas Adam

portable: propagate AM_CFLAGS/AM_CPPFLAGS

Allow for warnings via AM_CFLAGS in a common Makefile, and let those values propagate to all other Makefiles. Currently the more useful checks are disabled until upstream changes are made to reduce warnings. While here, also fix the version string to remove quotes.


Thomas Adam

libexec: honour libeexec path for helpers

libexec is a common path which is understood by autotools, and should be honoured. Patch from Christian "naddy" Weisgerber


Thomas Adam

portable: add FreeBSD support

This adds the capability to compile got-portable on FreeBSD.


Thomas Adam

dist: rework files for distcheck

Rather than having a toplevel EXTRA_DIST target in the toplevel Makefile.am file, move the relevant files to their own Makefile.am locations.


Thomas Adam

automake: Fix path to libexec directory

The got_lib_privsep.h header expects the path to the libexec directory to be called GOT_LIBEXECDIR. At the moment it always falls back to using /usr/libexec. Fix what looks to be a typo.


Thomas Adam

ncurses: only look for widechar version

When checking for ncurses, only check against the widechar version of the library, otherwise the code won't work correctly, despite it compiling properly. Helped by Thomas Dickey.


Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.