The service file installed with this version tries to start "rpcbind -w -f" but this fails if rpcbind was built without warmstart support - which is the default. % systemctl status rpcbind.service ● rpcbind.service - RPC Bind Loaded: loaded (/lib/systemd/system/rpcbind.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sat 2018-03-10 21:44:13 GMT; 23s ago Docs: man:rpcbind(8) Process: 16948 ExecStart=/sbin/rpcbind $RPCBIND_OPTIONS -w -f (code=exited, status=1/FAILURE) Main PID: 16948 (code=exited, status=1/FAILURE) Mar 10 21:44:13 desiato systemd[1]: Starting RPC Bind... Mar 10 21:44:13 desiato rpcbind[16948]: usage: rpcbind [-adhilswf] Mar 10 21:44:13 desiato systemd[1]: rpcbind.service: Main process exited, code=exited, status=1/FAILURE Mar 10 21:44:13 desiato systemd[1]: rpcbind.service: Failed with result 'exit-code'. Mar 10 21:44:13 desiato systemd[1]: Failed to start RPC Bind. Rebuilding with USE=warmstart, or removing the -w option from the service file both result in a successful restart.
s/warmstart/warmstarts/
Adding this function to the ebuild fixes the issue: pkg_preinst() { use warmstarts || sed -i 's:ExecStart=/sbin/rpcbind $RPCBIND_OPTIONS -w -f:ExecStart=/sbin/rpcbind $RPCBIND_OPTIONS -f:' "${D}/lib/systemd/system/rpcbind.service" }
The contents of the function are a single line, Bugzilla helpfully wrapped them :(
Hello, I confirm the issue. The proposed solution look correct (I did not tested it) @Neil Bothwick: please submit a patch, if you want I may make one.
Created attachment 523562 [details, diff] fix rpcbind.service warmstart flags Hello, I made a patch to fix the issue. I tested it using epatch feature. I will submit the patch to the main stream of rpcbind. The patch add or remove the "-w" of the rpcbind.service file at configure phase according the the --enable/disable-warmstart flags. Best regards.
rpcbind-0.2.4-r3 is in the tree, but instead of using either of the solutions given here it brute forces the problem by forcing on the warmstarts flag if systemd is set.