Closed Bug 786516 Opened 7 years ago Closed 7 years ago

Make Thunderbird builders use Pymake by default on Windows

Categories

(Release Engineering :: General, defect, P2)

x86_64
Windows 7
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: rain1, Assigned: coop)

References

Details

Attachments

(2 files)

Bug 593585 switches Firefox builders to Windows. We should do the same for Thunderbird.

The biggest problem right now is that make invokes client.py, which means we can't directly use the Firefox copy of pymake in Thunderbird. We can either add another copy to comm-central (ugh) or figure out a way to get GNU make to invoke Pymake.
Given that %(basedir)s\build\build\pymake\make.py is currently defined as the command for pymake, could we not have a wrapper around pymake in our build/pymake/ directory, that does anything necessary for c-c and then invoke the core pymake?

Do we actually need to invoke client.py from pymake? From what I can tell in the Firefox buildbot changes they aren't actually dropping the "-f client.mk" arguments, so does that still get processed by pymake or is that just ignored? If it does get processed, then it sounds like we may just need a redirect.
(In reply to Mark Banner (:standard8) from comment #1)
> Given that %(basedir)s\build\build\pymake\make.py is currently defined as
> the command for pymake, could we not have a wrapper around pymake in our
> build/pymake/ directory, that does anything necessary for c-c and then
> invoke the core pymake?

Yes, that isn't a bad idea.

> Do we actually need to invoke client.py from pymake?

That's the most convenient way to do things, yes.

> From what I can tell in
> the Firefox buildbot changes they aren't actually dropping the "-f
> client.mk" arguments, so does that still get processed by pymake or is that
> just ignored?

The -f client.mk does get processed by Pymake.
> That's the most convenient way to do things, yes.

Sorry, I misread that as "client.mk from pymake". Invoking client.py from pymake is what we do now. I guess we could ignore/hack around that if we have a wrapper.
Depends on: 787982
Attachment #657886 - Flags: review?(mbanner)
Good news: I have a full Pymake build working, start to finish, on a builder.
Bad news: comm-central doesn't have an equivalent to build-system so I can't test changes out until they go into production, and we did have a couple of those bugs when we tried to deploy Pymake to mozilla-central.

So here's my proposed workaround for this:
(1) Check in a patch that makes comm-central/build/pymake/make.py a stub for GNU make. Something like https://gist.github.com/3582912. I know this works because I tested it on mozilla-central's try the other day.
(2) Turn on Pymake on releng. This means builds will now use the stub pymake.
(3) Experiment on try-comm-central until we have Pymake working.
(4) Switch out comm-central/build/pymake/make.py for the real Pymake.

Standard8 said on IRC that it sounded reasonable.
Depends on: 788607
Attachment #657886 - Flags: review?(mbanner) → review+
Comment on attachment 657886 [details] [diff] [review]
Go fast with Pymake

https://hg.mozilla.org/comm-central/rev/f7c185914146

coop: over to you -- we'd like to turn on Pymake from the buildbot side.
Attachment #657886 - Flags: checked-in+
Assignee: nobody → coop
(This should be done for all Thunderbird Windows trunk builds, and disabled for aurora/beta/release/ESR just like Firefox.)
Status: NEW → ASSIGNED
Priority: -- → P2
I'm also going to try to get pymake uplifted onto aurora this week for both Firefox and Thunderbird ahead of the merge. I don't really want to be supporting non-pymake in ESR17.
Attachment #666751 - Flags: review?(bugspam.Callek)
Attachment #666751 - Flags: review?(bugspam.Callek) → review+
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Reopening, as this hasn't been pushed to production yet (http://hg.mozilla.org/build/buildbot-configs/rev/66670277e149 did a merge to production, but failed to include this or bug 786177).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(In reply to Mark Banner (:standard8) from comment #10)
> Reopening, as this hasn't been pushed to production yet
> (http://hg.mozilla.org/build/buildbot-configs/rev/66670277e149 did a merge
> to production, but failed to include this or bug 786177).

based on buildbot graph looks like this was a botched merge for the release this week by armen in 44ded4994cb8
http://hg.mozilla.org/build/buildbot-configs/graph
Depends on: 797905
Yep, its working, and we've now enabled it on Thunderbird's comm-central and try-comm-central.

I think we want to get it on for TB 17 as well, so we could do that in sync with the merges next week, we'll just need to transplant a few of the patches across.
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.