[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cups
Subject:    Re: [cups.general] Bonjour publishing from Linux
From:       Cedric King <cedbobking () yahoo ! com>
Date:       2011-12-30 6:26:00
Message-ID: 40623-cups.general () news ! easysw ! com
[Download RAW message or body]

> We have netatalk/avahi file servers based on CentOS 5.7 and 6.1 which work great. \
> The next goal is to have them auto-magically share out printers to Snow Leopard and \
> Lion clients. I've done a great deal of Googling but cannot get it to work. \
> Basically we'd like it to work as if they were shared off a Mac: from the client \
> machine System Preferences > Print & Fax > Add Printer > Default where all the \
> Bonjour printers seem to show up. 
> Since CentOS still runs cups-1.3.x, I have used rpmbuild to create cups-1.4.8 and \
> cups-1.5.0 x86_64 rpms from the sources from cups.org/software.php that seem to \
> install and work just fine for printing from the local system. However when I go to \
> administer them I cannot get dnssd to show as an share printers protocol in \
> http://localhost:631/admin despite what I put in cupsd.conf. I also do not see \
> dnssd in /usr/lib/cups/backend/ 
> Does CUPS work with Avahi? Is there another Bonjour server that we could install in \
> CentOS that would work? 
> If someone could point me in a useful direction, I would greatly appreciate it.
> 
> Thanks,
> 
> Cedric
> 

Okay, I used avahi-discover to copy the info from a shared printer on a Snow Leopard \
system to create my avahi service file. Another OS X system picked it up from Avahi \
just fine, but failed to print until I changed the path in the CUPS from \
ipp://path/to/printer:631 to http://path/to/printer:631. Then it works great, but not \
quite automagic.

Again I go back to CUPS Admin on the Mac printer share and see that there is a \
checked option for "DNS-SD" that I can't get on the Linux system.

I start digging through the sources and find reference to dns_sd libraries and find a \
package in YUM called avahi-compat-libdns_sd-devel and install it. But it still \
compiles without the DNS-SD option.

So I think that my fundamental problem is that CUPS is building without dns-sd on my \
CentOS 5.7 x86_64 system for some reason. Can anyone provide advice on how to get \
that feature included in the rpm from rpmbuild?

Thanks,

Cedric

Pertinent details below.

[root@cupsdev ~]# grep -A 31 able_dnssd \
/usr/src/redhat/BUILD/cups-1.5.0/config-scripts/cups-dnssd.m4 if test x$enable_dnssd \
!= xno; then  AC_CHECK_HEADER(dns_sd.h, [
                case "$uname" in
                        Darwin*)
                                # Darwin and MacOS X...
                                AC_DEFINE(HAVE_DNSSD)
                                AC_DEFINE(HAVE_COREFOUNDATION)
                                AC_DEFINE(HAVE_SYSTEMCONFIGURATION)
                                DNSSDLIBS="-framework CoreFoundation -framework \
SystemConfiguration"  DNSSD_BACKEND="dnssd"
                                ;;
                        *)
                                # All others...
                                AC_MSG_CHECKING(for current version of dns_sd \
library)  SAVELIBS="$LIBS"
                                LIBS="$LIBS -ldns_sd"
                                AC_TRY_COMPILE([#include <dns_sd.h>],
                                        [int constant = \
kDNSServiceFlagsShareConnection;  unsigned char txtRecord[100];
                                        uint8_t valueLen;
                                        TXTRecordGetValuePtr(sizeof(txtRecord),
                                            txtRecord, "value", &valueLen);],
                                        AC_MSG_RESULT(yes)
                                        AC_DEFINE(HAVE_DNSSD)
                                        DNSSDLIBS="-ldns_sd"
                                        DNSSD_BACKEND="dnssd",
                                        AC_MSG_RESULT(no))
                                LIBS="$SAVELIBS"
                                ;;
                esac
        ])
fi
[root@cupsdev ~]# rpm -q --fileprovide avahi-compat-libdns_sd-devel.x86_64
/usr/include/avahi-compat-libdns_sd
/usr/include/avahi-compat-libdns_sd/dns_sd.h
/usr/include/dns_sd.h
/usr/lib64/libdns_sd.so
/usr/lib64/pkgconfig/avahi-compat-libdns_sd.pc
/usr/lib64/pkgconfig/libdns_sd.pc
[root@cupsdev ~]#


_______________________________________________
cups mailing list
cups@easysw.com
http://lists.easysw.com/mailman/listinfo/cups


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic