#!/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 # # where: ... FMRI of the CUPS scheduler service # ... 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 " 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