#
# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# 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 http://mozilla.org/MPL/2.0/.
#
# This required package information file contains a list of package contents.
# The 'pkgmk' command uses this file to identify the contents of a package
# and their location on the development machine when building the package.
# Can be created via a text editor or through use of the 'pkgproto' command.

#!search <pathname pathname ...>	# where to find pkg objects
#!include <filename>			# include another 'prototype' file
#!default <mode> <owner> <group>	# default used if not specified on entry
#!<param>=<value>			# puts parameter in pkg environment

# packaging files
i copyright
i pkginfo
i depend=pkgdepend
#
# source locations relative to the prototype file
#
# SUNWtls
#
d none usr 755 root sys
d none usr/lib 755 root bin
d none usr/lib/mps 755 root bin
d none usr/lib/mps/secv1 755 root bin
f none usr/lib/mps/libnss3.so 755 root bin
f none usr/lib/mps/libsmime3.so 755 root bin
f none usr/lib/mps/libssl3.so 755 root bin
f none usr/lib/mps/libnssckbi.so 755 root bin
f none usr/lib/mps/libsoftokn3.chk 755 root bin
f none usr/lib/mps/libsoftokn3.so 755 root bin
s none usr/lib/mps/secv1/libnss3.so=../libnss3.so
s none usr/lib/mps/secv1/libsmime3.so=../libsmime3.so
s none usr/lib/mps/secv1/libssl3.so=../libssl3.so
s none usr/lib/mps/secv1/libnssckbi.so=../libnssckbi.so
s none usr/lib/mps/secv1/libsoftokn3.chk=../libsoftokn3.chk
s none usr/lib/mps/secv1/libsoftokn3.so=../libsoftokn3.so
