Re: [OE-core] [PATCH 1/2] gtk-doc: update to 1.27

2018-02-27 Thread Burton, Ross
On 9 February 2018 at 07:03, Alexander Kanavin <
alexander.kana...@linux.intel.com> wrote:

> gtk-doc recipe does have a direct dependency on python3-six, subject to
> 'api-documentation' in DISTRO_FEATURES. The reason it's conditional is that
> we don't want to build a ton of gtk-doc dependencies in the default case
> that used by almost everyone. Yes, this produces gtk-doc scripts that are
> not working, but they will not be run anyway, if gtk-doc capable recipes
> inherit the gtk-doc class, which will disable the gtk-doc feature.
> libunique was missing that inherit, the patch to fix that is now on oe-devl
> list. Take it and the issue will go away.


This is close but not quite right.  gtk-doc has a RDEPENDS on python3-six,
but it then uses the *host* python3 binary in gtkdoc-scan so if the host
doesn't have six installed it will fail:

| Traceback (most recent call last):
|   File
"/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-extras/build/build/tmp/work/core2-64-poky-linux/kmod/25+gitAUTOINC+aca4eca103-r0/recipe-sysroot-native/usr/bin/gtkdoc-scan",
line 29, in 
| from gtkdoc import common, config, scan
|   File
"/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-extras/build/build/tmp/work/core2-64-poky-linux/kmod/25+gitAUTOINC+aca4eca103-r0/recipe-sysroot-native/usr/share/gtk-doc/python/gtkdoc/common.py",
line 31, in 
| import six
| ImportError: No module named 'six'

Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/2] gtk-doc: update to 1.27

2018-02-09 Thread Mark Asselstine
On Friday, February 9, 2018 2:03:01 AM EST Alexander Kanavin wrote:
> On 02/09/2018 12:13 AM, Mark Asselstine wrote:
> > The use of libunique is non-consequential here. The issue is that the
> > gtk-doc package has imports which are not going to be present via direct
> > runtime dependencies. Any sw which attempts to run the python scripts
> > found in gtk-doc will fail in the same way unless the python3-six is
> > installed via an indirect dependency. I didn't have a chance to dig in to
> > this deeper today so I don't have more to add than this but the "import
> > six" is pretty explicit and will fail unless this script is not meant to
> > actually be run anytime, anywhere.
> gtk-doc recipe does have a direct dependency on python3-six, subject to
> 'api-documentation' in DISTRO_FEATURES. The reason it's conditional is
> that we don't want to build a ton of gtk-doc dependencies in the default
> case that used by almost everyone. Yes, this produces gtk-doc scripts
> that are not working, but they will not be run anyway, if gtk-doc
> capable recipes inherit the gtk-doc class, which will disable the
> gtk-doc feature. libunique was missing that inherit, the patch to fix
> that is now on oe-devl list. Take it and the issue will go away.

Thanks for sending out the updates, I am giving them a go. I wasn't clear 
about the intention based on your initial change so glad I reached out to you 
and that this will move on.

Thanks again,
Mark

> 
> Alex


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/2] gtk-doc: update to 1.27

2018-02-08 Thread Alexander Kanavin

On 02/09/2018 12:13 AM, Mark Asselstine wrote:

The use of libunique is non-consequential here. The issue is that the gtk-doc
package has imports which are not going to be present via direct runtime
dependencies. Any sw which attempts to run the python scripts found in gtk-doc
will fail in the same way unless the python3-six is installed via an indirect
dependency. I didn't have a chance to dig in to this deeper today so I don't
have more to add than this but the "import six" is pretty explicit and will
fail unless this script is not meant to actually be run anytime, anywhere.


gtk-doc recipe does have a direct dependency on python3-six, subject to 
'api-documentation' in DISTRO_FEATURES. The reason it's conditional is 
that we don't want to build a ton of gtk-doc dependencies in the default 
case that used by almost everyone. Yes, this produces gtk-doc scripts 
that are not working, but they will not be run anyway, if gtk-doc 
capable recipes inherit the gtk-doc class, which will disable the 
gtk-doc feature. libunique was missing that inherit, the patch to fix 
that is now on oe-devl list. Take it and the issue will go away.


Alex
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/2] gtk-doc: update to 1.27

2018-02-08 Thread Mark Asselstine
On Thursday, February 8, 2018 1:44:02 AM EST Alexander Kanavin wrote:
> On 02/07/2018 11:34 PM, Mark Asselstine wrote:
> > Alexander. When things move to python you can almost always bet on them
> > requiring additional libraries and as such the lack of RDEPENDS here is a
> > bit surprising. As you can see from the top of some of the py files in
> > gtk-doc we have:
> > 
> > import logging
> > import os
> > import re
> > import subprocess
> > import sys
> > import six
> > import codecs
> > 
> > Some of which are python stdlibs but others are external modules, such as
> > 
> > 'six'. As such I am now getting a build failure:
> >   -- Installing ../../../libunique-1.1.6/doc/reference/html/up.png
> >   
> >   Traceback (most recent call last):
> >File
> >"/home/mark/build/overc/tmp/work/core2-64-overc-linux/libunique/
> >1.1.6-r7/recipe-sysroot-native/usr/bin/gtkdoc-rebase", line 28, in
> >
> > 
> >   
> >   from gtkdoc import common, config, rebase
> >   File
> >   "/home/mark/build/overc/tmp/work/core2-64-overc-linux/libunique/
> >   1.1.6-r7/recipe-sysroot-native/usr/share/gtk-doc/python/gtkdoc/
> >   common.py", line 31, in 
> >   import six
> >   
> >   ImportError: No module named 'six'
> > 
> > So we need to RDEPENDS on "python-six" here for starters. We do have a
> > recipe for python-six but it is in meta-openembedded. So we either need
> > to move this recipe there or the python-six recipe to oe-core or...
> 
> Thanks for the failure report Mark, but the diagnosis is way off :-)
> 
> First of all, for what purpose are you even building libunique? It's a
> very old, unmaintained library for gtk 2.x apps from gnome stack (last
> release: 2011), and here's what gnome has to say about it: "Unique is
> now in maintenance mode and its usage is strongly discouraged".
> 

The use of libunique is non-consequential here. The issue is that the gtk-doc 
package has imports which are not going to be present via direct runtime 
dependencies. Any sw which attempts to run the python scripts found in gtk-doc 
will fail in the same way unless the python3-six is installed via an indirect 
dependency. I didn't have a chance to dig in to this deeper today so I don't 
have more to add than this but the "import six" is pretty explicit and will 
fail unless this script is not meant to actually be run anytime, anywhere.

Mark

> It's coming from the gnome section of meta-oe, which is badly suffering
> from lack of maintenance and general bitrot. I think much of it was
> about to be removed a few months ago at last, but for some reason it
> hasn't happened.
> 
> This specific failure is because libunique recipe neither inherits
> gtk-doc class (which correctly sets things up) nor explicitly disables
> gtk-doc. I'm now building the rest of meta-oe to check if anything else
> needs to be fixed up, and will send a patch in a moment.
> 
> Alex


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/2] gtk-doc: update to 1.27

2018-02-07 Thread Alexander Kanavin

On 02/07/2018 11:34 PM, Mark Asselstine wrote:

Alexander. When things move to python you can almost always bet on them
requiring additional libraries and as such the lack of RDEPENDS here is a bit
surprising. As you can see from the top of some of the py files in gtk-doc we
have:

import logging
import os
import re
import subprocess
import sys
import six
import codecs

Some of which are python stdlibs but others are external modules, such as
'six'. As such I am now getting a build failure:

  -- Installing ../../../libunique-1.1.6/doc/reference/html/up.png
  Traceback (most recent call last):
   File "/home/mark/build/overc/tmp/work/core2-64-overc-linux/libunique/
   1.1.6-r7/recipe-sysroot-native/usr/bin/gtkdoc-rebase", line 28, in

  from gtkdoc import common, config, rebase
  File "/home/mark/build/overc/tmp/work/core2-64-overc-linux/libunique/
  1.1.6-r7/recipe-sysroot-native/usr/share/gtk-doc/python/gtkdoc/
  common.py", line 31, in 
  import six
  ImportError: No module named 'six'

So we need to RDEPENDS on "python-six" here for starters. We do have a recipe
for python-six but it is in meta-openembedded. So we either need to move this
recipe there or the python-six recipe to oe-core or...


Thanks for the failure report Mark, but the diagnosis is way off :-)

First of all, for what purpose are you even building libunique? It's a 
very old, unmaintained library for gtk 2.x apps from gnome stack (last 
release: 2011), and here's what gnome has to say about it: "Unique is 
now in maintenance mode and its usage is strongly discouraged".


It's coming from the gnome section of meta-oe, which is badly suffering 
from lack of maintenance and general bitrot. I think much of it was 
about to be removed a few months ago at last, but for some reason it 
hasn't happened.


This specific failure is because libunique recipe neither inherits 
gtk-doc class (which correctly sets things up) nor explicitly disables 
gtk-doc. I'm now building the rest of meta-oe to check if anything else 
needs to be fixed up, and will send a patch in a moment.


Alex
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/2] gtk-doc: update to 1.27

2018-02-07 Thread Mark Asselstine
On Friday, February 2, 2018 12:38:14 PM EST Alexander Kanavin wrote:
> Gtk-doc has been rewritten in Python, so drop perl dependencies (good
> riddance!), and adjust patches to reflect that.
> 
> Signed-off-by: Alexander Kanavin 
> ---

Alexander. When things move to python you can almost always bet on them 
requiring additional libraries and as such the lack of RDEPENDS here is a bit 
surprising. As you can see from the top of some of the py files in gtk-doc we 
have:

import logging
import os
import re
import subprocess
import sys
import six
import codecs

Some of which are python stdlibs but others are external modules, such as 
'six'. As such I am now getting a build failure:

 -- Installing ../../../libunique-1.1.6/doc/reference/html/up.png
 Traceback (most recent call last):
  File "/home/mark/build/overc/tmp/work/core2-64-overc-linux/libunique/
  1.1.6-r7/recipe-sysroot-native/usr/bin/gtkdoc-rebase", line 28, in 
   
 from gtkdoc import common, config, rebase
 File "/home/mark/build/overc/tmp/work/core2-64-overc-linux/libunique/
 1.1.6-r7/recipe-sysroot-native/usr/share/gtk-doc/python/gtkdoc/
 common.py", line 31, in 
 import six
 ImportError: No module named 'six'

So we need to RDEPENDS on "python-six" here for starters. We do have a recipe 
for python-six but it is in meta-openembedded. So we either need to move this 
recipe there or the python-six recipe to oe-core or...

I have added Derek to the CC as he is being a good sport and working hard on 
python recipes and might have thoughts on the best solution here.

Mark Asselstine

>  ...r-out-if-perl-is-not-found-or-its-version.patch |  40 --
>  ...hardocode-paths-to-perl-python-in-scripts.patch | 155
> +++-- .../gtk-doc/files/conditionaltests.patch   | 
> 26 +++-
>  .../gtk-doc/files/pkg-config-native.patch  |  22 ++-
>  .../gtk-doc/{gtk-doc_1.25.bb => gtk-doc_1.27.bb}   |  15 +-
>  5 files changed, 119 insertions(+), 139 deletions(-)
>  delete mode 100644
> meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found
> -or-its-version.patch rename meta/recipes-gnome/gtk-doc/{gtk-doc_1.25.bb =>
> gtk-doc_1.27.bb} (81%)
> 
> diff --git
> a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-fou
> nd-or-its-version.patch
> b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-fou
> nd-or-its-version.patch deleted file mode 100644
> index 4a9028742ca..000
> ---
> a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-fou
> nd-or-its-version.patch +++ /dev/null
> @@ -1,40 +0,0 @@
> -From e733241fb580f032efbbe684ec35d4c9d27f1595 Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin 
> -Date: Thu, 8 Sep 2016 13:38:39 +0300
> -Subject: [PATCH] Do not error out if perl is not found or its version is
> too - old.
> -
> -This allows use to avoid depending on perl-native if we're not going
> -to use it (when api-docs are disabled).
> -
> -Upstream-Status: Inappropriate [oe-core specific]
> -Signed-off-by: Alexander Kanavin 
> 
> - configure.ac | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 2a61d6e..29415bd 100644
>  a/configure.ac
> -+++ b/configure.ac
> -@@ -36,7 +36,7 @@ dnl Check for Perl.
> - dnl
> - AC_PATH_PROG([PERL], [perl])
> - if test -z "$PERL"; then
> --AC_MSG_ERROR([perl not found])
> -+AC_MSG_WARN([perl not found])
> - fi
> -
> - AC_MSG_CHECKING([if Perl version >= 5.18.0])
> -@@ -44,7 +44,7 @@ if "$PERL" -e "require v5.18.0"; then
> - AC_MSG_RESULT([yes])
> - else
> - AC_MSG_RESULT([no])
> --AC_MSG_ERROR([perl >= 5.18.0 is required for gtk-doc])
> -+AC_MSG_WARN([perl >= 5.18.0 is required for gtk-doc])
> - fi
> -
> - dnl
> ---
> -2.9.3
> -
> diff --git
> a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-pyth
> on-in-scripts.patch
> b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-pyth
> on-in-scripts.patch index 477fc9ae8c1..2fe3ab9221f 100644
> ---
> a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-pyth
> on-in-scripts.patch +++
> b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-pyth
> on-in-scripts.patch @@ -1,7 +1,7 @@
> -From 6fab82b93c7bd301eb42448515b02f7cb3306897 Mon Sep 17 00:00:00 2001
> +From 928102874bc2339a1d57c6b178877e0c6002cb3a Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin 
>  Date: Wed, 31 Aug 2016 16:44:46 +0300
> -Subject: [PATCH] Do not hardocode paths to perl/python in scripts.
> +Subject: [PATCH 1/3] Do not hardocode paths to perl/python in scripts.
> 
>  Doing so when the interpreters are somewhere deep in a sysroot directory
>  can reach the shebang line limit, and resulting scripts wouldn't work
> @@ -9,131 +9,134 @@ on targets either.
> 
>  Upstream-Status: Inappropriate 

[OE-core] [PATCH 1/2] gtk-doc: update to 1.27

2018-02-02 Thread Alexander Kanavin
Gtk-doc has been rewritten in Python, so drop perl dependencies (good 
riddance!),
and adjust patches to reflect that.

Signed-off-by: Alexander Kanavin 
---
 ...r-out-if-perl-is-not-found-or-its-version.patch |  40 --
 ...hardocode-paths-to-perl-python-in-scripts.patch | 155 +++--
 .../gtk-doc/files/conditionaltests.patch   |  26 +++-
 .../gtk-doc/files/pkg-config-native.patch  |  22 ++-
 .../gtk-doc/{gtk-doc_1.25.bb => gtk-doc_1.27.bb}   |  15 +-
 5 files changed, 119 insertions(+), 139 deletions(-)
 delete mode 100644 
meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch
 rename meta/recipes-gnome/gtk-doc/{gtk-doc_1.25.bb => gtk-doc_1.27.bb} (81%)

diff --git 
a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch
 
b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch
deleted file mode 100644
index 4a9028742ca..000
--- 
a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From e733241fb580f032efbbe684ec35d4c9d27f1595 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin 
-Date: Thu, 8 Sep 2016 13:38:39 +0300
-Subject: [PATCH] Do not error out if perl is not found or its version is too
- old.
-
-This allows use to avoid depending on perl-native if we're not going
-to use it (when api-docs are disabled).
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin 

- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 2a61d6e..29415bd 100644
 a/configure.ac
-+++ b/configure.ac
-@@ -36,7 +36,7 @@ dnl Check for Perl.
- dnl
- AC_PATH_PROG([PERL], [perl])
- if test -z "$PERL"; then
--  AC_MSG_ERROR([perl not found])
-+  AC_MSG_WARN([perl not found])
- fi
- 
- AC_MSG_CHECKING([if Perl version >= 5.18.0])
-@@ -44,7 +44,7 @@ if "$PERL" -e "require v5.18.0"; then
-   AC_MSG_RESULT([yes])
- else
-   AC_MSG_RESULT([no])
--  AC_MSG_ERROR([perl >= 5.18.0 is required for gtk-doc])
-+  AC_MSG_WARN([perl >= 5.18.0 is required for gtk-doc])
- fi
- 
- dnl
--- 
-2.9.3
-
diff --git 
a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
 
b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
index 477fc9ae8c1..2fe3ab9221f 100644
--- 
a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
+++ 
b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
@@ -1,7 +1,7 @@
-From 6fab82b93c7bd301eb42448515b02f7cb3306897 Mon Sep 17 00:00:00 2001
+From 928102874bc2339a1d57c6b178877e0c6002cb3a Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Wed, 31 Aug 2016 16:44:46 +0300
-Subject: [PATCH] Do not hardocode paths to perl/python in scripts.
+Subject: [PATCH 1/3] Do not hardocode paths to perl/python in scripts.
 
 Doing so when the interpreters are somewhere deep in a sysroot directory
 can reach the shebang line limit, and resulting scripts wouldn't work
@@ -9,131 +9,134 @@ on targets either.
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin 
+
 ---
- gtkdoc-check.in | 2 +-
- gtkdoc-common.pl.in | 2 +-
- gtkdoc-depscan.in   | 2 +-
- gtkdoc-fixxref.in   | 2 +-
- gtkdoc-mkdb.in  | 2 +-
- gtkdoc-mktmpl.in| 2 +-
- gtkdoc-rebase.in| 2 +-
- gtkdoc-scan.in  | 2 +-
- gtkdoc-scangobj.in  | 2 +-
- tests/tools.sh.in   | 4 ++--
- 10 files changed, 11 insertions(+), 11 deletions(-)
+ gtkdoc-check.in| 2 +-
+ gtkdoc-depscan.in  | 2 +-
+ gtkdoc-fixxref.in  | 2 +-
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mkhtml.in   | 2 +-
+ gtkdoc-mkman.in| 2 +-
+ gtkdoc-mkpdf.in| 2 +-
+ gtkdoc-rebase.in   | 2 +-
+ gtkdoc-scan.in | 2 +-
+ gtkdoc-scangobj.in | 2 +-
+ tests/tools.sh.in  | 2 +-
+ 11 files changed, 11 insertions(+), 11 deletions(-)
 
 diff --git a/gtkdoc-check.in b/gtkdoc-check.in
-index 560d69b..b60857f 100755
+index 8c8e917..f6a25f6 100755
 --- a/gtkdoc-check.in
 +++ b/gtkdoc-check.in
 @@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!/usr/bin/env perl
- # -*- cperl -*-
- #
- # gtk-doc - GTK DocBook documentation generator.
-diff --git a/gtkdoc-common.pl.in b/gtkdoc-common.pl.in
-index 4747396..cfadb78 100644
 a/gtkdoc-common.pl.in
-+++ b/gtkdoc-common.pl.in
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!/usr/bin/env perl
- # -*- cperl -*-
+-#!@PYTHON@
++#!/usr/bin/env python3
+ # -*- python; coding: utf-8 -*-
  #
  # gtk-doc - GTK DocBook documentation generator.
 diff --git a/gtkdoc-depscan.in b/gtkdoc-depscan.in
-index 83af01b..917e247 100644
+index 9bfaf30..aadc952 100644
 --- a/gtkdoc-depscan.in
 +++ b/gtkdoc-depscan.in
 @@ -1,4 +1,4 @@