Bugs item #1263924, was opened at 2005-08-19 06:07
Message generated for change (Settings changed) made by dnl
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=109368&aid=1263924&group_id=9368
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: 4.2
Status: Open
Resolution: Works For Me
Priority: 5
Submitted By: Erich Focht (efocht)
Assigned to: David N. Lombard (dnl)
>Summary: update-rpms doesn't detect versions on non-RPM perl modules
Initial Comment:
update-rpms doesn't fully resolve dependencies.
I think this comes from the fact that update-rpms doesn't
handle the arguments "requirement >= NNN" correctly.
It works fine with "requirement = NNN".
Example:
systemimager-server requires perl(XML::Simple) >= 2.08
Checking whether perl-XML-Simple is in the repository and
the cache:
[EMAIL PROTECTED] prereqs]# update-rpms --quiet --check
perl-XML-Simple
OK
perl-XML-Simple /tftpboot/rpm/perl-XML-Simple-2.14-2.1.el3.rf.noarch.rpm
-ihv
Check which packages get installed with
systemimager-server:
[EMAIL PROTECTED] test42]# update-rpms --check
systemimager-server-3.5.3-1
==> /usr/bin/update-rpms '--check'
'systemimager-server-3.5.3-1'
update-rpms, version 1.1.20
Cache: /var/cache/update-rpms
Reading cache... (1 sec)
Selecting RPMs...
Analyzing RPMs
Evaluating RPMs... (2 sec)
Resolving RPM installation order...
RPM Installation Order:
perl-TermReadKey-2.30-1.rf /tftpboot/rpm/perl-TermReadKey-2.30-1.rf.x86_64.rpm
-ihv
<==
perl-TermReadKey-2.30-1.rf /tftpboot/rpm/perl-TermReadKey-2.30-1.rf.x86_64.rpm
-ihv
perl-AppConfig-1.52-4 /tftpboot/rpm/perl-AppConfig-1.52-4.noarch.rpm
-ihv
<==
perl-AppConfig-1.52-4 /tftpboot/rpm/perl-AppConfig-1.52-4.noarch.rpm
-ihv
systemconfigurator-2.2.2-10ef
/tftpboot/rpm/systemconfigurator-2.2.2-10ef.noarch.rpm
-ihv
<==
systemconfigurator-2.2.2-10ef
/tftpboot/rpm/systemconfigurator-2.2.2-10ef.noarch.rpm
-ihv
systemimager-common-3.5.3-1
/tftpboot/rpm/systemimager-common-3.5.3-1.noarch.rpm
-ihv
<==
systemimager-common-3.5.3-1
/tftpboot/rpm/systemimager-common-3.5.3-1.noarch.rpm
-ihv
systemimager-server-3.5.3-1
/tftpboot/rpm/systemimager-server-3.5.3-1.noarch.rpm
-ihv
<==
systemimager-server-3.5.3-1
/tftpboot/rpm/systemimager-server-3.5.3-1.noarch.rpm
-ihv
<== t=4s
<== $? 0
[EMAIL PROTECTED] test42]# rpm -qi perl-XML-Simple
package perl-XML-Simple is not installed
[EMAIL PROTECTED] test42]# rpm -q --provides
-p /tftpboot/rpm/perl-XML-Simple-2.14-2.1.el3.rf.noarch.rpm
warning: /tftpboot/rpm/perl-XML-Simple-2.14-2.1.el3.rf.noarch.rpm:
V3 DSA signature: NOKEY, key ID 1aa78495
perl(XML::Simple) = 2.14
perl(XML::Simple::FAQ)
perl-XML-Simple = 2.14-2.1.el3.rf
----------------------------------------------------------------------
Comment By: David N. Lombard (dnl)
Date: 2005-08-26 05:42
Message:
Logged In: YES
user_id=27334
I will consider this.
----------------------------------------------------------------------
Comment By: Erich Focht (efocht)
Date: 2005-08-26 01:29
Message:
Logged In: YES
user_id=338721
Sorry to reopen this but I still don't understand one thing:
systemimager-server requires
perl(XML::Simple) >= 2.0.8
The XML::Simple module installed somehow (CPAN?) had
version 1.0.8, so the requirement of systemimager-server
was not satisfied!
The following snipped of code detects the version of the
found module:
$module=XML::Simple;
eval "{ require $module; }";
if ($@) {
print "$module is not installed\n";
exit;
}
eval "\ = \$".$module."::VERSION";
print "$version\n";
Maybe you want to extend update-rpms to detect the version
of a non-rpm perl module and warn if the version is too old.
Simply installing the RPM to satisfy the dependency is
dangerous, too, because this leads to 2 versions remaining
installed and eventually conflicting with each other. This can
be seen in the bug #1264011 (si_monitork fails).
----------------------------------------------------------------------
Comment By: Erich Focht (efocht)
Date: 2005-08-25 07:59
Message:
Logged In: YES
user_id=338721
Well, I found the reason for the trouble. Even though there
was no perl-XML-Simple rpm installed, update-rpms was
claiming that perl(XML::Simple) is already installed.
Unfortunately when checking for perl:XML::Simple with
update-rpms, it was suggesting to install the
perl-XML-Simple package, so that check was not detecting
it.
slocate finally revealed that there was a XML/Simple.pm
file hidden somewhere in my tree which wasn't belonging to
any rpm. It was a different location from the one of the
OSCAR perl-XML-Simple package. As I never install CPAN
packages directly (couldn't tell you how that works without
looking it up), therefore I suspect this might have been a
broken RPM build which must have happenend long ago.
I'm sorry to have bothered with a problem which only
existed on my machine, also sorry for having suspected
update-rpms.
Erich
----------------------------------------------------------------------
Comment By: David N. Lombard (dnl)
Date: 2005-08-24 18:26
Message:
Logged In: YES
user_id=27334
Please run the following under script:
update-rpms -vvv --cachedir=. --check systemimager-server
update-rpms -vvv --cachedir=. --check systeminstaller
Then, either attach the typescript file or email it to me...
I want to see what is satisfying the requirements.
----------------------------------------------------------------------
Comment By: Erich Focht (efocht)
Date: 2005-08-22 05:13
Message:
Logged In: YES
user_id=338721
Actually the first log was already showing that what worked for
you doesn't work for me (update-rpms --check
systemimager-server). But here is another attempt with exactly
the syntax you used (I only added --cachedir=. to all the
queries).
[EMAIL PROTECTED] tmpcache]# update-rpms --cachedir=. --cache=W
--url=/opt/test42/packages/sis/distro/rhel3-i386
--url=/opt/test42/packages/sis/distro/common-rpms
--url=/opt/test42/share/prereqs/perl-XML-Simple/RPMS/
update-rpms, version 1.1.20
Querying RPMs... (17 RPMs in 1 sec)
Writing cache (.)...
Selecting RPMs... (1 sec)
Analyzing RPMs
RPM Installation Order:
No RPMs are selected for installation.
[EMAIL PROTECTED] tmpcache]# update-rpms --cachedir=. --check
systemimager-server
update-rpms, version 1.1.20
Cache: .
Reading cache...
Selecting RPMs...
Analyzing RPMs
Evaluating RPMs...
Resolving RPM installation order...
RPM Installation Order:
perl-TermReadKey-2.30-1.rf
/opt/test42/packages/sis/distro/rhel3-i386/perl-TermReadKey-2.30-1.rf.i386.rpm
-ihv
perl-AppConfig-1.52-4
/opt/test42/packages/sis/distro/common-rpms/perl-AppConfig-1.52-4.noarch.rpm
-ihv
systemconfigurator-2.2.2-10ef
/opt/test42/packages/sis/distro/common-rpms/systemconfigurator-2.2.2-10ef.noarch.rpm
-ihv
systemimager-common-3.5.3-1
/opt/test42/packages/sis/distro/common-rpms/systemimager-common-3.5.3-1.noarch.rpm-ihv
systemimager-server-3.5.3-1
/opt/test42/packages/sis/distro/common-rpms/systemimager-server-3.5.3-1.noarch.rpm-ihv
[EMAIL PROTECTED] tmpcache]# update-rpms --cachedir=. --check
perl-XML-Simple
update-rpms, version 1.1.20
Cache: .
Reading cache...
Selecting RPMs... (1 sec)
Analyzing RPMs
Evaluating RPMs...
Resolving RPM installation order...
RPM Installation Order:
perl-XML-Simple-2.14-2.1.el3.rf
/opt/test42/share/prereqs/perl-XML-Simple/RPMS/perl-XML-Simple-2.14-2.1.el3.rf.noarch.rpm
-ihv
[EMAIL PROTECTED] tmpcache]# update-rpms --cachedir=. --check
perl::XML::Simple
update-rpms, version 1.1.20
Cache: .
Reading cache...
Selecting RPMs...
Uninstallable RPMs:
perl::XML::Simple Providing RPM not found
[EMAIL PROTECTED] tmpcache]# update-rpms --cachedir=. --check
perl:XML::Simple
update-rpms, version 1.1.20
Cache: .
Reading cache...
Selecting RPMs...
Analyzing RPMs
Evaluating RPMs...
Resolving RPM installation order...
RPM Installation Order:
perl-XML-Simple-2.14-2.1.el3.rf
/opt/test42/share/prereqs/perl-XML-Simple/RPMS/perl-XML-Simple-2.14-2.1.el3.rf.noarch.rpm
-ihv
----------------------------------------------------------------------
Comment By: David N. Lombard (dnl)
Date: 2005-08-21 19:31
Message:
Logged In: YES
user_id=27334
Erich,
Please demonstrate an error. I showed the specific example
you claim to have failed as working.
----------------------------------------------------------------------
Comment By: Erich Focht (efocht)
Date: 2005-08-21 15:58
Message:
Logged In: YES
user_id=338721
> I don't understand what you proved above. You didn't check
> to see if XML::Simple was already installed, e.g., by CPAN
> module...
I am not trying to prove anything, I just reported a bug. From
your output I see that my diagnosis was wrong. No, XML::Simple
wasn't installed from CPAN, I never do that on test systems.
The bug still remains, and my new highly speculative diagnosis is
that this must be related to bug #1263911 (perl-XML-Simple
recognition wrong on rhel3).
Erich
----------------------------------------------------------------------
Comment By: David N. Lombard (dnl)
Date: 2005-08-19 21:54
Message:
Logged In: YES
user_id=27334
I don't understand what you proved above. You didn't check
to see if XML::Simple was already installed, e.g., by CPAN
module...
At any rate, it's clearly working with the rhel3 libs from
current trunk. FWIW, the requirement form "package >=
value" is so common, I doubt I could pass any of my unit
testing with such an error.
# Here I build a cache with the sis and perl-XML-Simple
packages.
$ update-rpms --cachedir=. --cache=W
--url=oscar/packages/sis/distro/rhel3-i386
--url=oscar/packages/sis/distro/common-rpms --url
oscar/share/prereqs/perl-XML-Simple/RPMS
update-rpms, version 1.1.20
Querying RPMs... (17 RPMs in 1 sec)
Writing cache (.)...
Selecting RPMs...
Analyzing RPMs
RPM Installation Order:
No RPMs are selected for installation.
# and here I ask to install systemimager-server. Note
perl-XML-Simple is actually the first package listed.
$ update-rpms --check systemimager-server
update-rpms, version 1.1.20
Cache: /home/dnl/OSCAR
Reading cache...
Selecting RPMs...
Analyzing RPMs
Evaluating RPMs... (1 sec)
Resolving RPM installation order...
RPM Installation Order:
perl-XML-Simple-2.14-2.1.el3.rf
/home/dnl/OSCAR/oscar/share/prereqs/perl-XML-Simple/RPMS/perl-XML-Simple-2.14-2.1.el3.rf.noarch.rpm
-ihv
perl-TermReadKey-2.30-1.rf
/home/dnl/OSCAR/oscar/packages/sis/distro/rhel3-i386/perl-TermReadKey-2.30-1.rf.i386.rpm
-ihv
perl-AppConfig-1.52-4
/home/dnl/OSCAR/oscar/packages/sis/distro/common-rpms/perl-AppConfig-1.52-4.noarch.rpm
-ihv
systemconfigurator-2.2.2-10ef
/home/dnl/OSCAR/oscar/packages/sis/distro/common-rpms/systemconfigurator-2.2.2-10ef.noarch.rpm
-ihv
systemimager-common-3.5.3-1
/home/dnl/OSCAR/oscar/packages/sis/distro/common-rpms/systemimager-common-3.5.3-1.noarch.rpm
-ihv
systemimager-server-3.5.3-1
/home/dnl/OSCAR/oscar/packages/sis/distro/common-rpms/systemimager-server-3.5.3-1.noarch.rpm
-ihv
----------------------------------------------------------------------
Comment By: Erich Focht (efocht)
Date: 2005-08-19 06:08
Message:
Logged In: YES
user_id=338721
Naturally assigned to David.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=109368&aid=1263924&group_id=9368
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Oscar-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oscar-devel