[oe-commits] [meta-openembedded] 35/39: autotools-bootstrap: make bootstrap package specific.

git at git.openembedded.org git at git.openembedded.org
Thu May 19 10:11:02 UTC 2016


martin_jansa pushed a commit to branch krogoth-next
in repository meta-openembedded.

commit 3cec94aef8220b5a1651ef15b7b25fd1f3201d78
Author: Paul Gortmaker <paul.gortmaker at windriver.com>
AuthorDate: Sun May 8 15:08:12 2016 -0400

    autotools-bootstrap: make bootstrap package specific.
    
    The theory behind this bbclass was reasonable, with the primary
    goal being to avoid multiple downloads of gnulib, but it neglected
    the fact that packages would be shipping a specific version of the
    ./bootstrap which will support some flags but maybe not all the
    latest ones from the latest gnulib/build-aux/bootstrap file.
    
    I attempted to simply update the two pkgs to use the latest copy
    of bootstrap from gnulib but this of course triggers the descent
    into autoconf hell that we all know and love.  Rather than futzing
    with the packages configure.ac and deviating from what the pkg
    maintainers intended and tested, we can just let the packages have
    independent calls to ./bootstrap with whatever flags are needed.
    
    The goal of this commit is to move the prepend out to the packages
    and then delete the class without any real functional change ; i.e.
    a purely mechanical change.  Then we can adjust each package to
    ensure it will still build with a modern host, in an independent
    fashion, while keeping the main advantage of not fetching gnulib
    two extra times for netcf and fontforge.
    
    Signed-off-by: Paul Gortmaker <paul.gortmaker at windriver.com>
    Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
    Signed-off-by: Joe MacDonald <joe_macdonald at mentor.com>
    Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
 meta-networking/recipes-support/netcf/netcf_git.bb | 22 +++++++++++++++++++-
 meta-oe/classes/autotools-bootstrap.bbclass        | 24 ----------------------
 .../fontforge/fontforge_20150824.bb                | 18 +++++++++++++++-
 3 files changed, 38 insertions(+), 26 deletions(-)

diff --git a/meta-networking/recipes-support/netcf/netcf_git.bb b/meta-networking/recipes-support/netcf/netcf_git.bb
index 26c738b..08082ff 100644
--- a/meta-networking/recipes-support/netcf/netcf_git.bb
+++ b/meta-networking/recipes-support/netcf/netcf_git.bb
@@ -16,13 +16,33 @@ DEPENDS += "augeas libnl libxslt libxml2 gnulib"
 
 S = "${WORKDIR}/git"
 
-inherit gettext autotools-bootstrap pkgconfig systemd
+inherit gettext autotools pkgconfig systemd
 
 EXTRA_OECONF_append_class-target = " --with-driver=redhat"
 
 PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)}"
 PACKAGECONFIG[systemd] = "--with-sysinit=systemd,--with-sysinit=initscripts,"
 
+do_configure_prepend() {
+    currdir=`pwd`
+    cd ${S}
+
+    # avoid bootstrap cloning gnulib on every configure
+    cat >.gitmodules <<EOF
+[submodule "gnulib"]
+       path = gnulib
+       url = git://git.sv.gnu.org/gnulib
+EOF
+    cp -rf ${STAGING_DATADIR}/gnulib ${S}
+
+    # --force to avoid errors on reconfigure e.g if recipes changed we depend on
+    # | bootstrap: running: libtoolize --quiet
+    # | libtoolize:   error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
+    # | ...
+    ./bootstrap --force
+    cd $currdir
+}
+
 do_install_append() {
     if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
        install -d ${D}${systemd_unitdir}/system
diff --git a/meta-oe/classes/autotools-bootstrap.bbclass b/meta-oe/classes/autotools-bootstrap.bbclass
deleted file mode 100644
index 8d7af1b..0000000
--- a/meta-oe/classes/autotools-bootstrap.bbclass
+++ /dev/null
@@ -1,24 +0,0 @@
-# Class to inherit when you want to build with autotools after running bootstrap
-inherit autotools
-
-DEPENDS += "gnulib"
-
-do_configure_prepend() {
-    currdir=`pwd`
-    cd ${S}
-
-    # avoid bootstrap cloning gnulib on every configure
-    cat >.gitmodules <<EOF
-[submodule "gnulib"]
-	path = gnulib
-	url = git://git.sv.gnu.org/gnulib
-EOF
-    cp -rf ${STAGING_DATADIR}/gnulib ${S}
-
-    # --force to avoid errors on reconfigure e.g if recipes changed we depend on
-    # | bootstrap: running: libtoolize --quiet
-    # | libtoolize:   error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
-    # | ...
-    ./bootstrap --force
-    cd $currdir
-}
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb b/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb
index b50202d..53899f1 100644
--- a/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb
+++ b/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = " \
 DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash"
 DEPENDS_append_class-target = " libxi"
 
-inherit autotools-bootstrap pkgconfig pythonnative distro_features_check
+inherit autotools pkgconfig pythonnative distro_features_check
 
 REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
 
@@ -24,8 +24,24 @@ do_configure_prepend() {
     # uthash sources are expected in uthash/src
     currdir=`pwd`
     cd ${S}
+
     mkdir -p uthash/src
     cp ${STAGING_INCDIR}/ut*.h uthash/src
+
+    # avoid bootstrap cloning gnulib on every configure
+    cat >.gitmodules <<EOF
+[submodule "gnulib"]
+       path = gnulib
+       url = git://git.sv.gnu.org/gnulib
+EOF
+    cp -rf ${STAGING_DATADIR}/gnulib ${S}
+
+    # --force to avoid errors on reconfigure e.g if recipes changed we depend on
+    # | bootstrap: running: libtoolize --quiet
+    # | libtoolize:   error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
+    # | ...
+    ./bootstrap --force
+
     cd $currdir
 }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list