Created attachment 434376 [details] Ebuild Hi! The new version of Prelude has been released : 3.0.0, see https://www.prelude-siem.org Please find attached libprelude-3.0.0.ebuild and 6 patches. Libprelude is a library that guarantees secure connections between all sensors and the Prelude Manager. Libprelude provides an Application Programming Interface (API) for the communication with Prelude sub-systems, it supplies the necessary functionality for generating and emitting IDMEF events with Prelude and automates the saving and re-transmission of data in times of temporary interruption of one of the components of the system. I suggest dev-libs/libprelude, like before. I also have other prelude packages : libpreludedb, prelude-manager, prelude-lml, prelude-lml-rules, prelude-correlator, prewikka. Should I post them in this bug or I have to create a bug for each package ? Regards ToToL
Created attachment 434378 [details] metadata
Created attachment 434380 [details, diff] Patch 1 : Fix ruby paths
Created attachment 434382 [details, diff] Patch 2 : Update SWIG for Python, Fix using Python 3.5
Created attachment 434384 [details, diff] Patch 3 : Update SWIG for Ruby, Fix using Ruby 2.1
Created attachment 434386 [details, diff] Patch 4 : Fix perl binding do not handle LDFLAGS
Created attachment 434388 [details, diff] Patch 5 : Fix GCC compilation
Created attachment 434390 [details, diff] Patch 6 : Fix manpage generation
Thank you for providing the ebuilds. Would you be interested in taking care of the ebuild if you get some help?
Yes, I'm interested in taking care of the ebuild I'm also interested in taking care of the ebuild that I will post for the other prelude modules if this one is accepted.
Hi and thank you for your contribution. I've reviewed your ebuild and it looks fine for the most parts. There are only two cosmetic errors as far as I can tell: 1) > src_prepare() { > epatch \ > "${FILESDIR}/001-ruby-m4.patch" \ > "${FILESDIR}/002-python_swig.patch" \ > "${FILESDIR}/003-ruby_swig.patch" \ > "${FILESDIR}/004-perl-hardening.patch" \ > "${FILESDIR}/005-gcc4.6.patch" \ > "${FILESDIR}/006-manpage.patch" Please move all those patches in an array above the src_prepare() function like so: PATCHES=( "${FILESDIR}/001-ruby-m4.patch" ... etc ... ) then in src_prepare(), replace remove all those paths and call the array instead: src_prepare() { epatch "${PATCHES[@]}" .. } 2) > mv "${WORKDIR}/${PF}/configure.in" "${WORKDIR}/${PF}/configure.ac" There's a missing die here. Please add it. Also, we need you to provide a build log to make sure your ebuild does indeed compile. Thanks!
Created attachment 434798 [details] Ebuild Update with Patrice Clement review
Created attachment 434800 [details] Build log
1. IUSE="doc lua python python3 ruby perl" The flags python python3 can go. To designate python versions, you use a python eclass and set via PYTHON_COMPAT var. See gentoo's decs re the python eclasses in the wiki, there are a number of them. The other flags have been used in the usual fashion and the ebuild buolds and installs the package. to ../image. Something like perl I'd be inclined to just hard coded as a dep without making it require the use flag, still you call. 2. The patches: a) Any patch added to an ebuild requires qualification. Where did it come from, why is it required, is it healing a gentooism or is it apt to be applied generically by upstream. These patches clearly address issues with both gcc and the scripting languages. b) Any such patch requires submission t upstream for their consideration to incorporate into the packages source itself, unless it is not addressing an issue that is generic. Any patch would require either commentary in the ebuild itself, or explanatory text / intro in the opening lines of the patch itself. Look at other such patches in portage, and you will find that the 'patch' cmd tolerates introductory text until it 'hits' the lined with '---' '+++'. c) Gentoo has naming conventions. These have been named to suit numerical order and nothing more. e.g. 006-manpage.patch might be libprelude-3-manpage.patch. Loose 'algorithm'; ${PN}-${PV}-sane-name.patch 3. You have IUSE doc, you have code to build the docs. Do you require a separate set of code to install them if DIC set. I have not checked that first hand. Generally a doc build requires a build in src_compile and separate cmd sequence to install them. 4. The DEPEND="${RDEPEND} This says all deps of RDEPEND (without and use flags set) are required to just build the package. This implicates dev-libs/libgcrypt: && net-libs/gnutls, both of which I do not wish to unmerge from my system to test. Generally, the build deps vs. runtime deps can be listed and distinguished in the notes in the source package, just not always. The litmus test is to unmerge on or both of these and try build the package. improvise/dev-libs/libprelude $ ebuild libprelude-3.0.0.ebuild clean install is expected to build without them. I suggest you join the channel listed in this link for further support. https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
Created attachment 440122 [details] metadata
Created attachment 440124 [details] Ebuild
Created attachment 440126 [details] Fix perl binding do not handle LDFLAGS
Created attachment 440128 [details, diff] Fix perl binding do not handle LDFLAGS
Created attachment 440130 [details] Update SWIG for Python, Fix using Python 3.5
Created attachment 440132 [details, diff] Update SWIG for Ruby, Fix using Ruby 2.1
Created attachment 440138 [details, diff] Update SWIG for Python, Fix using Python 3.5
Created attachment 440146 [details, diff] Fix ruby paths
Created attachment 440164 [details] Build log
Created attachment 440262 [details] Build log
Created attachment 440264 [details] Ebuild
Created attachment 440266 [details] metadata
I just update all files and take care of Ian Delaney review and irc help. Can someone do a review ?
(In reply to Thomas ANDREJAK from comment #26) > I just update all files and take care of Ian Delaney review and irc help. > Can someone do a review ? Hi, I couldn't do a thorough review but this is what I have so far: - the license should be GPL-2+, '+' meaning later versions. - missing build time dependency on pkgconfig. - there's a AC_PROG_YACC macro in configure.in. probably missing dependency on yacc. - this package is installing unnecessary .la files. you can use 'prune_libtool_files' from eutils eclass to remove them in src_install(). - stylistically, please use a single indent level in deps. - it may be better to consider using EAPI 6. the changes required are fairly minimal.
Created attachment 440532 [details] Build log
Created attachment 440534 [details] Ebuild
Thanks for the review, I just update the ebuild and buildlog with your comments. How it is now ?
Created attachment 440822 [details, diff] Enable configure to support --with-ruby
Created attachment 440824 [details] Ebuild
Created attachment 440826 [details] Build log
Created attachment 440832 [details] Build log
Created attachment 440834 [details] Ebuild
Thomas, thank you very much for your contribution. Given the sheer size of it (your contribution), may I suggest forking the Gentoo git repository on Github and sending a pull request? It will allow for a smoother review and quicker inclusion in the tree. Also, we tend to rely heavily on Github these days for merging patches and accepting contributions from users. Our repository sits here: https://github.com/gentoo/gentoo/. The process of making a PR is laid out in the following document: https://wiki.gentoo.org/wiki/Gentoo_Github. Do read it and ask us questions if you're lost. Cheers.
'dev-libs/libgcrypt:*' looks strange. Are you sure it's not 'dev-libs/libgcrypt:0=' ? Apart from that it looks good. We will have to do something about the swig patch as it's too large to host in files/. We shouldn't use this bug for other packages that depend on libprelude. You can create separate bugs for each package, or, use Github if you wish as Patrice suggested.
I just push a PR : https://github.com/gentoo/gentoo/pull/1905
Merged in https://github.com/gentoo/gentoo/compare/9569771...12bb330. Closing.