Bug 182461 - Build Sprog for FC-4
Build Sprog for FC-4
Product: Fedora
Classification: Fedora
Component: Sprog (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Gavin Henry
Fedora Extras Quality Assurance
Depends On: 182455 182458 182459
  Show dependency treegraph
Reported: 2006-02-22 13:20 EST by Alex Lancaster
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-03-02 10:13:09 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-02-22 13:20:01 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060202 Galeon/2.0.0

Description of problem:
Build for FC-4.  This is a just a tracker to make sure it gets built.  I see that a CVS branch is pending.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. yum install Sprog


Actual Results:  Should be installed.

Expected Results:  Wasn't.

Additional info:
Comment 1 Alex Lancaster 2006-02-26 18:00:07 EST
I see you tried building this for FC-4:


but surely this can't work until perl-Imager is rebuilt for FC-4: bug #182459.

And I just noticed that perl-Imager, or probably perl(Imager) isn't in the list
of BuildRequires for FC-4, that seems like a bug.
Comment 2 Alex Lancaster 2006-02-26 18:03:42 EST
Also it isn't in the BuildRequires for the devel package either:


Remember if it needs it for compilation, it must be in the BuildRequires
*explicitly*.  I don't know how it could have worked for the devel build because
it should have failed compilation if it didn't find the perl-Imager package. 
Comment 3 Gavin Henry 2006-02-26 18:10:47 EST
Just have perl_Imager test 30 to fix now. Leaving for tomorrow. 23:15 here.

Cheers Alex.

Comment 4 Alex Lancaster 2006-02-26 18:12:43 EST
Hmm,  I notice that on the install instructions:


it doesn't require perl-Imager, but I guess your old RPMs that I found here:


were built against them.  Does sprog need perl-Imager?
Comment 5 Alex Lancaster 2006-02-28 18:43:50 EST
Sprog-0.14-9.fc4 failed build:


From here:


it looks like we can remove perl(Imager), maybe it will work then.
Comment 6 Gavin Henry 2006-03-01 03:24:10 EST
Comment 7 Michael Schwendt 2006-03-01 03:28:50 EST
Well, there's at least one Perl module in Sprog which wants perl-Imager:

  lib/Sprog/Gear/ImageBorder.pm:use Imager;

Earlier FC-4 builds of Sprog failed because they didn't BuildRequires
perl(Time::HiRes). The changed package in FE CVS should build.
Comment 8 Alex Lancaster 2006-03-01 05:17:44 EST
Looks like it successfully built in FC-4, and I noticed from:


that the package generates a Requires: perl(Imager) as Michael points out in
comment #7 that Sprog needs because of the "use Imager;" in that Perl module. 
But Gavin removed the perl(Imager) from the BuildRequires, and if it really does
need perl(Imager) to run, then how does actually build without it?  

Does the buildsystem not actually check whether all the "use foobar;"  modules
actually exist?
Comment 9 Alex Lancaster 2006-03-01 05:36:31 EST
It looks like perl-Imager is required, because if I try and remove perl-Imager
on devel, it will also remove Sprog (see below).  So should it be re-added as a
BuildRequires, or added as a manual Requires as described here:

http://fedoraproject.org/wiki/Packaging/Perl ?

(I don't really know enough about perl module packaging to be sure)

Currently it appears to only depend implicitly on perl-Imager and if perl-Imager
is not present there is no way for the build system to know that.

sudo yum remove perl-Imager
Loading "installonlyn" plugin
Setting up Remove Process
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package perl-Imager.i386 0:0.47-1.fc5 set to be erased
--> Running transaction check
Setting up repositories
development                                                          [1/3]
development               100% |=========================| 1.1 kB    00:00
livna                                                                [2/3]
livna                     100% |=========================|  951 B    00:00
extras-development                                                   [3/3]
extras-development        100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
--> Processing Dependency: perl(Imager) for package: Sprog
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package Sprog.noarch 0:0.14-10.fc5 set to be erased
--> Running transaction check

Dependencies Resolved

 Package                 Arch       Version          Repository        Size
 perl-Imager             i386       0.47-1.fc5       installed         1.2 M
Removing for dependencies:
 Sprog                   noarch     0.14-10.fc5      installed         604 k

Transaction Summary
Install      0 Package(s)
Update       0 Package(s)
Remove       2 Package(s)
Is this ok [y/N]: n
Exiting on user Command
Comment 10 Gavin Henry 2006-03-01 07:16:20 EST
Seemed to have work:

Comment 11 Michael Schwendt 2006-03-01 07:24:37 EST
perl-Imager is a run-time requirement, not a build-time requirement.

However, if any of Sprog's tests at build-time rely on perl-Imager being
installed, it would need to become a BuildRequires. 

Further, mentioning this dependency on perl-Imager in Sprog.spec would
be beneficial.
Comment 12 Alex Lancaster 2006-03-01 07:25:30 EST
Yes, although if I understand what's going on with the perl-Imager Requires
correctly is that you should probably add back the BuildRequires for
perl(Imager) because although you can build without it, Sprog will either fail
to install (or worse fail at run-time) because of comment #7.   

If you specify BuildRequires at build-time, it ensures that perl-Imager is
available in the repo, which means that the build will correctly halt if no
perl-Imager is present in the repo, because it wouldn't install without it.

Confusing, isn't it?  That's the problem with Perl modules. But I *think* that's
what's going.
Comment 13 Alex Lancaster 2006-03-01 07:27:48 EST
(In reply to comment #11)
> perl-Imager is a run-time requirement, not a build-time requirement.
> However, if any of Sprog's tests at build-time rely on perl-Imager being
> installed, it would need to become a BuildRequires. 

I don't think Sprog checks the Imager part, but nevertheless it would fail at
run-time if not present.
> Further, mentioning this dependency on perl-Imager in Sprog.spec would
> be beneficial.

So should it be a BuildRequires or just a regular Requires?

Comment 14 Alex Lancaster 2006-03-02 10:13:09 EST
Sprog builds and installs fine now for FC-4.  Closing bug.

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