components/gutenprint/gutenprint.startup
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Mar 2013 10:38:09 -0700
branchs11-update
changeset 2520 ceec631e74d1
parent 853 72b657a4e294
permissions -rw-r--r--
Close of build 10.
#!/usr/bin/sh
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
#
# This script should be run from the CUPS scheduler service start method.
#
# usage: /usr/lib/cups/startup/gutenprint <fmri> <pg/prop>
#
# where: <fmri>    ... FMRI of the CUPS scheduler service
#        <pg/prop> ... property group/name where to store status
#

SVC=$1
PROP=$2

# verify input arguments
if [ -z "$SVC" -o -z "$PROP" ] ; then
	echo "$0: Invalid arguments."
	echo "usage: $0 <fmri> <pg/prop>"
	exit 1
fi

# package name
PKG="pkg:/print/filter/gutenprint"

# determine the package version
VER=`pkg contents -H -a name=pkg.fmri -o value $PKG | cut -d @ -f 2`
if [ -z "$VER" ] ; then
	echo "$0: Failed to read $PKG package version."
	exit 1
fi

# read the value of status property, if it exists
if svcprop -q -p "$PROP" "$SVC" ; then
	VAL=`svcprop -p "$PROP" "$SVC"`
fi

# compare the value with package version
if [ "$VAL" = "$VER" ] ; then
	# PPD files already updated for this package version
	exit 0
fi

# update PPD files
if ! /usr/sbin/cups-genppdupdate ; then
	echo "$0: Failed to update PPD files."
	exit 1
fi

# store status into the SMF repository
svccfg -s "$SVC" setprop "$PROP" = astring: "$VER"

exit 0