summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools
AgeCommit message (Collapse)AuthorFiles
2017-05-23kconfig-frontends: update to 4.10.0.1Alexander Kanavin3
Add a couple of patches: - move python script to use Python 3 - fix .pc file installation path Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18cve-check-tool: backport a patch to make CVE checking workChen Qi2
CVE checking in OE didn't work as do_populate_cve_db failed with the following error message. [snip]/downloads/CVE_CHECK/nvdcve-2.0-2002.xml is not consistent Backport a patch to fix this error. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18python3-nose: rename ${bindir}/nosetests into ${bindir}/nosetests3Denys Dmytriyenko1
This resolves a conflict when both python-nose and python3-nose are pulled into an image and try to install ${bindir}/nosetests binary. This matches with how other distros are solving this problem, e.g. Debian: https://packages.debian.org/jessie/all/python3-nose/filelist Also, other packages like python3-setuptools are already doing the same with their binaries. Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18binutils: package libbfd seperatelyCody P Schafer1
Some tools (my issue was with 'perf') only need the libbfd component of binutils, so we can save space in images by splitting it out. Previously, instead of `perf` pulling in `libbfd-VERSION.so`, it pulled in all the libraries and binaries from binutils. Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18python: update to 3.5.3Alexander Kanavin6
Prior versions of python do not support openssl 1.1; updating to Python 3.6 on the other hand is a lot more involved, and so should be done by a specialist/maintainer. LICENSE checksum change due to copyright years. Drop upstreamed python3-fix-CVE-2016-1000110.patch Rebase upstream-random-fixes.patch (taken from https://github.com/python/cpython/commit/ff558f5aba40bd173f336503def886a12f8db016 ) Rebase 0001-Do-not-use-the-shell-version-of-python-config-that-w.patch Rebase 000-cross-compile.patch Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18opkg-utils: don't generate PN-dev and PN-staticdevRoss Burton1
opkg-utils ends up in any opkg/rpm image with package management as it's the provider for update-alternatives. If dev-pkgs is enabled then opkg-utils-dev will get installed, which is empty but will subsequently pull python3-dev into the image (as opkg-utils-python depends on python3). As this can result in all of Python appearing in otherwise small images, don't generate these pointless packages. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18opkg-utils: move to Python 3Alexander Kanavin2
The scripts were fixed to be compatible with py3 some time ago, but the shebang continued to refer to python 2.x. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16python3-pygpgme: remove the recipeAlexander Kanavin1
It was required only by dnf, which has switched to official gpgme bindings. pygpgme itself is old and unmaintaned. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16dnf: update to 2.3.0Alexander Kanavin2
Drop dependency on pygpgme, replace it with gpgme's own bindings. Add a patch that fixes an upstream regression. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16libdnf: update to 0.8.1Alexander Kanavin3
Rebase the patches. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16btrfs-tools: upgrade to 4.10.2Alexander Kanavin1
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16vala: upgrade to 0.36.2Alexander Kanavin2
Make libxslt-native dependency conditional on api-documentation distro feature, as vala now defaults to rebuilding the manual (which is slow). Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16mklibs-native: remove native python dependencyAlexander Kanavin1
It's not actually required; host python is fine. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-12gcc-configure/gcc-target: Move arm6/7 config to target onlyRichard Purdie2
We only build one gcc-cross per architecture and having target specific flags means gcc-cross would rebuild. These flags are really for the on target case, so they should be set in gcc-target only. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-12python*-git: Upgrade to version 2.1.3Jose Lamego3
Both python-git and python3-git need to be upgraded to latest upstream version. This change was tested using qemux86 with core-image-sato. Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-12json-c: Upgrade to 0.12.1 releaseKhem Raj4
Backport fix for gcc7 warning along the way Remove --disable-rpath as this configure doesn't support it anymore [RB]. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-11python.inc: Fix python2/3 hosttools path referencesRichard Purdie1
Both native and target versions of this file reference mkdir and install in hosttools paths. Use the version from PATH instead. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11rpm: Ensure macros file doesn't reference HOSTTOOLSRichard Purdie1
Currently the file encodes full paths to various host tools in the HOSTTOOLS directory which is bad in native and target cases. We can simply use the versions from PATH quite safely in OE. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10tcf-agent: enable default target debugging featuresGernot Hillier1
A number of features were disabled in OE due to historic problems on ARM. In tcf-agent 1.4, they compile cleanly on all architectures besides mips and libc-musl. These features are required for target debugging with Eclipse Neon, CDT and TCF plugins - for example used by Xilinx Vivado SDK 2016.4. For MIPS and libc-musl, at least re-enable SERVICE_Symbols and SERVICE_LineNumbers which compile cleanly. Signed-off-by: Gernot Hillier <gernot.hillier@siemens.com> Signed-off-by: Tim Offermann <tim.offermann@siemens.com> Acked-by: Eugene Tarassov <eugene.tarassov@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10tcf-agent: fix machine setting for arm64 buildGernot Hillier1
tcf-agent uses "a64", not "aarch64", see agent/Makefile.inc. This fix allows to re-enable features like SERVICE_Breakpoints and SERVICE_ MemoryMap on arm64. Signed-off-by: Gernot Hillier <gernot.hillier@siemens.com> Acked-by: Eugene Tarassov <eugene.tarassov@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10python3: add python3 metapackageRoss Burton1
Many new users add "python3" to their image using IMAGE_INSTALL and are then surprised that they can't import any of the standard library. This is because we split up the standard library into a number of packages, and python3-core (the interpreter and essential modules only) RPROVIDES 'python3'. Solve this by moving the RPROVIDES of 'python3' to python3-modules, so that the entire Python standard library is installed. [ YOCTO #11182 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-10valgrind: Fix arm build with gcc7Khem Raj2
Add function to remove -mcpu compiler options on arm Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-10bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-componentsPeter Kjellerstedt4
The path to where to install and find the sysroot components is used in many places. This warrants it to get its own variable. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-28python3-iniparse: fix upstream version checkAlexander Kanavin1
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-28rpm: properly relocate additional native toolsAlexander Kanavin1
These tools are not currently used for anything, but we should still provide working versions of them. [YOCTO #11400] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-14pseudo: Backport two upstream fixesRichard Purdie3
Backport fixes from pseudo master for an acl issue and more importantly, a segfault issue with bash which can be triggered by the recent useradd changes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-13Revert "dnf: remove systemd units in nativesdk builds"Ross Burton1
nativesdk builds now control the DISTRO_FEATURES (oe-core 731744) so this workaround is no longer required. This reverts commit 415b72ffcbd26e5f3664370d8b2a9b8105fb6342. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-13apt: fix libdir path for apt.systemd.dailyRobert Yang1
It should be ${libdir} rather than /usr/lib, otherwise it would fail when multilib: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" $ bitbake apt [snip] install: target /path/to/apt/1.2.12-r0/image/usr/lib/apt is not a directory: No such file or directory [snip] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-13base-passwd/useradd: Various improvements to useradd with RSSRichard Purdie1
Currently there are multiple issues with useradd: * If base-passwd rebuilds, it wipes out recipe specific user/group additions to sysroots and causes errors * If recipe A adds a user and recipe B depends on A, it can't see any of the users/groups A adds. This patch changes base-passwd so it always works as a postinst script within the sysroot and copies in the master files, then runs any postinst-useradd-* scripts afterwards to add additional user/groups. The postinst-useradd-* scripts are tweaked so that if /etc/passwd doesn't exist they just exit, knowning they'll be executed later. We also add a dummy entry to the dummy passwd file from pseudo so we can avoid this too. There is a problem where if recipe A adds a user and recipe B depends on A but doesn't care about users, it may not have a dependency on the useradd/groupadd tools which would therefore not be available in B's sysroot. We therefore also tweak postinst-useradd-* scripts so that if the tools aren't present we simply don't add users. If you need the users, you add a dependency on the tools in the recipe and they'll be added. We add postinst-* to SSTATE_SCAN_FILES since almost any postinst script of this kind is going to need relocation help. We also ensure that the postinst-useradd script is written into the sstate object as the current script was only being added in a recipe local way. Thanks to Peter Kjellerstedt <pkj@axis.com> and Patrick Ohly for some pieces of this patch. [Yocto #11124] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12qemu-helper-native: prepare native sysroot for runqemubrian avery1
Make sure that native sysroot contains qemu and tunctl binaries for runqemu usage: - excluded native sysroot from rm_work - added qemu-native to DEPENDS to put qemu binaries into native sysroot - forced addto_recipe_sysroot task [YOCTO #11266] [YOCTO #11193] Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12recipes/*-cross recipes: ignore TARGET_ARCH sstate hashPatrick Ohly4
"yocto-compat-layer.py --machines" showed that shared packages like gcc-cross-powerpc64 have a sstate signature that depends on TUNEFLAGS. As a result, there are unnecessary rebuilds and potential conflicts in a multiconfig. That's due to the way how TARGET_ARCH is set. Richard Purdie suggested setting TARGET_ARCH[vardepvalue] as fix, which works. It would be shorter to do that in cross.bbclass instead of repeating the relevant line in different recipes, but Richard was concerned about potential side-effects in other usages of cross.bbclass. TARGET_GOARM as used in go.inc is still causing signature differences for go-cross-powerpc64 and machines b4420qds-64b and p5020ds-64b. This needs further investigation. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12gdb-cross: avoid tune specific pathsPatrick Ohly1
gdb-cross used to be specific to the tune flags, but isn't anymore. Therefore it is enough to use TARGET_SYS instead of TUNE_PKGARCH to create a unique path. Fixes a sstate signature difference that was found via yocto-compat-layer.py's test_machine_signatures check. In practice it probably showed up as unnecessarily rebuilding gdb-cross when switching between machines like intel-corei7-64 and qemux86-64. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12go-cross: avoid libgcc dependencyPatrick Ohly1
libgcc gets compiled differently depending on the tune flags for the target. That dependency would make go-cross also tune specific and prevent sharing it between different machines using the same architecture. For example, MACHINE=intel-corei7-64 and MACHINE=qemux86-64 shared the same go-cross-x86_64, but compiled libgcc differently. The libgcc dependency gets inherited from go.inc, but does not seem to be necessary for go-cross (compiling go-helloworld still succeeds). The dependency is left in go.inc conditionally, just in case that it really is relevant for the various on-target recipes which inherit that. Because go-cross*.bb includes go*.bb, moving the DEPENDS into a .inc file that only gets included for the target recipes doesn't work. Reshuffling the content of three .bb files seems too intrusive at this point. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11binutils: Fix CVE-2017-6965 and CVE-2017-6966Yuanjie Huang3
Backport upstream commit to address vulnerabilities: CVE: CVE-2017-6965 [BZ 21137] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21137 Fix readelf writing to illegal addresses whilst processing corrupt input files containing symbol-difference relocations. PR binutils/21137 * readelf.c (target_specific_reloc_handling): Add end parameter. Check for buffer overflow before writing relocated values. (apply_relocations): Pass end to target_specific_reloc_handling. CVE: CVE-2017-6966 [BZ 21139] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21139 Fix read-after-free error in readelf when processing multiple, relocated sections in an MSP430 binary. PR binutils/21139 * readelf.c (target_specific_reloc_handling): Add num_syms parameter. Check for symbol table overflow before accessing symbol value. If reloc pointer is NULL, discard all saved state. (apply_relocations): Pass num_syms to target_specific_reloc_handling. Call target_specific_reloc_handling with a NULL reloc pointer after processing all of the relocs. Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11python2/3: Move config/Makefile from core package to dev packageLi Zhou2
Move config/Makefile in libdir from core package to dev package for python, because it is only needed in development process. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11mtd-utils: refresh patches now merged upstreamAndre McCurdy4
Update Upstream-Status tags and apply 010-fix-rpmatch.patch unconditionally, since it's merged unconditionally upstream. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08python-pycurl: create python3-pycurl recipeDmitry Rozhkov3
The python-pycurl recipe can be used with python2 only even though python3 is officially supported by upstream. Create python3-pycurl recipe enabling the pycurl module for python3. Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08qemu: use python2.7 instead of python2Martin Kelly1
meta/conf/bitbake.conf puts python2.7 into the HOSTTOOLS variable but not python2, so only python2.7 is guaranteed. In addition, on some distros -- such as Amazon Linux -- /usr/bin/python2 doesn't exist but python2.7 does. So, use python2.7 for the --python= argument in the qemu configure step. Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08gcc-6.3: backport fix of check for empty string in ubsan.cJoshua Lock2
Building gcc-cross-initial with GCC7 on the host fails due to the comparison of a pointer to an integer in ubsan_use_new_style_p, which is forbidden by ISO C++: ubsan.c:1474:23: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] || xloc.file == '\0' || xloc.file[0] == '\xff' Backport the fix from upstream GCC to enable the build with GCC 7 Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08elfutils: fix building elfutils-native with GCC7Joshua Lock3
Backport a fix from upstream for a -Wformat-truncation=2 warning and implement a simple fix for a -Wimplicit-fallthrough warning. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08python3: fix run-time deps for core python3 librariesDmitry Rozhkov1
The http.server module from python3-netclient imports the html module which is in python3-html. Also xmlrpc.server imports pydoc which is a part of python3-pydoc. But those run-time dependencies are missing from python3-netclient and python3-xmlrpc respectively. Add the missing run-time dependencies. Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08autogen-native: fix POSIX_SHELL and perlRobert Yang2
The shebang's length is usually 128 as defined in /usr/include/linux/binfmts.h: #define BINPRM_BUF_SIZE 128 So there would be errors when /path/to/hosttools/perl is longer than 128. This patch fixes the problem when POSIX_SHELL and perl are used as the interpreters. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08guile: do_configure: fix "Argument list too long"Robert Yang1
Fixed when len(TMPDIR) = 410: Can't exec "/bin/sh": Argument list too long at /usr/lib/perl/5.18/IO/File.pm line 65. This is becuase it has a lot of m4 files, use relative path for them can fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08m4: do_configure: fix "Argument list too long"Robert Yang1
Fixed when len(TMPDIR) = 410: Can't exec "/bin/sh": Argument list too long at /usr/lib/perl/5.18/IO/File.pm line 65. This is becuase it has a lot of m4 files, use relative path for them can fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08valgrind: set ac_cv_path_PERL to /usr/bin/env perlRobert Yang1
The shebang's max length is usually 128 as defined in /usr/include/linux/binfmts.h: #define BINPRM_BUF_SIZE 128 So there would be errors when /path/to/hosttools/perl is longer than 128. Set ac_cv_path_PERL to "/usr/bin/env perl" to fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08glibc/gcc/libgcc-initial: Delete do_build tasks for -initialRichard Purdie2
We've had a lot of users running into RSS issues where -initial recipes were being installed into sysroots alongside their counterparts and causing overlapping files issues. In general this was through do_build dependencies. Such dependencies are bad in general and I'd encourage people to compare the taskgraphs with using a more specific dependency like do_populate_sysroot, do_image_complete or do_deploy as often the more specific dependency will result in a much cleaner build. Regardless, we don't want -initial dependencies getting in the way like this and there are cases a do_build dependency could make sense. Deleting the do_build task in these cases makes sense since this is not a build "endpoint" we'd ever want a user to use, its a behind the scenes piece of bootstrappping. Unfortunately to make this work, we need a newer bitbake version which has a bitbake bug fixed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-05quilt: Fix paths for patch and perlJussi Kukkonen4
Currently some shebang lines end up as #! /usr/bin/env perl -w env does not like the argument. Also the current sed to insert env does not cover the copies ptests use. Fix these issues by: - using --with-perl to insert "env" - Replacing "-w" in shebang lines with a new "use warning;" line Remove a EXTRA_OECONF_append_class_target from the native recipe. Don't overwrite EXTRA_OECONF in native: the values should be correct for native as well. --with-patch is used within the gnu patch wrapper only: before this commit the wrapper contained a (build host) path to native patch. Also tweak one test so busybox mv output is accepted. All ptests should now pass: Fixes [YOCTO #11221]. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05xmlto: replace fedorahosted.org SRC_URI with pagure.io sourceChoong YinThong1
fedorahosted.org was retired on March 1st, 2017. This is to update the SRC_URI to point to pagure.io. pagure.io is a replacement for fedorahosted. [YOCTO #11226] Signed-off-by: Choong YinThong <yin.thong.choong@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-01automake: Adjust shebang lines to remove interpreter path hardcodeSerhii Popovych2
If build host perl (and other tools) is old and we use some kind of toolchain to provide recent perl/python/etc to the OE build we still locked to use build host perl due to hardcoded shebang lines in automake scripts. Behaviour was observed with Enterprise Linux 6 and devtoolset toolchain from SCL (Software Collections) used to provide recent version of perl (not provided with default buildtools-tarball). Pass /usr/bin/env perl in ac_cv_path_PERL configuration variables for class-native and class-nativesdk. Use patch to automake to replace -w option in shebang line with modern way to enable warnings on perl (i.e. "use warnings"). Also add nativesdk-autoconf to RDEPENDS to bring runtime dependencies inline with other targets. Note that ac_cv_path_PERL must be valid perl interpreter path since configure will check perl version and Flock implementation. It is not possible currently to use nativeperl from native sysroot because automake does not DEPENDS on perl-native (and doing so fails due to circular dependencies). Only possible solution is to overwrite shebangs with nativeperl somewhere at do_install() and update RDEPENDS for class-native. Or add perl symlinks to nativeperl in sysroot. For now it seems good to use perl found by /usr/bin/env from automake-native. Cc: XE-Linux <xe-linux-external@cisco.com> Signed-off-by: Serhii Popovych <spopovyc@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-01autoconf: Adjust shebang lines to remove interpreter path hardcodeSerhii Popovych3
If build host perl (and other tools) is old and we use some kind of toolchain to provide recent perl/python/etc to the OE build we still locked to use build host perl due to hardcoded shebang lines in autoconf scripts. Behaviour was observed with Enterprise Linux 6 and devtoolset toolchain from SCL (Software Collections) used to provide recent version of perl (not provided with default buildtools-tarball). Pass /usr/bin/env perl in ac_cv_path_PERL configuration variables for class-native and class-nativesdk. Use patch to autoconf to replace -w option in shebang line with modern way to enable warnings on perl (i.e. "use warnings"). Also add nativesdk-m4 and nativesdk-gnu-config to RDEPENDS to bring runtime dependencies inline with other targets. Note that ac_cv_path_PERL must be valid perl interpreter path since configure will check perl version and Flock implementation. It is not possible currently to use nativeperl from native sysroot because autoconf does not DEPENDS on perl-native (and doing so fails due to circular dependencies). Only possible solution is to overwrite shebangs with nativeperl somewhere at do_install() and update RDEPENDS for class-native. Or add perl symlinks to nativeperl in sysroot. For now it seems good to use perl found by /usr/bin/env from autoconf-native. Cc: XE-Linux <xe-linux-external@cisco.com> Signed-off-by: Serhii Popovych <spopovyc@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>