#3185 Buildsys will try to build a package while buildrequires are missing (BAD!!)
Closed: Invalid None Opened 14 years ago by jwrdegoede.

Hi,

I asked for buildroot overrides for a ClanLib06 update, to build a new auriferous which needs
some changes in the new ClanLib06, so that I could then push both as one update.

To ensure I would not get caught by issues with a too old ClanLib06 ending up in the buildroot somehow I put a:
BuildRequires: ClanLib06-devel >= ClanLib06-0.6.5-16

Inside the specfile of auriferous. After getting the mail that ClanLib06-0.6.5-16.fc11 was tagged, I immediately started an auriferous build for F-11. This was apparently before a create repo had run for the F-11 buildrepo, so the buildroot included the old ClanLib06, see:
http://koji.fedoraproject.org/koji/getfile?taskID=1842024&name=root.log

This means that the actual build should have exited immediately to due missing build deps, but
it actually started building and exited with a compile error on some missing defines (which
are only in the new ClanLib06). If the build need for the newer ClanLib would somehow have been more subtle, so it would not have caused the build to fail, this could have resulted in a broken build!

Investigating this further found me the following line, near the end of the build log:
'bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/auriferous.spec'

See:
http://koji.fedoraproject.org/koji/getfile?taskID=1842024&name=build.log

Notice the passing of --nodeps. This is bad very very bad, I see no reason to pass --nodeps to rpmbuild here, and this disables sanity checks people build into their specfiles!

Please fix this.

Regards,

Hans


We install all the buildrequires in an earlier step before we pass the -bb option.

The real problem here is in how you specified the version:

DEBUG util.py:280: Executing command: /usr/bin/yum --installroot /var/lib/mock/dist-f11-build-658584-94490/root/ resolvedep 'desktop-file-utils' 'ClanLib06-devel >= ClanLib06-0.6.5-16'
DEBUG util.py:256: 0:desktop-file-utils-0.15-7.fc11.x86_64
DEBUG util.py:256: 0:ClanLib06-devel-0.6.5-14.fc11.x86_64
DEBUG util.py:319: Child returncode was: 0

Presumably you wanted that to be: ClanLib06-devel >= 0.6.5-16

I think in this case, rpm felt that "0.6.5-14.fc11" was VR higher than "ClanLib06-0.6.5-16"

Either way, if we hadn't used --nodeps, it still would have progressed, because you got the version wrong and rpm thought it was satisfied.

Login to comment on this ticket.

Metadata