#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
#
# hash from: sha256sum $(COMPONENT_ARCHIVE) | sed 's/\(.[^ ]*\).*/sha256:\1/'
# PYVER is important for packaging and computing requisites.
# Some patches need configure script re-creation.
# Specify "configure" options and features.
# FYI, The configure options are displayed by 'named -V'.
# Python: specifying version helps with packaging.
# - libtool: Build dynamic libraries, static libraries are not shipped.
# - openssl: use openssl, required for DNSSEC features.
# - Use xml2-config found uder /usr without checking its version.
# - Enabled fixed [order] resource-record sets for backward compatibility.
# - Requires more memory to store the sets so is not the default.
# Override / set specific pathnames:
# - DNS libraries are in usr/lib/dns - Override settings from configure.mk
# Compiler and compiler options:
# - configure will add "-mt" to CC which is already set in CFLAGS, so override.
# Test configuration / helper targets:
# Run BIND testing without test interfaces configured (limited testing).
# Normalise results for comparison:
# Remove Date and time from Start and End lines.
COMPONENT_TEST_TRANSFORMS += '-e "s|\(^[SE]:[^:]*:\).*|\1|"'
# Remove task Information lines as order of that output has been seen to change.
COMPONENT_TEST_TRANSFORMS += '-e "/^I:/d"'
# Uncomment to display summary of tests at completion.
# COMPONENT_POST_TEST_ACTION = $(NAWK) $(summarize) $(COMPONENT_TEST_OUTPUT)
# Enable adiheap and adistack security extensions
# summarize is a nawk script:
# consumes the output generated by ISC's make target and provides an
# abridged summary. It works by looking for key elements:
# /^T:/ = Start of a test.
# /^I:/ = Info from a test; collected for possible use later.
# /^A:/ = About: summary of the test - not used here.
# /^S:/ = Start: pathname and date time - not used here.
# /^E:/ = End: pathname and date time - not used here.
# /^R:/ = Result:
# When 'PASS' and report=1 (from command line) the result and
# test name are displayed.
# For all other results (failures) the result, test name and
# other collected info is displayed.
# Known issues may be accounted for by adding tests, for example:
# /^R:UNTESTED/ && name ~ /^T:dst:2:A/ {known++;}\
# /^R:UNRESOLVED/ && name ~ /^T:dst:1:A/ {known++;}\
# Though with USERLAND automated test comparison the known
# case is kind of obsolete now.
# @ EOF = Display count of RESULTS:
# i.e. R:PASS=124 R:UNTESTED=26 Total=150 if not 100% pass rate and
# issue is not accounted for (known) the test 'issues!' is appended to
# resulting output.
#
/^T:/ {name=$$0;info="";}\
/^I:/ {info=sprintf("%s%s\n", info, $$0);}\
/^R:/ {test++; result[$$1]++;}\
/^R:PASS/ { if (report) printf("%s: %s\n", $$1, name); next}\
/^R:UNRESOLVED/ && name ~ /^T:dst:2:A/ {known++;}\
/^R:/ {printf("%s: %s\n%s\n", $$1, name, info);}\
END{for (item in result)\
printf("%s=%d ", item, result[item]);\
printf("(known=%d) Total=%d%s\n", known, test, \
((result["R:PASS"] + known) < test)? \
" issues!" : "");\
}'
#
# COMPONENT_TEST_OUTPUT is dependent on BITS which is set depending on
# the active build target and PYTHON_VERS!, so it's overridden here too for test-summary:
test-summary:
echo '64bit version:'; \
else \
echo '64bit version not found.'; \
fi;
test-clean:
# Package dependencies
# Created by 'gmake REQUIRED_PACKAGES', manually verified.