Summary: | [patch] net-misc/hylafax-6.0.3 - various QA issues | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Diego Elio Pettenò (RETIRED) <flameeyes> |
Component: | New packages | Assignee: | Steve Arnold <nerdboy> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | chtof62, comm-fax+disabled, qa, rhill, xarthisius |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://bugs.hylafax.org/show_bug.cgi?id=924 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 361187 | ||
Attachments: |
Build log
Patch to hylafax-6.0.3.ebuild to fix gcc 4.5 compilation, and other problems |
Description
Diego Elio Pettenò (RETIRED)
2010-05-04 18:39:11 UTC
Created attachment 230329 [details]
Build log
Created attachment 245282 [details, diff]
Patch to hylafax-6.0.3.ebuild to fix gcc 4.5 compilation, and other problems
Upstream considers this a gcc bug, because their configure script (not autotools-based, just named configure) runs a test that includes a missing header ("libc.h") along with some valid ones. Earlier gcc versions print a warning on the missing header, but gcc 4.5 actually errors out. This confuses their configure script into wrongly deciding that fchmod is not available, so they then define an incorrect prototype for it. After removing that bogus include from the list of files to check, compilation runs through successfully. There are some other issues, which also need to be fixed.
Fixed here:
- $LDFLAGS ignored for many files. Upstream already claimed the symbol $LDFLAGS for something else, so I inserted references to $(USER_LDFLAGS) and added a USER_LDFLAGS="${LDFLAGS}" to emake.
- Gentoo attempt at setting compiler was ignored. I dropped the old method and replaced it with appending the desired settings to config.site, which does cause a qualified name to be used.
- Delete reference to non-existent libc.h that caused upstream configure script to fail to detect fchmod.
- Moved a sed from src_configure to src_prepare, since src_prepare already existed.
Not addressed here:
- ebuild uses -j1 on the call to emake.
- rampant CFLAGS/CXXFLAGS confusion. If I include -Wpointer-sign (a C only flag) in $CFLAGS, I get spammed with warnings from the hylafax build system passing my $CFLAGS to $CXX.
- libhylafax-6.0.so.3 is stripped before Portage gets to work on it.
Thanks. I'm cherry-picking the 4.5 fix for now. QA - this ebuild needs some serious TLC (In reply to comment #3) > I'm cherry-picking the 4.5 fix for now. Fair enough, but your choice of how to do the change strikes me as a bit odd. There was an existing sed on configure that my patch extended, but you instead added a separate sed call, so configure is edited twice. Also, your new sed lacks an ||die. This is probably not a big deal since it occurs after the original sed with the ||die, but it seems like it would be simpler to make the removal of the libc.h include part of the existing sed, as I did in attachment #245282 [details, diff]. That sed updated the tiff version check. It's conceptually separate from this change. While it might be simpler to stick a line in the existing sed now, I've found teasing out what does what a year or two later (after someone's added a few more expressions (not commenting them of course)) can be a bit of a pain. I guess a die doesn't hurt, so added. Closing as WONTFIX because hylafax was removed from Portage. But adding 361187 to Blocks: -line since this bug should get fixed if introduced back to Portage. |