Bug 481307
Summary: | qpid-java source RPM build leaves things in BUILD directory | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Jeff Needle <jneedle> | ||||||||
Component: | qpid-java | Assignee: | messaging-bugs <messaging-bugs> | ||||||||
Status: | NEW --- | QA Contact: | Jeff Needle <jneedle> | ||||||||
Severity: | medium | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | 1.1 | CC: | gsim, jross | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | All | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | Type: | --- | |||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Description
Jeff Needle
2009-01-23 14:51:30 UTC
I think there are two issues here. 1. It's bad form (and one that contributes to the trouble above) to have top-level source dirs without version info. As it's configured right now, the java build system depends on the absence of that version info. One course of action we can take is to (gulp) take the entire qpid distribution as the source tarball for the java project. That would work. We could also adjust how the java build system works, such that it looks up the specs and python code that it needs at installed locations. 2. The test that qpid/cpp is using to determine whether to generate code is possibly wrong. It appears that if a spec file is present at all at ../specs/qpid.0-10....xml, it generates code. This is not favorable when we build from our dist tarball. It would be better if the qpid/cpp makefiles instead checked to see if the code was already generated, as it is in dist tarball's case. With Nunos help I have modified this behaviour. Could Jeff/Justin please verify this? Sure - what build did this appear in? Last set of TPS runs was still failing due to this, but when the new builds get added to the errata, TPS will be rerun and I'll check this. rpm -Uvh qpid-java-0.5.751061-1.el5.src.rpm cd /usr/src/redhat/SPECS/ rpmbuild -bb --clean qpid-java.spec rpm -Uvh qpidc-0.5.752581-1.el5.src.rpm rpmbuild -bb --clean qpidc.spec Everything is erroneous the same way as described above (even the qpidc build fails on the same error). When I manually remove files from BUILD directory, qpidc compiles cleanly. Created attachment 337011 [details]
SPEC file patch
Please apply the patch in attachment to make qpid-java
build cleanly without leaving any files in /usr/src/redhat/BUILD
patch -N -i qpid-java.spec.diff
Fix failed, moving back to ASSIGNED, changing target to 1.2. Created attachment 403233 [details]
spec file diff
Created attachment 403234 [details]
tarballs fetching script diff
Rajith, please apply both patches to the tree under cvs.devel
The patched build process uses the same methodology as qpid-cpp-mrg does. Actually the build of qpid-cpp-mrg was not affected by qpid-java (I tried the described problem on current packages), but it is much cleaner to do it the patched way. Jan, Can you try it on the latest packages? Mikeb helped out in cleaning the spec files and I believe the problem is solved now. Rajith Sorry Rajith, but it is still far from cleaned up. # rpm -Uvh qpid-java-0.7.946106-4.el5.src.rpm # rpmbuild -bb /usr/src/redhat/SPECS/qpid-java.spec ... Wrote: /usr/src/redhat/RPMS/noarch/qpid-java-common-0.7.946106-4.el5_3.noarch.rpm Wrote: /usr/src/redhat/RPMS/noarch/qpid-java-client-0.7.946106-4.el5_3.noarch.rpm Wrote: /usr/src/redhat/RPMS/noarch/qpid-java-example-0.7.946106-4.el5_3.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.95116 + umask 022 + cd /usr/src/redhat/BUILD + cd qpid-java-0.7.946106 + rm -rf /var/tmp/qpid-java-0.7.946106-4.el5_3-root-root + exit 0 # ls /usr/src/redhat/BUILD/ gentools/ python/ qpid-deps/ qpid-java-0.7.946106/ specs/ The last line is what can cause problems (and did in the past). Everything should be inside the qpid-java-<version> directory to keep things clean. But if one builds always with clean /usr/src/redhat/BUILD everything works fine. Have a look at the patches I sent in comments #11 and #12. I finally understood what the problem is. "Everything should be inside the qpid-java-<version> directory" Ok I think it's best to tackle this after 1.3 |