[OE-core] [oe-commits] Jackie Huang : gdk-pixbuf: fix the postinstall script failure when no icon is installed

jhuang0 jackie.huang at windriver.com
Fri Aug 17 01:48:04 UTC 2012



On 8/17/2012 6:02 AM, Martin Jansa wrote:
> On Thu, Aug 16, 2012 at 03:06:35PM +0000, Huang, Jie (Jackie) wrote:
>>>
>>> On Thu, Aug 16, 2012 at 02:30:51PM +0000, Huang, Jie (Jackie) wrote:
>>>>>
>>>>> On Thu, Aug 16, 2012 at 12:33:08PM +0200, Martin Jansa wrote:
>>>>>> On Wed, Aug 15, 2012 at 01:32:02PM +0000, git at git.openembedded.org wrote:
>>>>>>> Module: openembedded-core.git
>>>>>>> Branch: master
>>>>>>> Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
>>>>>>> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
>>>>>>>
>>>>>>> Author: Jackie Huang <jackie.huang at windriver.com>
>>>>>>> Date:   Thu Aug  9 10:30:30 2012 +0800
>>>>>>>
>>>>>>> gdk-pixbuf: fix the postinstall script failure when no icon is installed
>>>>>>>
>>>>>>> If gtk+ is added to core-image-minimal, postinstall script failed on boot:
>>>>>>>
>>>>>>> Running postinst /etc/rpm-postinsts/104...
>>>>>>> gtk-update-icon-cache: No theme index file.
>>>>>>> ERROR: postinst /etc/rpm-postinsts/104 failed.
>>>>>>>
>>>>>>> This patch fixed the postinstall script to check for the icon
>>>>>>> file first and not run the gtk-update-icon-cache if no icon
>>>>>>> is installed.
>>>>>>>
>>>>>>> [YOCTO #2905]
>>>>>>>
>>>>>>> Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
>>>>>>> Signed-off-by: Saul Wold <sgw at linux.intel.com>
>>>>>>
>>>>>>
>>>>>> Even with this patch I get:
>>>>>> Configuring gdk-pixbuf-loader-png.
>>>>>> gtk-update-icon-cache: No theme index file.
>>>>>> Configuring gdk-pixbuf-loader-jpeg.
>>>>>> gtk-update-icon-cache: No theme index file.
>>>>>> Configuring gdk-pixbuf-loader-xpm.
>>>>>> gtk-update-icon-cache: No theme index file.
>>>>>> Configuring gdk-pixbuf-loader-gif.
>>>>>> gtk-update-icon-cache: No theme index file.
>>>>>> Collected errors:
>>>>>>   * pkg_run_script: package "gdk-pixbuf-loader-png" postinst script
>>>>>>   * returned status 1.
>>>>>>   * opkg_configure: gdk-pixbuf-loader-png.postinst returned 1.
>>>>>>   * pkg_run_script: package "gdk-pixbuf-loader-jpeg" postinst script
>>>>>>   * returned status 1.
>>>>>>   * opkg_configure: gdk-pixbuf-loader-jpeg.postinst returned 1.
>>>>>>   * pkg_run_script: package "gdk-pixbuf-loader-xpm" postinst script
>>>>>>   * returned status 1.
>>>>>>   * opkg_configure: gdk-pixbuf-loader-xpm.postinst returned 1.
>>>>>>   * pkg_run_script: package "gdk-pixbuf-loader-gif" postinst script
>>>>>>   * returned status 1.
>>>>>>   * opkg_configure: gdk-pixbuf-loader-gif.postinst returned 1.
>>>>>
>>>>> This problem is caused by
>>>>> openembedded-core/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
>>>>> which does not provide index.theme file
>>>>>
>>>>
>>>> Well, in my case, there is no icon installed so there is on ${datadir}/icons at all.
>>>
>>> So it's fine to break postinst for everyone else who has
>>
>> This fix is for the case when there is no icon/theme installed. When we found the bug,
>> the postinst was calling the gtk-update-icon-cache for the hicolor theme which is not installed.
>
> Yes, but you could also execute it only if hicolor exists or add
> hicolor-icon-theme to RDEPENDS, executing gtk-update-icon-cache for each

I had considered to add RDEPENDS, it's simple and it works but we had 
another consider that in some cases we may not need any theme. So we 
decided to change the postinst, while doing that, I thought it may not 
be a good idea to only executing gtk-update-icon-cache for hicolor since 
there maybe othere themes installed.

> subdirectory is not what I would expect from that commit message.

If it is the case, I'm fine to change it back to executing it only for 
hicolor if it exists.

>
>>> xcursor-transparent-theme or are you going to fix that?
>>
>> For xcursor-transparent-theme not providing the index.theme file, yeah it's really a problem,
>> I can fix that, but maybe we should open another bug for it?
>
> And do we need to call gtk-update-icon-cache in
> xcursor-transparent-theme or in any other directory which happens to be
> in ${datadir}/icons? Why not call it only for subdirs with index.theme?

Yeah, it would be better for the postinstall script, but for 
xcursor-transparent-theme without index.theme file, is it still a problem?

Mark, what do think about this?

Thanks,
Jackie

>
>> Thanks,
>> Jackie
>>
>>>
>>> Thanks,
>>>
>>>>
>>>> Thanks,
>>>> Jackie
>>>>
>>>>> and commit message of this change should be something like
>>>>> gdk-pixbuf: call gtk-update-icon-cache for each subdir of ${datadir}/icons
>>>>> not
>>>>> gdk-pixbuf: fix the postinstall script failure when no icon is installed
>>>>>
>>>>> Cheers,
>>>>>
>>>>>>> -test -x ${bindir}/gtk-update-icon-cache && gtk-update-icon-cache  -q ${datadir}/icons/hicolor
>>>>>>> +if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then
>>>>>>> +    for icondir in /usr/share/icons/*; do
>>>>>>> +        if [ -d ${icondir} ]; then
>>>>>>> +            gtk-update-icon-cache -q ${icondir}
>>>>>>> +        fi
>>>>>>> +    done
>>>>>>> +fi
>>>>>>>   }
>>>>>>>
>>>>>>>   PACKAGES_DYNAMIC += "gdk-pixbuf-loader-*"
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Openembedded-commits mailing list
>>>>>>> Openembedded-commits at lists.openembedded.org
>>>>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
>>>>>>
>>>>>> --
>>>>>> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
>>>>>
>>>
>>> --
>>> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
>>>
>

-- 
Jackie Huang
WIND RIVER | China Development Center
MSN:jackielily at hotmail.com
Tel: +86 8477 8594
Mobile: +86 138 1027 4745




More information about the Openembedded-core mailing list