Make Thunderbird builders use Pymake by default on Windows

RESOLVED FIXED

Status

Release Engineering
Other
P2
normal
RESOLVED FIXED
5 years ago
4 years ago

People

(Reporter: sid0, Assigned: coop)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

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.
(Reporter)

Comment 2

5 years ago
(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.
(Reporter)

Comment 3

5 years ago
> 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.
(Reporter)

Updated

5 years ago
Depends on: 787982
(Reporter)

Comment 4

5 years ago
Created attachment 657886 [details] [diff] [review]
Go fast with Pymake
Attachment #657886 - Flags: review?(mbanner)
(Reporter)

Comment 5

5 years ago
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.
(Reporter)

Updated

5 years ago
Depends on: 788607
Attachment #657886 - Flags: review?(mbanner) → review+
(Reporter)

Comment 6

5 years ago
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+
(Reporter)

Updated

5 years ago
Assignee: nobody → coop
(Reporter)

Comment 7

5 years ago
(This should be done for all Thunderbird Windows trunk builds, and disabled for aurora/beta/release/ESR just like Firefox.)
(Assignee)

Updated

5 years ago
Status: NEW → ASSIGNED
Priority: -- → P2
(Assignee)

Comment 8

5 years ago
Created attachment 666751 [details] [diff] [review]
Enable pymake for Thunderbird

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)

Updated

5 years ago
Attachment #666751 - Flags: review?(bugspam.Callek) → review+
(Assignee)

Comment 9

5 years ago
Comment on attachment 666751 [details] [diff] [review]
Enable pymake for Thunderbird

https://hg.mozilla.org/build/buildbot-configs/rev/6b61b62de780
Attachment #666751 - Flags: checked-in+
(Assignee)

Updated

5 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 5 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
In production for reals http://hg.mozilla.org/build/buildbot-configs/rev/ee171db7d4d7
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.
(Assignee)

Updated

5 years ago
Status: REOPENED → RESOLVED
Last Resolved: 5 years ago5 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.