Update libarchive's and liblzma's configuration for recently added stuff. Make both use futimens() and utimensat(). xz's configure won't check for futimes() if futimens() is available (hence HAVE_FUTIMES goes back to undefined). While here, define HAVE_DIRFD for libarchive too since we have it as a public function since de45303d1431339260c3a353a1e18d034c807c4a. Note that diff and grep also have HAVE_... macros for futimens() and utimesat() in their config.h's but they are unused in the code, probably stray configure checks.
library versioning: Activate versioning on 7 libraries All 4.2 packages currently on the system will continue to work on a system after this commit. However, the next bulk run of packages will build using these symbol versions and will not work on systems older than this commit. Part of the joys of running on bleeding edge I think. The next bulk run won't be for a couple of weeks at least (I'm waiting on a disruptive and huge patch of perl and pgsql to settle down) so there is no impending breakage expected. The newly mapped libraries are: z, ncurses, lzma, edit, archive, md, bz2
library versioning: Don't bump major version Eight libraries have unused yet valid symbol maps. The original plan was to activate them together and bump all the major library versions at the same time. This never happened because the libc symbol map isn't quite right yet. However, it's not necessary to bump the version. If mapped, both the versioned and unversioned symbol will be available and will reference the same location, so no breakage will occur. Once confirmed, the next commit will remove the "RELEASE36" check. The c library guard had changed to RELEASE42, so the intent is to activate versioning on 7 of the 8 libraries in one step.