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: Always Steps to Reproduce: 1. yum install Sprog Actual Results: Should be installed. Expected Results: Wasn't. Additional info:
I see you tried building this for FC-4: http://buildsys.fedoraproject.org/build-status/job.psp?email=ghenry@suretecsystems.com&uid=5294 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.
Also it isn't in the BuildRequires for the devel package either: http://cvs.fedora.redhat.com/viewcvs/rpms/Sprog/devel/Sprog.spec?root=extras&rev=1.3&view=auto 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. Strange.
Just have perl_Imager test 30 to fix now. Leaving for tomorrow. 23:15 here. Cheers Alex. Gavin.
Hmm, I notice that on the install instructions: http://sprog.sourceforge.net/install/index.html it doesn't require perl-Imager, but I guess your old RPMs that I found here: http://sourceforge.net/mailarchive/forum.php?thread_id=8984913&forum_id=43519 were built against them. Does sprog need perl-Imager?
Sprog-0.14-9.fc4 failed build: http://buildsys.fedoraproject.org/build-status/job.psp?email=ghenry@suretecsystems.com&uid=5299 From here: http://cvs.fedora.redhat.com/viewcvs/rpms/Sprog/FC-4/Sprog.spec?root=extras&rev=1.3&view=auto it looks like we can remove perl(Imager), maybe it will work then.
Trying.
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.
Looks like it successfully built in FC-4, and I noticed from: http://buildsys.fedoraproject.org/logs/fedora-4-extras/5609-Sprog-0.14-10.fc4/noarch/build.log 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?
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 Password: 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 ============================================================================= Removing: 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
Seemed to have work: http://buildsys.fedoraproject.org/logs/fedora-4-extras/5609-Sprog-0.14-10.fc4/
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.
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.
(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?
Sprog builds and installs fine now for FC-4. Closing bug.