Discard Daniel's work from 2012 in favour of the recent work on the
'development' branch which achieves the same thing in more or less the
same fashion, and was informed by the work on his branch.
Finish the work started by Daniel in 2012, by using abstract local
AF_UNIX sockets on platforms that support them (Linux, Android).
Fix all sorts of bugs and issues that prevented the existing MDP and
Monitor client and server code from working with abstract socket names.
Replace form_serval_instance_path(), which takes a single 'path'
argument, with formf_serval_instance_path() and
vformf_serval_instance_path(), which take printf(3)-like arguments.
This supports more flexible instance path file names.
FORM_SERVAL_INSTANCE_PATH() macro works as before, but reimplemented
Remove '__whence' argument name from all struct __sourceloc prototype
arguments
Parentheses around macro arguments
Use __WHENCE__ instead of __HERE__ in macros
Fix buffer overflow bug: replace call to sprintf(3) with call to
FORM_SERVAL_INSTANCE_PATH()
Fix file descriptor leak bug: add missing closedir(3) call
Use lstat() instead of stat() to avoid warnings on broken sym links
Use WARNF_perror() where appropriate in preference to WARNF()
Remove redundant one-line comments
Full --help usage message
Better error handling and reporting
Only considers tags that look like version numbers
Does not create and delete local "START" tag
Lots of options, including --ignore-untracked and --unmodified
Suitable for use in Batphone repository
Rename to SERVALD_...
Interpret SERVALD_KEYRING_PATH relative to instance dir unless absolute.
Explicitly unset them in setup_servald() test defs function
To support release signing operations without having to copy the release
keyring from its USB stick (into an instance directory), and reducing
the risk of corrupting the release keyring file while using it in-place.