Activity log for bug #1082519

Date Who What changed Old value New value Message
2012-11-23 21:26:11 Till Kamppeter bug added bug
2012-11-23 21:26:19 Till Kamppeter gtk+3.0 (Ubuntu): importance Undecided High
2012-11-23 21:26:38 Till Kamppeter bug watch added https://bugzilla.gnome.org/show_bug.cgi?id=688956
2012-11-23 21:26:38 Till Kamppeter bug task added gtk
2012-11-23 21:27:21 Till Kamppeter bug task added gtk+2.0 (Ubuntu)
2012-11-23 21:27:29 Till Kamppeter gtk+2.0 (Ubuntu): importance Undecided High
2012-11-23 21:27:57 Till Kamppeter summary Print dialog needs to support Bonjour broadcasting of remote printers GTK Print dialog needs to support Bonjour broadcasting of remote printers
2012-11-23 21:31:58 Till Kamppeter description CUPS upstream dropped the CUPS broadcasting/browsing mechanism to automatically discover shared remote printers beginning from 1.6.x. Replacement is Bonjour-based broadcasting odf the shared printers by CUPS and on the client side the application's print dialogs are responsible for browsing these broadcasts and listing the remote printers appropriately. CUPS even provides a library function for that now. See https://blueprints.launchpad.net/ubuntu/+spec/desktop-r-cups-bonjour-browsing I wrote there: ---------- The CUPS Browsing/Broadcasting mechanism which made print queues shared on remote CUPS servers automatically visible for the local CUPS daemon and so for local applications got dropped upstream from CUPS 1.6.x on. Ubpstream has replaced this functionality by Bonjour-based broadcasting (under Linux implemented via Avahi), an OS-indpendent PWG (Printing Working Group) standard, but this lacks the implementation of browsing on the client side making the printers on remote CUPS servers not automatically appearing any more. Ubuntu Quantal's CUPS has a mega patch to forward-port this functionality from the old CUPS for one cycle, to avoid regressions. We cannot carry such a patch eternally, and we should follow upstream and the PWG standards. So in Ubuntu Raring we need the real solution which means that the print dialogs (upstream-recommended solution) or the CUPS daemon (how I like to have it) takes the new Bonjour (Avahi) broadcasts to display the shared remote CUPS queues automatically. The browsing functionality is implemented in the CUPS library (libcups) from CUPS 1.6.x on, but there is currently no production code using these functions. Upstream expects the print dialogs to use the new library functions for displaying the new queues. This would require modifications and upstream submissions for GTK, Qt, and LibreOffice at least and this does not safely cover all existing applications which have CUPS-aware print dialogs and therefore listed the remote queues before. Especially printing from the command line would not be covered. The better approach would be modifying the CUPS daemon so that it uses the new library function to find the remote queues and advertize them like its own local queues. Where the CUPS daemon needs to be patched for that we could probably derive from Quantal's CUPS Broadcasting/Browsing forward port patch. The new Bonjour browsing patch being based on the new standard way of Bonjour broadcasting has probably good chances to be accepted upstream. This feature does not only prevent a regression, but it also helps to more easily access printers connected to Mac OS X machines (they broadcasted Bonjour-only all the time) and also for mobile Ubuntu devices. Usually you do not have connected printers to tablets or phones and you carry them around between different local networks, so here it is especially important that they automatically pick up the print queues in the local network. ---------- Such a patch to the CUPS daemon or an extra daemon to do the browsing and add/remove queues appropriately in the local CUPS environment is also not the best solution but a way to avoid regressions with legacy apps. The real intention from upstream is that all print dialogs browse the print queues available on the local network via Bonjour (under Linux implemented by Avahi), where print queues on the local network are CUPS queues from Linux and Mac OS X but also IPP printers which broadcast themselves via Bonjour (IPP Everywhere printers). Printing on iOS devices (iPhone, iPad, iPod Touch) already works this way. These devices do not allow the setup of local queues at all and they discovcer available print queues via Bonjour. For this the CUPS library has even special functions, see as sample code the program cups/testcups.c to be called as follows: cups/testcups enum 1 "enum" makes it enumerating printers and the number is the number of seconds to Bonjour-browse for network printers. The library function is the function cupsEnumDests() in cups/dest.c. For Bonjour browsing it must be called with a non-zero value for the msec parameter. This feature in the print dialogs is VERY urgent because: - This is how CUPS upstream and also the PWG (Printing Working Group, http://www.pwg.org/) expects how network printing with automatic queue discovery works. - This is less resource-consuming on mobile devices which do not have local print queues. avahi-daemon is running anyway and the CUPS daemon does not need to be running when there are no local queues. - CUPS upstream would not most probably not accept patches on the CUPS daemon to browse for Bonjour-advertized queues and let them appear like local queues. Therefore I want to ask you to add this feature with priority. This is urgently needed so that Linux distributions accept CUPS 1.6.x. See also https://bugzilla.novell.com/show_bug.cgi?id=735404 Could you manage to implement this before the Feature Freeze of Ubuntu 13.04 (Raring) on March 7, 2013? I (and probably also the CUPS maintainers of all the other distros) would appreciate this very much. CUPS upstream dropped the CUPS broadcasting/browsing mechanism to automatically discover shared remote printers beginning from 1.6.x. Replacement is Bonjour-based broadcasting odf the shared printers by CUPS and on the client side the application's print dialogs are responsible for browsing these broadcasts and listing the remote printers appropriately. CUPS even provides a library function for that now. See https://blueprints.launchpad.net/ubuntu/+spec/desktop-r-cups-bonjour-browsing I wrote there: ---------- The CUPS Browsing/Broadcasting mechanism which made print queues shared on remote CUPS servers automatically visible for the local CUPS daemon and so for local applications got dropped upstream from CUPS 1.6.x on. Ubpstream has replaced this functionality by Bonjour-based broadcasting (under Linux implemented via Avahi), an OS-indpendent PWG (Printing Working Group) standard, but this lacks the implementation of browsing on the client side making the printers on remote CUPS servers not automatically appearing any more. Ubuntu Quantal's CUPS has a mega patch to forward-port this functionality from the old CUPS for one cycle, to avoid regressions. We cannot carry such a patch eternally, and we should follow upstream and the PWG standards. So in Ubuntu Raring we need the real solution which means that the print dialogs (upstream-recommended solution) or the CUPS daemon (how I like to have it) takes the new Bonjour (Avahi) broadcasts to display the shared remote CUPS queues automatically. The browsing functionality is implemented in the CUPS library (libcups) from CUPS 1.6.x on, but there is currently no production code using these functions. Upstream expects the print dialogs to use the new library functions for displaying the new queues. This would require modifications and upstream submissions for GTK, Qt, and LibreOffice at least and this does not safely cover all existing applications which have CUPS-aware print dialogs and therefore listed the remote queues before. Especially printing from the command line would not be covered. The better approach would be modifying the CUPS daemon so that it uses the new library function to find the remote queues and advertize them like its own local queues. Where the CUPS daemon needs to be patched for that we could probably derive from Quantal's CUPS Broadcasting/Browsing forward port patch. The new Bonjour browsing patch being based on the new standard way of Bonjour broadcasting has probably good chances to be accepted upstream. This feature does not only prevent a regression, but it also helps to more easily access printers connected to Mac OS X machines (they broadcasted Bonjour-only all the time) and also for mobile Ubuntu devices. Usually you do not have connected printers to tablets or phones and you carry them around between different local networks, so here it is especially important that they automatically pick up the print queues in the local network. ---------- Such a patch to the CUPS daemon or an extra daemon to do the browsing and add/remove queues appropriately in the local CUPS environment is also not the best solution but a way to avoid regressions with legacy apps. The real intention from upstream is that all print dialogs browse the print queues available on the local network via Bonjour (under Linux implemented by Avahi), where print queues on the local network are CUPS queues from Linux and Mac OS X but also IPP printers which broadcast themselves via Bonjour (IPP Everywhere printers). Printing on iOS devices (iPhone, iPad, iPod Touch) already works this way. These devices do not allow the setup of local queues at all and they discovcer available print queues via Bonjour. For this the CUPS library has even special functions, see as sample code the program cups/testcups.c to be called as follows: cups/testcups enum 1 "enum" makes it enumerating printers and the number is the number of seconds to Bonjour-browse for network printers. The library function is the function cupsEnumDests() in cups/dest.c. For Bonjour browsing it must be called with a non-zero value for the msec parameter. This feature in the print dialogs is VERY urgent because: - This is how CUPS upstream and also the PWG (Printing Working Group,   http://www.pwg.org/) expects how network printing with automatic   queue discovery works. - This is less resource-consuming on mobile devices which do not have   local print queues. avahi-daemon is running anyway and the CUPS   daemon does not need to be running when there are no local queues. - CUPS upstream would not most probably not accept patches on the CUPS   daemon to browse for Bonjour-advertized queues and let them appear   like local queues.
2012-11-26 19:35:16 Bug Watch Updater gtk: status Unknown New
2012-11-26 19:35:16 Bug Watch Updater gtk: importance Unknown High
2012-11-27 19:35:49 Till Kamppeter gtk+2.0 (Ubuntu): milestone ubuntu-13.04-feature-freeze
2012-11-27 19:35:52 Till Kamppeter gtk+3.0 (Ubuntu): milestone ubuntu-13.04-feature-freeze
2013-01-08 13:36:25 Sebastien Bacher gtk+3.0 (Ubuntu): status New In Progress
2013-01-08 13:36:36 Sebastien Bacher gtk+2.0 (Ubuntu): status New Triaged
2013-03-04 17:12:25 Sebastien Bacher gtk+3.0 (Ubuntu): status In Progress Fix Committed
2013-03-12 14:37:40 Bug Watch Updater gtk: status New Fix Released
2013-05-24 15:07:24 Launchpad Janitor gtk+3.0 (Ubuntu): status Fix Committed Fix Released