Bug 177078 - rpy should explicitly depend on a specific version of R
rpy should explicitly depend on a specific version of R
Product: Fedora
Classification: Fedora
Component: rpy (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: José Matos
Fedora Extras Quality Assurance
Depends On: 176763
  Show dependency treegraph
Reported: 2006-01-05 20:26 EST by Alex Lancaster
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version: 0.4.6-6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-02-17 14:11:13 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Alex Lancaster 2006-01-05 20:26:13 EST
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):

How reproducible:

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 06:42:04 EST
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 07:12:33 EST
Thanks.  That's this change, I guess: 


I look forward to seeing it in the repositories soon.  Once installed, I'll
close this bug.
Comment 3 Alex Lancaster 2006-02-16 07:14:56 EST
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 14:07:26 EST
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"



means that it doesn't work. :-(  At least not within mock.
Comment 5 Alex Lancaster 2006-02-17 14:11:13 EST
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.