[Yum] yum install using auto-dependency checking???
jeff stern
jas at uci.edu
Tue Aug 30 16:06:43 UTC 2005
Panu Matilainen wrote:
> Stuff from tarballs is *never* considered by rpm (and any software using
> rpm to resolve dependencies, like yum). The fact that having the
> InterBase rpm installed doesn't help makes me think it's one of those
> infamous "vendor rpm"'s which really contain a tarball that's extracted
> someplace from %post, and thus it's real contents never end up in rpmdb.
>
> Do 'rpm -qp --provides <interbase rpm>' to see if that's the case (rpm
> -qpl <package> will tell you the truth about the rpm's quality of lack
> of thereof as well.
>
> - Panu -
hi panu, and thanks for responding..
okay,
rpm -qp --provides InterBaseC_LI-V7.1.0-1.i386.rpm
returns:
InterBaseC_LI = V7.1.0-1
while
rpm -qlp InterBaseC_LI-V7.1.0-1.i386.rpm
returns:
----------------------------------------------------------------------------------------
/opt/interbase
/opt/interbase/License.txt
/opt/interbase/ReleaseNotes.pdf
/opt/interbase/bin
/opt/interbase/bin/gbak
/opt/interbase/bin/gfix
/opt/interbase/bin/gpre
/opt/interbase/bin/iblicense
/opt/interbase/bin/ibnodeid
/opt/interbase/bin/isql
/opt/interbase/doc
/opt/interbase/doc/How2GetDocs.txt
/opt/interbase/examples
/opt/interbase/examples/align.h
/opt/interbase/examples/api1.c
/opt/interbase/examples/api10.c
/opt/interbase/examples/api11.c
/opt/interbase/examples/api12.c
/opt/interbase/examples/api13.c
/opt/interbase/examples/api14.e
/opt/interbase/examples/api15.c
/opt/interbase/examples/api16.c
/opt/interbase/examples/api16t.c
/opt/interbase/examples/api2.c
/opt/interbase/examples/api3.c
/opt/interbase/examples/api4.c
/opt/interbase/examples/api5.c
/opt/interbase/examples/api6.c
/opt/interbase/examples/api7.c
/opt/interbase/examples/api8.c
/opt/interbase/examples/api9.c
/opt/interbase/examples/api9f.c
/opt/interbase/examples/api9f.sql
/opt/interbase/examples/apifull.c
/opt/interbase/examples/blindmeta.sql
/opt/interbase/examples/dyn1.e
/opt/interbase/examples/dyn2.e
/opt/interbase/examples/dyn3.e
/opt/interbase/examples/dyn4.e
/opt/interbase/examples/dyn5.e
/opt/interbase/examples/dynfull.e
/opt/interbase/examples/employe2.sql
/opt/interbase/examples/example.h
/opt/interbase/examples/ib_udf.sql
/opt/interbase/examples/makefile
/opt/interbase/examples/readmeta.sql
/opt/interbase/examples/stat1.e
/opt/interbase/examples/stat10.e
/opt/interbase/examples/stat11.e
/opt/interbase/examples/stat12.e
/opt/interbase/examples/stat12t.e
/opt/interbase/examples/stat2.e
/opt/interbase/examples/stat3.e
/opt/interbase/examples/stat4.e
/opt/interbase/examples/stat5.e
/opt/interbase/examples/stat6.e
/opt/interbase/examples/stat7.e
/opt/interbase/examples/stat8.e
/opt/interbase/examples/stat9.e
/opt/interbase/examples/udf.sql
/opt/interbase/examples/udflib.c
/opt/interbase/examples/writemeta.sql
/opt/interbase/examples/xml_api_buffer.c
/opt/interbase/examples/xml_api_file.c
/opt/interbase/include
/opt/interbase/include/gds.f
/opt/interbase/include/gds.h
/opt/interbase/include/gds.hxx
/opt/interbase/include/ib_util.h
/opt/interbase/include/ibase.h
/opt/interbase/include/iberror.h
/opt/interbase/include/ibxml.h
/opt/interbase/include/ibxml_proto.h
/opt/interbase/include/perf.h
/opt/interbase/interbase.msg
/opt/interbase/lib
/usr/include/gds.h
/usr/include/ib_util.h
/usr/include/ibase.h
/usr/include/iberror.h
/usr/include/ibxml.h
/usr/include/ibxml_proto.h
/usr/lib/libgds.so.0
/usr/lib/libibxml.so
----------------------------------------------------------------------------------------
finally,
# rpm -qp --scripts InterBaseC_LI-V7.1.0-1.i386.rpm
returns:
----------------------------------------------------------------------------------------
preinstall scriptlet (using /bin/sh):
# Boring Stuff. Rename any previous files.
for file in /usr/interbase /opt/interbase
do
if [ -L $file -o -f $file -o -d $file ]
then
echo -e "\tFound a previous InterBase link ($file)."
echo -e "\tRenaming it to $file.prev.lnk"
mv $file $file.prev.lnk
fi
done
for file in /usr/include/gds.h /usr/include/ibase.h
/usr/include/iberror.h /usr/include/ib_util.h /usr/include/ibxml.h
/usr/include/ibxml_proto.h /usr/lib/libgds.so.0 /usr/lib/libgds.so
/usr/lib/libibxml.so
do
if [ -L $file -o -f $file ]
then
echo -e "\tFound a previous version of $file"
echo -e "\tRenaming it to $file.prev.lnk ".
mv $file $file.prev.lnk
fi
done
postinstall scriptlet (using /bin/sh):
# Make sure the links are in place
if [ ! -L /opt/interbase -a ! -d /opt/interbase ]
then
# Main link and...
ln -s $RPM_INSTALL_PREFIX/interbase /opt/interbase
fi
if [ ! -L /usr/interbase -a ! -d /usr/interbase ]
then
ln -s $RPM_INSTALL_PREFIX/interbase /usr/interbase
fi
# Create link for shared library
ln -s libgds.so.0 /usr/lib/libgds.so
# Add entry in /etc/services
if grep "^gds_db" /etc/services > /dev/null
then
grep -v "^gds_db" /etc/services > /etc/services.tmp
echo "gds_db 3050/tcp # InterBase Database Remote
Protocol" >> /etc/services.tmp
mv /etc/services.tmp /etc/services
else
echo "gds_db 3050/tcp # InterBase Database Remote
Protocol" >> /etc/services
fi
touch /opt/interbase/interbase.log
chmod 666 /opt/interbase/interbase.log
preuninstall scriptlet (using /bin/sh):
if ps -ef | egrep -e '(gds_lock_mgr|gds_inet_server|gds_pipe)' | grep -v
grep> /dev/null
then
echo "An instance of the InterBase server seems to be running."
echo "Please quit all interbase applications and then proceed."
exit 1
fi
if ps -ef | egrep -e '(ibserver|ibguard)' | grep -v grep> /dev/null
then
echo "An instance of the InterBase Super server seems to be running."
echo "Please quit all interbase applications and then proceed."
exit 1
fi
if [ -f /opt/interbase/admin.ib ]
then
cp /opt/interbase/admin.ib /tmp
echo "Saved a copy of admin.ib in /tmp"
fi
if [ -f /opt/interbase/ib_license.dat ]
then
cp /opt/interbase/ib_license.dat /tmp
echo "Saved a copy of ib_license.dat in /tmp"
fi
rm -f /opt/interbase/isc_init1* /opt/interbase/isc_event1*
/opt/interbase/isc_lock1* /opt/interbase/isc_guard*
/opt/interbase/interbase.log /opt/interbase/ib_license.dat
postuninstall scriptlet (using /bin/sh):
if [ -L /usr/lib/libgds.so ]
then
rm /usr/lib/libgds.so
fi
# Lose the gds_db line from /etc/services
if grep "^gds_db" /etc/services > /dev/null
then
grep -v "^gds_db" /etc/services > /etc/services.tmp
mv -f /etc/services.tmp /etc/services
fi
if [ -L /opt/interbase ]; then
rm /opt/interbase
fi
if [ -L /usr/interbase ]; then
rm /usr/interbase
fi
----------------------------------------------------------------------------------------
does this provide any clues?
thanks,
jeff
More information about the Yum
mailing list