Cronscript.pm broke unless --sysconfdir specified during configure
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Clean install from EG master @ 9222fb95a4
OpenSRF @ ff62eb3409f5d36a76a
Ubuntu Lucid/ Postgres 9.1
Built OpenSRF using ./configure --prefix=
Build EG with ./configure --prefix=
When autogen is run:
Updating Evergreen organization tree and IDL
Updating fieldmapper
Could not create file parser context for file "${prefix}
-> /srv/openils/
Updating web_fieldmapper
Could not create file parser context for file "${prefix}
-> /srv/openils/
Updating OrgTree
Could not create file parser context for file "${prefix}
Could not create file parser context for file "${prefix}
No bootstrap config exists. Have you bootstrapped?
It looks like the automake process is not replacing ${prefix} with the actual prefix -- it replaces @@sysconfdir@@ with the literal value of that, but doesn't further translate ${prefix} to that value.
Specifying a sysconfdir of /srv/openils/etc does work, it seems that not specifying a sysconfdir and letting it assume the default is what fails.
Of note, once built, looking in Open-ILS/Makefile
With out specifying sysconfdir in configure: sysconfdir = ${prefix}/etc
With /srv/openils/etc specified: sysconfdir = /srv/openils/etc
summary: |
- automake variable problem + automake default sysconfdir broken |
Changed in evergreen: | |
assignee: | Jason Stephenson (jstephenson) → nobody |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
As tsbere pointed out in IRC:
Cronscript is being treated like a Makefile, not as a final product, by configure, but then not treated as such by make install.
Configure is expecting it to be parsed such that the prefix value is substituted at runtime.
One solution:
Change Cronscript.pm.in to Cronscript.pm so it is not handled like a Makefile.in by automake and do a sed on the Cronsript.pm like we do on several other files already.