Ticket #727 (closed todo: fixed)

Opened 6 years ago

Last modified 5 years ago

remove config steps 'auto:macports' and 'auto:fink'

Reported by: coke Owned by: jkeenan
Priority: normal Milestone: 1.5
Component: configure Version: trunk
Severity: medium Keywords:
Cc: Language:
Patch status: new Platform:

Description

These darwin-only steps should be removed, and replaced with updates to the darwin hints file, providing updates to the config vars linkflags, ldflags, and ccflags.

the methods _handle_darwin_for_fink and _handle_darwin_for_macports can be removed at this point, since configuring for darwin will automatically include these dirs if appropriate.

the config vars fink_* and port_* can also be removed, as these are special purpose overrides for the general case (once we set the general variables correctly, no need for these overrides).

Attachments

39969.darwin2hints.diff Download (72.4 KB) - added by jkeenan 5 years ago.
diff between darwin2hints branch and trunk, showing elimination of two config steps and their consolidation into Darwin hints file

Change History

  Changed 5 years ago by jkeenan

  • status changed from new to assigned
  • owner set to jkeenan

  Changed 5 years ago by jkeenan

After I took this ticket and commenced work on it in the 'darwinhints' branch, I realized the goal would be better accomplished if the configuration steps tests in t/steps/ were better organized, i.e., if rather than all being like this:

t/steps/init_defaults-01.t
t/steps/inter_progs-01.t
t/steps/auto_format-01.t
t/steps/gen_crypto-01.t

... they were like this:

t/steps/init/defaults-01.t
t/steps/inter/progs-01.t
t/steps/auto/format-01.t
t/steps/gen/crypto-01.t

... which would ultimately permit:

t/steps/init/hints/darwin-01.t

So I have revised lib/Parrot/Configure/Options/Test/Prepare.pm and moved all the test files accordingly. I will be applying the work done so far to trunk, will then kill the darwinhints branch and open a new one that will complete the movement of the fink and macports functionality to the Darwin hints file.

Please report any breakage. Thank you very much.

kid51

in reply to: ↑ description   Changed 5 years ago by jkeenan

  • patch set to new

Replying to coke:

The file attached represents an svn diff between trunk at r39969 and the head of the darwin2hints branch. It achieves the objectives set out by Coke in creating this ticket.

These darwin-only steps should be removed, and replaced with updates to the darwin hints file, providing updates to the config vars linkflags, ldflags, and ccflags.

Done.

the methods _handle_darwin_for_fink and _handle_darwin_for_macports can be removed at this point, since configuring for darwin will automatically include these dirs if appropriate.

Done.

the config vars fink_* and port_* can also be removed, as these are special purpose overrides for the general case (once we set the general variables correctly, no need for these overrides).

Done.

In my work on this ticket I did a bit more than this, so let me explain what those things are and why I recommend doing them.

1. Like all the other configuration steps, auto::fink and auto::macports had tests associated with them. I wanted to preserve that testing to make sure that in moving the probes to the Darwin hints files I wasn't accidentally deleting functionality or, for example, creating unreachable statements.

However, the way the tests were structured in t/steps and the way the list of preconfiguration tests was composed in lib/Parrot/Configure/Options/Test/Prepare.pm excluded tests of OS-specific hints files. So rearranging of those tests was done and committed to trunk in r39967. That meant that I could create t/steps/init/hints/darwin-01.t. And, as I expected, working on improving the test coverage of the hints package showed me places where I could eliminate unreachable or misleading code. We now have 100% statement and branch coverage of the code by the tests.

2. Recently I've become concerned over what appears to be a lack of ongoing development in the Fink project. I suspect that some users might want to avoid Fink libraries in building Parrot on Darwin. To do so, they need a way of overriding the default behavior, now found in the hints file, which probes for both Fink and Macports. So I have provided command-line options --darwin_no_fink and (for parallelism) darwin_no_macports to say don't look for those libraries. (Since probes for both Fink and Macports in some configuration steps predate my coming into the Parrot project, I don't feel I have the authority to simply say don't use Fink at all.) These options were easy to implement and test.

If you object to those options (or anything else here), I would welcome patches to the darwin2hints branch. Otherwise, I'll merge that branch to trunk in 2-3 days.

Thank you very much.

Changed 5 years ago by jkeenan

diff between darwin2hints branch and trunk, showing elimination of two config steps and their consolidation into Darwin hints file

follow-up: ↓ 5   Changed 5 years ago by jkeenan

If you have an interest in this ticket, I would very much appreciate hearing from you no later than 0100 UCT Friday July 17 2009 (that's 9:00 PM ET in the US). I would like to merge this into trunk before next week's release but want to allow enough time for smoking before that release. If I don't get an okay to merge before that time, I will postpone the merge until after the release.

Thank you very much.
Jim Keenan

in reply to: ↑ 4 ; follow-up: ↓ 6   Changed 5 years ago by jkeenan

Replying to jkeenan:

If you have an interest in this ticket, I would very much appreciate hearing from you no later than 0100 UCT Friday July 17 2009 (that's 9:00 PM ET in the US).

I should have added, that's 9:00 PM ET Thursday in the US.

in reply to: ↑ 5 ; follow-up: ↓ 9   Changed 5 years ago by jkeenan

Replying to jkeenan:

Replying to jkeenan:

If you have an interest in this ticket, I would very much appreciate hearing from you no later than 0100 UCT Friday July 17 2009 (that's 9:00 PM ET in the US).

I should have added, that's 9:00 PM ET Thursday in the US.

I got no comments by the time specified, so I'm not going to remove these two config steps before the release. But I will do it immediately thereafter.

Thank you very much.
kid51

  Changed 5 years ago by jkeenan

  • milestone set to 1.5

  Changed 5 years ago by jkeenan

  • component changed from none to configure

in reply to: ↑ 6   Changed 5 years ago by jkeenan

  • status changed from assigned to closed
  • resolution set to fixed

Replying to jkeenan:

Replying to jkeenan:

Replying to jkeenan:

I got no comments by the time specified, so I'm not going to remove these two config steps before the release. But I will do it immediately thereafter.

Thanks to cotto's early release, I was able to get to this 12 hours earlier than I had expected. Branch merged into trunk at r40189. Closing ticket.

Thank you very much. kid51

Note: See TracTickets for help on using tickets.