[Koha] importing MARC records

Alan Millar am12 at bolis.com
Mon Jun 24 18:38:58 NZST 2002


> From: micheas <micheas at micheas.dyns.net>
 
>     FreeBSD does not have an equivalent of linux's 'su -c'

Equivalent?  You're right the FreeBSD "su" command does not have
the same option to run an arbitrary command as an argument, but there
are other ways to solve the problem.  Worst case, the z3950-daemon-shell 
can be SUID with the appropriate file owner.  Not the ideal solution,
but it is functionally equivalent.  I think this falls in the "keep looking"
category.

>     Are any of the environment names set by the shell script passed to
>     the perl script that runs the daemon by name (ie do I have to keep
>     your variable names?)

No, you don't have to keep them.  Do they need to be changed?  If they
aren't descriptive or explanatory enough, let's change them in the
current script also.

>     Is there any reason to not have apache call the script?  (ie does
>     anything have to be done as root?)

Yes, there is a reason not to.  For one, the Linux "su -c" does need
to be root.  Also, the script should be run once, not everytime
someone makes a search request.  I don't think Apache was designed
to be an arbitrary launcher, so it would probably be a lot *more* work
to shoe-horn it into Apache.  And the search daemon isn't really
Apache related.  I have some command-line text-mode add-ons for Koha, which
may show up in the release later, which use the Z39.50 search facilities.  
They don't have anything to do with Apache, and neither does the search
daemon.

<rant>
Only bad applications are "purely" web-based.  Good applications
have a major amount of web facing to them, but also have parts
that are abstracted from it so they are useful in other ways also,
such as batch automation.  "I don't *want* to click [Submit] 483 times..."
</rant>

>     Does it make sense to try changing the perl script instead of
>     rewriting the shell scripts for each os?

No.  The shell scripts should handle each OS's various quirks, precisely
so the Perl script *doesn't* have to change for each OS.

If you look closely, after all the comments and overhead are stripped
out, the two Z39.50 scripts do only two lines of actual work:  The -launch
script uses "su" to change the user ID, and the -shell script sets
PERL5LIB before running the daemon.  That's the only actual work
done in the scripts.  Everything else in there now is either comments
or fluff.  Anything else needed for another OS should be encapsulated 
in the script likewise.  So a "rewrite" of the scripts should be two
or three lines of code.

> Telnet terminals -- HERE BE DRAGONS -- these maybe problematic under
> FreeBSD.  

Actually, this is non-issue.  The name "Telnet terminals" is 
misleading.  It really just means "text mode".  There is absolutely
nothing special about Telnet.  It's a handy name because people
know that when you use telnet, you get a text-mode session.
You can use SSH and the program will be exactly the same.  

Thanks for your work in identifying issues.

-  Alan

----
Alan Millar     --==> am12 at bolis.com <==--



More information about the Koha mailing list