diff options
Diffstat (limited to '')
-rw-r--r-- | util/check-make-install.in | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/util/check-make-install.in b/util/check-make-install.in new file mode 100644 index 0000000..94ab48c --- /dev/null +++ b/util/check-make-install.in @@ -0,0 +1,62 @@ +#!/bin/sh +# +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +abs_top_srcdir=@abs_top_srcdir@ +abs_builddir=@abs_builddir@ +prefix=@prefix@ +includedir=@includedir@ +install_dir="${DESTDIR}@prefix@" + +headers_to_install() { + find "${abs_top_srcdir}/lib" -name "*.h" -or -name "*.h.in" | + grep -v -F /win32/ | + sed -n \ + -e "s|\.h\.in$|\.h|" \ + -e "s|.*include/|${DESTDIR}${includedir}/|p" | + sort -u +} + +status=0 + +for header in $(headers_to_install); do + if [ ! -f "${header}" ]; then + echo "Missing $header" + status=1 + fi +done + +named_binary_path="${install_dir}/sbin/named" +if [ ! -x "${named_binary_path}" ]; then + echo "ERROR: ${named_binary_path} does not exist or is not executable" + status=1 +fi + +named_man_page_path="${install_dir}/share/man/man8/named.8" +if [ ! -f "${named_man_page_path}" ]; then + echo "ERROR: ${named_man_page_path} does not exist" + status=1 +fi + +if [ -n "${DESTDIR}" ]; then + for expected_subdir in bin etc include lib sbin share; do + echo "${install_dir}/${expected_subdir}" >> "${abs_builddir}/expected_dirs" + done + find "${install_dir}" -maxdepth 1 -mindepth 1 -type d | sort > "${abs_builddir}/existing_dirs" + if ! diff -u "${abs_builddir}/expected_dirs" "${abs_builddir}/existing_dirs"; then + echo "ERROR: Contents of DESTDIR do not match expectations" + status=1 + fi + rm -f "${abs_builddir}/expected_dirs" "${abs_builddir}/existing_dirs" +fi + +exit $status |