Evergreen release building process should not require osrf_config

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

Bug Description

Evergreen ./configure requires access to osrf_config to find the OpenSRF include and library directories for Evergreen compilation, etc. That makes perfect sense when building and installing Evergreen. However, the same requirements -- in essence, that OpenSRF be installed on the machine -- apply when creating Evergreen packages, since configure is run to build the staff client. This makes less sense, since staff client building does not require the output of osrf_config, and creates an unnecessary hurdle/annoyance for creating Evergreen builds.

Patch en route to skip the check for osrf_config when configure is run with --disable-core (which covers staff client building).

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

Sounds good, thanks Bill! Pushed to master for 2.7+

Changed in evergreen:
status: New → Fix Committed
milestone: 2.next → 2.7.0-alpha
Bill Erickson (berick)
Changed in evergreen:
status: Fix Committed → Confirmed
Revision history for this message
Bill Erickson (berick) wrote :

Reopening this one... Ben reports that staff client building fails with this patch installed. Reviewing the code I see my main assumption, that osrf_config is not needed by the staff client, is wrong. It uses osrf_config to find the path the OpenSRF javascript libraries, since it copies some of files (JSON_v1.js, etc.) into the staff client for packaging. Not sure how I missed that.

When run manually, this resolves the issue:

make STAFF_CLIENT_STAMP_ID=test123 OPENSRF_JSLIBS=/openils/lib/javascript build

To use something like this, we would need a new command line option to make_release which allows the caller to pass in the OPENSRF_JSLIBS value manually. I would be in favor of this over reverting the original patch. I believe it can be done to allow for a sane default value so that users are not required to provide an OPNSRF_JSLIB value under normal circumstances (i.e. osrf_config is accessible). Note that the browser client needs access to the OpenSRF JS libs as well for testing and packaging, so this is not something that will go away with the browser client. If there are no objections, I'll create a patch for make_release.

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

It was simple enough, so I went ahead and pushed a patch:

http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1334693-make-release-js-libs-path

Normally, this has no effect on the process, but if you want to point to OpenSRF JS libs which are not installed (e.g. a git checkout), you can use: make_release -j /path/to/opensrf/javascript

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

Thanks Bill! Tested and make_release works for me now.

Pushed to master and with that, 2.7.0-alpha1 is done.

Changed in evergreen:
status: Confirmed → 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.