Patchwork [1/1] xcursor-transparent-theme: install index.theme explicitly

login
register
mail settings
Submitter wenzong.fan@windriver.com
Date April 10, 2013, 3:26 a.m.
Message ID <1365564397-2851-1-git-send-email-wenzong.fan@windriver.com>
Download mbox | patch
Permalink /patch/47805/
State New
Headers show

Comments

wenzong.fan@windriver.com - April 10, 2013, 3:26 a.m.
The xcursor-transparent-theme doesn't install index.theme by default,
this might cause below command fails on target:

    $ gtk-update-icon-cache -q /usr/share/icons/xcursor-transparent
    Error: "gtk-update-icon-cache: No theme index file"

Just install index.theme explicitly to remove those error, its content
is from xcursor-transparent-theme's README file.

[YOCTO #4234]

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
 .../xcursor-transparent-theme-0.1.1/index.theme       |    2 ++
 .../xcursor-transparent-theme_0.1.1.bb                |   17 ++++++++++++++---
 2 files changed, 16 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme
Martin Jansa - April 10, 2013, 8 a.m.
On Wed, Apr 10, 2013 at 11:26:35AM +0800, wenzong.fan@windriver.com wrote:
> The xcursor-transparent-theme doesn't install index.theme by default,
> this might cause below command fails on target:
> 
>     $ gtk-update-icon-cache -q /usr/share/icons/xcursor-transparent
>     Error: "gtk-update-icon-cache: No theme index file"
> 
> Just install index.theme explicitly to remove those error, its content
> is from xcursor-transparent-theme's README file.

Wasn't this discussed and fixed before? IIRC the conclusion was that
postinst should check if there is index.theme or ignore it missing, not
adding index.theme.

> 
> [YOCTO #4234]
> 
> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
> ---
>  .../xcursor-transparent-theme-0.1.1/index.theme       |    2 ++
>  .../xcursor-transparent-theme_0.1.1.bb                |   17 ++++++++++++++---
>  2 files changed, 16 insertions(+), 3 deletions(-)
>  create mode 100644 meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme
> 
> diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme
> new file mode 100644
> index 0000000..5300850
> --- /dev/null
> +++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme
> @@ -0,0 +1,2 @@
> +[Icon Theme]
> +Inherits=xcursor-transparent
> diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
> index fecc8ea..93770c1 100644
> --- a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
> +++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
> @@ -6,14 +6,25 @@ LICENSE = "GPLv2"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
>  
>  SECTION = "x11/base"
> -PR = "r4"
> +PR = "r5"
>  
>  SRC_URI = "http://downloads.yoctoproject.org/releases/matchbox/utils/xcursor-transparent-theme-${PV}.tar.gz \
>  	   file://use-relative-symlinks.patch \
> -	   file://fix_watch_cursor.patch"
> +	   file://fix_watch_cursor.patch \
> +	   file://index.theme"
>  
>  SRC_URI[md5sum] = "7b0c623049d4aab20600d6473f8aab23"
>  SRC_URI[sha256sum] = "b26adf2d503d01299718390ae39dab4691a67220de09423be0364e9a060bf7e4"
> -FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*"
> +FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/* \
> +	   ${datadir}/icons/xcursor-transparent/index.theme"
>  
>  inherit autotools allarch
> +
> +# This package doesn't provide index.theme by default, this might cause
> +# below command fails on target with error: "No theme index file".
> +#
> +#    gtk-update-icon-cache -q /usr/share/icons/xcursor-transparent
> +#
> +do_install_append(){
> +    install -m 0644 -D ${WORKDIR}/index.theme ${D}${datadir}/icons/xcursor-transparent/index.theme
> +}
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Ross Burton - April 10, 2013, 9:17 a.m.
On 10 April 2013 09:00, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Wed, Apr 10, 2013 at 11:26:35AM +0800, wenzong.fan@windriver.com wrote:
>> The xcursor-transparent-theme doesn't install index.theme by default,
>> this might cause below command fails on target:
>>
>>     $ gtk-update-icon-cache -q /usr/share/icons/xcursor-transparent
>>     Error: "gtk-update-icon-cache: No theme index file"
>>
>> Just install index.theme explicitly to remove those error, its content
>> is from xcursor-transparent-theme's README file.
>
> Wasn't this discussed and fixed before? IIRC the conclusion was that
> postinst should check if there is index.theme or ignore it missing, not
> adding index.theme.

NACK.

Martin is right, the gtk-icon-cache class uses -t when updating the caches:

       --ignore-theme-index, -t
           Don't check for the existence of 'index.theme' in the icon theme
           directory. Without this option, gtk-update-icon-cache refuses to
           create an icon cache in a directory which does not appear to be the
           toplevel directory of an icon theme.

If someone is not using gtk-icon-cache.bbclass they either should, or
have a good reason and also use -t.

Ross
wenzong.fan@windriver.com - April 11, 2013, 6:38 a.m.
On 04/10/2013 05:17 PM, Burton, Ross wrote:
> On 10 April 2013 09:00, Martin Jansa <martin.jansa@gmail.com> wrote:
>> On Wed, Apr 10, 2013 at 11:26:35AM +0800, wenzong.fan@windriver.com wrote:
>>> The xcursor-transparent-theme doesn't install index.theme by default,
>>> this might cause below command fails on target:
>>>
>>>      $ gtk-update-icon-cache -q /usr/share/icons/xcursor-transparent
>>>      Error: "gtk-update-icon-cache: No theme index file"
>>>
>>> Just install index.theme explicitly to remove those error, its content
>>> is from xcursor-transparent-theme's README file.
>>
>> Wasn't this discussed and fixed before? IIRC the conclusion was that
>> postinst should check if there is index.theme or ignore it missing, not
>> adding index.theme.
>
> NACK.
>
> Martin is right, the gtk-icon-cache class uses -t when updating the caches:
>
>         --ignore-theme-index, -t
>             Don't check for the existence of 'index.theme' in the icon theme
>             directory. Without this option, gtk-update-icon-cache refuses to
>             create an icon cache in a directory which does not appear to be the
>             toplevel directory of an icon theme.
>
> If someone is not using gtk-icon-cache.bbclass they either should, or
> have a good reason and also use -t.

Oh, I did think I missed something about the discussion of index.theme & 
gtk-update-icon-cache. I recall this patch and sorry for the noise.

I appreciate your clarifications!

Thanks
Wenzong

>
> Ross
>

Patch

diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme
new file mode 100644
index 0000000..5300850
--- /dev/null
+++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/index.theme
@@ -0,0 +1,2 @@ 
+[Icon Theme]
+Inherits=xcursor-transparent
diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
index fecc8ea..93770c1 100644
--- a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
+++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
@@ -6,14 +6,25 @@  LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 SECTION = "x11/base"
-PR = "r4"
+PR = "r5"
 
 SRC_URI = "http://downloads.yoctoproject.org/releases/matchbox/utils/xcursor-transparent-theme-${PV}.tar.gz \
 	   file://use-relative-symlinks.patch \
-	   file://fix_watch_cursor.patch"
+	   file://fix_watch_cursor.patch \
+	   file://index.theme"
 
 SRC_URI[md5sum] = "7b0c623049d4aab20600d6473f8aab23"
 SRC_URI[sha256sum] = "b26adf2d503d01299718390ae39dab4691a67220de09423be0364e9a060bf7e4"
-FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*"
+FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/* \
+	   ${datadir}/icons/xcursor-transparent/index.theme"
 
 inherit autotools allarch
+
+# This package doesn't provide index.theme by default, this might cause
+# below command fails on target with error: "No theme index file".
+#
+#    gtk-update-icon-cache -q /usr/share/icons/xcursor-transparent
+#
+do_install_append(){
+    install -m 0644 -D ${WORKDIR}/index.theme ${D}${datadir}/icons/xcursor-transparent/index.theme
+}