Bug 221111 - lang/gcc6-aux: Remove headers created by gcc's fixincludes process
Summary: lang/gcc6-aux: Remove headers created by gcc's fixincludes process
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Gerald Pfeifer
URL:
Keywords:
Depends on:
Blocks: 220458
  Show dependency treegraph
 
Reported: 2017-07-31 02:37 UTC by David Z.
Modified: 2017-09-23 18:29 UTC (History)
2 users (show)

See Also:
koobs: merge-quarterly?


Attachments
Patch to delete include-fixed directory during post-stage (798 bytes, patch)
2017-07-31 02:37 UTC, David Z.
no flags Details | Diff
PORTREVISION bump (285 bytes, patch)
2017-07-31 02:38 UTC, David Z.
no flags Details | Diff
Revised Makefile patch to delete include-fixed directory during post-stage (740 bytes, patch)
2017-07-31 20:25 UTC, David Z.
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Z. 2017-07-31 02:37:29 UTC
Created attachment 184861 [details]
Patch to delete include-fixed directory during post-stage

gcc5 (r444860), gcc5-devel (r444563), gcc6 (r445313), and gcc6-devel (r445310) were recently patched to remove the headers created by GCC's fixincludes process by deleting the include-fixed directory during post-stage.  gcc6-aux has not been patched yet (since it currently has no maintainer), so the attached patches do the same for gcc6-aux.

If the BOOTSTRAP option is set, the headers are deleted only in the bootstrap tarball created by the Makefile.  The attached patch deletes the headers before the tarball is created.

For more information on the background of this issue, please see the following threads: 

https://lists.freebsd.org/pipermail/freebsd-stable/2017-April/087087.html
https://lists.freebsd.org/pipermail/freebsd-stable/2017-June/087306.html
Comment 1 David Z. 2017-07-31 02:38:14 UTC
Created attachment 184862 [details]
PORTREVISION bump
Comment 2 eborisch+FreeBSD 2017-07-31 20:02:34 UTC
I had to move the RM line above the preceding command (creating TMPPLIST) for this to work (failed on packaging otherwise.)
Comment 3 David Z. 2017-07-31 20:25:56 UTC
Created attachment 184871 [details]
Revised Makefile patch to delete include-fixed directory during post-stage

Yeah, sorry about that.  Uploaded the wrong patch for the Makefile.  I've provided a corrected patch.  This one definitely builds withouth plist problems.
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2017-08-01 09:14:53 UTC
Thank you David. Could you confirm this change (and thus the port) passes QA please (portlint & poudriere in particular). 

Also, if both patches are required (ie; one is not obsolete), combine them into a single diff.

CC GCC maintainer (can think of noone more relevant) in case they can assist landing this given this port has no maintainer.

Also, assuming the quarterly version is also affected, please confirm
Comment 5 Gerald Pfeifer freebsd_committer freebsd_triage 2017-08-01 10:41:40 UTC
(In reply to Kubilay Kocak from comment #4)
> CC GCC maintainer (can think of noone more relevant) in case they can 
> assist landing this given this port has no maintainer.

I'll help (as long as I won't be held accountable for this port going
forward in turn ;-).
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2017-08-01 10:50:16 UTC
(In reply to Gerald Pfeifer from comment #5)

I read that as, 'this port needs a maintainer'

Thank you for the assist!
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2017-08-05 05:37:50 UTC
bug 221237 reports what appear to be very similar results/symptoms/errors but in gcc5.

Please confirm and remove dependency (after creating a separate issue for it) if not. If so, please update this issue summary to reflect multiple gcc ports are affected
Comment 8 David Z. 2017-08-05 05:52:23 UTC
The description for bug #221237 mentions the problem is with 2017Q3.  Gerald committed the fix for gcc5 on July 2, which might have been too late to be included in 2017Q3, and the fix was not MFH to 2017Q3 as of the time I post this.

I'll set aside some time this weekend to do some portlint & poudriere testing -- I'm a bit of a newbie when it comes to patching Makefiles, and I've got some learning to do!
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2017-08-05 13:52:06 UTC
(In reply to David Z. from comment #8)

Since that commit was made before this issue was created, its best for issue tracking purposes that we treat them separately, even though both bugs represent the same logical issue.

Normally one would want to identify all ports affected by the reported issue, and have all commits/merges reference to that one issue (by including PR: references in the commit log message).

Therefore, undo blocking bug 221237, leaving this issue scoped to gcc6-aux.

It is however, quite possible other gcc ports are still affected either in head or quarterly (I haven't looked). 

If this is the case, a separate issue should be created (With this one in its "See Also:" field) listing all other affected gcc ports (excluding gcc5/quarterly and gcc6-aux/head&quarterly, covered by the existing two bugs) so that they can also be sorted.
Comment 10 Gerald Pfeifer freebsd_committer freebsd_triage 2017-08-06 06:17:36 UTC
(In reply to David Z. from comment #8)
> The description for bug #221237 mentions the problem is with 2017Q3.  Gerald
> committed the fix for gcc5 on July 2, which might have been too late to be
> included in 2017Q3, and the fix was not MFH to 2017Q3 as of the time I post this.

You're right, this was not in the tree when 2017Q3 branched.  I now
backported the change a few hours ago.
Comment 11 commit-hook freebsd_committer freebsd_triage 2017-09-23 18:26:40 UTC
A commit references this bug:

Author: gerald
Date: Sat Sep 23 18:25:42 UTC 2017
New revision: 450463
URL: https://svnweb.freebsd.org/changeset/ports/450463

Log:
  Always remove headers being created by GCC's fixincludes machinery from
  the installation / packaging, not just when bootstrapping GCC (with option
  BOOTSTRAP on).  This avoids breakage when FreeBSD's headers are changing
  after the build.

  PR:		221111
  Submitted by:	David Z. <daz@hyperchronos.org>

Changes:
  head/lang/gcc6-aux/Makefile
  head/lang/gcc6-aux/Makefile.version
Comment 12 Gerald Pfeifer freebsd_committer freebsd_triage 2017-09-23 18:29:56 UTC
Sorry David, somehow I failed to make the actual commit back then.

Can you please confirm this is good?

(Also, lang/gcc5-aux is now marked deprecated, but I'm thinking to
apply the same change there.)