Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 583126 - dev-libs/libprelude-3.0.0.ebuild (New package)
Summary: dev-libs/libprelude-3.0.0.ebuild (New package)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Proxy Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-15 23:40 UTC by Thomas ANDREJAK
Modified: 2016-08-05 15:05 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Ebuild (libprelude-3.0.0.ebuild,1.34 KB, text/plain)
2016-05-15 23:40 UTC, Thomas ANDREJAK
Details
metadata (metadata.xml,836 bytes, text/xml)
2016-05-15 23:40 UTC, Thomas ANDREJAK
Details
Patch 1 : Fix ruby paths (001-ruby-m4.patch,1.34 KB, patch)
2016-05-15 23:41 UTC, Thomas ANDREJAK
Details | Diff
Patch 2 : Update SWIG for Python, Fix using Python 3.5 (002-python_swig.patch,58.33 KB, patch)
2016-05-15 23:42 UTC, Thomas ANDREJAK
Details | Diff
Patch 3 : Update SWIG for Ruby, Fix using Ruby 2.1 (003-ruby_swig.patch,1.21 KB, patch)
2016-05-15 23:42 UTC, Thomas ANDREJAK
Details | Diff
Patch 4 : Fix perl binding do not handle LDFLAGS (004-perl-hardening.patch,845 bytes, patch)
2016-05-15 23:44 UTC, Thomas ANDREJAK
Details | Diff
Patch 5 : Fix GCC compilation (005-gcc4.6.patch,395 bytes, patch)
2016-05-15 23:44 UTC, Thomas ANDREJAK
Details | Diff
Patch 6 : Fix manpage generation (006-manpage.patch,711 bytes, patch)
2016-05-15 23:45 UTC, Thomas ANDREJAK
Details | Diff
Ebuild (libprelude-3.0.0.ebuild,1.37 KB, text/plain)
2016-05-20 21:31 UTC, Thomas ANDREJAK
Details
Build log (dev-libs_libprelude-3.0.0_20160520-213107.log,245.67 KB, application/octet-stream)
2016-05-20 21:34 UTC, Thomas ANDREJAK
Details
metadata (Manifest,2.63 KB, text/plain)
2016-07-09 08:39 UTC, Thomas ANDREJAK
Details
Ebuild (libprelude-3.0.0.ebuild,1.38 KB, text/plain)
2016-07-09 08:39 UTC, Thomas ANDREJAK
Details
Fix perl binding do not handle LDFLAGS (libprelude-3.0.0-perl-hardening.patch,1.10 KB, text/plain)
2016-07-09 08:40 UTC, Thomas ANDREJAK
Details
Fix perl binding do not handle LDFLAGS (libprelude-3.0.0-perl-hardening.patch,1.10 KB, patch)
2016-07-09 08:40 UTC, Thomas ANDREJAK
Details | Diff
Update SWIG for Python, Fix using Python 3.5 (libprelude-3.0.0-python_swig.patch,58.55 KB, text/plain)
2016-07-09 08:41 UTC, Thomas ANDREJAK
Details
Update SWIG for Ruby, Fix using Ruby 2.1 (libprelude-3.0.0-ruby_swig.patch,1.43 KB, patch)
2016-07-09 08:41 UTC, Thomas ANDREJAK
Details | Diff
Update SWIG for Python, Fix using Python 3.5 (libprelude-3.0.0-python_swig.patch,58.55 KB, patch)
2016-07-09 08:42 UTC, Thomas ANDREJAK
Details | Diff
Fix ruby paths (libprelude-3.0.0-ruby-m4.patch,1.61 KB, patch)
2016-07-09 08:42 UTC, Thomas ANDREJAK
Details | Diff
Build log (dev-libs_libprelude-3.0.0_20160709-084459.log,245.88 KB, application/octet-stream)
2016-07-09 08:53 UTC, Thomas ANDREJAK
Details
Build log (dev-libs_libprelude-3.0.0_20160710-085014.log,245.88 KB, application/octet-stream)
2016-07-10 08:58 UTC, Thomas ANDREJAK
Details
Ebuild (libprelude-3.0.0.ebuild,1.43 KB, text/plain)
2016-07-10 08:58 UTC, Thomas ANDREJAK
Details
metadata (metadata.xml,740 bytes, text/xml)
2016-07-10 08:59 UTC, Thomas ANDREJAK
Details
Build log (dev-libs_libprelude-3.0.0_20160713-052324.log,246.11 KB, application/octet-stream)
2016-07-13 05:37 UTC, Thomas ANDREJAK
Details
Ebuild (libprelude-3.0.0.ebuild,1.48 KB, text/plain)
2016-07-13 05:37 UTC, Thomas ANDREJAK
Details
Enable configure to support --with-ruby (libprelude-3.0.0-ruby-configure.patch,967 bytes, patch)
2016-07-15 21:02 UTC, Thomas ANDREJAK
Details | Diff
Ebuild (libprelude-3.0.0.ebuild,1.54 KB, text/plain)
2016-07-15 21:03 UTC, Thomas ANDREJAK
Details
Build log (dev-libs_libprelude-3.0.0_20160715-210325.log,246.32 KB, application/octet-stream)
2016-07-15 21:08 UTC, Thomas ANDREJAK
Details
Build log (dev-libs_libprelude-3.0.0_20160715-214119.log,246.32 KB, application/octet-stream)
2016-07-15 21:49 UTC, Thomas ANDREJAK
Details
Ebuild (libprelude-3.0.0.ebuild,1.48 KB, text/plain)
2016-07-15 21:50 UTC, Thomas ANDREJAK
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas ANDREJAK 2016-05-15 23:40:04 UTC
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
Comment 1 Thomas ANDREJAK 2016-05-15 23:40:51 UTC
Created attachment 434378 [details]
metadata
Comment 2 Thomas ANDREJAK 2016-05-15 23:41:30 UTC
Created attachment 434380 [details, diff]
Patch 1 : Fix ruby paths
Comment 3 Thomas ANDREJAK 2016-05-15 23:42:06 UTC
Created attachment 434382 [details, diff]
Patch 2 : Update SWIG for Python, Fix using Python 3.5
Comment 4 Thomas ANDREJAK 2016-05-15 23:42:47 UTC
Created attachment 434384 [details, diff]
Patch 3 : Update SWIG for Ruby, Fix using Ruby 2.1
Comment 5 Thomas ANDREJAK 2016-05-15 23:44:30 UTC
Created attachment 434386 [details, diff]
Patch 4 : Fix perl binding do not handle LDFLAGS
Comment 6 Thomas ANDREJAK 2016-05-15 23:44:56 UTC
Created attachment 434388 [details, diff]
Patch 5 : Fix GCC compilation
Comment 7 Thomas ANDREJAK 2016-05-15 23:45:50 UTC
Created attachment 434390 [details, diff]
Patch 6 : Fix manpage generation
Comment 8 Jonas Stein gentoo-dev 2016-05-20 17:00:57 UTC
Thank you for providing the ebuilds.
Would you be interested in taking care of the ebuild if you get some help?
Comment 9 Thomas ANDREJAK 2016-05-20 17:17:14 UTC
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.
Comment 10 Patrice Clement gentoo-dev 2016-05-20 19:43:28 UTC
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!
Comment 11 Thomas ANDREJAK 2016-05-20 21:31:51 UTC
Created attachment 434798 [details]
Ebuild

Update with Patrice Clement review
Comment 12 Thomas ANDREJAK 2016-05-20 21:34:53 UTC
Created attachment 434800 [details]
Build log
Comment 13 Ian Delaney (RETIRED) gentoo-dev 2016-05-21 01:19:00 UTC
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
Comment 14 Thomas ANDREJAK 2016-07-09 08:39:26 UTC
Created attachment 440122 [details]
metadata
Comment 15 Thomas ANDREJAK 2016-07-09 08:39:51 UTC
Created attachment 440124 [details]
Ebuild
Comment 16 Thomas ANDREJAK 2016-07-09 08:40:29 UTC
Created attachment 440126 [details]
Fix perl binding do not handle LDFLAGS
Comment 17 Thomas ANDREJAK 2016-07-09 08:40:55 UTC
Created attachment 440128 [details, diff]
Fix perl binding do not handle LDFLAGS
Comment 18 Thomas ANDREJAK 2016-07-09 08:41:20 UTC
Created attachment 440130 [details]
Update SWIG for Python, Fix using Python 3.5
Comment 19 Thomas ANDREJAK 2016-07-09 08:41:49 UTC
Created attachment 440132 [details, diff]
Update SWIG for Ruby, Fix using Ruby 2.1
Comment 20 Thomas ANDREJAK 2016-07-09 08:42:10 UTC
Created attachment 440138 [details, diff]
Update SWIG for Python, Fix using Python 3.5
Comment 21 Thomas ANDREJAK 2016-07-09 08:42:37 UTC
Created attachment 440146 [details, diff]
Fix ruby paths
Comment 22 Thomas ANDREJAK 2016-07-09 08:53:20 UTC
Created attachment 440164 [details]
Build log
Comment 23 Thomas ANDREJAK 2016-07-10 08:58:03 UTC
Created attachment 440262 [details]
Build log
Comment 24 Thomas ANDREJAK 2016-07-10 08:58:28 UTC
Created attachment 440264 [details]
Ebuild
Comment 25 Thomas ANDREJAK 2016-07-10 08:59:06 UTC
Created attachment 440266 [details]
metadata
Comment 26 Thomas ANDREJAK 2016-07-10 09:00:33 UTC
I just update all files and take care of Ian Delaney review and irc help. Can someone do a review ?
Comment 27 Göktürk Yüksek archtester gentoo-dev 2016-07-13 04:33:07 UTC
(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.
Comment 28 Thomas ANDREJAK 2016-07-13 05:37:08 UTC
Created attachment 440532 [details]
Build log
Comment 29 Thomas ANDREJAK 2016-07-13 05:37:28 UTC
Created attachment 440534 [details]
Ebuild
Comment 30 Thomas ANDREJAK 2016-07-13 05:38:28 UTC
Thanks for the review, I just update the ebuild and buildlog with your comments. 

How it is now ?
Comment 31 Thomas ANDREJAK 2016-07-15 21:02:43 UTC
Created attachment 440822 [details, diff]
Enable configure to support --with-ruby
Comment 32 Thomas ANDREJAK 2016-07-15 21:03:07 UTC
Created attachment 440824 [details]
Ebuild
Comment 33 Thomas ANDREJAK 2016-07-15 21:08:56 UTC
Created attachment 440826 [details]
Build log
Comment 34 Thomas ANDREJAK 2016-07-15 21:49:42 UTC
Created attachment 440832 [details]
Build log
Comment 35 Thomas ANDREJAK 2016-07-15 21:50:15 UTC
Created attachment 440834 [details]
Ebuild
Comment 36 Patrice Clement gentoo-dev 2016-07-16 10:13:24 UTC
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.
Comment 37 Göktürk Yüksek archtester gentoo-dev 2016-07-17 02:44:10 UTC
'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.
Comment 38 Thomas ANDREJAK 2016-07-17 13:31:50 UTC
I just push a PR : https://github.com/gentoo/gentoo/pull/1905
Comment 39 Göktürk Yüksek archtester gentoo-dev 2016-08-05 15:05:22 UTC
Merged in https://github.com/gentoo/gentoo/compare/9569771...12bb330. Closing.