582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# CDDL HEADER START
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# The contents of this file are subject to the terms of the
dde8659175c5798267fb0fdefd7576e4efe271b3Automatic Updater# Common Development and Distribution License (the "License").
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# You may not use this file except in compliance with the License.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# or http://www.opensolaris.org/os/licensing.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# See the License for the specific language governing permissions
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# and limitations under the License.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# When distributing Covered Code, include this CDDL HEADER in each
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# If applicable, add the following below this CDDL HEADER, with the
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# CDDL HEADER END
dde8659175c5798267fb0fdefd7576e4efe271b3Automatic Updater
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
cf58feee56bf1afb8c2909f399a6f1e28d0dbf68Jeremy Reed#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# TESTING:
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# Requires physical card reader attached to USB with card inserted.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# SCM Microsystems, model SCR3310 is what was used in-house to test.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# To build the test:
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# $ cd build/[64-bit directory]
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# $ gmake build-test
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# To run the test:
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# $ cd build/[64-bit directory]
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# $ ./testcackey> testoutput.log
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews#
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# If the last line of output says:
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# Testing libcackey... DONE. Status = 0
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# then you have a finished test and results.
dde8659175c5798267fb0fdefd7576e4efe271b3Automatic Updater# Search for CK_FAIL or "failed" in testoutput.log to see the actual failures,
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# if no CK_FAIl or failed were reported, the test ran successfully.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsinclude ../../make-rules/shared-macros.mk
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsBITS= 64
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_NAME= CACKey
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_VERSION= 0.7.4
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_PROJECT_URL= http://www.rkeene.org/projects/info/wiki/161
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_COMMIT_ID= 2f51a0d2995c7fd6acb57a953ac24697671d1ef4
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_COMMIT_ID)
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_ARCHIVE= $(COMPONENT_SRC).zip
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_ARCHIVE_URL= \
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews https://github.com/Conservatory/CACKey/archive/$(COMPONENT_COMMIT_ID).zip
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_BUGDB= library/smartcard
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsTPNO = 25489
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsinclude $(WS_MAKE_RULES)/prep.mk
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsinclude $(WS_MAKE_RULES)/configure.mk
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsinclude $(WS_MAKE_RULES)/ips.mk
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# does not use typical FOSS dir layout, source is at top level
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D))
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# requires PC/SC libraries and headers
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCONFIGURE_ENV += CFLAGS="$(CFLAGS) -I$(USRINCDIR)/PCSC"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCONFIGURE_ENV += LDFLAGS="-lpcsclite"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
832fb12cfeee424a1e5b7cfd3b2da9f39cac3708Jeremy Reed# options needed for configure, library location, PC/SC library and headers
e17cb80d7cebc23a4de75376155f2231dea193e6Mark AndrewsCONFIGURE_OPTIONS += --exec-prefix=$(USRLIBDIR64)
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCONFIGURE_OPTIONS += --with-pcsc-headers=$(USRINCDIR)/PCSC
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCONFIGURE_OPTIONS += --enable-dod-certs-on-hw-slots
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# configure.ac related patch needs configure script re-creation
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCOMPONENT_PREP_ACTION +=(cd $(@D); autoreconf);
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# common targets
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsconfigure: $(CONFIGURE_64)
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsbuild: $(BUILD_64)
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsinstall: $(INSTALL_64)
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewstest: $(NO_TEST)
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews# required packages
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsREQUIRED_PACKAGES += library/security/pcsc/pcsclite
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsREQUIRED_PACKAGES += library/zlib
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsREQUIRED_PACKAGES += system/library
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews