Create a NSS builder for WinMO

RESOLVED INCOMPLETE

Status

Release Engineering
General
P5
enhancement
RESOLVED INCOMPLETE
9 years ago
5 years ago

People

(Reporter: mfinkle, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Currently, we (NSS team and Fennec team) have no build tinderbox for NSS trunk. This has led to some WinCE breakage when new NSS releases are checked into mozilla-central.

Getting a tinderbox to test for build breakage would be a great first step. Running the NSS unit tests would be a great second step.

Comment 1

9 years ago
Not targeted for q2; futuring.
Component: Release Engineering → Release Engineering: Future
Thanks for filing this bug, Mark.  We'd like to avoid a repetition of the 
event where an NSS release breaks WinCE, but we have no way to build or 
test for WinCE at present; hence this request.

This bug requests that a Tinderbox be set up to repeatedly pull NSS 
(and NSPR) from the CVS trunk and build them for WinCE (Windows Mobile).
The results should be reported on the Tinderbox page for NSS
http://tinderbox.mozilla.org/showbuilds.cgi?tree=NSS

The instructions to pull and build are given at 
https://developer.mozilla.org/En/NSS_reference/Building_and_installing_NSS/Build_instructions

Basically, in short:
1. pull NSS and NSPR from the CVS trunk, e.g.
   cvs checkout NSS NSPR
2. set environment variables as explained in the devmo page cited above,
   and in 
   https://developer.mozilla.org/En/NSS_reference:NSS_environment_variables
3. cd into mozilla/security/nss
4. gmake nss_build_all

There are probably some things that must be done specially for building
for WinCE.  I don't have anything to add there.  I expect the folks who 
have filed NSS bugs on behalf of Fennec have more clues.

I would be nice if, after the build, you could run the test scripts, but
the test scripts presume the existence of a POSIX or korn shell (like bash),
and I doubt that such a thing lives on WinCE.  There are some NSPR tests 
that (I'm told) do build for an run on WinCE.  

Aki, if you "future" this, please plan to handle complaints from the Fennec
team when the next NSS release breaks Fennec again.
Severity: normal → enhancement
Nelson/Mark,

If we were to give one of you (or someone else) access to a VM that was ready to build WinCE would that help in any way?
(In reply to comment #3)
> Nelson/Mark,
> 
> If we were to give one of you (or someone else) access to a VM that was ready
> to build WinCE would that help in any way?

Yeah. I would try to get the ball rolling using Nelson's setup instructions from comment 2.
(In reply to comment #4)
> (In reply to comment #3)
> > Nelson/Mark,
> > 
> > If we were to give one of you (or someone else) access to a VM that was ready
> > to build WinCE would that help in any way?
> 
> Yeah. I would try to get the ball rolling using Nelson's setup instructions
> from comment 2.

Okay. For the record, I'm suggested a VM that would be used and maintained by someone else to address Nelson's "we have no way to build or test for WinCE at present" comment.
(In reply to comment #1)
> Not targeted for q2; futuring.

Nelson, if try server supported doing WinCE builds, would that be good enough? You could then "try build" using a new candidate NSS library before checking in the new version of NSS. This feels like it might do the trick, imho, and is something we are working on in bug#465039 already.

If this does not work for you, can you provide details of what else is needed?
(In reply to comment #6)
> (In reply to comment #1)
> > Not targeted for q2; futuring.
> 
> Nelson, if try server supported doing WinCE builds, would that be good enough?
> You could then "try build" using a new candidate NSS library before checking in
> the new version of NSS. This feels like it might do the trick, imho, and is
> something we are working on in bug#465039 already.
> 
> If this does not work for you, can you provide details of what else is needed?

John, getting Try Server support for this is just as much work, if not more than regular builds. If we're going to do one or the other we should just do normal builds IMHO.
I just chatted with mfinkle over in #build. He said he's happy to get his hands dirty and work through this stuff if we give him a VM to play with. I'm happy to review his work when he's done and help push it through into production.

John, does that sounds OK to you?
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #1)
> > > Not targeted for q2; futuring.
> > 
> > Nelson, if try server supported doing WinCE builds, would that be good enough?
> > You could then "try build" using a new candidate NSS library before checking in
> > the new version of NSS. This feels like it might do the trick, imho, and is
> > something we are working on in bug#465039 already.
> > 
> > If this does not work for you, can you provide details of what else is needed?
> 
> John, getting Try Server support for this is just as much work, if not more
> than regular builds. If we're going to do one or the other we should just do
> normal builds IMHO.

True that is more work. However, we have to do WinCE support on TryServer
anyway - people making win32 code changes need a way to verify that they are
not breaking WinCE. The NSS use case being described here in this bug is just
another example of that, aiui. 

So my question was not about WinCE-on-TryServer *or* NSS tinderbox; its do we
need WinCE-on-TryServer *and* NSS tinderbox. 

Make sense?
(In reply to comment #9)
> So my question was not about WinCE-on-TryServer *or* NSS tinderbox; its do we
> need WinCE-on-TryServer *and* NSS tinderbox. 
> 

Building NSS on WinCE is entirely separate from building Fennec on WinCE AFAIK. Nelson/Mark, please correct me if I'm wrong.
(In reply to comment #10)
> (In reply to comment #9)
> > So my question was not about WinCE-on-TryServer *or* NSS tinderbox; its do we
> > need WinCE-on-TryServer *and* NSS tinderbox. 
> > 
> 
> Building NSS on WinCE is entirely separate from building Fennec on WinCE AFAIK.
> Nelson/Mark, please correct me if I'm wrong.

Correct.

The NSS tinderbox will give live verification of wince breakage (not for fennec explicitly). This gives contributors and the NSS team up to date information on build status.

The WinCE-on-TryServer will be used for much more than changes to NSS. It also requires manual effort to use the TryServer as opposed to the tinderbox. Using the TryServer as a prereq for NSS updates to m-c seems like unneeded overhead.

NSS already has tinderboxes for many platforms, WinCE just isn't one of them. As a WinCE consumer of NSS, the mobile team is OK with getting a NSS tinderbox up and running.
After reading this bug more carefully and thinking it through more I think John is mostly right about WinCE try support being mostly good enough. It doesn't meet the original request of this bug, but I do think it makes it less of an immediate need.
We really want a WinCE tinderbox.  A try server might be OK IN ADDITION to 
the tinderbox, but not as a replacement for a tinderbox.

As an aside (and completely off topic for this bug), I would LOVE to be able
to make Firefox try builds that feature Firefox 3.5 source code (wherever 
that comes from) EXCEPT for NSS.  For these try builds, I want the NSS source
code to come from NSS's CVS trunk tip.  This might be very helpful to detect
issues (like the one we had earlier this week) where a new release of NSS 
breaks the firefox build because firefox doesn't build NSS with NSS's own 
makefiles.  Consequently, no amount of building NSS with NSS's own makefiles
can predict how well NSS will be built in Firefox builds.

I have no idea how to make such a thing happen and would very much appreciate 
a "leg up" to that end.  If you can help with that, and are willing to do so, 
please email me.
(In reply to comment #13)
> As an aside (and completely off topic for this bug), I would LOVE to be able
> to make Firefox try builds that feature Firefox 3.5 source code (wherever 
> that comes from) EXCEPT for NSS.  For these try builds, I want the NSS source
> code to come from NSS's CVS trunk tip.  This might be very helpful to detect
> issues (like the one we had earlier this week) where a new release of NSS 
> breaks the firefox build because firefox doesn't build NSS with NSS's own 
> makefiles.  Consequently, no amount of building NSS with NSS's own makefiles
> can predict how well NSS will be built in Firefox builds.
> 
> I have no idea how to make such a thing happen and would very much appreciate 
> a "leg up" to that end.  If you can help with that, and are willing to do so, 
> please email me.

Without any try server changes you can do this - you just need to generate the patch yourself. You can then submit a build of http://hg.mozilla.org/releases/mozilla-1.9.1 with your patch from the try server web interface (located here: https://build.mozilla.org/sendchange.cgi).

It's a little bit more difficult than having it automatically pull the NSS tip, but I don't know that that's a case we want to have specific code for, anyways...
Seems we are talking about two different things here:


1) Provide a way for Firefox developers to make sure that Firefox code checkins, and any moves to use newer versions of dependent libraries, work ok on all platforms before checking them into the Firefox builds. This is something that the TryServer already handles on all platforms except WinCE. Adding support for WinCE is being tracked in bug#465039.


2) Provide build infrastructure for NSS developers to see if their code works on different o.s. every time an NSS developer does a checkin to NSS repo. To the best of my knowledge, the NSS community already have their own build infrastructure for doing this. After discussions at MozillaSummit2008, we contributed some (5?) mac minis to NSS community in Nov2008. If you feel that the NSS community should now support additional o.s., like WinCE, we'd be happy to help share the lessons we've learned, instructions, docs, etc. However, setting this up feels like something the NSS community would lead, and support, as part of the NSS build infrastructure, just like NSS already do for mac, win32, linux. 

Hopefully, this explains why I believe this bug should be WONTFIX, and  should not be a blocker on bug#487673.

Does that make sense, or did I miss something?


John.
John,  The NSS team appreciates Mozilla's contribution of some Mac Mini's
for Tinderboxes and other (nightly build) purposes.  You can see one or two
of those mini's in the right most columns of NSS's tinderbox page:
http://tinderbox.mozilla.org/showbuilds.cgi?tree=NSS

There are several differences between Mac OSX and WinCE for the NSS team.

a) NSS developers have MacOS expertise but no current WinCE expertise,
and that includes setup of cross compilation systems, etc.  So, while giving
Mac Mini's to NSS for Mac Tinderboxes helped, giving boxes to NSS for WinCE
would not, because we don't know how to administer them.

b) The NSS team has made MacOS a fully supported tier 1 platform.  The team 
will begin to deliver build binaries for MacOS.  The recently contributed 
Mac Mini's helped the NSS team to reach that goal.  The managers for the NSS 
team members have authorized them to spend time actively supporting MacOS.
The same is not in the plans for WinCE.  I believe you won't see NSS sponsors
agreeing to sponsor developers working on WinCE.  

So, we're looking for a way to help the WinCE folks out, by ensuring that our on-going NSS checkins don't break the WinCE builds, with minimal ongoing 
investment from the NSS team.  We're willing to watch the WinCE columns of 
the Tinderbox page, and fix things that get broken, but that's about it.

If more boxes are contributed for the purpose of running WinCE tinderboxes, 
I believe Glen Beasley has volunteered to help keep WinCE Tinderboxes running, 
if someone else will do the initial setup (or explain how to do it in enough 
detail for him to do it without a big learning curve).  

But I believe that Some group in MoCo is doing this now, running Firefox 
tinderboxes for WinCE.  It seems like a better fit for that group to also 
do an NSS tinderbox, than for the NSS team to try to do a WinCE/NSS tinderox.
(In reply to comment #16)
> John,  The NSS team appreciates Mozilla's contribution of some Mac Mini's
> for Tinderboxes and other (nightly build) purposes.  You can see one or two
> of those mini's in the right most columns of NSS's tinderbox page:
> http://tinderbox.mozilla.org/showbuilds.cgi?tree=NSS
The two "nssmac2" columns? cool!

[snip]
> If more boxes are contributed for the purpose of running WinCE tinderboxes, 
> I believe Glen Beasley has volunteered to help keep WinCE Tinderboxes running, 
> if someone else will do the initial setup (or explain how to do it in enough 
> detail for him to do it without a big learning curve). 
 
I think the initial setup should be trivial^H^H^H^H^H^H^H straightforward. 

The WinCE tinderboxes are running on the same latest refimage as our win32 tinderboxes. We (MoCo) could easily clone the refimage and send it over to you / Glen to run alongside the other NSS build machines. We'd have to switch out the mozilla keys, and check the licensing of tools installed in the VM, but I think thats all that would be involved. 

If you have any followup win32/winCE questions, we'd be happy to help. Whomever is running your NSS win32 MINGW32_NT builder machines I see on the NSS tinderbox would be best point of contact. Is that Glen also?


> But I believe that Some group in MoCo is doing this now, running Firefox 
> tinderboxes for WinCE.  It seems like a better fit for that group to also 
> do an NSS tinderbox, than for the NSS team to try to do a WinCE/NSS tinderox.

I understand the concern of trying to setup WinCE machines from scratch; yes, thats a lot of work. However, given that the clone VM approach massively simplifies setup, it feels better that the NSS group run their own build machines for WinCE just like NSS group runs their own build machines for win32, osx, SunOS, linux. 

If this all seems reasonable to you, then maybe we can rename this bug to "Clone win32 refimage for NSS"?
OS: Mac OS X → Windows CE
John,

The Mac Mini tinderboxes are identified by the string "Darwin".  They're not
the right-most ones on that page any more (and they were down for most of 
the past weekend.) :-/

I'm guessing that your "refimage" proposal presumes some underlying VM 
software.  I don't know what software that is, nor whether Sun uses that.
Sun has its own VM software, as you may know, and I'd guess that Sun's
tinderbox machines use that, if they use any VM software at all.  

I'm adding some Sun folks here who may be able to help us figure out what 
to do.  But understand that Sun doesn't support WinCE, and is likely to 
review requests to do extra work and/or allocate additional resources to 
support that platform as VERY outside of their charter.
No longer blocks: 487673
Given the recent "deprioritizing" of WinCE, and stopping of WinCE builds in bug 543067, I'm closing this out as WONTFIX. If the WinCE situation changes, we can reopen.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → WONTFIX
John,

The differences between Windows Mobile and Windows CE are very small (if any) for the requirements of NSS.  We continue to have a requirement of shipping Fennec on Windows Mobile.  Can we just setup a windows mobile tinderbox instead of a window ce tinderbox?
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
For what its worth, this bug was originally filed for Windows Mobile (which is based on Windows CE 5.x) before we differentiated it from Windows CE 6.
Summary: Create a NSS tinderbox for WinCE → Create a NSS tinderbox for WinCE used by Fennec
Mass move of bugs from Release Engineering:Future -> Release Engineering. See
http://coop.deadsquid.com/2010/02/kiss-the-future-goodbye/ for more details.
Component: Release Engineering: Future → Release Engineering
Priority: -- → P5
Found during triage. 

aiui, this is requesting builds, and tests, of NSS from cvs-tip to be displayed on some tinderbox waterfall. The idea is to verify NSS builds are ok for WinMO before being used by Fennec. Tweaking summary to match.
OS: Windows CE → Windows Mobile 6 Standard
Summary: Create a NSS tinderbox for WinCE used by Fennec → Create a NSS builder for WinMO
OS: Windows Mobile 6 Standard → Windows Mobile 6 Professional
Hardware: x86 → ARM

Updated

8 years ago
Blocks: 554087
Status: REOPENED → RESOLVED
Last Resolved: 8 years ago8 years ago
Resolution: --- → INCOMPLETE
(Assignee)

Updated

5 years ago
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.