cdesktopenv/cde/admin/IntegTools/post_install/dec/configShlibs.src

167 lines
2.8 KiB
Plaintext

XCOMM! /bin/ksh
XCOMM #######
XCOMM Product: CDE
XCOMM Fileset: CDE-SHLIBS
XCOMM customize
XCOMM @(#) $XConsortium: configShlibs.src /main/2 1996/04/21 19:14:20 drk $
XCOMM #######
XCOMM
XCOMM (c) Copyright Hewlett-Packard Company, 1993
XCOMM
XCOMM #######
#define STAR *
XCOMM ############################################
RemoveShlibFiles()
{
while read SRC
do
if [ "$SRC" != "" ]
then
rm -f $SRC
dirname=${SRC%/STAR}
if [ -d $dirname ]
then
cd $dirname
while [ "$dirname" != "$CDE_TOP" ]
do
cd ..
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
dirname=${dirname%/STAR}
done
fi
fi
done <<-EOF
#include "CDE-SHLIBS.list"
EOF
}
VerifyInstalledFiles()
{
echo "Status mode owner group filename"
echo "-----------------------------------------"
XCOMM exists correct correct correct /usr/dt/foo1
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
XCOMM exists the link is correct /usr/dt/link
while read SRC
do
#include "../verify.func"
done <<-EOF
#include "CDE-SHLIBS.lst"
EOF
}
#include "../option.func"
MakeTheLink()
{
XCOMM
XCOMM Special treatment for CDE .so's that would otherwise overwrite
XCOMM sponsor-provided libraries.
XCOMM
typeset -i status=0
for lib in $CDE_NEW_SHLIB
do
savedlib=/usr/shlib/$lib.preCDE
sharelib=/usr/shlib/$lib
cdelib=CDE_INSTALLATION_TOP/lib/$lib
echo " Creating symlink for $lib"
if [ -L $sharelib ]
then
if [ ! -e $savedlib ]
then
/bin/mv $sharelib $savedlib
fi
/bin/ln -s -f $cdelib $sharelib
elif [ -e $sharelib ]
then
/bin/mv -f $sharelib $savedlib
/bin/ln -s $cdelib $sharelib
else
echo " Failed to symlink $lib"
status=1
fi
done
return $status
}
UnmakeTheLink()
{
XCOMM
XCOMM Restore the saved versions of libraries.
XCOMM
for lib in $CDE_NEW_SHLIB
do
savedlib=/usr/shlib/$lib.preCDE
newlib=/usr/shlib/$lib
echo " Restoring $lib"
if [ -e $savedlib ]
then
if [ -L $newlib ]
then
/bin/rm -f $newlib
/bin/mv -f $savedlib $newlib
elif [ -e /usr/shlib/$lib ]
then
echo " $newlib is not a symlink. Left alone."
else
/bin/mv -f $savedlib $newlib
fi
fi
done
return $status
}
XCOMM ##########################################################################
XCOMM
XCOMM Main Body
XCOMM
XCOMM ##########################################################################
PRODUCT=CDE
FILESET=CDE-SHLIBS
retval=0
CDE_TOP=CDE_INSTALLATION_TOP
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
CDE_NEW_SHLIB="libXm.so libMrm.so"
HandleOption $*
if [ "$OPERATION" = "configure" ]
then
XCOMM MakeTheLink
retval=0
elif [ "$OPERATION" = "deconfigure" ]
then
XCOMM UnmakeTheLink
RemoveShlibFiles
VerifyInstalledFiles
elif [ "$OPERATION" = "verify" ]
then
VerifyInstalledFiles
fi
return $retval