Laszlo (Laca) Peter wrote:
> On Tue, 2009-10-13 at 00:08 +0100, Ghee Teo wrote:
>   
>> Laszlo (Laca) Peter wrote:
>>     
>>> Ghee,
>>>
>>> While runtime detection is a step forward, I wouldn't reverse
>>> the packaging changes.  With the printing backends in separate
>>> packages, SUNWgtk2 need not depend on _both_ cups and papi.
>>>   
>>>       
>> This is true,  also meant all applications that provides printing should 
>> now depend on SUNWgtk2-print-cups and SUNWgtk2-print-papi.
>>     
>
> I don't think they need to depend on either of those.
> They are dynamically loadable modules, if they are not
> present, the functionality should be reduced but things
> should still work.  I.e. you should still be able to
> print to file or via lpr.
>   
Yes. lpr and file backend are in SUNWgtk2, so the user still be able to 
have these without the SUNWgtk2-print-[cups|papi].

Now, so I need to log a bug against development/pkg/importer to have 
SUNWgtk2-print-papi to be imported for b126 (since the default is still 
LP) and SUNWgtk2-print-cups for b127 when CUPS is made default for the 
liveCD?

-Ghee
> However, it would be desirable if the right backend
> was installed automagically when both gtk2 and cups
> or papi are installed.  Not sure how to do that but
> I posted a question to pkg-discuss.
>
> Laca
>
>   
>> that is need to modify the Requires for gedit, evince, thunderbird, 
>> firefox, gimp-2 etc, right?
>>     
>
>
>   
>>> On Mon, 2009-10-12 at 16:34 +0100, Ghee Teo wrote:
>>>   
>>>       
>>>> Bug: http://defect.opensolaris.org/bz/show_bug.cgi?id=11830
>>>>
>>>> This is now a new fix which does not include the create of the new 
>>>> packages.
>>>> Essentially, a run-time check is made when the backend modules (cups/papi) 
>>>> are
>>>> loaded. If the supporting print system is found then create the print 
>>>> backend
>>>> so that the applications can use.  However, it is not then don't create the
>>>> print backend module.
>>>>
>>>> The check for papi is to check for /usr/lib/libpapi.so
>>>> and for cups is /usr/lib/libcups.so
>>>>
>>>> The patch is attached include a reverting the changes made to 
>>>> SUNWgtk2.spec.
>>>> So we would not be generating SUNWgtk2-print-[cups|papi] anymore.
>>>>
>>>> -Ghee
>>>>
>>>> plain text document attachment (print-system-libs-check.diff)
>>>> --- SUNWgtk2.spec  2009-10-12 16:04:25.887908177 +0100
>>>> +++ SUNWgtk2.spec.reverted 2009-10-12 15:31:54.263184834 +0100
>>>> @@ -63,7 +63,9 @@
>>>>  SUNW_BaseDir:            %{_basedir}
>>>>  %include default-depend.inc
>>>>  Requires: SUNWgtk2
>>>> +Requires: SUNWcupsu
>>>>  Requires: SUNWlibmsr
>>>> +Requires: SUNWpapi
>>>>  Requires: SUNWpng-devel
>>>>  Requires: SUNWglib2-devel
>>>>  Requires: SUNWcairo-devel
>>>> @@ -71,37 +73,6 @@
>>>>  Requires: SUNWlibatk-devel
>>>>  Requires: SUNWxwinc
>>>>  
>>>> -%package print-cups
>>>> -Summary:                 %{summary} - CUPS Print Backend
>>>> -SUNW_BaseDir:            %{_basedir}
>>>> -%include default-depend.inc
>>>> -Requires: SUNWglib2
>>>> -Requires: SUNWgtk2
>>>> -Requires: SUNWcairo
>>>> -Requires: SUNWcupsu
>>>> -Requires: SUNWpango
>>>> -Requires: SUNWxwplt
>>>> -Requires: SUNWxwrtl
>>>> -Requires: SUNWxorg-clientlibs
>>>> -BuildRequires: SUNWglib2-devel
>>>> -BuildRequires: SUNWcairo-devel
>>>> -
>>>> -%package print-papi
>>>> -Summary:                 %{summary} - PAPI (LP) Print Backend
>>>> -SUNW_BaseDir:            %{_basedir}
>>>> -%include default-depend.inc
>>>> -Requires: SUNWglib2
>>>> -Requires: SUNWgtk2
>>>> -Requires: SUNWcairo
>>>> -Requires: SUNWpango
>>>> -Requires: SUNWpapi
>>>> -Requires: SUNWxwplt
>>>> -Requires: SUNWxwrtl
>>>> -Requires: SUNWxorg-clientlibs
>>>> -BuildRequires: SUNWglib2-devel
>>>> -BuildRequires: SUNWgtk2-devel
>>>> -BuildRequires: SUNWcairo-devel
>>>> -
>>>>  %if %build_l10n
>>>>  %package l10n
>>>>  Summary:                 %{summary} - l10n content
>>>> @@ -243,8 +214,7 @@
>>>>  %{_libdir}/gtk*/*/loaders/*.so
>>>>  %{_libdir}/gtk*/*/immodules/im-xim.so
>>>>  %{_libdir}/gtk-2.0/modules/*.so
>>>> -%{_libdir}/gtk*/*/printbackends/libprintbackend-file.so
>>>> -%{_libdir}/gtk*/*/printbackends/libprintbackend-lpr.so
>>>> +%{_libdir}/gtk*/*/printbackends
>>>>  %ifarch amd64 sparcv9
>>>>  %dir %attr (0755, root, bin) %{_bindir}/%{_arch64}
>>>>  %{_bindir}/%{_arch64}/gtk-builder-convert
>>>> @@ -256,8 +226,7 @@
>>>>  %{_libdir}/%{_arch64}/gtk*/*/engines/*.so
>>>>  %{_libdir}/%{_arch64}/gtk*/*/immodules/im-xim.so
>>>>  %{_libdir}/%{_arch64}/gtk*/modules/*.so
>>>> -%{_libdir}/%{_arch64}/gtk*/*/printbackends/libprintbackend-file.so
>>>> -%{_libdir}/%{_arch64}/gtk*/*/printbackends/libprintbackend-lpr.so
>>>> +%{_libdir}/%{_arch64}/gtk*/*/printbackends
>>>>  %endif
>>>>  %dir %attr (0755, root, sys) %{_datadir}
>>>>  %{_datadir}/themes
>>>> @@ -312,20 +281,6 @@
>>>>  %{_sysconfdir}/%{_arch64}/gtk-2.0/im-multipress.conf
>>>>  %endif
>>>>  
>>>> -%files print-cups
>>>> -%defattr (-, root, bin)
>>>> -%dir %attr (0755, root, bin) %{_libdir}
>>>> -%{_libdir}/gtk*/*/printbackends/libprintbackend-cups.so
>>>> -%ifarch amd64 sparcv9
>>>> -%dir %attr (0755, root, bin) %{_libdir}/%{_arch64}
>>>> -%{_libdir}/%{_arch64}/gtk*/*/printbackends/libprintbackend-cups.so
>>>> -%endif
>>>> -
>>>> -%files print-papi
>>>> -%defattr (-, root, bin)
>>>> -%dir %attr (0755, root, bin) %{_libdir}
>>>> -%{_libdir}/gtk*/*/printbackends/libprintbackend-papi.so
>>>> -
>>>>  %if %build_l10n
>>>>  %files l10n
>>>>  %defattr (-, root, bin)
>>>> @@ -334,12 +289,6 @@
>>>>  %endif
>>>>  
>>>>  %changelog
>>>> -* Sun Oct 11 2009 - ghee.teo at sun.com
>>>> -- rename backend print modules to SUNWgtk2-print-cups and 
>>>> SUNWgtk2-print-papi
>>>> -* Sat Oct 10 2009 - dave.lin at sun.com
>>>> -- Fixed directory attribute issue for SUNWgtk2-cups/papi-be.
>>>> -* Fri Oct 09 2009 - ghee.teo at sun.com
>>>> -- split out CUPS and PAPI print backends into SUNWgtk2-cups-be, 
>>>> SUNWgtk2-papi-be
>>>>  * Thu Sep 10 2009 - jedy.wang at sun.com
>>>>  - Remove SUNWmlib dependency. It's optinal now.
>>>>  * Tue Jun 30 2009 - dave.lin at sun.com
>>>> diff -urN gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c 
>>>> ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c
>>>> --- gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c   
>>>> 2009-09-12 03:58:39.000000000 +0100
>>>> +++ 
>>>> ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c
>>>>  2009-10-12 15:16:34.544907874 +0100
>>>> @@ -228,6 +228,23 @@
>>>>  G_MODULE_EXPORT GtkPrintBackend * 
>>>>  pb_module_create (void)
>>>>  {
>>>> +  static gboolean loaded = FALSE;
>>>> +
>>>> +  if (!loaded)
>>>> +  {
>>>> +    GModule *cups;
>>>> +    GModuleFlags flags;
>>>> +
>>>> +    flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
>>>> +
>>>> +    cups = g_module_open ("libcups.so", flags);
>>>> +    loaded = TRUE;
>>>> +    if (!cups)
>>>> +      return NULL;
>>>> +    else
>>>> +      g_module_close (cups);
>>>> +  }
>>>> +
>>>>    return gtk_print_backend_cups_new ();
>>>>  }
>>>>  
>>>> diff -urN gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c 
>>>> ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c
>>>> --- gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c   
>>>> 2009-09-12 03:58:39.000000000 +0100
>>>> +++ 
>>>> ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c
>>>>  2009-10-12 15:16:10.112638436 +0100
>>>> @@ -140,6 +140,23 @@
>>>>  G_MODULE_EXPORT GtkPrintBackend * 
>>>>  pb_module_create (void)
>>>>  {
>>>> +  static gboolean loaded = FALSE;
>>>> +
>>>> +  if (!loaded)
>>>> +  {
>>>> +    GModule *papi;
>>>> +    GModuleFlags flags;
>>>> +
>>>> +    flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
>>>> +
>>>> +    papi = g_module_open ("libpapi.so", flags);
>>>> +    loaded = TRUE;
>>>> +    if (!papi)
>>>> +      return NULL;
>>>> +    else
>>>> +      g_module_close (papi);
>>>> +  }
>>>> +
>>>>    return gtk_print_backend_papi_new ();
>>>>  }
>>>>  
>>>>     
>>>>         
>>>   
>>>       
>
>
>
>   

Reply via email to