Closed Bug 843372 Opened 12 years ago Closed 2 years ago

change NSS NSPR build makefiles to allow each to build independent of each other

Categories

(NSS :: Build, defect, P5)

x86
macOS

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: joduinn, Unassigned)

Details

aiui, currently, NSS and NSPR are built as part of all-in-one cvs-based build. As part of bug#648676: * we are migrating NSS and NSPR to two separate hg-based repos, * we will be triggering NSS builds per NSS checkin, and NSPR build per NSPR checkin * this means we need ability to build each separately. Unknown if this is currently possible, or requires NSS,NSPR makefile work, so filing bug to track. Question: bsmith mentioned something about NSS builds using tip of NSPR in certain situations. As part of this transition, would it be possible to have latest-supported-build-of-NSPR be put on well-known location (NSS repo, ftp?) which could then be used in NSS builds? (Not sure if this is correct component; please reassign if needed).
(In reply to John O'Duinn [:joduinn] from comment #0) > aiui, currently, NSS and NSPR are built as part of all-in-one cvs-based > build. As part of bug#648676: > * we are migrating NSS and NSPR to two separate hg-based repos, > * we will be triggering NSS builds per NSS checkin, and NSPR build per NSPR > checkin > * this means we need ability to build each separately. > Unknown if this is currently possible, or requires NSS,NSPR makefile work, > so filing bug to track. It is possible to build NSPR without NSS: cd nsprpub ./configure make > Question: bsmith mentioned something about NSS builds using tip of NSPR in > certain situations. As part of this transition, would it be possible to have > latest-supported-build-of-NSPR be put on well-known location (NSS repo, > ftp?) which could then be used in NSS builds? We want to build the tip of NSS against the tip of NSPR by default. The main time we would be interested in building NSS against something other than the tip of NSPR is when we're building a non-tip branch of NSS; in that case, we may want to choose a non-tip branch of NSPR to build from. It seems to me like an easy solution would be to add a file in the NSS repo named something like nspr-version that contains the tag of NSPR to build against. In the NSS head, nspr-version would contain "tip". Then, in the NSS build, we could add a target that does this: $OUTDIR/nspr.tgz: nspr-version NSPR_VERSION=`cat nspr-version` wget https://hg.mozilla.org/nspr/archive/$(NSPR_VERSION).tar.gz $@ fetch_nspr: $OUTDIR/nspr.tgz ( cd $OUTDIR ; tar xvf $^ ) Then the buildbot could build NSS with "make fetch_nspr nss_build_all" instead of just "make nss_build_all". Note: NSPR is very small and builds relatively quickly. Also, there are very, very few checkins to the NSPR or NSS repos. Maybe one per day. So, there is no need to try to optimize away the building of NSPR as part of the NSS build, as long as we can get the NSPR sources this way. With this proposal, if we did want to ever build NSS against a different NSPR, e.g. if we have a branch of an older NSS version that was paired with a particular NSPR release, then we could do so just by changing the contents of the nspr-version file on that branch. And, we could do the same with tryserver, if necessary.
Hey Mike, What is your opinion on this bug? John has left now, but I'm curious if we would still want to do this. Interested in your feedback. Thanks, Pete
Flags: needinfo?(mh+mozilla)
Flags: needinfo?(mh+mozilla) → needinfo?(brian)
IIRC, John was describing what it would be like to replace the nss-crypto.org buildbot with TBPL for the standalone NSPR and NSS repos. For that, I suggest talking to Kai Engert. That is a separate issue from running the NSPR and/or NSS tests as part of mozilla-* checkins along with the rest of the Gecko test suite, which we currently don't do, and which there is a long-standing bug for.
Flags: needinfo?(brian)
No longer blocks: 648676
Severity: normal → S3
Severity: S3 → S4
Status: NEW → RESOLVED
Closed: 2 years ago
Priority: -- → P5
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.