[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