[syslog-ng] Solaris 10 info

Roberto Nibali ratz at tac.ch
Thu Jun 2 08:15:32 CEST 2005


Hello,

Thanks for the excellent write-up.

> After playing around with syslog-ng on Solaris 10 today, here are some
> notes:
> * As mentioned from Kenneth G, libol / syslog-ng should compile fine on
> Solaris 10, just make
> sure  --enable-full-dynamic" in your configure for syslog-ng. 
> * You may also need to update your LD_LIBRARY_PATH and PATH  (/usr/sfw &
> /opt/sfw ? )
> * Service Management Facility ("svcs" "svcadm" "svccfg" commands)
> You can choose to run syslog-ng via the traditional /etc/init.d method
> on solaris 10 and then wrap that start
> and stop script with the solaris 10's smf facility, or  the other option
> is to do everything via the SMF facility. 
> I've attached two files to do the later.
>  
> The example files assume your syslog-ng.conf is ln /etc/syslog-ng/ ->
> /usr/local/etc/syslog-ng/
> and the binary is /usr/local/sbin/syslog-ng:
> 1) Compile and install libol, syslog-ng.
> 2) mkdir /usr/local/etc/syslog-ng; ln -s /usr/local/etc/syslog-ng
> /etc/syslog-ng

You don't really need the symlink, just submit the config file using --cfgfile
upon invocation of syslog-ng.

> 3) copy your syslog-ng.conf to /etc/syslog-ng/
> 4) cp svc.method.syslog-ng /lib/svc/method/syslog-ng
> 5) cp svc.manifest.syslog-ng.xml /var/svc/manifest/system/syslog-ng.xml
> 6) `svccfg import /var/svc/manifest/system/syslog-ng.xml`
> 
> Then to switch from standard syslog to syslog-ng:
> 1) svcadm disable system-log
> 2) svcadm enable syslog-ng
> 
> To revert back to solaris 10's default syslog, and have it running on
> reboot:
> 1) `svcadm disable syslog-ng`
> 2) `svccfg delete syslog-ng`
> 3) `svcadm enable system-log`

So why not make it a package then? You basically provided all the files and also
the knowledge needed to create a package. The addition to the hybrid Makefile
could be something along the lines of (schematically):

------------------------------------------------------------------
PKGDIR = /var/spool/pkg

package:        stamp_build
        @echo "\n\tYou can ignore the warnings from pkgmk\n"
        cd pkg; pkgmk -od ${PKGDIR}
        @pkgname=syslog-ng
        cd ${PKGDIR}; tar cf - $$pkgname | compress > $${pkgname}.tar.Z
        rm -rf $$pkgname

stamp_build:    configure
        cd distrib; make
        touch $@

config: configure
configure:
        cd distrib; ./configure
        touch $@

clean:
        \rm -f stamp_*
        cd distrib; make distclean
------------------------------------------------------------------

In the pkg subdir of the syslog-ng tar ball we could put the following files:

##
## pkg/protoype
##
i postinstall
i preremove

!search ../misc ../distrib/ ../distrib/doc

d none /etc ? ? ?
d none /usr ? ? ?
d none /usr/local ? ? ?
d none /usr/local/sbin ? ? ?
d none /usr/share ? ? ?
d none /usr/share/man ? ? ?
# [a lot more entries]


!default 0755 sbin sbin
f none /usr/local/sbin/syslog-ng
# [a lot more entries]


------------

##
## pkg/preremove
##
#!/bin/sh

echo "Warning: syslog-ng will be removed"
# here a kill of the syslog-ng process should be placed
svcadm enable system-log

------------

##
## pkg/postinstall
##
# provided we have cp svc.method.syslog-ng in /lib/svc/method/syslog-ng
# and svc.manifest.syslog-ng.xml in /var/svc/manifest/system/syslog-ng.xml
svccfg import /var/svc/manifest/system/syslog-ng.xml
svcadm disable system-log
svcadm enable syslog-ng

So syslog-ng would be a hybrid package.

Best regards,
Roberto Nibali, ratz
-- 
-------------------------------------------------------------
addr://Rathausgasse 31, CH-5001 Aarau  tel://++41 62 823 9355
http://www.terreactive.com             fax://++41 62 823 9356
-------------------------------------------------------------
terreActive AG                       Wir sichern Ihren Erfolg
-------------------------------------------------------------


More information about the syslog-ng mailing list