On 2023/10/26 19:54, Klemens Nanni wrote: > Recycle an old ID from 2016 as new "_dictd".
If we're recycling, I think I'd prefer to start with oldest first. $ cvs blame user.list|grep '#' | sort -n | head Annotations for user.list *************** 1.151 (fgsch 10-Mar-11): #639 _polkituser _polkituser sysutils/policykit 1.182 (robert 19-Feb-12): #593 _nginx _nginx www/nginx 1.183 (ajacouto 19-Feb-12): #630 _avahi-autoipd _avahi-autoipd net/avahi 1.195 (fgsch 15-Sep-12): #597 _kqemu emulators/kqemu 1.251 (ajacouto 17-Jul-15): #576 _apache2 _apache2 www/apache-httpd 1.278 (sthen 06-Jul-16): #522 _xcept _xcept comms/xcept 1.278 (sthen 06-Jul-16): #524 _mail mail/openwebmail 1.278 (sthen 06-Jul-16): #589 _sdpd _sdpd net/bluetooth-tools 1.278 (sthen 06-Jul-16): #596 _heartbeat _heartbeat sysutils/heartbeat 1.278 (sthen 06-Jul-16): #600 _ntlmaps _ntlmaps www/ntlmaps > Provide an rc script so I can 'rcctl enable dictd' instead of running > it as my own user. This way we can make the service listen on localhost > instead of the wildcard address by default, which I consider a saner > default. > > It won't start until you provide /etc/dictd.conf, but that's fine. An rc script seems useful in general, but I think there's a bit more to be done before this one really adds much benefit. If you just install the package and start the daemon, it looks like it starts: # rcctl start dictd dictd(ok) but doesn't really, so that's a bit confusing: # rcctl check dictd dictd(failed) in this case it's obviously due to the missing config file, which could be checked for in the script, but it also does the same with an invalid config file. > The port ships a manual and examples. The examples are not at all useful for the dictionaries provided in packages, and with neither an @sample'd config file which the user can easily find, nor a pkg-readme explaining things, it's quite a bit more difficult to get started than I'd usually expect for something with an rc script. There are also a lot of example files to wade through before discovering that they're not really useful. Would be nice to provide a file which can be used directly for @sample that does something useful with what's available in packages. (not related to the diff, but noticed while reviewing - some files aren't useful with the port as built anyway - dictd_popen.conf.in and dictd_plugin_dbi.conf could be @comment'ed - dict1.conf is in the server PLIST but it's actually a client config file). > +# for dictd.rc pexp > +V_REGEX= ${V:S/./\./g} > +SUBST_VARS= V_REGEX ... > +pexp="${daemon##*/} ${V_REGEX}: [0-9]+/[0-9]+" $ pgrep -lf dictd 38602 dictd 1.13.1: 1/1 seems complex - any particular reason why this is better than a simpler alternative like pexp='^dictd .*' ? I suppose at least having a process string like this gives a good indication that it's basically 90's software ;)