From 2042cae9a5d9bb2f71a715022a4b6a7416c8e9e3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 12 Feb 2017 17:48:14 +0100 Subject: CPack-FreeBSD: add a generator for FreeBSD pkg(8) Adds an option CPACK_ENABLE_FREEBSD_PKG to allow CPack to look for FreeBSD's libpkg / pkg(8). If this is set and the libpkg headers and library are found (which they will be, by default, on any FreeBSD system), then add a FreeBSD pkg(8) generator. The FreeBSD package tool pkg(8) uses tar.xz files (.txz) with two metadata files embedded (+MANIFEST and +COMPACT_MANIFEST). This introduces a bunch of FreeBSD-specific CPACK_FREEBSD_PACKAGE_* variables for filling in the metadata; the Debian generator does something similar. Documentation for the CPack CMake-script is styled after the Debian generator. Implementation notes: - Checks for libpkg -- the underlying implementation for pkg(8) -- and includes FreeBSD package-generation if building CMake on a UNIX host. Since libpkg can be used on BSDs, Linux and OSX, this potentially adds one more packaging format. In practice, this will only happen on FreeBSD and DragonflyBSD. - Copy-paste from cmCPackArchiveGenerator to special-case the metadata generation and to run around the internal archive generation: use libpkg instead. - Generating the metadata files is a little contrived. - Most of the validation logic for package settings is in CPackFreeBSD.cmake, as well as the code that tries to re-use packaging settings that may already be set up for Debian. - libpkg has its own notion of output filename, so we have another contrived bit of code that munges the output file list so that CPack can find the output. - Stick with C++98. --- Copyright.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'Copyright.txt') diff --git a/Copyright.txt b/Copyright.txt index daaa1d1a13..b7af4c59b7 100644 --- a/Copyright.txt +++ b/Copyright.txt @@ -34,6 +34,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The following individuals and institutions are among the Contributors: * Aaron C. Meadows +* Adriaan de Groot * Aleksey Avdeev * Alexander Neundorf * Alexander Smorkalov -- cgit v1.2.1