There is an updated pull request by amak79 against master on the void-packages repository https://github.com/amak79/void-packages sane https://github.com/void-linux/void-packages/pull/31851 sane: update to 1.0.32, add libcurl for escl backend, add runit service #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [ ] I generally don't use the affected packages but briefly tested this PR Changes * Update SANE to 1.0.32 * Make Avahi support optional * Add libcurl for eSCL (AirScan) backend when Avahi is enabled * Add `_saned` user/group * Add a runit service for `saned` There is an issue with the runit service when SANE is built with Avahi support. `saned` will spawn a second process (pid 1429) which can be seen below: ``` $ ps 1428 _saned _saned 0.0 0.0 16164 6088 ? S 18:57:06 00:00:00 saned -l -u _saned -d128 1429 _saned _saned 0.0 0.0 16164 548 ? S 18:57:06 00:00:00 saned -l -u _saned -d128 ``` ``` $ svlogtail 2021-07-08T08:57:06.35901 daemon.debug: Jul 8 18:57:06 saned[1428]: read_config: searching for config file 2021-07-08T08:57:06.35906 daemon.debug: Jul 8 18:57:06 saned[1428]: read_config: done reading config 2021-07-08T08:57:06.35909 daemon.debug: Jul 8 18:57:06 saned[1428]: saned (AF-indep+IPv6) from sane-backends 1.0.32 starting up 2021-07-08T08:57:06.35911 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: trying to get port for service "sane-port" (getaddrinfo) 2021-07-08T08:57:06.36066 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [1] socket () using IPv6 2021-07-08T08:57:06.36069 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [1] setsockopt () 2021-07-08T08:57:06.36066 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [1] socket () using IPv6 2021-07-08T08:57:06.36069 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [1] setsockopt () 2021-07-08T08:57:06.36070 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [1] bind () to port 6566 2021-07-08T08:57:06.36072 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [1] listen () 2021-07-08T08:57:06.36076 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [0] socket () using IPv4 2021-07-08T08:57:06.36077 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [0] setsockopt () 2021-07-08T08:57:06.36079 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [0] bind () to port 6566 2021-07-08T08:57:06.36080 daemon.debug: Jul 8 18:57:06 saned[1428]: do_bindings: [0] bind failed: Address already in use 2021-07-08T08:57:06.36083 daemon.debug: Jul 8 18:57:06 saned[1428]: Dropped privileges to uid 993 gid 990 2021-07-08T08:57:06.36084 daemon.debug: Jul 8 18:57:06 saned[1428]: run_standalone: spawning Avahi process 2021-07-08T08:57:06.36101 daemon.debug: Jul 8 18:57:06 saned[1428]: run_standalone: waiting for control connection 2021-07-08T08:57:06.36204 daemon.debug: Jul 8 18:57:06 saned[1429]: saned_avahi_callback: AVAHI_CLIENT_CONNECTING ``` The second process is related to Avahi functionality. `sv` will stop the main process (pid 1428) but the second process remains. This doesn’t occur when SANE is built without Avahi support. This is why I made Avahi support optional. I don't know how to properly fix this other than to have a `./finish` script clean up any lingering `saned` processes, but I’m not sure how safe that is. If there is no acceptable solution I can drop the runit service from this PR. A patch file from https://github.com/void-linux/void-packages/pull/31851.patch is attached