i.etcsystem revision cdf0c1d55d9b3b6beaf994835440dfb01aef5cf0
#!/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
#
PATH="/usr/bin:/usr/sbin:${PATH}"
export PATH
TAG=new
CLEANUP_FILE=/tmp/CLEANUP
eolpp_echo_warning() {
echo ""
echo "\tNOTE: $1 has been modified since it contains references to"
echo "\tpriority paging tunables. Please review the changed file."
echo ""
}
eolpp_write_sed_script() {
cat > /tmp/eolpp.sed.scr.$$ << EOF
/^[ ]*set[ ]\{1,\}priority_paging.*/ {
:Mod
i\\
\\
* NOTE: As of Solaris 9, priority paging is unnecessary and has been removed.\\
* Since references to priority paging related tunables will now result in\\
* boot-time warnings, the assignment below has been commented out. For more\\
* details, see the Solaris 9 Release Notes, or the "Solaris Tunable Parameters\\
* Reference Manual".\\
s/^\(.*\)/* \1/
a\\
}
/^[ ]*set[ ]\{1,\}cachefree.*/ b Mod
EOF
}
KEYSTR="the assignment below has been left to provide compatibility with your"
eolipc() {
#
# We don't want to run again if we have already marked entries as
# "old but still used".
#
egrep -s '^* "(sem|shm|msg)info_.*" tunable has been replaced' $1 &&
return
sed ' /^[ ]*set[ ].*semsys:seminfo_semmns/ b inactiv
/^[ ]*set[ ].*semsys:seminfo_semvmx/ b inactiv
/^[ ]*set[ ].*semsys:seminfo_semmnu/ b inactiv
/^[ ]*set[ ].*semsys:seminfo_semaem/ b inactiv
/^[ ]*set[ ].*semsys:seminfo_semume/ b inactiv
/^[ ]*set[ ].*semsys:seminfo_semusz/ b inactiv
/^[ ]*set[ ].*semsys:seminfo_semmap/ b inactiv
/^[ ]*set[ ].*shmsys:shminfo_shmseg/ b inactiv
/^[ ]*set[ ].*shmsys:shminfo_shmmin/ b inactiv
/^[ ]*set[ ].*msgsys:msginfo_msgmax/ b inactiv
/^[ ]*set[ ].*msgsys:msginfo_msgssz/ b inactiv
/^[ ]*set[ ].*msgsys:msginfo_msgmap/ b inactiv
/^[ ]*set[ ].*msgsys:msginfo_msgseg/ b inactiv
/^[ ]*set[ ].*msgsys:msginfo_msgmni/ b legacy
/^[ ]*set[ ].*msgsys:msginfo_msgmnb/ b legacy
/^[ ]*set[ ].*msgsys:msginfo_msgtql/ b legacy
/^[ ]*set[ ].*shmsys:shminfo_shmmni/ b legacy
/^[ ]*set[ ].*shmsys:shminfo_shmmax/ b legacy
/^[ ]*set[ ].*semsys:seminfo_semmni/ b legacy
/^[ ]*set[ ].*semsys:seminfo_semopm/ b legacy
/^[ ]*set[ ].*semsys:seminfo_semmsl/ b legacy
b
:inactiv
s/^[^:]*:\(.\{14\}\).*/\
* NOTE: As of Solaris 10, System V IPC tunables are unnecessary. The\
* assignment to "\1" no longer has any effect and has been\
* commented out. For more details, see the Solaris 10 "What'\''s New"\
* document, or the "Solaris Tunable Parameters Reference Manual".\
*\
* &\
/
b
:legacy
s/^[^:]*:\(.\{14\}\).*/\
* NOTE: As of Solaris 10, System V IPC tunables are unnecessary. The\
* "\1" tunable has been replaced with a resource control;\
* the assignment below has been left to provide compatibility with your\
* previous settings. For more details, see the Solaris 10 "What'\''s New"\
* document, or the "Solaris Tunable Parameters Reference Manual".\
\
&/' $1 > /tmp/s.$$ && cp /tmp/s.$$ $dest
rm -f /tmp/s.$$
}
while read src dest
do
if [ ! -f $dest ] ; then
cp $src $dest
else
#
# These tunable parameters have moved from nfs to nfssrv.
#
sed -e "s/^\([^*]*set[ ]*\)nfs\([ ]*:[ ]*nfs_portmon\)/\1nfssrv\2/" \
-e "s/^\([^*]*set[ ]*\)nfs\([ ]*:[ ]*rfs_write_async\)/\1nfssrv\2/" $dest >/tmp/s.$$
cp /tmp/s.$$ $dest
rm -f /tmp/s.$$
#
# Remove md_mirror_wow_flg line.
#
egrep -v 'md_mirror:md_mirror_wow_fl' $dest > /tmp/s.$$
cp /tmp/s.$$ $dest
rm -f /tmp/s.$$
#
# Remove MDD driver forceloads for mirrored root.
# Only remove the forceloads between Begin/End MDD root info.
#
nawk <$dest >/tmp/s.$$ '
/^\* Begin MDD root info \(do not edit\)/ {
mdinfo=1
}
/^\* End MDD root info \(do not edit\)/ {
mdinfo=0
}
/^forceload/ {
if (mdinfo == 0) {
print $0
}
next
}
/.*/ { print $0 }
'
cp /tmp/s.$$ $dest
rm -f /tmp/s.$$
#
# Priority paging has been EOL'ed. Comment-out any lines
# referencing priority paging tunables, and add explanatory
# comment. Doing this would avoid the confusion which could
# occur, if we were to just silently delete these lines.
#
egrep "^[ ]*set[ ]+priority_paging" $dest> /dev/null 2>&1
s1=$?
egrep "^[ ]*set[ ]+cachefree" $dest > /dev/null 2>&1
s2=$?
if [ $s1 = 0 -o $s2 = 0 ]; then
eolpp_write_sed_script;
sed -f /tmp/eolpp.sed.scr.$$ $dest > /tmp/s.$$;
if [ $? = 0 ]; then
eolpp_echo_warning $dest;
cp /tmp/s.$$ $dest;
fi
rm -f /tmp/s.$$;
rm -f /tmp/eolpp.sed.scr.$$;
fi
# Comment out obsolete System V IPC Tunables
eolipc $dest
fi
done
exit 0