Closed Bug 776440 Opened 12 years ago Closed 12 years ago

Use NSIS 2.46 for l10n repacks

Categories

(Release Engineering :: General, defect, P2)

x86_64
Windows 7
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: robert.strong.bugs, Assigned: mozilla)

References

Details

(Whiteboard: [l10n])

Attachments

(2 files)

I just checked the version of NSIS running on the l10n build systems and it is still 2.33 whereas m-c has 2.46. NSIS 2.46 is available from the latest Mozilla Build. We are going to need this for the stub installer which is now considered a priority.
When you say "l10n build systems" do you mean the "l10n repack jobs" we run, or do you mean the l10n compare-local jobs pike runs for l10n.mozilla.org ?
I believe it is the repack and that the installer is rebuilt during that phase. When looking at the Win logs on
http://tinderbox.mozilla.org/showbuilds.cgi?tree=Mozilla-l10n

"MakeNSIS v2.33-Unicode" is in the log.
Morphing Summary to reflect the real todo here.

See Bug 762218 which actually deployed this NSIS version to our slaves.

And Bug 765777 which talks about Thunderbirds Need for NSIS 2.46
Summary: Deploy NSIS 2.46 to the l10n build systems → Use NSIS 2.46 for l10n repacks
To be extra clear robert, is this something we need to ride the trains with, or is there no downside at all about having all jobs, even esr use the newer NSIS?
There should be no downside including with esr and we already have the newer NSIS on m-c. I added the capability to configure, etc. to use NSIS 2.46 in Mozilla Build 1.6 and bug 569058 which landed on 2010-06-21.
Component: Release Engineering → Release Engineering: Automation (General)
QA Contact: catlee
Whiteboard: [l10n]
cc-ing nthomas who is helping with the work for Thunderbird over in bug 765777. Would be nice to make these changes to both products at once and not be out of sync.
Expanding a little more:
                      Firefox       Thunderbird
m-c and m-a:
en-US nightlies         2.46             2.46
l10n  nightlies         2.33             2.33

m-b (15.0b1):
en-US dep build         2.46             2.46
en-US release auto.     2.46             2.46
l10n  release auto.     2.33             2.46

m-r (14.0.1):
en-US dep build         2.33             ??
en-US release auto.     2.33             2.46
l10n  release auto.     2.33             2.46

How did does that work then ?
* Firefox uses 2.46 where it has swapped to a Win64 builder, because those have 2.46 in the path somewhere before buildbot launches. It uses 2.33 uses a Win32 builder, which have 2.46 installed but not in the path
* Same for Thunderbird except that it also prepends 2.46 to the start of the path via the env in thunderbird_config.py:
 http://hg.mozilla.org/build/buildbot-configs/file/68c191f31d39/mozilla/thunderbird_config.py#l278
Strangely, this the path is modified for all steps in a SigningScriptFactory (eg the l10n release auto) without an explicit env=env in the addStep calls.

So how can we fill in the gaps
* AFAICT we can move l10n jobs to win64 slaves if we fix bug 774947, obsoleting bug id=765777
* m-r will swap to Win64 builders at the next merge, m-b made that change recently
All I know about is the way that Mozilla Build / configure handles this which should just work by having the main binary named specifically for the NSIS build in Mozilla Build and configure looking for the latest and using it when found... it is my understanding that the build systems are customized.

Do these systems use Mozilla Build along with its setup scripts?
We have an older MozillaBuild, with NSIS 2.46 retro-installed, and custom scripts to launch buildbot which differ a little from the ones a developer would use. At some point in the glorious future we may start from scratch with a fresh copy of MozillaBuild, but in the mean time we incrementally bring the machines up to date.
The changes to MozillaBuild were made in bug 569534.

Basically, the path to NSIS 2.46 (in the nsis-2.46u directory in MozillaBuild) was added so it can be found during configure and the makensis.exe binary is copied to makensisu-2.46.exe so it can differentiate from the other makensis.exe's.
Depends on: 774947
Priority: -- → P2
Not sure if anyone was using it still, but I had to rename the nsis-2.46 install on mw32-ix-slave19 in order to do some tests of release automation. Before I renamed it, I was hitting issues with l10n repacks. I intend to put it back when I'm done.
This is one of the bugs that will block roll out of the stub installer. Can someone help me understand where it sits in the priority queue?
Who owns this?  As Johnath says, this blocks the stub installer, and it's a big priority this quarter.  Need an update ASAP.
This happens for free once the l10n repacks move from being run on win2003 (32bit) builders to being run on win2008 (64bit) builders. (details above in comment#8). That work to do this is already in progress and being tracked in bug#774947 and bug#784848. 

I'll get a more accurate ETA posted to this bug tmrw.

(as a nice side effect, this will allow us convert more win2003 build machines to win2008 build machines, to speed up wait times for windows builds)
Assignee: nobody → aki
This updates win32, win32 debug, and win32-metro to have nsis 2.46u first in PATH.
It doesn't touch esr10.

I'd like to run some tests to verify we call the right nsis in l10n repacks.
Without this, configure runs without the env set properly, and we end up with the wrong nsis again.

With it, we use the right nsis.

I was a bit worried that MOZ_OBJDIR would break things, but it appears to not have any effect here.

Side note: we will probably need to clobber all existing l10n dirs when this lands, to clear config.cache.
Comment on attachment 656298 [details] [diff] [review]
(configs) update win32 env

I'd like to double check that linux and osx repacks are fine with the buildbotcustom configure tweak, but otherwise I think this is ready for review.
Attachment #656298 - Attachment description: [needs testing] (configs) update win32 env → (configs) update win32 env
Attachment #656298 - Flags: review?(coop)
Attachment #656325 - Flags: review?(coop)
Attachment #656298 - Flags: review?(coop) → review+
Attachment #656325 - Flags: review?(coop) → review+
Comment on attachment 656298 [details] [diff] [review]
(configs) update win32 env

Went green on linux and macosx64 repacks.
I was going to re-test win32 due to pymake changes, but those got backed out (twice).

This should clear the blocking issue from stub installers once we reconfig.
Win32 l10n repacks on win64 slaves is still on my plate, but now I have less time pressure.
Attachment #656298 - Flags: checked-in+
Comment on attachment 656325 [details] [diff] [review]
(custom) use self.env for BaseRepackFactory configure step

http://hg.mozilla.org/build/buildbotcustom/rev/3add56b1f225
Attachment #656325 - Flags: checked-in+
Oh, per comment 17 we'll have to reconfig, then clobber all win32 l10n builders.
(In reply to Aki Sasaki [:aki] from comment #21)
> Oh, per comment 17 we'll have to reconfig, then clobber all win32 l10n
> builders.

To be clear after brief chat with aki on IRC, this *should* only be needed to clobber for w32 l10n builders, but this does change the environment for *all* l10n builders, so it does not hurt to clobber those as well, in fact I at least would recommend it - incase something really odd shows up.
Made it to production today.
Clobbered all desktop l10n on m-c and m-a for Firefox and Thunderbird.
Running a win32 nightly repack to verify.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
The win32 nightly repack is using nsis 2.46.
Blocks: 793773
Product: mozilla.org → Release Engineering
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: