Bug 197404 - [patch] net/p5-IO-Interface fix modbuild on FreeBSD
Summary: [patch] net/p5-IO-Interface fix modbuild on FreeBSD
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-perl (Nobody)
URL:
Keywords:
Depends on:
Blocks: 196528
  Show dependency treegraph
 
Reported: 2015-02-08 01:30 UTC by Lawrence Chen
Modified: 2015-02-08 03:28 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (perl)


Attachments
my patch (895 bytes, patch)
2015-02-08 01:30 UTC, Lawrence Chen
no flags Details | Diff
poudriere testport results on 9.3/amd64 (17.68 KB, text/plain)
2015-02-08 01:30 UTC, Lawrence Chen
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lawrence Chen 2015-02-08 01:30:02 UTC
Created attachment 152696 [details]
my patch

After this port was upgraded from 1.06 to 1.09, I had incorrectly assumed that my port (see bug 196528) failing was a problem with its use IO::Interface methods marked as deprecated.

However, this didn't solve the problem.

My port would continue to fail with:

    Error: Illegal seek

And, in dmesg, lines like this would appear:

    WARNING pid 10917 (perl): ioctl sign-extension ioctl ffffffffc0206933
    WARNING pid 10917 (perl): ioctl sign-extension ioctl ffffffffc0206921

In deeper investigation, found that the problem was in net/p5-IO-Interface.

In looking at the change log, between 1.06 and 1.09, the upstream applied a patch for a segfault in 1.07 and another in 1.08.  1.08 was also the first Git version.  In 1.09, converted to use Module::Build.

The problem is the CONFIGURE portion that was in Makefile.PL was not replicated into Build.PL, so it wasn't checking if it was being built on FreeBSD, OpenBSD or NetBSD.  Or testing for the presence of two headerfiles.  So, the compile was missing 3 compiler flags (DEFINES).

I waited to see if this port would get fixed, or rolled back to 1.08, but didn't seem either wanted to take place.  So, after figuring out what specific change to Build.PL I needed and fed it into 'poudriere testport', I submitted a report to cpan for IO::Interface (#101985).

Made an additional change to Makefile to satisfy warning from poudriere QA.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2015-02-08 01:30:02 UTC
Auto-assigned to maintainer perl@FreeBSD.org
Comment 2 Lawrence Chen 2015-02-08 01:30:59 UTC
Created attachment 152697 [details]
poudriere testport results on 9.3/amd64
Comment 3 commit-hook freebsd_committer freebsd_triage 2015-02-08 03:21:07 UTC
A commit references this bug:

Author: pi
Date: Sun Feb  8 03:20:10 UTC 2015
New revision: 378629
URL: https://svnweb.freebsd.org/changeset/ports/378629

Log:
  net/p5-IO-Interface: fix build on FreeBSD

  Build.PL wasn't checking if it was being built on FreeBSD, OpenBSD
  or NetBSD.  Or testing for the presence of two headerfiles.  So,
  the compile was missing 3 compiler flags (DEFINES).

  PR:		197404
  Submitted by:	Lawrence Chen <beastie@tardisi.com>

Changes:
  head/net/p5-IO-Interface/Makefile
  head/net/p5-IO-Interface/files/
  head/net/p5-IO-Interface/files/patch-Build.PL
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2015-02-08 03:28:49 UTC
Committed, thanks.