Package: wsdd2
Version: 1.8.7+dfsg-1.2
Severity: serious
Justification: package is non-functional in most typical scenario

I'm experiencing this problem on Debian Trixie and hope it can be addressed in 
a point release.

I stumbled on this situation trying to see how gvfs's WSD support would work. 
(I think gvfs-backends has a missing dependency because it wants to invoke some 
version of wsdd for help, and its Recommends: wsdd is no longer satisfiable; 
I'll investigate that on my own.) I thought I'd try the obvious thing and 
install the wsdd2 package, but at installation time it fails to start the 
service:

Setting up wsdd2 (1.8.7+dfsg-1.2) ...
Created symlink '/etc/systemd/system/multi-user.target.wants/wsdd2.service' → 
'/usr/lib/systemd/system/wsdd2.service'.
Failed to start wsdd2.service: Unit smbd.service not found.
Could not execute systemctl:  at /usr/bin/deb-systemd-invoke line 148.

This is not just a fluke: wsdd2.service indeed has
[Unit]
Description=WSD/LLMNR Discovery/Name Service Daemon
BindsTo=smbd.service
After=smbd.service
PartOf=smbd.service

but there is indeed no package providing smbd.service installed yet, nor was it 
ever suggested. The ksmbd-tools package that was pulled in indeed has a 
ksmbd.service unit in it, but that's not the same and it's not obvious whether 
that service should be sufficient (I am unfamiliar with Samba stuff). From 
https://packages.debian.org/search?suite=trixie&mode=exactfilename&searchon=contents&keywords=smbd.service
 one finds the only package providing smbd.service is the full-blown 'samba' 
package.

So why isn't this pulled in? It's not obvious that this would be the right 
thing to do; the samba package's description says
> This package provides the components necessary to use Samba as a stand-alone 
> file and print server or as an NT4 domain controller.
> This package is not required for connecting to existing SMB/CIFS servers (see 
> smbclient) or for mounting remote filesystems (see cifs-utils).

Indeed, installing a Samba *server* would be heavy-handed for accessing a 
remote system, but if the dependency in wsdd2's unit file is correct, then the 
samba package should be getting installed as a hard Depends. The dependency 
string for the wsdd2 binary package shows why this never happened:
 $ dpkg-query -f '${Depends}\n' -W wsdd2
 ksmbd-tools | samba, libc6 (>= 2.38)

Because I had neither ksmbd-tools nor samba installed, APT chose the 
seemingly-preferred ksmbd-tools, which is very unfortunate in this instance as 
the samba package seems to be needed in any case. Thus I consider this a 
release-critical issue: wsdd2 seems intended to serve clients as a way to 
discover and connect to Web Services on Devices. The intended users are 
unlikely to have the samba package already installed, but this is the only way 
the systemd unit will be permitted to start.
If I simulate installing the samba package, then ksmbd-tools is removed as the 
latter has an explicit Conflicts on the former. This hints that they have 
overlapping functionality and ksmbd-tools (and ksmbd.service) may be adequate. 
Research is needed to see if wsdd2's unit file can be adapted to permit 
ksmbd.service without loss of functionality.



-- System Information:
Debian Release: 13.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.48+deb13-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages wsdd2 depends on:
ii  ksmbd-tools  3.5.3-1
ii  libc6        2.41-12

wsdd2 recommends no packages.

wsdd2 suggests no packages.

-- no debconf information

Attachment: signature.asc
Description: This is a digitally signed message part

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to