Developer/Packager Makefile.install targets

Bug #1392759 reported by Bill Erickson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Wishlist
Unassigned

Bug Description

Feature request:

There are several prerequisites Evergreen developers and packagers need which are not required for typical Evergreen use. These include translation tools [1] and web dependency/testing tools for the browser client [2]. Particularly for the browser client tools, they should be as easy to install as possible without requiring all users to install them. I propose new "developer" and "packager" build targets for our Makefile.install prerequisite installer for installing these extra-curricular packages. For example, ubuntu-trusty-developer, ubuntu-trusty-packager, etc. Alternate suggestions welcome.

[1] http://docs.evergreen-ils.org/2.7/_updating_translations_using_launchpad.html#_prerequisites
[2] https://bugs.launchpad.net/evergreen/+bug/1350350

Tags: pullrequest
Revision history for this message
Bill Erickson (berick) wrote :

To get the ball rolling, I've pushed a sample implementation for Trusty:

http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1392759-trusty-dev-pack-install-targets

This implementation modifies the previous strategy for installing nodejs (Trusty has a newer version), which I still need to test front-to-back.

This general approach will also allow us to trim down the "developer" install docs a little bit.

Revision history for this message
Bill Erickson (berick) wrote :

Pushed a new os-agnostic branch with the trusty changes, plus the same for jessie.

http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1392759-dev-pack-install-targets

Revision history for this message
Bill Erickson (berick) wrote :

Confirmed the nodejs versions installed on Jessie and Trusty work.

I've also pushed developer and packager build targets for Wheezy and Precise. However, since neither have suitable nodejs install targets and Precise would require a source build regardless, I've disabled the browser client dependency building by default for those two OSes. My rationale is that If we're going to use the new developer targets in the installer README (instead of manually installing autotools, etc), installing nodejs from source first thing is a time consuming hurdle to just getting started with Evergreen. Also, by the time the browser client is in heavy use, most developers will probably be using newer OSes. Taking an extra step to install the browser prereqs on wheezy/precise does not seem like a big problem to me. It's certainly a step up from where are today, which is all manual installs.

To install on wheezy or precise, you have to do:

BROWSER_CLIENT_DEPS=1 make -f Makefile.install debian-wheezy-developer

TODO: modify README to use *-developer to install autotools, etc.

Revision history for this message
Bill Erickson (berick) wrote :

Force-pushed squashed version to same branch, including updates to server_installation.txt (README).

I think it's ready to roll out, barring objections, with the exception that I have not created fedora or debian-squeeze targets.

Bill Erickson (berick)
tags: added: pullrequest
Changed in evergreen:
milestone: none → 2.next
Revision history for this message
Bill Erickson (berick) wrote :

Additional commit pushed:

Add additional packages to the "packager" target to help support building Evergreen packages on machines where Evergreen and its prereqs are not installed.

The "packager" target now depends internally on the "developer" target, since packagers have to build the browser client dependencies.

Since older OSes have to build the nodejs dependencies, the autoconf, etc. targets have been moved into the developer target, again to support "headless" packaging.

Revision history for this message
Ben Shum (bshum) wrote :

Reviewing Bill's changes, I think it looks good, but I do wonder about some of the duplication for the make/automake/autoconf/libtool packages. There's differences between the various makefile for distributions that I'm not sure why we're not consistent on.

Also, I'm wondering if we need "make" included. Since we have to use the make command to call up the target from the makefile, it might be redundant to have it listed in the pre-req's. That's my fault, I might have given Bill some bad info on it.

Changed in evergreen:
milestone: 2.next → 2.8-beta
status: New → Triaged
Revision history for this message
Bill Erickson (berick) wrote : Re: [Bug 1392759] Re: Developer/Packager Makefile.install targets

On Thu, Jan 8, 2015 at 8:45 AM, Ben Shum <email address hidden> wrote:

> Reviewing Bill's changes, I think it looks good, but I do wonder about
> some of the duplication for the make/automake/autoconf/libtool packages.
> There's differences between the various makefile for distributions that
> I'm not sure why we're not consistent on.
>

If you're referring to the duplication in the debian-wheezy makefile, I've
pushed a fix for that.

>
> Also, I'm wondering if we need "make" included. Since we have to use
> the make command to call up the target from the makefile, it might be
> redundant to have it listed in the pre-req's. That's my fault, I might
> have given Bill some bad info on it.
>

Good point. Fix pushed to remove 'make'.

Thanks, Ben!

Revision history for this message
Ben Shum (bshum) wrote :

Looks good, pushed to master for 2.8.

Changed in evergreen:
status: Triaged → Fix Committed
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.