Skip to contentSkip to conversation

Jackie Huang : gdk-pixbuf: fix the postinstall script failure when no icon is installed

oe-commits Martin Jansa 4 participants 11 messages Aug 16, 2012 – Aug 17, 2012 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20120815133202.50B6D10218@opal

#1 lore raw
Quoted 16 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] 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 <[email protected]>
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.

Quoted 8 lines

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]

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.

And even worse on other device, where gtk-update-icon-cache failed with Illegal instruction when postinst was executed for first time.. (probably because of binutils-2.23)

SHR root@gjama ~ $ gtk-update-icon-cache -q /usr/share/icons/shr/ Illegal instruction

Configuring gdk-pixbuf-loader-png.
gtk-update-icon-cache: Failed to open file /usr/share/icons/gnome/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/hicolor/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/shr/.icon-theme.cache : File exists
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-jpeg.
gtk-update-icon-cache: Failed to open file /usr/share/icons/gnome/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/hicolor/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/shr/.icon-theme.cache : File exists
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-xpm.
gtk-update-icon-cache: Failed to open file /usr/share/icons/gnome/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/hicolor/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/shr/.icon-theme.cache : File exists
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-gif.
gtk-update-icon-cache: Failed to open file /usr/share/icons/gnome/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/hicolor/.icon-theme.cache : File exists
gtk-update-icon-cache: Failed to open file /usr/share/icons/shr/.icon-theme.cache : File exists
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.

Quoted 40 lines

---

 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb +8 -2
index 484fb12..159bdae 100644
@@ -21,7 +21,7 @@ SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.24/gdk-pixbuf-${
 SRC_URI[md5sum] = "72f39b34b20f68148c1609bd27415412"
 SRC_URI[sha256sum] = "da7a3f00db360913716368e19e336402755cafa93769f3cfa28a969303e4bee1"
 
-PR = "r4"
+PR = "r5"
 
 inherit autotools pkgconfig gettext
 
@@ -62,7 +62,13 @@ fi
 
 GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache
 
-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
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#2 lore raw
Quoted 41 lines · Martin Jansa
Quoted 16 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] 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 <[email protected]>
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.

Quoted 8 lines

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]

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

Quoted 8 lines

* 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

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,

Quoted 20 lines
Quoted 17 lines
(quoted diff) +7 -1
-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
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#3 lore raw
Quoted 52 lines · Martin Jansa
Quoted 41 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] wrote:
Quoted 16 lines
Module: openembedded-core.git
Branch: master
Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
Author: Jackie Huang <[email protected]>
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.

Quoted 8 lines

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]

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

Quoted 8 lines

* 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.

Quoted 4 lines

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.

Thanks,
Jackie

Quoted 33 lines

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,

Quoted 13 lines
Quoted 13 lines
(quoted diff) +7 -1
-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-*"
Quoted 7 lines
Quoted 4 lines

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

#4 lore raw
Quoted 52 lines · Jie (Jackie)
Quoted 52 lines · Martin Jansa
Quoted 49 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] wrote:
Quoted 16 lines
Module: openembedded-core.git
Branch: master
Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
Author: Jackie Huang <[email protected]>
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.

Quoted 8 lines

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]

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.

Quoted 6 lines
Quoted 4 lines

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 xcursor-transparent-theme or are you going to fix that?

Thanks,

Quoted 37 lines

Thanks,
Jackie

Quoted 33 lines

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,

Quoted 13 lines
Quoted 13 lines
(quoted diff) +7 -1
-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-*"
Quoted 7 lines
Quoted 4 lines

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#5 lore raw
Quoted 54 lines · Jie (Jackie)
Quoted 52 lines
Quoted 52 lines · Martin Jansa
Quoted 49 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] wrote:
Quoted 16 lines
Module: openembedded-core.git
Branch: master
Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
Author: Jackie Huang <[email protected]>
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.

Quoted 8 lines

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]

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.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

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.

Quoted 1 line

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?

Thanks,
Jackie

Quoted 44 lines

Thanks,

Quoted 37 lines

Thanks,
Jackie

Quoted 33 lines

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,

Quoted 13 lines
Quoted 13 lines
(quoted diff) +7 -1
-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-*"
Quoted 7 lines
Quoted 4 lines

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

#6 lore raw
Quoted 98 lines · Jie (Jackie)
Quoted 54 lines · Jie (Jackie)
Quoted 52 lines
Quoted 52 lines · Martin Jansa
Quoted 49 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] wrote:
Quoted 16 lines
Module: openembedded-core.git
Branch: master
Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
Author: Jackie Huang <[email protected]>
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.

Quoted 8 lines

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]

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.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

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.

Quoted 1 line

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?

Thanks,
Jackie

Quoted 24 lines

Thanks,

Quoted 21 lines

Thanks,
Jackie

Quoted 17 lines

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,

Quoted 10 lines
Quoted 10 lines
(quoted diff) +7 -1
-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
 }
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

PACKAGES_DYNAMIC += "gdk-pixbuf-loader-*"

For me to understand: Why does gdk-pixbuf need to update icon-cache?

Andreas

#7 lore raw
Quoted 100 lines · Andreas Müller
Quoted 98 lines · Jie (Jackie)
Quoted 54 lines · Jie (Jackie)
Quoted 52 lines
Quoted 52 lines · Martin Jansa
Quoted 49 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] wrote:
Quoted 16 lines
Module: openembedded-core.git
Branch: master
Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
Author: Jackie Huang <[email protected]>
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.

Quoted 8 lines

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]

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.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

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.

Quoted 1 line

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?

Thanks,
Jackie

Quoted 24 lines

Thanks,

Quoted 21 lines

Thanks,
Jackie

Quoted 17 lines

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,

Quoted 10 lines
Quoted 10 lines
(quoted diff) +7 -1
-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
 }
Quoted 4 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

PACKAGES_DYNAMIC += "gdk-pixbuf-loader-*"

For me to understand: Why does gdk-pixbuf need to update icon-cache?

Understood (no comments please). But another question: Couldn't the parameter '-t' as used in gtk-icon-cache.bbclass help?

Andreas

#8 lore raw
In reply to Huang, Jie (Jackie)
Quoted 59 lines · Jie (Jackie)
Quoted 59 lines · Jie (Jackie)
Quoted 57 lines
Quoted 56 lines · Martin Jansa
Quoted 41 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] wrote:
Quoted 16 lines
Module: openembedded-core.git
Branch: master
Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
Author: Jackie Huang <[email protected]>
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.

Quoted 8 lines

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]

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

Quoted 8 lines

* 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

Quoted 6 lines
Quoted 3 lines
Quoted 1 line

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 subdirectory is not what I would expect from that commit message.

Quoted 4 lines
Quoted 1 line

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?

Quoted 47 lines

Thanks,
Jackie

Quoted 44 lines

Thanks,

Quoted 37 lines

Thanks,
Jackie

Quoted 33 lines

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,

Quoted 13 lines
Quoted 13 lines
(quoted diff) +7 -1
-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-*"
Quoted 7 lines
Quoted 4 lines

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#9 lore raw
Quoted 62 lines · Martin Jansa
Quoted 61 lines · Jie (Jackie)
Quoted 61 lines · Jie (Jackie)
Quoted 58 lines
Quoted 52 lines · Martin Jansa
Quoted 41 lines · On Wed, Aug 15, 2012 at 01:32:02PM +0000, [email protected] wrote:
Quoted 16 lines
Module: openembedded-core.git
Branch: master
Commit: 1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1d4fbe4761d3d97e3c4b6e894719ee41b21559b2
Author: Jackie Huang <[email protected]>
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.

Quoted 8 lines

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]

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

Quoted 8 lines

* 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.

Quoted 4 lines

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.

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

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.

Quoted 1 line

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.

Quoted 9 lines
Quoted 5 lines
Quoted 2 lines

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

Quoted 49 lines
Quoted 48 lines

Thanks,
Jackie

Quoted 44 lines

Thanks,

Quoted 37 lines

Thanks,
Jackie

Quoted 33 lines

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,

Quoted 13 lines
Quoted 13 lines
(quoted diff) +7 -1
-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-*"
Quoted 7 lines
Quoted 4 lines

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

--
Martin 'JaMa' Jansa jabber: [email protected]

Signature · 5 lines
Jackie Huang
WIND RIVER | China Development Center
MSN:[email protected]
Tel: +86 8477 8594
Mobile: +86 138 1027 4745
#10 lore raw
Quoted 2 lines · On 17 August 2012 02:48, jhuang0 <[email protected]> wrote:

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

Running gtk-update-icon-cache doesn't make sense on themes without an index.theme, because without an index.theme there are not any icons to cache (xcursor themes are different). From the man page:

"It expects to be given the path to a icon theme directory containing an index.theme, e.g. /usr/share/icons/hicolor, and writes a icon-theme.cache containing cached information about the icons in the directory tree below the given directory."

Use -t to gtk-update-icon-cache, or filter the list of directories to only include ones with index.theme files. Either is appropriate.

Ross

#11 lore raw
Quoted 6 lines · Ross
Quoted 2 lines · On 17 August 2012 02:48, jhuang0 <[email protected]> wrote:

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

Running gtk-update-icon-cache doesn't make sense on themes without an index.theme, because without an index.theme there are not any icons to

I see, so themes without an index.theme is not an issue, postinstall script should handle this case, I will change to call gtk-update-icon-cache only for themes with index.theme just as Martin's suggestion.

Thanks,
Jackie

Quoted 18 lines

cache (xcursor themes are different). From the man page:

"It expects to be given the path to a icon theme directory containing an index.theme, e.g. /usr/share/icons/hicolor, and writes a icon-theme.cache containing cached information about the icons in the directory tree below the given directory."

Use -t to gtk-update-icon-cache, or filter the list of directories to only include ones with index.theme files. Either is appropriate.

Ross

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Signature · 5 lines
Jackie Huang
WIND RIVER | China Development Center
MSN:[email protected]
Tel: +86 8477 8594
Mobile: +86 138 1027 4745