Hello, I compiled and quickly tested the latest git versions of syslog-ng 3.2 and 3.3. Here are some results: OS X: 3.2 compiles and runs fine once I remove "#define HAVE_ENVIRON 1" from the generated config.h No luck at all compiling 3.3 FreeBSD: tested only 3.3 by slightly editing the sysutils/syslog-ng port. As syslog-ng 3.3 dependencies were already on the machine, it was easy to generate a new tgz release: export LEX=/usr/local/bin/flex ./autogen.sh ./configure gmake dist I copied the resulting tgz to /usr/ports/distfiles, under a new name: syslog-ng_3.3.2.tar.gz and deleted /usr/ports/sysutils/syslog-ng/distinfo, as it contains checksum info for 3.3.1. The Makefile had to be modified only to reflect the version change to 3.3.2. "pkg-plist" also had to be fixed to follow up the change in line "lib/libsyslog-ng-3.3.1.so". The resulting syslog-ng binary worked fine for me with any configuration options set during "make config". The above tests were done on a FreeBSD 8.1 machine. I'll do a quick test on FreeBSD 9 (the current cvs version) later this afternoon, as the Makefile seems to have v9 related fixes: .if ${OSVERSION} >= 900007 @${REINPLACE_CMD} \ -e 's|utmp|utmpx|' -e 's|getutent|getutxent|' \ -e 's|ut_name|ut_user|' \ ${WRKSRC}/configure ${WRKSRC}/modules/afuser/afuser.c \ ${WRKSRC}/lib/utils.c ${WRKSRC}/lib/utils.h .endif Updating my ports tree right now... Linux: I tested 3.2 only with openSUSE 11.4, and it worked for me without any problems. The package is available in the openSUSE build service at https://build.opensuse.org/project/show?project=home%3Aczanik%3Asyslog-ng32 with sources and download links. I tested 3.3 on openSUSE 11.4 and factory (well, actually 12.1 RC2), and also compiled for 11.3 (but did not test the resulting packages). The packages are available in the openSUSE build service at https://build.opensuse.org/project/show?project=home%3Aczanik%3Asyslog-ng33 with sources and download links. Bye, -- Peter Czanik (CzP) <czanik@balabit.hu> BalaBit IT Security / syslog-ng upstream http://czanik.blogs.balabit.com/
Peter Czanik <czanik@balabit.hu> writes:
The above tests were done on a FreeBSD 8.1 machine. I'll do a quick test on FreeBSD 9 (the current cvs version) later this afternoon, as the Makefile seems to have v9 related fixes: .if ${OSVERSION} >= 900007 @${REINPLACE_CMD} \ -e 's|utmp|utmpx|' -e 's|getutent|getutxent|' \ -e 's|ut_name|ut_user|' \ ${WRKSRC}/configure ${WRKSRC}/modules/afuser/afuser.c \ ${WRKSRC}/lib/utils.c ${WRKSRC}/lib/utils.h .endif
Wouldn't it be better if we turned this into a proper patch, so we wouldn't need any patching at all? This kind of sed magic is... how can I put it gently? Horrible. I'll see if I can come up with anything better. -- |8]
On 11/05/2011 03:25 PM, Gergely Nagy wrote:
Peter Czanik <czanik@balabit.hu> writes:
The above tests were done on a FreeBSD 8.1 machine. I'll do a quick test on FreeBSD 9 (the current cvs version) later this afternoon, as the Makefile seems to have v9 related fixes: .if ${OSVERSION} >= 900007 @${REINPLACE_CMD} \ -e 's|utmp|utmpx|' -e 's|getutent|getutxent|' \ -e 's|ut_name|ut_user|' \ ${WRKSRC}/configure ${WRKSRC}/modules/afuser/afuser.c \ ${WRKSRC}/lib/utils.c ${WRKSRC}/lib/utils.h .endif Wouldn't it be better if we turned this into a proper patch, so we wouldn't need any patching at all?
This kind of sed magic is... how can I put it gently? Horrible. I'll see if I can come up with anything better. OK. There is nothing urgent. The above hack works, and 9.0 is not yet officially released. Let me know, if you have anything to test! Bye, CzP
-- Peter Czanik (CzP) <czanik@balabit.hu> BalaBit IT Security / syslog-ng upstream http://czanik.blogs.balabit.com/
Peter Czanik <czanik@balabit.hu> writes:
On 11/05/2011 03:25 PM, Gergely Nagy wrote:
Peter Czanik <czanik@balabit.hu> writes:
The above tests were done on a FreeBSD 8.1 machine. I'll do a quick test on FreeBSD 9 (the current cvs version) later this afternoon, as the Makefile seems to have v9 related fixes: .if ${OSVERSION} >= 900007 @${REINPLACE_CMD} \ -e 's|utmp|utmpx|' -e 's|getutent|getutxent|' \ -e 's|ut_name|ut_user|' \ ${WRKSRC}/configure ${WRKSRC}/modules/afuser/afuser.c \ ${WRKSRC}/lib/utils.c ${WRKSRC}/lib/utils.h .endif Wouldn't it be better if we turned this into a proper patch, so we wouldn't need any patching at all?
This kind of sed magic is... how can I put it gently? Horrible. I'll see if I can come up with anything better. OK. There is nothing urgent. The above hack works, and 9.0 is not yet officially released. Let me know, if you have anything to test!
Hrm. Had a look at it, and it's not trivial to support this properly. It's not hard, either, but non-trivial. As far as I see, FreeBSD does not have getutent() (or getutxent) - at least there's no manpage, and utmp(5) (on 8.2) doesn't mention getutent, either. So we'll end up using our own implementation (in lib/utils.c and lib/utils.h). Changing configure and afuser is easy: we do an AC_CHECK_HEADERS(utmpx.h), and add getutxent to AC_CHECK_FUNCS(). Then, if we have HAVE_UTMPX_H defined, we include <utmpx.h>, and use struct utmpx, otherwise we do the utmp stuff. The wrapper is the harder cookie. I would say, that the best would be to hide the utmp/utmpx stuff in a wrapper, so there's only one place we litter with ifdefs. This is fairly straightforward, but takes more time than I'm willing to spend on it. So to the end of my TODO list it went. If there's any FreeBSD user here on the list: this is an easy patch to make, and I'll happily help and/or review patches. ;) -- |8]
participants (2)
-
Gergely Nagy
-
Peter Czanik