Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Reduce checkout and configure to create l10n repackages

0 views
Skip to first unread message

armenzg

unread,
Aug 4, 2008, 1:14:21 AM8/4/08
to
I am trying to reduce the amount of things I check out and the amount
of steps that configure runs just to be able to run "make installers-
locale"

I have realized that "make -f client.mk l10n-checkout" checks less
code that normal checkout and that is sufficient to generate a
locale's repackage, but in my initials experiments I have checked out
even less code.
I believe I could reach to the minimum amount of code needed to be
checked out but I believe that I should also reduce the time that
"configure" takes.

BTW, does anyone know why do I need "make -C config"??

Why do we use $(NSINTALL) -D to create folders? Couldn't we use
"mkdir"? Is there more into NSINSTALL that I am not aware of?

My two main goals are:
* What is the minimum I need to be able to run "make installers-
locale"
* How to make "make installers-locale" less dependent of certain
parts of our code

This is a script that shows the steps to generate a locale (Pay
attention to the mozconfig - it is almost minimum)

#! /bin/bash
CVS_ROOT=:pserver:anon...@cvs-mirror.mozilla.org:/cvsroot
CVS_L10N_ROOT=:pserver:anon...@cvs-mirror.mozilla.org:/l10n
LATEST_EN_US_BUILD=http://ftp.mozilla.org/pub/mozilla.org/firefox/
nightly/latest-mozilla1.9.0/firefox-3.0.2pre.en-US.mac.dmg
DIR=wip
LOCALE=en-GB

set -ex
mkdir -p $DIR/mozilla && cd $DIR
cat >mozilla/.mozconfig <<EOF
mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_OBJDIR=../objdir
ac_add_options --enable-application=browser
ac_add_options --with-branding=browser/branding/unofficial
EOF

#if I use l10n-checkout, I need nsprpub for configre
cvs -d $CVS_ROOT co mozilla/client.mk mozilla/nsprpub
make -f mozilla/client.mk l10n-checkout
make -f mozilla/client.mk configure
cvs -d $CVS_L10N_ROOT co l10n/$LOCALE
#This next step requires the locale to be checked out
make -C objdir/config
cd objdir/dist/ && wget $LATEST_EN_US_BUILD && cd ../..
make -C objdir/browser/locales installers-$LOCALE

Nick Thomas

unread,
Aug 4, 2008, 2:11:46 AM8/4/08
to
armenzg wrote:
> cvs -d $CVS_ROOT co mozilla/client.mk mozilla/nsprpub

A quick warning about this command. In CVS, client.mk checks out nsprpub
from NSPR_CO_TAG, while your command gets the tip of the trunk, so
you're getting different code from the current tinderbox setup. It works
this way so that the NSPR and NSS teams can work autonomously while
still providing stable code for other Mozilla apps.

Axel Hecht

unread,
Aug 4, 2008, 4:14:09 AM8/4/08
to
armenzg wrote:
> I am trying to reduce the amount of things I check out and the amount
> of steps that configure runs just to be able to run "make installers-
> locale"
>
> I have realized that "make -f client.mk l10n-checkout" checks less
> code that normal checkout and that is sufficient to generate a
> locale's repackage, but in my initials experiments I have checked out
> even less code.
> I believe I could reach to the minimum amount of code needed to be
> checked out but I believe that I should also reduce the time that
> "configure" takes.
>
> BTW, does anyone know why do I need "make -C config"??

You don't, as documented on the l10n build docs on MDC, you just need to
pass --disable-compile-environment to configure.

> Why do we use $(NSINTALL) -D to create folders? Couldn't we use
> "mkdir"? Is there more into NSINSTALL that I am not aware of?

mkdir -p is not cross platform.

> My two main goals are:
> * What is the minimum I need to be able to run "make installers-
> locale"
> * How to make "make installers-locale" less dependent of certain
> parts of our code
>
> This is a script that shows the steps to generate a locale (Pay
> attention to the mozconfig - it is almost minimum)
>
> #! /bin/bash
> CVS_ROOT=:pserver:anon...@cvs-mirror.mozilla.org:/cvsroot
> CVS_L10N_ROOT=:pserver:anon...@cvs-mirror.mozilla.org:/l10n
> LATEST_EN_US_BUILD=http://ftp.mozilla.org/pub/mozilla.org/firefox/
> nightly/latest-mozilla1.9.0/firefox-3.0.2pre.en-US.mac.dmg
> DIR=wip
> LOCALE=en-GB
>
> set -ex
> mkdir -p $DIR/mozilla && cd $DIR
> cat >mozilla/.mozconfig <<EOF
> mk_add_options MOZ_CO_PROJECT=browser
> mk_add_options MOZ_OBJDIR=../objdir
> ac_add_options --enable-application=browser
> ac_add_options --with-branding=browser/branding/unofficial
> EOF
>
> #if I use l10n-checkout, I need nsprpub for configre

That bug is fixed.

> cvs -d $CVS_ROOT co mozilla/client.mk mozilla/nsprpub
> make -f mozilla/client.mk l10n-checkout
> make -f mozilla/client.mk configure
> cvs -d $CVS_L10N_ROOT co l10n/$LOCALE

Why not check out locales as part of l10n-checkout? Just set MOZ_CO_LOCALES

> #This next step requires the locale to be checked out
> make -C objdir/config

see above.

> cd objdir/dist/ && wget $LATEST_EN_US_BUILD && cd ../..
> make -C objdir/browser/locales installers-$LOCALE

You missed the missing 7z stuff for the application from other-licenses
in your list.

Anyway, reducing l10n-checkout is really not that big of a priority. It
doesn't work at all for hg (yet), and it gets busted regularly, too. So
as long as there's no automated build yielding folks to back out
changes, making l10n-checkout even more brittle than it is right now
isn't on the plate. Which is why I didn't work on that.

Axel

0 new messages