[OPEN-ILS-DEV] Chop Chop

Don McMorris don.mcmorris at gmail.com
Sun Jul 1 12:53:14 EDT 2007


On 7/1/07, Scott McKellar <mck9 at swbell.net> wrote:
> Thanks for your answers, Don.
>
> I didn't mean to sound like I was kvetching about outdated
> documentation.  I expect documentation to be outdated, especially
> for an open source project.  I was just trying to get the facts.
That's quite all right Scott ;).

>
> I'd volunteer to update the Wiki, but if I knew enough to update
> it, I wouldn't be consulting it in the first place.
If/when you feel you want to contribute to the wiki, feel free to drop
a line to this list and they'll get you set up (assuming you haven't
done so yet... I don't recall ;)).

>
> --- Don McMorris <don.mcmorris at gmail.com> wrote:
>
> > AFAIK, ChopChop==jabber-c, but osrf_chat_main.c is NOT part of
> > chop-chop (I could be wrong about this, though).
>
> I looked at the Makefile, shich is where I should have looked in the
> first place before posting, and at the change history for the
> Makefile.
>
> Apparently osrf_chat_main.c is the top level, i.e. where main()
> resides.  The executable is named "chopchop", but it used to be
> named "jserver-c".
I can't quite remember the exact details, but "chopchop" and
"jserver-c" were interchanged quite a bit.  Not being a developer, my
thinking was the .c file would've been named differently if for
chop-chop.  My bad ;)

>
> <snip>
>
> I know that chopchop is neither intended nor suitable for production
> use.  Since I don't have a library to run, that doesn't bother me.
>
> I have read a lot of anguished postings here from people trying to
> install Evergreen.  I wanted to make myself useful without having to
> install the whole shebang.  So I'm working piecemeal, building one
> fragment at a time.  That should enable me not only to contribute
> sooner but also to learn my way around the architecture and the
> low-level dirty details.
Ease of install hasn't been a high high priority yet.  I know some
people are working hard at easing the install process, however, and we
very much appreciate their efforts!

Open-ILS can be a complex system.  It doesn't help matters any that
different distributions/package management systems ship with different
defaults (IE: the memcached port number of 11211 or 10101).  There
have been (and continue to be) efforts to make it more obvious what
part of the system is failing, but for now it's mostly instinct-based
;)

>
> I'm getting to the point where I need to start putting more pieces
> together.  For example I can run run srfsh, but without a jabber
> server to talk to, it can't do very much except give me an error
> message.
>
> Maybe I should bite the bullet and try to install the whole thing.

The base system (IE: enough so that you can use srfsh or other
interfaces) would require:
-> Jabber server (most, if not all, use ejabberd with some special
configuration)
-> PostgreSQL server (although not absolutely needed, authentication
credentials are stored in the database, and you can't do too much
without authentication ;))
-> memcached
-> OpenSRF
Once you get to this, you're pretty much 70% done installing Open-ILS.
 Most installation issues arise from the above... After you get this
going, installing the remaining of the ILS should be fairly easy
(Apache configuration, loading of additional files, "bootstrap"
configuration)...

>
> > > 3. Once Chop Chop is running, is there a graceful way to bring it
> > > down?  It looks to me like it enters an endless loop, and the only
> > > way to stop it is to send it a signal with kill or the like.
> > There was a script in /openils/bin that controlled ChopChop.  As I
> > recall, it was something along the lines of 'osrf_ctl stop jserver'.
>
> I found a script osrf_ctl.sh, which starts and stops various daemons.
> The general approach it takes is to use ps, grep, and awk to
> identify the relevant process ids, and then a kill -9 to stop the
> processes.
That sounds about right.  I remember some efforts fairly recently to
port Open-ILS to Solaris, and these caused some issues.  I think there
were some patches to try to avoid them, but it hasn't been overhauled
proper... I expect this was done early on in the development as a
"quick and dirty" solution with the idea to re-do it proper, but it
just stuck because it worked.
As always, if somebody wished to patch this mechanism to something a
little more standard, we're open to patches ;)

>
> Scott McKellar
> http://home.swbell.net/mck9/ct/
>
>

I'll just mention also that we do have an IRC channel.  Please feel
free to join #OpenILS-Evergreen on the Freenode IRC network (that is,
if you haven't already ;)).

--Don


More information about the Open-ils-dev mailing list