[Yum] yum install using auto-dependency checking???
Jim Perrin
jperrin at gmail.com
Mon Aug 29 22:14:01 UTC 2005
On 8/29/05, jeff stern <jas at uci.edu> wrote:
> hi, i am having the following problem with a dependency on some rpm's i
> am building, and then am attempting to serve out with my own yum repository.
>
> i recompile all the latest php-* rpms for fedora core 4, and enable
> ibase (rpmbuild --with ibase) so that the php-interbase~ rpm will be
> created (support for connecting to interbase database servers using php).
>
> 1) first problem: rpm cannot find my libgds.so file ..
>
> however, when i try to install these rpms using rpm itself,
> php-interbase seems to require 'libgds.so' -- a dynamically linked
> library supplied by Borland with the Linux interbase client software
> (i.e., /opt/interbase/lib/libgds.so DOES exist on my system, when i
> build the rpms, and of course, later, when i install. and
> /opt/interbase/lib *IS* in my /etc/ld.so.conf file)..
>
It may be on your system, but does RPM know it's there? Did you use
rpm to install interbase in opt? If so, does rpm -q --filesbypkg
interbase or whatever show this file? It's not what's on your system
that matters to rpm, it's HOW it got there. This is the root of your
evil I suspect.
> ---------------------------------------------------------------------
> # rpm -qp --requires php-interbase-5.0.4-10.4.i686.rpm
> rpmlib(VersionedDependencies) <= 3.0.3-1
> php = 5.0.4-10.4
> perl
> grep
> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> rpmlib(CompressedFileNames) <= 3.0.4-1
> ---------------------------------------------------------------------
Sounds like it's missing an entry in the requires line then.
>
> okay, all looks good.
>
> now, if i just try to install the php-interbase rpm just using rpm
> command-line, i have NO problems now.. the dependency HAS been removed:
>
> ---------------------------------------------------------------------
> # rpm -ivh php-5.0.4-10.4.i686.rpm php-pear-5.0.4-10.4.i686.rpm
> php-interbase-5.0.4-10.4.i686.rpm
> Preparing... ###########################################
> [100%]
> 1:php ###########################################
> [ 33%]
> 2:php-pear ###########################################
> [ 67%]
> 3:php-interbase ###########################################
> [100%]
> ---------------------------------------------------------------------
>
Just because it installs fine, doesn't mean its not busted :-P
> okay, excellent! the php-interbase is now installing, no '--nodeps' flag
> needed.
>
> now i would like to put it up on my own yum repository. so i create my
> repodata (createrepo <directory where my rpms are>)
>
> i also add a .repo file to my /etc/yum.repos.d directory, for my own
> (same) system.
>
> now, when i try to run 'yum -y install php php-interbase, i still get
> the dependency:
>
> ---------------------------------------------------------------------
> # yum -y install php php-interbase php-xml
> Setting up Install Process
> Setting up repositories
> dries 100% |=========================| 951 B 00:00
> jas 100% |=========================| 951 B 00:00
> extras 100% |=========================| 1.1 kB 00:00
> updates-released 100% |=========================| 951 B 00:00
> base 100% |=========================| 1.1 kB 00:00
> Reading repository metadata in from local files
> Reducing Extra Fedora rpms dries - 4 - i386 to included packages only
> Finished
> Reducing Extra Fedora rpms jas - 4 - i386 to included packages only
> Finished
> Excluding Packages from Fedora Extras 4 - i386
> Finished
> Excluding Packages from Fedora Core 4 - i386 - Released Updates
> Finished
> Excluding Packages from Fedora Core 4 - i386 - Base
> Finished
> Parsing package install arguments
> Resolving Dependencies
> --> Populating transaction set with selected packages. Please wait.
> ---> Package php-xml.i686 0:5.0.4-10.4 set to be updated
> ---> Package php.i686 0:5.0.4-10.4 set to be updated
> ---> Package php-interbase.i686 0:5.0.4-10.4 set to be updated
> --> Running transaction check
> --> Processing Dependency: libgds.so for package: php-interbase
> --> Processing Dependency: php-pear for package: php
> --> Restarting Dependency Resolution with new changes.
> --> Populating transaction set with selected packages. Please wait.
> ---> Package php-pear.i686 0:5.0.4-10.4 set to be updated
> --> Running transaction check
> --> Processing Dependency: libgds.so for package: php-interbase
> --> Finished Dependency Resolution
> Error: Missing Dependency: libgds.so is needed by package php-interbase
> ---------------------------------------------------------------------
Yum does dependency checking of its own, which is a good thing in this
case, because technically with your rpms, I don't have to have
interbase installed to use php-interbase, which will quite possibly
lead to breakage.
> how does this dependency still show up with yum, even though i purposely
> took it out during rpmbuild?
>
> is yum doing its OWN auto-dependency checking?
I believe so, yes.
--
Jim Perrin
System Administrator - UIT
Ft Gordon & US Army Signal Center
More information about the Yum
mailing list