Dnia 2010-09-08, o godz. 18:52:13 Andrey Borzenkov <arvidjaar@xxxxxxx> napisał(a): > Thomas pointed out that default module path may not be correct > (Mandriva installs modules under architecture dependent path). > Unfortunately rsyslog does not seem to offer any way to query for > default configuration values. Here is rather hack - try to load > non-existing module and fetch path from error message. > > Example of error message from version 4.6.4: > > rsyslogd: could not load module '/lib64/rsyslog/_No_sUcH_MOduLe.so', > dlopen: /lib64/rsyslog/_No_sUcH_MOduLe.so: cannot open shared object > file: No such file or directory > > Signed-off-by: Andrey Borzenkov <arvidjaar@xxxxxxx> > > --- > > modules.d/98syslog/install | 17 ++++++++++++++++- > 1 files changed, 16 insertions(+), 1 deletions(-) > > diff --git a/modules.d/98syslog/install b/modules.d/98syslog/install > index 1fd1b6f..e3d02bf 100755 > --- a/modules.d/98syslog/install > +++ b/modules.d/98syslog/install > @@ -1,6 +1,21 @@ > #!/bin/sh > if type -P rsyslogd >/dev/null; then > - > installs="rsyslogd /lib/rsyslog/lmnet.so /lib/rsyslog/imklog.so /lib/rsyslog/imuxsock.so" > + # module path can be changed during build and currently > rsyslog > + # does not provide any means to query for it. Use hack - try > to > + # load non-existent module and look at error message > + R_CONF=/tmp/dracut.rsyslog.conf.$$ > + R_ERR=/tmp/dracut.rsyslog.err.$$ > + R_MODDIR= > + echo '$ModLoad _No_sUcH_MOduLe' > $R_CONF > + if [ -s $R_CONF ]; then > + rsyslogd -N 1 -f $R_CONF 2> $R_ERR > /dev/null > + R_MODDIR=$(grep ' could not load > module .*_No_sUcH_MOduLe' $R_ERR) > + R_MODDIR=${R_MODDIR#*could not load module \'} > + R_MODDIR=${R_MODDIR%\', *} > + R_MODDIR=${R_MODDIR%/*} > + fi > + [ -n "$R_MODDIR" ] || R_MODDIR=/lib/rsyslog > + installs="rsyslogd $R_MODDIR/lmnet.so $R_MODDIR/imklog.so > $R_MODDIR/imuxsock.so" elif type -P syslogd >/dev/null; then > installs="syslogd" > elif type -P syslog-ng >/dev/null; then > > Indeed this patch is more precise than my simplified one ;) -- Regards TPG http://cia.vc/stats/author/tpg --- -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html