Created attachment 400942 [details] ebuild for Keepass 2.28 that states x11-misc/xdotool is an optional dependency I emerged Keepass 2.28 and read that x11/xdotool is an "optional dependency" for a feature that is not optional (Auto-Type). This seems kind of unnecessary since anybody who tries to use the not-optional Auto-Type feature will need to manually install the package. If the Auto-Type feature can't be disabled through a USE flag, x11-misc/xdotool should be marked as a dependency.
It's runtime optional - if xdo tool is installed, autotype is available, if it's not it's not. Upstream also alludes to this: http://keepass.info/help/v2/setup.html#mono.
(In reply to Michael Palimaka (kensington) from comment #1) > It's runtime optional - if xdo tool is installed, autotype is available, if > it's not it's not. Upstream also alludes to this: > http://keepass.info/help/v2/setup.html#mono. an optional dep generally beckons use of a use flag to set the option, however then you run into the guide set in the manual to not set use runtime options in RDEPEND unless another condition is set. It's a guide rather than a hard set rule. Either way, the assigned proxy maintainer has not replied.
While writing the ebuild I already had this discussion on #gentoo-sunrise. I've been told not to introduce new USE flags for optional dependencies but just add a notice in the elog message: [Wednesday 04 July 2012] [20:19:31] <hasufell> autotype is an invalid useflag atm, cause it just pulls in a dependency [Wednesday 04 July 2012] [20:19:41] <hasufell> optional runtime dependencies go into "elog" in pkg_postinst [Wednesday 04 July 2012] [20:19:49] <hasufell> until mgorny implements his glep... [Wednesday 04 July 2012] [20:23:23] <hasufell> something like this http://dpaste.com/767406/ [Wednesday 04 July 2012] [20:24:44] <hasufell> given that there are proper headers in the patch files now... I don't know what was the glep hasufell was referring to. It's optional in the sense that if you don't have xdotool it autotype won't work (but the autotype is not disabled IIRC, it won't simply work). I live without autotype 99% of the time thanks to KeePassHttp, but sometimes it is useful. I don't have strong opinions on this matter. Sometimes people don't read elog and xdotool is not a giant dependency. I'd go for an autotype USE flag enabled by default, but the "validity" of such a thing is not clear to me currently.
wow 04 July 2012 < I don't know what was the glep hasufell was referring to. > Same here. But really but just add a notice in the elog message: will cover the issue here. readme.gentoo.eclass is an alternate way to add a msg to user, but it goes into the DOCS data under /usr/share/doc/. A use flag will work but it 'carries baggage'.
(In reply to Ian Delaney from comment #2) > (In reply to Michael Palimaka (kensington) from comment #1) > > It's runtime optional - if xdo tool is installed, autotype is available, if > > it's not it's not. Upstream also alludes to this: > > http://keepass.info/help/v2/setup.html#mono. > > an optional dep generally beckons use of a use flag to set the option, > however then you run into the guide set in the manual to not set use runtime > options in RDEPEND unless another condition is set. It's a guide rather > than a hard set rule. Either way, the assigned proxy maintainer has not > replied. Whether we like it or not USE flags for optional runtime-only dependencies are banned.
(In reply to Alessandro Di Federico from comment #3) > I don't know what was the glep hasufell was referring to. There's been proposals to implement proper support for optional runtime-only dependencies (eg. some sort of USE flag that can be toggled without requiring the package to be rebuilt), but unfortunately nothing much came of it yet. > I don't have strong opinions on this matter. Sometimes people don't read > elog and xdotool is not a giant dependency. I'd go for an autotype USE flag > enabled by default, but the "validity" of such a thing is not clear to me > currently. I prefer the USE flag too, but since we're not allowed to do that I have no strong opinion about pulling in xdotool unconditionally or not.
(In reply to Ian Delaney from comment #4) > wow 04 July 2012 > < I don't know what was the glep hasufell was referring to. > > Same here. > But really but just add a notice in the elog message: will cover the issue > here. > readme.gentoo.eclass is an alternate way to add a msg to user, but it goes > into the DOCS data under /usr/share/doc/. A use flag will work but it > 'carries baggage'. elog is already in place.
I'd just keep things as they are.(In reply to Michael Palimaka (kensington) from comment #7) > elog is already in place. I'd just keep things as they are.
(In reply to Michael Palimaka (kensington) from comment #5) > Whether we like it or not USE flags for optional runtime-only dependencies are > banned. comment #6 > I prefer the USE flag too, but since we're not allowed to do that I have no > strong opinion about pulling in xdotool unconditionally or not. Essentially we have agreement here, however from this topic coming under discussion in irc, my understanding is that is is strongly discouraged rather than banned. My understanding is that 1. It has already been discussed to death only to yield 2. < but unfortunately nothing much came of it yet 3. Defiance to the ban in reality has been openly flaunted in a number of ebuilds easily found by a grep of the 'tree'. (They are mostly old or their use was initially set long ago) Their proliferation makes me decide there is no need to cite any here. 4. While I personally attempt to adhere to this rule, I resent no. 2. because it s a sledge hammer, a rule generalised to any scenario when the evidence suggests it is valid in only a few. That said, in this bug it is a white elephant, and > elog is already in place.