dbs [Mon, 27 Oct 2008 05:07:06 +0000 (05:07 +0000)]
Clean up the source tree a little more:
* Delete setup.py.in (as we're not modifying it)
* Make math_client.py be modified with SYSCONFDIR location per other scripts
(although slightly longer term we'll need to stop modifying all of these
in place, because that doesn't work after the first ./configure run)
* Add a few files to automake's tracking so that make dist is a little happier
erickson [Fri, 24 Oct 2008 16:31:07 +0000 (16:31 +0000)]
the pool cleanup handler which was thought to only run on top-level child process exit is running on cloned processes cleanup. this is how mod_cgi runs scripts. disabling cleanup for now. note: this cleanup is new to 1.0
erickson [Mon, 13 Oct 2008 20:44:50 +0000 (20:44 +0000)]
io::socket::inet, somewhere between version 1.29 and 1.31, requires the peerport to be explicitly cast to an int. also updated error handling to use correct error var
added a configurable startup pause delay. after opensrf.settings has been started (which will always be the first service to start), pause the top-level process for the configured amount of time before starting any more services
config file, context, and cache server now have apache config settings. keeping a static version of the translator on hand to reduce a layer of malloc/free
This script provides per-service control of OpenSRF Perl processes. In other words, you can
stop/start/restart individual services. Note that you can only stop services that have
been started with this script.
TODO
Add start_all, stop_all, and restart_all to manage all host-specific Perl services
Give Apache modules the support they need to work
Push the apxs compile stage into the local install steps as it seems to require root privileges to write during build
Commit autotools patch from Kevin Beswick
(adjusted slightly for Bill's objson API compatibility layer removal)
Enclosed is a patch to update the OpenSRF autotools implementation. It
fixes most bugs such as:
-correctly replacing hardcoded directory paths in various files
-correctly implementing clean, and uninstall make targets
-fixes building src/c-apps modules without the lib prefix
-builds the src/gateway apache modules with apxs
-fixed the naming of the opensrf-c binary
Also, it implements more of the autotools features:
-rolling a tarball with make dist
-enables VPATH (parallel) builds
-checking a distribution with make distcheck
-------------------------------------------
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Merge the following patches from Kevin Beswick:
* fixed location to copy apachetools.h from ...
* another typo...
* fixed directory error in copying of header file.
* move one more copy instruction for a header file.
* create the perldir and jsdir
* changed the place where headers are copied... fixed an error which caused them to be copied wrong.
* fixed a capitalization typo issue in src/Makefile.am
* updated opensrf.xml.example to use C math and dbmath implementation rather than Perl
* fixed make distcheck problems -- builddir needed to be changed to srcdir
* fixed directory replacement in .c file problem stopped the command added in the previous revision from running multiple times, fixed the location of the file to execute the command on.
* changed where the directory replacement happens for osrf_json_gateway.c (it was after it was compiled rather than before)
* corrected another error with installing header files ( can't install directories recursively through the 'prefix_PRIMARY = files' apparently)
* went back to old way of copying perlmods and javascript. it will still be included in dist due to EXTRA_DIST in root makefile
* fix install of src/javascript and src/perlmods
* nobase_dist_lib_DATA defined twice... oops!
* fixed problem with order of execution of targets (install-data-local was being executed before files were copied. resulted in an error)
* fixed make dist, and changed ways that files are copied to their installed locations
* fixed path substitution for the rest of the files with hardcoded paths to ensure correct default functionality of opensrf
A little more autotools love:
* Avoid the use of tmp dir by using noinst_ prefix for timejson
* Remove DEF_LDLIBS usage (it enabled compiling, but did not link to the
libraries) and replace with specific LDADD and LIBADD options
dbs [Mon, 30 Jun 2008 19:46:08 +0000 (19:46 +0000)]
Patch from Kevin Beswick (kbeswick00@gmail.com) to address various problems with the autotools:
* src/libopensrf/Makefile.am:
* Fix typo for -I (includes) vs. -L (linking libraries) compile option
* src/Makefile.am:
* Propagate NDEBUG compile flag to all other makefiles
* Create target directories
* Set directories in example config files to match configured options
* configure.ac:
* Set default prefix to /opensrf/ instead of /openils/
* bin/osrf_config.in:
* Add --localstatedir option for osrf_config
* Correct output value for --apxs
* bin/osrf_ctl.sh
* Set default PID dir to localstatedir rather than sysconfdir
* Makefile.am:
* Propagate NDEBUG compile flag to all other makefiles
* Remove explicit rpath option, automake will figure that out for us (supposedly)
* examples/opensrf_core.xml.example, examples/opensrf.xml.example, examples/srfsh.xml.example:
* Set directories in example config files to match configured options
dbs [Wed, 25 Jun 2008 18:50:00 +0000 (18:50 +0000)]
Patch from Kevin Beswick to use autotools for OpenSRF configuration and build
Included is a patch for a working implementation of the GNU Autotools
to OpenSRF. Some of the perks of this system are: the user is given
the ability to install OpenSRF to non-standard locations,
dependency/library checking, gives a user the ability to only install
certain components, more portable to other operating systems, etc.
To test, simply run:
autogen.sh
configure
make
make install
Options for configure can be found using:
./configure --help
Also, the patch contains a new file, osrf_config, which is generated
by running the configure script. Running this file will print all
build options a user has chosen when compiling/installing Opensrf.
Command line arguments can be added to return each single build option
as well. This is useful to developers in that they are able to locate
a certain installation directory on a non-standard installation of
OpenSRF. To see the available command line options, run: osrf_config --help