1*06d0f3f3SCasper H.S. Dik#! /usr/bin/sh 2*06d0f3f3SCasper H.S. Dik# 3*06d0f3f3SCasper H.S. Dik# CDDL HEADER START 4*06d0f3f3SCasper H.S. Dik# 5*06d0f3f3SCasper H.S. Dik# The contents of this file are subject to the terms of the 6*06d0f3f3SCasper H.S. Dik# Common Development and Distribution License (the "License"). 7*06d0f3f3SCasper H.S. Dik# You may not use this file except in compliance with the License. 8*06d0f3f3SCasper H.S. Dik# 9*06d0f3f3SCasper H.S. Dik# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*06d0f3f3SCasper H.S. Dik# or http://www.opensolaris.org/os/licensing. 11*06d0f3f3SCasper H.S. Dik# See the License for the specific language governing permissions 12*06d0f3f3SCasper H.S. Dik# and limitations under the License. 13*06d0f3f3SCasper H.S. Dik# 14*06d0f3f3SCasper H.S. Dik# When distributing Covered Code, include this CDDL HEADER in each 15*06d0f3f3SCasper H.S. Dik# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*06d0f3f3SCasper H.S. Dik# If applicable, add the following below this CDDL HEADER, with the 17*06d0f3f3SCasper H.S. Dik# fields enclosed by brackets "[]" replaced with your own identifying 18*06d0f3f3SCasper H.S. Dik# information: Portions Copyright [yyyy] [name of copyright owner] 19*06d0f3f3SCasper H.S. Dik# 20*06d0f3f3SCasper H.S. Dik# CDDL HEADER END 21*06d0f3f3SCasper H.S. Dik# 22*06d0f3f3SCasper H.S. Dik 23*06d0f3f3SCasper H.S. Dik# 24*06d0f3f3SCasper H.S. Dik# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 25*06d0f3f3SCasper H.S. Dik# Use is subject to license terms. 26*06d0f3f3SCasper H.S. Dik# 27*06d0f3f3SCasper H.S. Dik 28*06d0f3f3SCasper H.S. Dik. /lib/svc/share/smf_include.sh 29*06d0f3f3SCasper H.S. Dik 30*06d0f3f3SCasper H.S. Dikfiles='/etc/user_attr /etc/security/auth_attr /etc/security/exec_attr 31*06d0f3f3SCasper H.S. Dik /etc/security/prof_attr' 32*06d0f3f3SCasper H.S. Dik 33*06d0f3f3SCasper H.S. DikPKGINST= 34*06d0f3f3SCasper H.S. Dikexport PKGINST 35*06d0f3f3SCasper H.S. Dik 36*06d0f3f3SCasper H.S. Dikirbac=/usr/sadm/install/scripts/i.rbac 37*06d0f3f3SCasper H.S. Dik 38*06d0f3f3SCasper H.S. Dikif [ ! -x $irbac ] 39*06d0f3f3SCasper H.S. Dikthen 40*06d0f3f3SCasper H.S. Dik echo "${irbac}: not found." 41*06d0f3f3SCasper H.S. Dik exit $SMF_EXIT_ERR_FATAL 42*06d0f3f3SCasper H.S. Dikfi 43*06d0f3f3SCasper H.S. Dik 44*06d0f3f3SCasper H.S. Dikcase "$1" in 45*06d0f3f3SCasper H.S. Dikstart|refresh) 46*06d0f3f3SCasper H.S. Dik ;; 47*06d0f3f3SCasper H.S. Dikstop) 48*06d0f3f3SCasper H.S. Dik exit $SMF_EXIT_OK;; 49*06d0f3f3SCasper H.S. Dik*) 50*06d0f3f3SCasper H.S. Dik echo "Usage: $0 { start | refresh | stop }" 51*06d0f3f3SCasper H.S. Dik exit $SMF_EXIT_ERR_FATAL;; 52*06d0f3f3SCasper H.S. Dikesac 53*06d0f3f3SCasper H.S. Dik 54*06d0f3f3SCasper H.S. Dikfor f in $files 55*06d0f3f3SCasper H.S. Dikdo 56*06d0f3f3SCasper H.S. Dik d=${f}.d 57*06d0f3f3SCasper H.S. Dik if [ ! -d ${d} ] 58*06d0f3f3SCasper H.S. Dik then 59*06d0f3f3SCasper H.S. Dik # No directory, nothing to do 60*06d0f3f3SCasper H.S. Dik continue 61*06d0f3f3SCasper H.S. Dik fi 62*06d0f3f3SCasper H.S. Dik # 63*06d0f3f3SCasper H.S. Dik # List all the files in the directory and the destination file 64*06d0f3f3SCasper H.S. Dik # in the order of their timestamp. Most recent files are 65*06d0f3f3SCasper H.S. Dik # displayed first. When we find the destination file, we're 66*06d0f3f3SCasper H.S. Dik # done as the rest of the files are older and they are already 67*06d0f3f3SCasper H.S. Dik # incorporated. 68*06d0f3f3SCasper H.S. Dik # 69*06d0f3f3SCasper H.S. Dik for frag in `ls -t $f $d/* 2> /dev/null` 70*06d0f3f3SCasper H.S. Dik do 71*06d0f3f3SCasper H.S. Dik if [ "$frag" = "$f" ] 72*06d0f3f3SCasper H.S. Dik then 73*06d0f3f3SCasper H.S. Dik break 74*06d0f3f3SCasper H.S. Dik fi 75*06d0f3f3SCasper H.S. Dik if [ -f "$frag" ] 76*06d0f3f3SCasper H.S. Dik then 77*06d0f3f3SCasper H.S. Dik echo $frag $f | $irbac 78*06d0f3f3SCasper H.S. Dik fi 79*06d0f3f3SCasper H.S. Dik done 80*06d0f3f3SCasper H.S. Dikdone 81*06d0f3f3SCasper H.S. Dik 82*06d0f3f3SCasper H.S. Dikexit $SMF_EXIT_OK 83