[ic] overriding usertags

Mike Heins interchange-users@interchange.redhat.com
Wed Feb 6 15:02:01 2002


Quoting Jurgen Botz (jurgen@botz.org):
> I wanted to override the button.tag usertag by putting it in a subdir 
> under my catalog dir and having my catalog.cfg load all the usertags
> from this dir... this worked fine for the email.tag usertag... but 
> when I try to do it with button (at this point it's just a copy of
> /usr/lib/interchange/usertags/button.tag) it fails with the following
> in /var/log/interchange/error.log:
> 
> - - - [06/February/2002:11:27:45 -0800] - - UserTag 'button' subroutine failed 
> safe check: require trapped by operation mask at (eval 163) line 123, <CONFIG> 
> line 209.
> > 
> > In line 209 of the configuration file 'usertag/button.tag':
> > UserTag button Routine <<EOR
> > 
> - - - [06/February/2002:11:27:46 -0800] - - START server (5802) (INET and UNIX)
> 
> Any ideas why this wouldn't work?
> 
> The reason I want to do it this way is so that I can package my catalog
> separately from the interchange RPM and not have to modify the 
> Interchange RPM.

You have run into Safe. By default, a catalog usertag and other
routines cannot use all of Perl.

I suggest you do a "require UserTag button" in catalog.cfg and
let it stay global. There are ways around it (i.e. AllowGlobal),
but the cure is worse than the disease there. 

You can also do "include catalogs/*/globaltag" in interchange.cfg
if you want. I suggest that directory and the files in it be owned
by root, though, in a live system.

-- 
Red Hat, Inc., 3005 Nichols Rd., Hamilton, OH  45013
phone +1.513.523.7621      <mheins@redhat.com>

Experience is what allows you to recognize a mistake the second
time you make it. -- unknown