# 
# 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/.
#
#ident	"$Id$"
#
#
# This required package information file describes characteristics of the
# package, such as package abbreviation, full package name, package version,
# and package architecture.
#
PKG="SUNWprd"
NAME="Netscape Portable Runtime Development"
ARCH="ISA"
VERSION="NSPRVERS,REV=0.0.0"
SUNW_PRODNAME="Netscape Portable Runtime Development"
SUNW_PRODVERS="NSPRVERS"
SUNW_PKGTYPE="usr"
MAXINST="1000"
CATEGORY="system"
DESC="Netscape Portable Runtime Interface Files for Development"
VENDOR="Sun Microsystems, Inc."
HOTLINE="Please contact your local service provider"
EMAIL=""
CLASSES="none"
BASEDIR=/
SUNW_PKGVERS="1.0"
#VSTOCK="<reserved by Release Engineering for package part #>"
#ISTATES="<developer defined>"
#RSTATES='<developer defined>'
#ULIMIT="<developer defined>"
#ORDER="<developer defined>"
#PSTAMP="<developer defined>"
#INTONLY="<developer defined>"
