Commit Briefs

fc16ecdf72 Thomas Adam

portable: sort makefile source lines

For all key Makefile.am files in use, sort the files so that they're more easily identifiable -- especially when adding/removing source files.


931185e385 Thomas Adam

portable: fixup portably-included headers

Remove certain headers which are included portably.


948a2b91cd Thomas Adam

portable: fix tests


097b408a53 Thomas Adam

move privsep code from pack_create.c into new file pack_create_privsep.c

Needed by future gotd(8). ok op@


dd73a53d96 Thomas Adam

handle unlink(2) errors for mergepath, tmppath, and apath in apply_patch()

ok op@


301ae139af Thomas Adam

introduce got_path_move_file(); based on code from lib/patch.c

ok op@


f96b13c8aa Thomas Adam

check for unlink(2) errors and don't try to unlink an already renamed file

ok op@


bcf5a43297 Thomas Adam

check for unlink(2) errors in got_opentempfd()

ok op@


e6b88e161a Thomas Adam

check for unlink(2) errors with the == -1 idiom, rather than != 0

ok op@


05fa71181c Thomas Adam

move got_opentempfd() call out of got_pack_create()

Future gotd(8) needs to run got_pack_create() in a chroot environment, so we can no longer open new temporary files inside got_pack_create(). ok op@


20a7d452fe Thomas Adam

make got_pack_create() write to a file descriptor instead of a stdio FILE

The old code required a seekable output file. This conflicts with requirements of future gotd(8), which will write pack file data to network sockets. ok op@


ce3641f681 Thomas Adam

simplify the way 'got patch' opens a tempfile when reading from stdin

Also add basic test coverage for reading patches from stdin, while here. ok op@


a4fde4bc1b Thomas Adam

remove accidentally committed debug assertion


3e8d36947e Thomas Adam

portable: handle sys/tree.h

Unfortunately, MacOS doesn't provide sys/tree.h -- so the compat check for this must happen portably.


cb3c9f1cc3 Thomas Adam

portable: regress: order lib files

For those tests which rely on compilation files, order them alphabetically so it's easier when having to change the makefile stanzas.


c59427c506 Thomas Adam

portable: check for sys/tree.h more fully

When checking for sys/tree.h on non-BSD systems, either it will be in the standard include path (such as on MacOS), or it won't be found, until libbsd is overlayed. In cases where we want to find sys/tree.h via libbsd, perform a AC_CHECK_DECL for a known #define in sys/tree.h -- which will still find sys/tree.h in either location, or uses compat/tree.h in all other cases.


4e5e98e851 Thomas Adam

portable: remove sha1.h include

This is searched for portably.



405ceee385 Thomas Adam

remove unnecessary includes of got_lib_privsep.h


a777fdc085 Thomas Adam

move declaration of got_privsep_child out of got_lib_privsep.h

This declaration is the only reason why got_lib_privsep.h must be included in order to use got_lib_repository.h. Moving this declaration will allow for cleaning up unnecessary includes of got_lib_privsep.h.


d348087d31 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.



b61ceafcc7 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.