we have fcaps.eclass now. no need to implement the logic in the ebuild itself.
Could you guide me a bit about hot to migrate? The problem is that options are passed differently in both implementations... and I don't have much idea about caps :S -> current gnome-keyring implementation passes: fcaps {uid:gid} {file-mode} {cap1[,cap2,...]} {file} -> fcaps.eclass needs: [-o <owner>] [-g <group>] [-m <mode>] [-M <caps mode>] <capabilities> <file[s]> We currently run the following: fcaps 0:0 755 cap_ipc_lock "${EROOT}"/usr/bin/gnome-keyring-daemon I guess it should be converted to: fcaps -o 0 -g 0 -m 755 -M (???? no idea) cap_ipc_lock "${EROOT}"/usr/bin/gnome-keyring-daemon Thanks for your help
(In reply to comment #1) pretty sure you just want: pkg_postinst() { fcaps cap_ipc_lock usr/bin/gnome-keyring-daemon gnome2_pkg_postinst }
I have seen eclass relies on sys-libs/libcap while gnome-keyring is depending on sys-libs/libcap-ng, not sure if it will work ok :/
(In reply to comment #3) they don't block each other, and since many packages already depend on one or the other, i imagine most people already have both installed. we can file a bug to extend the eclass to support both, but i don't think it should block updating the gnome ebuild.
The problem is that looks like gnome-keyring relies on libcap-ng at runtime (as I can see in its configure and current RDEPEND value)
(In reply to comment #5) why does that matter ? the only change you need to make is the one i posted. you shouldn't modify anything else in the ebuild (other than deleting the fcaps func and inheriting the new eclass).
One last question: should filecaps USE flag be used also for compiling libcap-ng support instead of "caps" USE flag? Currently, fcaps is run when USE "caps" is set, relying on eclass would end it being run when USE="filecaps" is set. Not sure if that is expected (I mean, people having "caps" USE flag but not getting fcaps run because they don't have filecaps enabled)
(In reply to comment #7) no. USE=caps and USE=filecaps are orthogonal. the eclass defaults to +filecaps, so i wouldn't worry about that.
the libcap-ng filecaps command line interface is pretty crappy, but i've added support for it now: http://sources.gentoo.org/eclass/fcaps.eclass?r1=1.4&r2=1.5
+*gnome-keyring-3.8.1 (28 Apr 2013) + + 28 Apr 2013; Pacho Ramos <pacho@gentoo.org> +gnome-keyring-3.8.1.ebuild, + -gnome-keyring-3.6.2.ebuild: + Version bump, use fcaps.eclass (#454908 by SpanKY), fix dependencies (#467416 + by Tolga Dalman), drop unexisting configure options. Drop old +