← Back to team overview

launchpad-dev team mailing list archive

Re: lazr-js : Anything but an sdist/egg

 

On Wed, 15 Sep 2010 16:40:49 -0400
Maris Fogels <maris.fogels@xxxxxxxxxxxxx> wrote:
> On 09/15/2010 02:14 PM, Paul Hummer wrote:
> > Hi Gary and Maris (and other Launchpad devs):
> > 
> >   The lazr-js build system is starting to get a little long in the
> > tooth.  One of the biggest issues we've had recently is managing the
> > python dependencies that go along with the sdist, specifically in
> > how the dependencies differ between launchpad and landscape.
> > 
> 
> Could you please go into a bit more detail about the problems you
> faced with dependencies?

So, lazr-js has all these python dependencies (that apparently
landscape doesn't even care about).  Every time it bumps its
dependencies, we have to bump the launchpad ones.  For instance, try
taking lazr-js trunk and putting it in the download-cache and building
launchpad.  It explodes.  This is suboptimal.  It's a javascript
project.  It shouldn't have python dependencies.

> FWIW, lazr-js produces an sdist because Launchpad uses both the
> lazr-js Python and lazr-js JavaScript sources.  A sdist was the
> easiest way to reuse both parts.  We can change that decision, but it
> will take some work (more on that below).

I think that reuse of those parts is probably the thing that is causing
most of this.  Launchpad shouldn't be so tightly coupled to the lazr-js
build system.  When I was build-manager, I spent most of my time trying
to diagnose lazr-js build issues inside of Launchpad.  I think that's
sub-optimal.  We have our own way of working with our code in
launchpad, so we shouldn't try and fit the square peg of the lazr-js
build system in the round hole of the launchpad build system.

> 
> If we want to switch the lazr-js project over to to using .tar.gz
> and/or debs for release, that would be fine by me - in fact, I think
> it could help adoption by simplifying integration of the lazr-js
> JavaScript.  As an added bonus, U1 already has code we could borrow
> for creating lazr-js debs for their system.

Yeah, apparently we're the only team that uses this madness of
sdist-ing lazr-js first.

> 
> The problem is what do we do about Launchpad's direct use of the
> lazr-js Python tools?  Right now Launchpad uses the lazr-js Python
> toolchain for the bin/jslint and bin/jsbuild commands.  We need some
> way to keep these functions available in Launchpad for use with our
> own JavaScript sources.

See Elliot's follow-up email.

> >   I wonder if it would be better if we could just store the lazr-js
> > directly in our tree.  I think it would go a long way to making it
> > easier to upgrade lazr-js in Launchpad (and reduce complication in
> > both the lazr-js and launchpad build systems).
> 
> I am not sure what you mean by "store lazr-js directly in our tree".
> If you mean "only use the lazr-js JavaScript sources in our tree",
> then yes, we can do that, with the previously mentioned caveat about
> keeping the jslint and jsbuild commands working.

Yes, I mean that.  Also, I only think we need to worry about jslint
reusability, and figure out a better way to do combine/minify with
javascript.

Cheers,
Paul

Attachment: signature.asc
Description: PGP signature


Follow ups

References