[Yum] yum install using auto-dependency checking???
jeff stern
jas at uci.edu
Mon Aug 29 21:48:06 UTC 2005
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)..
so anyway, i have this problem in the first place, that rpm does not see
the libgds.so on my system :( ... so this is the first problem. i can
get around this by just using --nodeps BUT a) i would like to know why i
have this problem WHEN the libgds.so IS on my system, and b) i would
like to make a yum repository, and so for other users, i do NOT want
this dependency problem.. any ideas?
2) second problem: even when i turn off automatic dependency checking
when building the rpms, yum still seems to "find" or "re-create" the
dependency!
i.e., to get around the above problem with rpm/rpmbuild, i turn off the
auto-dependency-checking in the interbase section of my php.spec file:
AutoReq: 0
now, after the php-interbase rpm is built, indeed, it does NOT list
libgds.so as a requirement:
---------------------------------------------------------------------
# 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
---------------------------------------------------------------------
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%]
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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?
thanks for any clues..
More information about the Yum
mailing list