[OE-core] [PATCH 1/2] gtk-doc: update to 1.27
Mark Asselstine
mark.asselstine at windriver.com
Wed Feb 7 21:34:00 UTC 2018
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.kanavin at linux.intel.com>
> ---
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
<module>
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 <module>
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..00000000000
> ---
> 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 <alex.kanavin at gmail.com>
> -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 <alex.kanavin at gmail.com>
> ----
> - 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 <alex.kanavin at gmail.com>
> 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 <alex.kanavin at gmail.com>
> +
> ---
> - 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 @@
> -#!@PYTHON@
> -+#!/usr/bin/env python
> ++#!/usr/bin/env python3
>
> - import gzip, os.path, re
> + from __future__ import print_function
>
> diff --git a/gtkdoc-fixxref.in b/gtkdoc-fixxref.in
> -index 3d9e8d0..d55190b 100755
> +index 0ea02d4..bdd443a 100755
> --- a/gtkdoc-fixxref.in
> +++ b/gtkdoc-fixxref.in
> @@ -1,4 +1,4 @@
> --#!@PERL@ -w
> -+#!/usr/bin/env perl
> - # -*- cperl -*-
> +-#!@PYTHON@
> ++#!/usr/bin/env python3
> + # -*- python -*-
> #
> # gtk-doc - GTK DocBook documentation generator.
> diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in
> -index 8dd6d5e..d808750 100755
> +index 42d5731..3a56d56 100755
> --- a/gtkdoc-mkdb.in
> +++ b/gtkdoc-mkdb.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-mkhtml.in b/gtkdoc-mkhtml.in
> +index 0d0a15d..914ff55 100644
> +--- a/gtkdoc-mkhtml.in
> ++++ b/gtkdoc-mkhtml.in
> +@@ -1,4 +1,4 @@
> +-#!@PYTHON@
> ++#!/usr/bin/env python3
> + # -*- python; coding: utf-8 -*-
> #
> # gtk-doc - GTK DocBook documentation generator.
> -diff --git a/gtkdoc-mktmpl.in b/gtkdoc-mktmpl.in
> -index c64dfd3..2f46c18 100755
> ---- a/gtkdoc-mktmpl.in
> -+++ b/gtkdoc-mktmpl.in
> +diff --git a/gtkdoc-mkman.in b/gtkdoc-mkman.in
> +index c5445cd..65db71a 100644
> +--- a/gtkdoc-mkman.in
> ++++ b/gtkdoc-mkman.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-mkpdf.in b/gtkdoc-mkpdf.in
> +index e8c0c03..f807236 100755
> +--- a/gtkdoc-mkpdf.in
> ++++ b/gtkdoc-mkpdf.in
> +@@ -1,4 +1,4 @@
> +-#!@PYTHON@
> ++#!/usr/bin/env python3
> + # -*- python; coding: utf-8 -*-
> #
> # gtk-doc - GTK DocBook documentation generator.
> diff --git a/gtkdoc-rebase.in b/gtkdoc-rebase.in
> -index 375482d..cf05b45 100644
> +index 17a71c2..ec3fd28 100755
> --- a/gtkdoc-rebase.in
> +++ b/gtkdoc-rebase.in
> @@ -1,4 +1,4 @@
> --#!@PERL@ -w
> -+#!/usr/bin/env perl
> - # -*- cperl -*-
> +-#!@PYTHON@
> ++#!/usr/bin/env python3
> + # -*- python -*-
> #
> # gtk-doc - GTK DocBook documentation generator.
> diff --git a/gtkdoc-scan.in b/gtkdoc-scan.in
> -index 048e5c9..78c6136 100755
> +index 954c811..f461504 100755
> --- a/gtkdoc-scan.in
> +++ b/gtkdoc-scan.in
> @@ -1,4 +1,4 @@
> --#!@PERL@ -w
> -+#!/usr/bin/env perl
> - # -*- cperl -*-
> +-#!@PYTHON@
> ++#!/usr/bin/env python3
> + # -*- python -*-
> #
> # gtk-doc - GTK DocBook documentation generator.
> diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in
> -index fb66b76..67ee8f7 100644
> +index 4cbe130..52c2c24 100644
> --- a/gtkdoc-scangobj.in
> +++ b/gtkdoc-scangobj.in
> @@ -1,4 +1,4 @@
> --#!@PERL@ -w
> -+#!/usr/bin/env perl
> - # -*- cperl -*-
> +-#!@PYTHON@
> ++#!/usr/bin/env python3
> + # -*- python -*-
> #
> # gtk-doc - GTK DocBook documentation generator.
> diff --git a/tests/tools.sh.in b/tests/tools.sh.in
> -index a114a42..7073883 100644
> +index 4d301d0..565fc1e 100644
> --- a/tests/tools.sh.in
> +++ b/tests/tools.sh.in
> -@@ -11,7 +11,7 @@ echo "Running suite(s): gtk-doc-$suite";
> -
> - # test perl scripts
> - for file in gtkdoc-check gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mktmpl
> gtkdoc-rebase gtkdoc-scan gtkdoc-scangobj ; do -- @PERL@ -cwT `which
> $file`
> -+ perl -cwT `which $file`
> - if test $? = 1 ; then failed=`expr $failed + 1`; fi
> - tested=`expr $tested + 1`
> +@@ -31,7 +31,7 @@ done
> + # TODO: test python 2 and 3 (python3 -mcompileall gtkdoc/*.py)
> + for file in gtkdoc-check gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb
> gtkdoc-mkhtml gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase gtkdoc-scangobj; do +
> fullfile=`which $file`
> +- @PYTHON@ -m py_compile $fullfile
> ++ python3 -m py_compile $fullfile
> + if test $? != 0 ; then failed=`expr $failed + 1`; fi
> + tested=`expr $tested + 1`
> done
> -@@ -34,7 +34,7 @@ done
> -
> -
> - # test python scripts
> -- at PYTHON@ -m py_compile `which gtkdoc-depscan`
> -+python -m py_compile `which gtkdoc-depscan`
> - if test $? != 0 ; then failed=`expr $failed + 1`; fi
> - tested=`expr $tested + 1`
> -
> -2.9.3
> +2.14.1
>
> diff --git a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
> b/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch index
> 0c180f2605e..21c2db7826f 100644
> --- a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
> +++ b/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch
> @@ -1,14 +1,23 @@
> +From 78bbf185934147a69ceb4b617d424e12e70997bf Mon Sep 17 00:00:00 2001
> +From: Richard Purdie <richard.purdie at linuxfoundation.org>
> +Date: Tue, 27 Jun 2017 21:00:58 +0100
> +Subject: [PATCH 3/3] gtk-doc: Handle floating gtk-doc dependency
> +
> Allow the tests to be explicitly disabled to avoid floating dependnecy
> issues. This is not really an issue with RSS but is on previous releases.
>
> RP 2017/6/27
> Upstream-Status: Pending
>
> -Index: gtk-doc-1.25/configure.ac
> -===================================================================
> ---- gtk-doc-1.25.orig/configure.ac
> -+++ gtk-doc-1.25/configure.ac
> -@@ -161,6 +161,11 @@ if test "x$GCC" = "xyes"; then
> +---
> + configure.ac | 10 ++++++++++
> + 1 file changed, 10 insertions(+)
> +
> +diff --git a/configure.ac b/configure.ac
> +index 684e2d1..e5e3aab 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -146,6 +146,11 @@ if test "x$GCC" = "xyes"; then
> fi
> fi
>
> @@ -20,7 +29,7 @@ Index: gtk-doc-1.25/configure.ac
> dnl if glib is available we can enable the tests
> PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
> [ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
> -@@ -171,6 +176,11 @@ PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >
> +@@ -156,6 +161,11 @@ PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0
> gobject-2.0 >= 2.6.0], build_tests="no"
> ]
> )
> @@ -30,5 +39,8 @@ Index: gtk-doc-1.25/configure.ac
> +fi
> +
> AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a
> x$gtk_doc_use_libtool = xyes ) - dnl this enable the rule in
> test/Makefile.am
> + dnl this enables the rule in test/Makefile.am
> AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes)
> +--
> +2.14.1
> +
> diff --git a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
> b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch index
> c7688704eb6..bf03c8f6134 100644
> --- a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
> +++ b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
> @@ -1,24 +1,31 @@
> -Use native pkg-config when looking for gtk-doc.
> +From 5f145621b4780cfd6a5632fcc97c45f572938efc Mon Sep 17 00:00:00 2001
> +From: Ross Burton <ross.burton at intel.com>
> +Date: Mon, 5 Sep 2016 22:25:44 +0100
> +Subject: [PATCH 5/5] Use native pkg-config when looking for gtk-doc.
>
> Upstream-Status: Inappropriate
> Signed-off-by: Ross Burton <ross.burton at intel.com>
>
> +---
> + gtk-doc.m4 | 7 ++++++-
> + 1 file changed, 6 insertions(+), 1 deletion(-)
> +
> diff --git a/gtk-doc.m4 b/gtk-doc.m4
> -index 3675543..94881ae 100644
> +index 3675543..2590e2a 100644
> --- a/gtk-doc.m4
> +++ b/gtk-doc.m4
> @@ -1,6 +1,6 @@
> dnl -*- mode: autoconf -*-
> -
> +
> -# serial 2
> +# serial 2.1
> -
> +
> dnl Usage:
> dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
> @@ -10,11 +10,16 @@ AC_DEFUN([GTK_DOC_CHECK],
> AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
> AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
> -
> +
> + gtkdoc_pkgconfig_save=$PKG_CONFIG
> + PKG_CONFIG=pkg-config-native
> +
> @@ -26,9 +33,12 @@ index 3675543..94881ae 100644
> AC_MSG_CHECKING([for gtk-doc])
>
> PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
> AC_MSG_RESULT($have_gtk_doc)
> -
> +
> + PKG_CONFIG=$gtkdoc_pkgconfig_save
> +
> if test "$have_gtk_doc" = "no"; then
> AC_MSG_WARN([
> You will not be able to create source packages with 'make dist'
> +--
> +2.15.1
> +
> diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb
> b/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb similarity index 81%
> rename from meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb
> rename to meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb
> index e0eb994e259..b907bae1478 100644
> --- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb
> +++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb
> @@ -15,22 +15,17 @@ PACKAGECONFIG ??=
> "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", # into its
> scripts. This means that target gtk-doc package is broken; # hopefully no
> one minds because its scripts are not used for anything during build # and
> shouldn't be used on targets.
> -PACKAGECONFIG[working-scripts] =
> "--with-highlight=source-highlight,--with-highlight=no,libxslt-native
> xmlto-native source-highlight-native perl-native"
> +PACKAGECONFIG[working-scripts] =
> "--with-highlight=source-highlight,--with-highlight=no,libxslt-native
> xmlto-native source-highlight-native python3-six" PACKAGECONFIG[tests] =
> "--enable-tests,--disable-tests,glib-2.0"
>
> -# We cannot use host perl, because it may be too old for gtk-doc
> -EXTRANATIVEPATH += "perl-native"
> -
> +SRC_URI[archive.md5sum] = "b29949e0964762e474b706ce22171602"
> +SRC_URI[archive.sha256sum] =
> "e26bd3f7080c749b1cb66c46c6bf8239e2f320a949964fb9c6d56e1b0c6d9a6f" SRC_URI
> += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ -
> file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ -
>
> file://0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch \ -
> file://conditionaltests.patch \
> + file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
> + file://conditionaltests.patch \
> "
> SRC_URI_append_class-native = " file://pkg-config-native.patch"
>
> -SRC_URI[archive.md5sum] = "0dc6570953112a464a409fb99258ccbc"
> -SRC_URI[archive.sha256sum] =
> "1ea46ed400e6501f975acaafea31479cea8f32f911dca4dff036f59e6464fd42" -
> BBCLASSEXTEND = "native nativesdk"
>
> # Do not check for XML catalogs when building because that
More information about the Openembedded-core
mailing list