Bug 177078 - rpy should explicitly depend on a specific version of R
Summary: rpy should explicitly depend on a specific version of R
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpy
Version: 4
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: José Matos
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 176763
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-01-06 01:26 UTC by Alex Lancaster
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 0.4.6-6
Clone Of:
Environment:
Last Closed: 2006-02-17 19:11:13 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Alex Lancaster 2006-01-06 01:26:13 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050923 Galeon/2.0.0

Description of problem:
An explicit (i.e. manual) dependency on a particular version of R, i.e. Requires: R=x.y.z needs to be added to the rpy spec file.  Currently rpy will fail at runtime if R is upgraded to a new major, minor or subminor release.

That way if both R and rpy are installed and R is updated, but rpy is not rebuilt, then "yum upgrade" will fail noisely saying that R can't be upgraded because of the dependent rpy.  That would be far better than the current situation where R is upgraded causing rpy to silently fail, which may not be noticed immediately.  Also the automated repoclosure script will pick up the dependency problem and the maintainer should be notified quickly.

Version-Release number of selected component (if applicable):
rpy-0.4.6-4.fc4

How reproducible:
Always

Steps to Reproduce:
1. sudo yum upgrade

  

Actual Results:  R will be upgraded, but cause rpy to fail at runtime, causing the user to have a broken system.

Expected Results:  If rpy is installed and doesn't have the correct R installed, the upgrade will fail, making it clear that the rpy maintainer needs to rebuild package, and the user won't have a broken system (because the upgrade won't go through until the problem is fixed).

Additional info:

Comment 1 José Matos 2006-02-16 11:42:04 UTC
This issue is fixed in 0.4.6-5. 
 
The dependency is set at build time using: 
 
Requires:      R = %(R --version | head -n 1 | sed -e 's/.* \(.*\) .*/\1/') 
 
There is no need to fiddle with each release, it only requires to increase 
the release number, rebuild and that is it. :-) 

Comment 2 Alex Lancaster 2006-02-16 12:12:33 UTC
Thanks.  That's this change, I guess: 

http://cvs.fedora.redhat.com/viewcvs/rpms/rpy/FC-4/rpy.spec?root=extras&r1=1.4&r2=1.5

I look forward to seeing it in the repositories soon.  Once installed, I'll
close this bug.

Comment 3 Alex Lancaster 2006-02-16 12:14:56 UTC
Hopefully, it will work. ;-)  I know that were issues with using scripts inside
BuildRequires (e.g. the galeon RPM used to use something like this to encode the
correct version of mozilla), but I guess it's OK with regular requires because
the build system doesn't need to query them to find out which packages to install.

Comment 4 Alex Lancaster 2006-02-17 19:07:26 UTC
I guess:

"Error: could not make srpm for rpy-0_4_6-5_fc4 - output was:
sh: R: command not found
error: line 15: Version required: Requires: R =
error: query of specfile rpy.spec failed, can't parse
sh: R: command not found
error: line 15: Version required: Requires: R =
error: query of specfile rpy.spec failed, can't parse"

from

http://buildsys.fedoraproject.org/build-status/job.psp?uid=4554

means that it doesn't work. :-(  At least not within mock.

Comment 5 Alex Lancaster 2006-02-17 19:11:13 UTC
I guess the build system does query the Requires: before running rpm as well as
the BuildRequires:  Oh well, back to hard-coding then.

Now that rpy-0.4.6-6 is built and installed, closing bug.


Note You need to log in before you can comment on or make changes to this bug.