| Summary: | Interactive SRPM | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Zenon Panoussis <redhatbugs> | |
| Component: | perl-Net-DNS | Assignee: | Petr Šabata <psabata> | |
| Status: | CLOSED ERRATA | QA Contact: | Martin Cermak <mcermak> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | medium | |||
| Version: | 6.0 | CC: | azelinka, mcermak, pkovar, ppisar, psabata, syeghiay | |
| Target Milestone: | rc | Keywords: | EasyFix | |
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | perl-Net-DNS-0.65-4.el6 | Doc Type: | Bug Fix | |
| Doc Text: |
Prior to this update, perl-Net-DNS lacked a complete IPv6 functionality. This update adds the dependencies related to IPv6 and, in addition, prevents the possibility of interactive (re)build.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 710375 (view as bug list) | Environment: | ||
| Last Closed: | 2011-09-07 13:07:53 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
|
Description
Zenon Panoussis
2011-03-16 15:08:42 UTC
You are right. I wonder how we build it without it. RHEL6 package was built without IPv6 support. IO::Socket::INET6 and Socket6 modules weren't present in buildroot. After adding IO::Socket::INET6 and Socket6 BRs, the package builds fine with IPv6 support and tests pass. Zenon, the default answer is 'y' in non-interactive environment. I don't mean that it doesn't build; it builds just fine. The problem is the interactivity itself, that it asks questions. $ rpm -q perl-IO-Socket-INET6 perl-IO-Socket-INET6-2.56-4.el6.noarch $ rpm -q perl-Socket6 perl-Socket6-0.23-3.el6.x86_64 $ rpmbuild -bb rpmbuild/SPECS/perl-Net-DNS.spec <snip> You have a working compiler. Would you like to enable IPv6 tests? [y] BTW, if it relies on IO::Socket::INET6 and Socket6 being installed, the spec would need the corresponding BuildRequires. (In reply to comment #5) > I don't mean that it doesn't build; it builds just fine. The problem is the > interactivity itself, that it asks questions. At first I thought it could hang the build in buildsystems. This is not the case since the default answer is used if there's no input. I don't find interactive build to be an issue for manual/rpmbuild rebuilds. In case you disagree, contact upstream developer about this. > > $ rpm -q perl-IO-Socket-INET6 > perl-IO-Socket-INET6-2.56-4.el6.noarch > > $ rpm -q perl-Socket6 > perl-Socket6-0.23-3.el6.x86_64 > > $ rpmbuild -bb rpmbuild/SPECS/perl-Net-DNS.spec > <snip> > You have a working compiler. > Would you like to enable IPv6 tests? [y] > > > BTW, if it relies on IO::Socket::INET6 and Socket6 being installed, the spec > would need the corresponding BuildRequires. Yes, that's true. (In reply to comment #6) > At first I thought it could hang the build in buildsystems. This is not the > case since the default answer is used if there's no input. I don't find > interactive build to be an issue for manual/rpmbuild rebuilds. I don't understand how the default answer is used, unless someone manually hits <enter>. It did indeed hang my buildsystem. Anyway, there's a better solution than what I suggested before: %{__perl} Makefile.PL INSTALLDIRS=vendor --no-online-tests --IPv6-tests This prevents the interactivity *and* it gets flipped back by the Makefile if IO::Socket::INET6 and Socket6 are not found. (In reply to comment #7) > (In reply to comment #6) > > > At first I thought it could hang the build in buildsystems. This is not the > > case since the default answer is used if there's no input. I don't find > > interactive build to be an issue for manual/rpmbuild rebuilds. > > I don't understand how the default answer is used, unless someone manually hits > <enter>. It did indeed hang my buildsystem. http://perldoc.perl.org/ExtUtils/MakeMaker.html#Other-Handy-Functions What buildsystem do you use? I don't observe any hangs in Koji (or mock respectively). (In reply to comment #8) I don't use koji or mock; I use a couple of my own scripts, but that's irrelevant. The point is, rpm is not supposed to be interactive. Interactivity is a sacred "no, no, no", carved in stone since day one. Any package that requires user input, be it during build or during install, violates one of the most fundamental laws of RPM package management. (In reply to comment #6) > I don't find interactive build to be an issue for manual/rpmbuild rebuilds. It is not a matter of opinion; it is a matter of policy. Of Red Hat policy, to be precise. If that policy has changed, a link to the change notice would be much appreciated by a lot of people. Checking the perldoc link that you gave in comment #8 and wondering why mock could succeed where my scripts fail, I think the answer is in PERL_MM_USE_DEFAULT. If you can set that from the specfile, then the problem would be solved and policy respected as well. (In reply to comment #10) > Checking the perldoc link that you gave in comment #8 and wondering why mock > could succeed where my scripts fail, I think the answer is in > PERL_MM_USE_DEFAULT. If you can set that from the specfile, then the problem > would be solved and policy respected as well. This would be a nice and elegant way to deal with such situations -- actually, the best thing here would be getting rpmbuild to set this variable automatically rather than including this in every possibly interactive (all) spec file. IO::Socket::INET6 and Socket6 BRs added in perl-Net-DNS-0.65-3.el6 Also PERL_MM_USE_DEFAULT is now defined to prevent interactive build.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Prior to this update, perl-Net-DNS lacked a complete IPv6 functionality. This update adds the dependencies related to IPv6 and, in addition, prevents the possibility of interactive (re)build.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-1271.html |