167 lines
2.8 KiB
Plaintext
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
|
|
|