Closed
Bug 847508
Opened 11 years ago
Closed 11 years ago
Allow using mach with comm-central after bug 840588
Categories
(Firefox Build System :: Mach Core, enhancement)
Firefox Build System
Mach Core
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: InvisibleSmiley, Assigned: mbrubeck)
References
Details
Attachments
(2 files)
1.54 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
1.27 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
Since bug 840588, starting mach from the root of comm-central checkout results in the following error message: Could not run mach: No mach source directory found This is because there is no "mach" in comm-central, only under "mozilla" which is automatically created by comm-central's client.py. Maybe we could simply create a "mach" wrapper script at the root of the comm-central repository, doing "exec mozilla/mach $@" or something like that.
Comment 1•11 years ago
|
||
Try copying the mach from m-c into c-c and change the path to look for source to include 'mozilla/'.
Comment 2•11 years ago
|
||
I copied the mach from m-c to c-c root, and did these changes: - mach_path = os.path.join(dir_path, "mozilla/build/mach_bootstrap.py") + mach_path = os.path.join(dir_path, "build/mach_bootstrap.py") if os.path.isfile(mach_path): - mach = load_mach(os.path.join(dir_path, "mozilla")) + mach = load_mach(dir_path) Then calling ./mach in c-c the build runs, but I get: 0:15.03 configure: error: --enable-application value not recognized (mail/build.mk does not exist). 0:15.03 *** Fix above errors and then restart with "/Applications/Xcode.app/Contents/Developer/usr/bin/make -f client.mk build" 0:15.03 make[2]: *** [configure] Error 1 0:15.03 make[1]: *** [/Users/kewisch/mozilla/comm-central/mozilla/objdir-tb/Makefile] Error 2 0:15.03 make: *** [build] Error 2 Looks like its cwd is mozilla/
Reporter | ||
Comment 3•11 years ago
|
||
Philipp: Same with me (with suite instead of mail). I didn't see how I could change the start path from the wrapper script (so that c-c's configure would be called instead of m-c's) without breaking mach's bootstrapping. BTW it is enough to add the following line above the mach_path assignment: dir_path = os.path.join(dir_path, "mozilla") since the original dir_path is not needed anymore afterwards.
Comment 4•11 years ago
|
||
Forget any previous changes, the trick is to add a custom bootstrap function that calls: mach.load_commands_from_file(os.path.join(topsrcdir, "mozilla", path)) mach.main.Mach() needs to be called with the real topsrcdir, but the commands need to be loaded from the mozila subdir. For fixing this bug I'd probably prefer a more global solution that allows using the mozilla mach directly, but it should be quite easy to create a custom boostrap function in a copy that is in the comm-central repo.
Assignee | ||
Comment 5•11 years ago
|
||
This patch adds an optional mozilla_dir argument to the mozilla-central mach_bootstrap file, for cases where the mozilla directory is not the topsrcdir.
Assignee | ||
Comment 6•11 years ago
|
||
This adds a mach_bootstrap file to comm-central/build which in turn loads the mozilla/build/mach_bootstrap file.
Attachment #722363 -
Flags: review?(bugspam.Callek)
Comment 7•11 years ago
|
||
Comment on attachment 722362 [details] [diff] [review] mozilla-central patch Review of attachment 722362 [details] [diff] [review]: ----------------------------------------------------------------- Short and elegant - I like it!
Attachment #722362 -
Flags: review?(gps) → review+
Comment 8•11 years ago
|
||
Comment on attachment 722363 [details] [diff] [review] comm-central patch Review of attachment 722363 [details] [diff] [review]: ----------------------------------------------------------------- I know nothing about mach, so I'm going to punt review to gps, while not technically a c-c build peer his review will be fine here
Attachment #722363 -
Flags: review?(bugspam.Callek) → review?(gps)
Comment 9•11 years ago
|
||
Comment on attachment 722363 [details] [diff] [review] comm-central patch Review of attachment 722363 [details] [diff] [review]: ----------------------------------------------------------------- Did you also chmod +x make.py? I was noticing that a few files in comm-central are missing the execute bit. I'm pretty sure this is one of them.
Attachment #722363 -
Flags: review?(gps) → review+
Assignee | ||
Comment 10•11 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #9) > Did you also chmod +x make.py? I was noticing that a few files in > comm-central are missing the execute bit. I'm pretty sure this is one of > them. Sorry, I couldn't figure out how to get Mercurial to pick up permission changes on my Windows box. I'll that for someone to do in a separate bug... http://hg.mozilla.org/comm-central/rev/4c46112cb677 https://hg.mozilla.org/mozilla-central/rev/0e7639e3bdfb
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 12•11 years ago
|
||
Follow-up fix for 'make check' error on comm-central: http://hg.mozilla.org/comm-central/rev/d4e20bfa3cce
Comment 13•11 years ago
|
||
(In reply to Matt Brubeck (:mbrubeck) from comment #10) > Sorry, I couldn't figure out how to get Mercurial to pick up permission > changes on my Windows box. I'll that for someone to do in a separate bug... Yea, thats a problem. You have to use a unix based OS for mercurial to notice chmod changes to existing files. You *might* be able to cheat with some MQ manual munging, but its been a while since I tried that so can't recall if it works.
Updated•6 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•