Bug 1038308
| Summary: | perl-devel dependencies causing production upgrade nightmares (source of problem: #905482) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Chris <caronc> |
| Component: | perl | Assignee: | perl-maint-list |
| Status: | CLOSED NOTABUG | QA Contact: | BaseOS QE - Apps <qe-baseos-apps> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.6 | CC: | jpazdziora, kloczko.tomasz, ppisar, psabata |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-12-05 07:42:31 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Chris
2013-12-04 21:16:39 UTC
perl-devel is for building Perl packages. The word package does not mean RPM package. It means Perl package as defined by CPAN. I.e. a source archive delivering possibly many Perl modules and a build script (Makefile.PL or Build.PL usually) to build and install them. Perl modules are common to be written in C. Those are so called XS modules. To build those modules, perl headers are needed. Those perl headers include glibc headers, hence perl-devel depends on glibc-devel. Therefore it's correct to pull glibc-devel in by perl-devel. (In reply to Petr Pisar from comment #1) > perl-devel is for building Perl packages. The word package does not mean RPM > package. It means Perl package as defined by CPAN. I.e. a source archive > delivering possibly many Perl modules and a build script (Makefile.PL or > Build.PL usually) to build and install them. So please name these perl modules on CPAN which are not packaged in Fedora and are uses libdb or libgdbm. I don't see even single such package and this is why I've proposed *only partial solution* by remove only two packages from devel dependencies which will not hurt ANY build package .. Even if such packages exist and if they will be not detecting libdb or libgdbm and relaying that -gdbm or -ldb will be delivered by $Config{perrlib} or $Config{libs} *build of such modules will fail* now even if gdbm-devel or libdb-devel will be installed. All because none $Config variables are offering those libraries!!! Do you see this now? If you will find such modules please let me know I promise I'll try to fix those modules :) However I'm 100% sure that my help will be not necessary :P > Perl modules are common to be written in C. Those are so called XS modules. > To build those modules, perl headers are needed. Those perl headers include > glibc headers, hence perl-devel depends on glibc-devel. > > Therefore it's correct to pull glibc-devel in by perl-devel. Of course because it is rally hard to write anything which is not using glibc-devel. Most of the perl-devel C header files are using glibc headers and *only by this* glibc-devel should be in perl-devel Reguires list. If you have impression that I'm suggesting do this it is only impression and it is not even correct impression. What I'm suggesting is only remove -lc from all $Config variables. But again such subject is not the scope of this ticket. This ticket is ONLY about remove two Requires from generated perl-devel package and nothing more. I've added few other comments because you are mention things which are not correct according what linker is doing or what was done in 4 years ago affected perl module. By this you seems still you are thinking that adding four years ago to perl-devel additional static dependencies was correct. No, despite that this fixed this module build it was not correct fix and now this fix even has been obsoleted by what changes in mean time in perl. My change is only about mirror what perl-devel really offers or more precisely not offers to other perl modules build procedures. Do you see this now? Petr .. please focus on the subject :( Again: this ticket is ONLY about remove gdbm-devel and libdb-devel dependencies which are added manually to devel subpackage. Please ignore my last comment. By mistake I've commented wrong ticket :) |