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
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.
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