Bug 465157

Summary: port C dnssd backend from CUPS 1.4
Product: [Fedora] Fedora Reporter: Peter Robinson <pbrobinson>
Component: cupsAssignee: Tim Waugh <twaugh>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 10CC: bnocera, mike, twaugh
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-14 15:20:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peter Robinson 2008-10-01 20:32:54 UTC
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.

/usr/lib/cups/backend/dnssd

Comment 1 W. Michael Petullo 2008-10-08 01:52:59 UTC
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 [1] 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 [2].

[1] http://blog.venthur.de/2007/08/17/howto-setup-a-print-server-for-windows-and-others-using-cups-and-zeroconf/

[2] http://www.flyn.org/fedoranano/fedoranano.html

Comment 2 W. Michael Petullo 2008-10-08 02:00:55 UTC
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.

Comment 3 W. Michael Petullo 2008-10-08 02:13:39 UTC
See also bug #466068, RFE: Migrate to C foomatic once feasible.

Comment 4 Peter Robinson 2008-10-08 08:04:06 UTC
(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).

Comment 5 Tim Waugh 2008-10-08 11:06:58 UTC
(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
> removed?

No.  CUPS advertises queues using DNS-SD, but does not discover them on its own in 1.3.x.

Comment 6 Peter Robinson 2008-11-20 11:44:59 UTC
It looks like the DNS-SD backend has been re-written in C for cups 1.4

Comment 7 Tim Waugh 2008-11-20 12:38:14 UTC
Yes, indeed, although it uses the libdns_sd compatibility API so I'm not sure if it actually works.

Comment 8 Bug Zapper 2008-11-26 03:25:48 UTC
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:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 9 Peter Robinson 2009-04-22 10:07:16 UTC
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?

Comment 10 Tim Waugh 2009-04-22 11:17:14 UTC
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.

Comment 11 Peter Robinson 2009-04-22 11:22:15 UTC
Ah. Cool. OK :)

Comment 12 Tim Waugh 2009-05-14 15:20:44 UTC
OK, it really looks like I'm not going to have time to do this.

Comment 13 W. Michael Petullo 2009-10-11 09:35:42 UTC
Resolved in CUPS 1.4.

> rpm -q cups
cups-1.4.1-5.fc12.x86_64
> 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