[ic] debian woody package issues

Doug Alcorn interchange-users@interchange.redhat.com
Thu Feb 14 11:19:01 2002


I'm a big fan of running debian linux.  It's package management is an
order of magnitude easier to deal with than rpms.  In fact, since I
started using debian I have pretty much quit compiling programs from
source.  Needless to say, I was quite pleased to see .debs of
interchange.   Thanks, Stefan, for this work.

I recently installed interchange, interchange-ui, and
interchange-foundation on a debian/woody system.

$ dkpkg -l '*interchange*' | grep ii
ii interchange                4.8.3-1 e-commerce and general HTTP database display system
ii interchange-cat-foundation 4.8.3-1 Foundation Store, a sample Interchange catalog
ii interchange-ui             4.8.3-1 Interchange administration interface (UI)

I had two main problems.  First, makecat was failing with permission
denied when trying to create the catalog directories.  Second, once
the catalog was installed interchange wouldn't load it.  I'll address
the work arounds for both.

Of course, I run makecat as root.  The expectation is that if you run
something as root you should never get permission denied errors.  In
this case it appears makecat changes user id after it is started.  To
produce this error, run makecat and have the catalog directory in some
user's home directory.  Make sure that the interchange user id doesn't
have write permission to that directory.  The error is:

mkdir /home/lathi/catalogs: Permission denied at
/usr/lib/interchange/bin/makecat line 1493

Now if you go and make the interchange user id in the group of the
desired catalog directory (or any other mechanism for granting
permission to the interchange user to write to the desired catalog
directory) everything works just fine.  I suppose this is OK
behavior.  The right thing to do is of course run interchange as it's
own userid but a member of the group of the catalog owner.  However,
the error message was pretty misleading.  Also note that I don't know
if this is related to the debian package or to IC 4.8.3 in general.
It used to work fine under 4.6.  makecat prompted you for the owner of
the files and the permissions scheme to be used and then did the right
thing.

Also note that if you specify a CgiDir that the user interchange
doesn't have write permissions to, makecat will fail.  The packages
get around this by making /usr/lib/cgi-bin/ic; which is owned by the
interchange user id.

Second, once I got the catalog installed and restarted interchange it
wasn't loading my catalog.  The familiar status information during
startup didn't show my catalog getting loaded.  After some hunting, I
noticed that /etc/interchange/catalogs.cfg had my catalog defined.
However, it was wrapped in an "ifdef USE_FOUNDATION".  So, I went
hunting and found that the /etc/interchange/features.cfg file has
"define USE_FOUNDATION".  I was tricked into thinking this was OK.  Of
course, it should be "define USE_FOUNDATION 1".

All in all, I'm very pleased with the debian packages.  I like having
the catalogs as separate packages.  I like having the catalogs in
their own file separate from the main interchange.cfg.  It makes
things pretty clean.  As I said earlier, I don't know if these are
"bugs" with interchange or the debian packages.  I also don't know if
the packages from sid (which has ic 4.8.3) have these issues fixed
already. 
-- 
 (__) Doug Alcorn (mailto:doug@lathi.net http://www.lathi.net)
 oo / PGP 02B3 1E26 BCF2 9AAF 93F1  61D7 450C B264 3E63 D543
 |_/  If you're a capitalist and you have the best goods and they're
      free, you don't have to proselytize, you just have to wait.