Gergely Nagy <algernon@balabit.hu> writes:
A long long time ago, upstream and BalaBit's version of ivykis started to diverge, which - at the time - was necessary, but the intent always was to eventually get things upstream and merged, to allow syslog-ng to use upstream ivykis, as-is.
With the help of Lennert Buytenhek (ivykis upstream) and Balazs Scheidler, I present you the first work in progress patch set against syslog-ng that enables it to work with an unmodified ivykis!
And in an attempt to not spam the list with N+1 revisions of the same patch set, I'd like to direct the interested readers to my feature/3.4/ivykis/upstream[1] branch, which at the moment contains these changes: * "Do not link anything but libsyslog-ng against ivykis" As the summary implies, and discussed before, this makes it so that only libsyslog-ng is linked against ivykis, nothing else is. In addition to yesterday's set, this fixes the afsmtp module too, not only libsyslog-ng-crypto. (These two were the only SOs linked directly against ivykis, apart from libsyslog-ng) * "autogen.sh: Create configure.gnu ourselves in submodules" To make it easier to use upstream git repos as submodules, this changes the autogen.sh script to create configure.gnu itself. Exchanging our forked repos to upstream has never been easier! (This is something I hinted at yesterday, but didn't have time to do then) * "lib/: Use upstream ivykis" This is pretty much the same patch as the bulk of yesterday's set, except that in lib/control.c, there's an extra change that turns an iv_fd_register() into iv_fd_register_try(), as that part of the code relies on the fd registration being synchronous (the logreader/logwriter stuff does not, as far as I understand). Other than that, it's the same as yesterday: boring stuff outside of logreader.c, logwriter.c and control.c. * "ivykis: Use github:algernon/ivykis for the time being" This changes the git submodule to point to my fork of ivkis, which has one patch over upstream: the one that removes the old-handle-related aborts from iv_fd_set_handler_{in,out,err}. A pull request has been opened[2], that was the easiest for me. This patch should be dropped once the pull request is closed. [1]: https://github.com/algernon/syslog-ng/commits/feature/3.4/ivykis/upstream [2]: https://github.com/buytenh/ivykis/pull/2
Nevertheless! The good news still is, that we're *very* close to being able to build with upstream ivykis! A few issues to fix, and then comes the next part: going over all the changes that were made to the BalaBit fork of ivykis, and send everything upstream that has not been sent yet.
And with the patches above, I'm reasonably happy with the current state of things, so it's time to move to the next item on the agenda, and diff the BalaBit fork to upstream, clean stuff up, and send patches. That will not happen overnight however, but I'll try my best to get it done faster. In parallel to that, I'll resume packaging ivykis for Debian, and start building my own syslog-ng 3.3 debs[3] against it (the packages in Debian proper will continue using the embedded fork for now). [3]: http://asylum.madhouse-project.org/projects/debian/ -- |8]