Re: [OE-core] [PATCH 1/2] gtk-doc: update to 1.27
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
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
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
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
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
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
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 @@