Mozilla build system now requires python, and MozillaBuild launch

classic Classic list List threaded Threaded
45 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Mozilla build system now requires python, and MozillaBuild launch

Benjamin Smedberg
Starting next week the Mozilla build system is going to require python on
all platforms. This will allow us to gradually convert various build scripts
which are currently written in perl, and start hacking on an autoconf
replacement written in python. Any python 2.3 or higher will be acceptable.

In addition, I have made a production release of MozillaBuild, version 1.0.
The MozillaBuild package [1] is now the recommended build environment for
all Mozilla developers on Windows. There were a few bugs with the 1.0
releases that have now been corrected in a MozillaBuild 1.1 release
candidate [2].

After the Tinderboxes have been upgraded to use the MozillaBuild package on
trunk, I am going to be discontinuing support for the cygwin build environment.

--BDS

followup-to mozilla.dev.builds please

[1]
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.0.exe
[2] http://benjamin.smedbergs.us/tests/MozillaBuildSetup-1.1.exe
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

James Ross
Benjamin Smedberg wrote:
> After the Tinderboxes have been upgraded to use the MozillaBuild package on
> trunk, I am going to be discontinuing support for the cygwin build environment.

Does msys still require Unix line breaks? This is a deal-breaker for me.

--
James Ross <[hidden email]>
ChatZilla and Venkman Developer
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Alfred Peng
In reply to this post by Benjamin Smedberg
The MozillaBuild package is only available for Windows? Is there any
plan to provide it for Linux/Unix?

Can we access the build scripts and deploy it for the contributed builds?

Thanks,
-Alfred

Benjamin Smedberg wrote:

> Starting next week the Mozilla build system is going to require python on
> all platforms. This will allow us to gradually convert various build scripts
> which are currently written in perl, and start hacking on an autoconf
> replacement written in python. Any python 2.3 or higher will be acceptable.
>
> In addition, I have made a production release of MozillaBuild, version 1.0.
> The MozillaBuild package [1] is now the recommended build environment for
> all Mozilla developers on Windows. There were a few bugs with the 1.0
> releases that have now been corrected in a MozillaBuild 1.1 release
> candidate [2].
>
> After the Tinderboxes have been upgraded to use the MozillaBuild package on
> trunk, I am going to be discontinuing support for the cygwin build environment.
>
> --BDS
>
> followup-to mozilla.dev.builds please
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Robert Kaiser
In reply to this post by Benjamin Smedberg
Benjamin Smedberg schrieb:
> After the Tinderboxes have been upgraded to use the MozillaBuild package on
> trunk, I am going to be discontinuing support for the cygwin build environment.

Does that mean one won't be able to build branches and trunk on the same
machine as one requires cygwin and the other requires MozillaBuild/msys?
Or can they be installed next to each other without problems?

Robert Kaiser
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Benjamin Smedberg
Robert Kaiser wrote:
> Benjamin Smedberg schrieb:
>> After the Tinderboxes have been upgraded to use the MozillaBuild
>> package on
>> trunk, I am going to be discontinuing support for the cygwin build
>> environment.
>
> Does that mean one won't be able to build branches and trunk on the same
> machine as one requires cygwin and the other requires MozillaBuild/msys?
> Or can they be installed next to each other without problems?

As documented on MDC, mozillabuild works with all of our active branches.

--BDS
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Benjamin Smedberg
In reply to this post by James Ross
James Ross wrote:

> Does msys still require Unix line breaks? This is a deal-breaker for me.

Yes, msys uses unix-style line breaks, and I'm sorry that's a problem for you.

You might be able to work around that using wincvs instead of the
mozillabuild builtin CVS, but I'm not sure what else that might break.

--BDS
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Benjamin Smedberg
In reply to this post by Benjamin Smedberg
Alfred Peng wrote:
> The MozillaBuild package is only available for Windows? Is there any
> plan to provide it for Linux/Unix?

It is for Windows only, and I do not have any plans to make a unified
package for other OSes. Most unix/linux systems come with all of our build
prerequisites by default, or they can be easily obtained from a package
manager or built from source; there is little value in a prepackaged build
solution.

> Can we access the build scripts and deploy it for the contributed builds?

The tinderbox and patcher build scripts are all available in public CVS
(mozilla/tools/tinderbox and mozilla/tools/release). There is admittedly not
a lot of documentation for how they all fit together.

--BDS
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Alex Vincent
In reply to this post by Benjamin Smedberg
Benjamin Smedberg wrote:
> After the Tinderboxes have been upgraded to use the MozillaBuild package on
> trunk, I am going to be discontinuing support for the cygwin build environment.

Is it advisable or necessary to uninstall CygWin as part of this?
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Benjamin Smedberg
Alex Vincent wrote:
> Benjamin Smedberg wrote:
>> After the Tinderboxes have been upgraded to use the MozillaBuild
>> package on
>> trunk, I am going to be discontinuing support for the cygwin build
>> environment.
>
> Is it advisable or necessary to uninstall CygWin as part of this?

It is unnecessary. You are of course welcome to uninstall all traces of
cygwin after you make sure the new build system works.

--BDS
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

bes.wll (Bugzilla)
In reply to this post by Benjamin Smedberg
Benjamin Smedberg wrote:

> Starting next week the Mozilla build system is going to require python on
> all platforms. This will allow us to gradually convert various build scripts
> which are currently written in perl, and start hacking on an autoconf
> replacement written in python. Any python 2.3 or higher will be acceptable.
>
> In addition, I have made a production release of MozillaBuild, version 1.0.
> The MozillaBuild package [1] is now the recommended build environment for
> all Mozilla developers on Windows. There were a few bugs with the 1.0
> releases that have now been corrected in a MozillaBuild 1.1 release
> candidate [2].
>
> After the Tinderboxes have been upgraded to use the MozillaBuild package on
> trunk, I am going to be discontinuing support for the cygwin build environment.
>
> --BDS
>
> followup-to mozilla.dev.builds please
>
> [1]
> http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.0.exe
> [2] http://benjamin.smedbergs.us/tests/MozillaBuildSetup-1.1.exe

I have tried your MozillaBuildSetup-1.1 together with VC8 Express and
its belonging SDK successfully, but I have made the following observations:

1. Now my build platform target identifies itself as i686-pc-mingw32
Is this correct? I thought Mingw is not really supported (?)

2. I have been unable to export the environmental variables
MOZILLA_OFFICIAL=1 and BUILD_OFFICIAL=1 unless using  mk_add_options in
the .mozconfig.
Using export inside the unix shell does not work, nor using SET in the
start-msvc8.bat.
3. Finally I noticed that writing $PATH in the unix shell reports
:/d/mozilla-build/moztools/bin: No such file or directory  as the last
entry in the path. I think this is a kind of a bug in MSYS as the
moztools/bin really is found during the build.

_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

bes.wll (Bugzilla)
Bengt-Erik Söderström wrote:

> Benjamin Smedberg wrote:
>> Starting next week the Mozilla build system is going to require python on
>> all platforms. This will allow us to gradually convert various build
>> scripts
>> which are currently written in perl, and start hacking on an autoconf
>> replacement written in python. Any python 2.3 or higher will be
>> acceptable.
>>
>> In addition, I have made a production release of MozillaBuild, version
>> 1.0.
>> The MozillaBuild package [1] is now the recommended build environment for
>> all Mozilla developers on Windows. There were a few bugs with the 1.0
>> releases that have now been corrected in a MozillaBuild 1.1 release
>> candidate [2].
>>
>> After the Tinderboxes have been upgraded to use the MozillaBuild
>> package on
>> trunk, I am going to be discontinuing support for the cygwin build
>> environment.
>>
>> --BDS
>>
>> followup-to mozilla.dev.builds please
>>
>> [1]
>> http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.0.exe 
>>
>> [2] http://benjamin.smedbergs.us/tests/MozillaBuildSetup-1.1.exe
>
> I have tried your MozillaBuildSetup-1.1 together with VC8 Express and
> its belonging SDK successfully, but I have made the following observations:
>
> 1. Now my build platform target identifies itself as i686-pc-mingw32
> Is this correct? I thought Mingw is not really supported (?)
>
> 2. I have been unable to export the environmental variables
> MOZILLA_OFFICIAL=1 and BUILD_OFFICIAL=1 unless using  mk_add_options in
> the .mozconfig.
> Using export inside the unix shell does not work, nor using SET in the
> start-msvc8.bat.
> 3. Finally I noticed that writing $PATH in the unix shell reports
> :/d/mozilla-build/moztools/bin: No such file or directory  as the last
> entry in the path. I think this is a kind of a bug in MSYS as the
> moztools/bin really is found during the build.
>
Forget point 3 above. My mistake. Sorry
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Howard Chu
In reply to this post by Benjamin Smedberg
Benjamin Smedberg wrote:
> After the Tinderboxes have been upgraded to use the MozillaBuild package on
> trunk, I am going to be discontinuing support for the cygwin build environment.

Good move. Windows is slow enough already, Cygwin just made a bad
situation worse. I've also made some fixes to MSYS recently that make it
more usable as a development environment (e.g., better propagation of
signals to native Windows apps). That made life a lot easier for us with
our testing environment too.
--
   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc
   Chief Architect, OpenLDAP     http://www.openldap.org/project/
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Benjamin Smedberg
In reply to this post by bes.wll (Bugzilla)
Bengt-Erik Söderström wrote:

> 1. Now my build platform target identifies itself as i686-pc-mingw32
> Is this correct? I thought Mingw is not really supported (?)

You are perhaps mistaking the mingw/msys *environment*, which is what the
build package contains, with the mingw gcc *compiler*, which is not provided
and is only marginally supported.

> 2. I have been unable to export the environmental variables
> MOZILLA_OFFICIAL=1 and BUILD_OFFICIAL=1 unless using  mk_add_options in
> the .mozconfig.
> Using export inside the unix shell does not work, nor using SET in the
> start-msvc8.bat.

When did you set the variables. Please note that you have to set them before
running configure. Changes to the environment after you run configure do not
take effect inside our build system, because we cache the configure
environment settings of those variables in autoconf.mk:

http://lxr.mozilla.org/mozilla/source/config/autoconf.mk.in#555

--BDS
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

bes.wll (Bugzilla)
Benjamin Smedberg wrote:

> Bengt-Erik Söderström wrote:
>
>> 1. Now my build platform target identifies itself as i686-pc-mingw32
>> Is this correct? I thought Mingw is not really supported (?)
>
> You are perhaps mistaking the mingw/msys *environment*, which is what the
> build package contains, with the mingw gcc *compiler*, which is not provided
> and is only marginally supported.
>
>> 2. I have been unable to export the environmental variables
>> MOZILLA_OFFICIAL=1 and BUILD_OFFICIAL=1 unless using  mk_add_options in
>> the .mozconfig.
>> Using export inside the unix shell does not work, nor using SET in the
>> start-msvc8.bat.
>
> When did you set the variables. Please note that you have to set them before
> running configure. Changes to the environment after you run configure do not
> take effect inside our build system, because we cache the configure
> environment settings of those variables in autoconf.mk:
>
> http://lxr.mozilla.org/mozilla/source/config/autoconf.mk.in#555
>
> --BDS
That was probably the reason. Since then I wrote a small script which in
the beginning exports the variables, cd to the right directory and
finally make -f client.mk
So now your package works like a charm. Thank you and keep up the good work!
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Alex Vincent
In reply to this post by Benjamin Smedberg
I'm having trouble using cvs -d :pserver:username:password@domain
checkouts, as documented here:

http://ximbiot.com/cvs/manual/cvs-1.11.22/cvs_2.html#SEC26

I realize the Mozilla build process doesn't need or use this, but I have
come to use it in my Verbosio project for getting snippets of code from
other places.  Can you help me figure out why this doesn't work in the
MozillaBuild environment?

Alex
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Benjamin Smedberg
Alex Vincent wrote:
> I'm having trouble using cvs -d :pserver:username:password@domain
> checkouts, as documented here:
>
> http://ximbiot.com/cvs/manual/cvs-1.11.22/cvs_2.html#SEC26
>
> I realize the Mozilla build process doesn't need or use this, but I have
> come to use it in my Verbosio project for getting snippets of code from
> other places.  Can you help me figure out why this doesn't work in the
> MozillaBuild environment?

I believe this is because the msys environment comes with an older version
of cvs than 1.11.22. I'm not sure there's much you can do about it.

--BDS
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Alex Vincent
Benjamin Smedberg wrote:
> Alex Vincent wrote:
> I believe this is because the msys environment comes with an older version
> of cvs than 1.11.22. I'm not sure there's much you can do about it.

I just found a changelog for the 1.11 series, and this issue was fixed
in 1.11.1:
        http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.22/NEWS.1.11.22

At present, I'm trying to figure out who could get that upgraded in the
msys side of things...

Alex
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Howard Chu
Alex Vincent wrote:

> Benjamin Smedberg wrote:
>> Alex Vincent wrote:
>> I believe this is because the msys environment comes with an older
>> version
>> of cvs than 1.11.22. I'm not sure there's much you can do about it.
>
> I just found a changelog for the 1.11 series, and this issue was fixed
> in 1.11.1:
>     http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.22/NEWS.1.11.22
>
> At present, I'm trying to figure out who could get that upgraded in the
> msys side of things...

Earnie Boyd, the MSYS project lead, has gone on sabbatical, so that may
take some time. It shouldn't be too hard to spin an updated cvs binary
though. You might try asking on the msys-devel mailing list. I have
commit rights there but it would be best to coordinate thru their
mailing list.
--
   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc
   Chief Architect, OpenLDAP     http://www.openldap.org/project/
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

bes.wll (Bugzilla)
In reply to this post by Benjamin Smedberg
Benjamin Smedberg wrote:

> Bengt-Erik Söderström wrote:
>
>> 1. Now my build platform target identifies itself as i686-pc-mingw32
>> Is this correct? I thought Mingw is not really supported (?)
>
> You are perhaps mistaking the mingw/msys *environment*, which is what the
> build package contains, with the mingw gcc *compiler*, which is not provided
> and is only marginally supported.
>
>> 2. I have been unable to export the environmental variables
>> MOZILLA_OFFICIAL=1 and BUILD_OFFICIAL=1 unless using  mk_add_options in
>> the .mozconfig.
>> Using export inside the unix shell does not work, nor using SET in the
>> start-msvc8.bat.
>
> When did you set the variables. Please note that you have to set them before
> running configure. Changes to the environment after you run configure do not
> take effect inside our build system, because we cache the configure
> environment settings of those variables in autoconf.mk:
>
> http://lxr.mozilla.org/mozilla/source/config/autoconf.mk.in#555
>
> --BDS

Sorry for my screw-ups earlier. I've got it working now, but I have one
more observation:

In the beginning when configure is executing, it is issuing the command
grep -P.  This is not understood by the  grep (version 2.4.2) included
in the package. Later versions of grep (e.g cygwin grep 2.5.1) can
handle -P.
I do not know if this at all is important - as I said, it is an
observation of mine...




_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Mozilla build system now requires python, and MozillaBuild launch

Alex Vincent
In reply to this post by Howard Chu
Howard Chu wrote:

> Alex Vincent wrote:
>> Benjamin Smedberg wrote:
>>> Alex Vincent wrote:
>>> I believe this is because the msys environment comes with an older
>>> version
>>> of cvs than 1.11.22. I'm not sure there's much you can do about it.
>>
>> I just found a changelog for the 1.11 series, and this issue was fixed
>> in 1.11.1:
>>     http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.22/NEWS.1.11.22
>>
>> At present, I'm trying to figure out who could get that upgraded in
>> the msys side of things...
>
> Earnie Boyd, the MSYS project lead, has gone on sabbatical, so that may
> take some time. It shouldn't be too hard to spin an updated cvs binary
> though. You might try asking on the msys-devel mailing list. I have
> commit rights there but it would be best to coordinate thru their
> mailing list.

I'm going to send that note fairly soon.  I keep getting the following
message:

cvs [checkout aborted]: received broken pipe signal

This issue appears to have been fixed in cvs 1.11.13.
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
123