.keep
file in the given directory so that it isn't auto-cleaned. Never create a .keep
file yourself. If Portage changes how keepdir
works, then creating the file yourself will break the package.*On 11/09/2017 11:08 PM, Damo Brisbane wrote:
> I've run up a couple of golang based ebuilds - for the fabio load
> balancer. My first run at it, not completely sure of any follow up
> process, mentor? other posting, overlap with existing work? Anyway,
> would appreciate the feedback.
Your $VERSION variable can probably be replaced with "${PV}" to save a line.
Your init script takes care of the permissions on /var/lib/fabio and
/var/log/fabio/fabio.log...
start_pre() {
checkpath -q -d -o ${FABIO_USER}:${FABIO_GROUP} ${FABIO_HOMEDIR}
checkpath -q -f -o ${FABIO_USER}:${FABIO_GROUP} ${FABIO_LOGFILE}
}
so the following in the ebuild might be redundant?
for x in /var/{lib,log}/${PN}; do
keepdir "${x}"
fowners fabio:fabio "${x}"
done
(warning: I have never understood what keepdir is supposed to
accomplish, so maybe I'm wrong here).
On the other hand, if you've created a dedicated user and group for the
daemon, I don't think there's much benefit to letting the end user
switch them via FABIO_USER and FABIO_GROUP (it just makes the
permissions harder to get right). That's a judgment call though.
Finally, if the stanza above *does* turn out to be redundant, then
there's another small improvement that can be made. Since the "fabio"
user and group are used nowhere else in the ebuild, you could create
them in pkg_preinst() instead of pkg_setup(). Doing that has one main
benefit -- namely that if the installation fails, the user and group
won't be created.
Overall, looks good.
For testing help, you'll probably have the best luck in #gentoo-user on
IRC. For ebuild reviews, we have a dedicated mailing list,
gentoo-devhelp@lists.gentoo.org and an associated IRC channel,
#gentoo-dev-help (yes, they're hyphenated differently...)