Red Hat Bugzilla – Bug 465157
port C dnssd backend from CUPS 1.4
Last modified: 2009-10-11 05:35:42 EDT
The dnssd backend is written in perl. It would be nice to put this backend in a -perl subpackage to make the perl dependency optional while still being able to use the other cups printing backends.
Is the dnssd backend still relevant? CUPS 1.3's cupsd.conf manpage mentions "Browse.*Protocols [All] [CUPS] [DNSSD] [LDAP] [SLP]" and cups-1.3.7-8.fc9.i386's cupsd is linked against the Avahi library. Does CUPS now have "native" Avahi / DNSSD support? Could the perl dnssd backend be removed?
I've been reading about this, but can't quite figure out what is supported. Some things I read seem to state that the DNSSD code is missing on platforms other than Apple, but those notes may be old. I found some documentation at  that may be newer. However, this documentation covers the web configuration tool and does not explicitly state what cupsd.conf options are being used.
For reference, I have a collection of notes about making Fedora's dependencies more fine-grained at .
The foomatic package also requires perl. See https://lists.linux-foundation.org/pipermail/printing-foomatic/2006/002354.html for a brief discussion about the feasibility of rewriting foomatic without perl.
See also bug #466068, RFE: Migrate to C foomatic once feasible.
(In reply to comment #2)
> The foomatic package also requires perl.
I'm aware of foomatic requiring perl, but I also thought that cups could print to printers that supported PS without any drivers at all, or if the server side had the printer drivers so its possible that foomatic shouldn't necessarily been required (although it is needed by s-c-p but that's something I haven't tried to work out to see if printing works fine with cup and s-c-p but not foomatic).
(In reply to comment #1)
> Is the dnssd backend still relevant? CUPS 1.3's cupsd.conf manpage mentions
> "Browse.*Protocols [All] [CUPS] [DNSSD] [LDAP] [SLP]" and
> cups-1.3.7-8.fc9.i386's cupsd is linked against the Avahi library. Does CUPS
> now have "native" Avahi / DNSSD support? Could the perl dnssd backend be
No. CUPS advertises queues using DNS-SD, but does not discover them on its own in 1.3.x.
It looks like the DNS-SD backend has been re-written in C for cups 1.4
Yes, indeed, although it uses the libdns_sd compatibility API so I'm not sure if it actually works.
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.
More information and reason for this action is here:
With 1.4 in F11 and it not having perl DNS-SD I'm not sure that it will be backported to 1.3 so I'm not sure this bug needs to remain open. Tim, do you want it left open for any reason?
Yes. DNS-SD support was taken out from Fedora 10 and I'd like to add it back in. I do still hope to get to it.
Ah. Cool. OK :)
OK, it really looks like I'm not going to have time to do this.
Resolved in CUPS 1.4.
> rpm -q cups
> file /usr/lib/cups/backend/dnssd
/usr/lib/cups/backend/dnssd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped