summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* multilib.bbclass: update DEFAULTTUNE for image reciperbt/imgRobert Yang2016-11-281-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" $ bitbake -e lib32-core-image-minimal | grep ^TUNE_ARCH= TUNE_ARCH="x86_64" This is incorrect, it should be i686 (or other 32 bit tunes), this makes we can't conditionlly install some packages, for example, the recipe-A sets: COMPATIBLE_HOST = "x86_64.*-linux" Then it only can be installed when TARGET_ARCH is x86_64: IMAGE_INSTALL_x86-64 += "package-A" But it would be error when "bitbake lib32-core-image-minimal": ERROR: lib32-recipe-A was skipped: incompatible with host i686-pokymllib32-linux (not in COMPATIBLE_HOST) This is because TARGET_ARCH is not updated to "i686" when multilib, this patch can fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
* Revert "classes/populate_sdk_ext: require uninative"Ross Burton2016-11-281-3/+4
| | | | | | | | | The change to move C++ ABI tweaks to bitbake.conf should make this redundant, so revert it. This reverts commit c56cd49a12645e82d0a16bb94be16ac509f8813c. Signed-off-by: Ross Burton <ross.burton@intel.com>
* conf: add C++ flags for uninative interoperatilityRoss Burton2016-11-283-12/+11
| | | | | | | | | | | | | | Create a common include file for compiler flags which allow native binaries to be interoperable on a wide range of hosts. In particular the C++ ABI is problematic so choose the CXX11 version to allow interoperation between gcc4 and gcc5 based hosts. Moving this to a common include instead of uninative.bbclass allows uninative to be configured later and used in the eSDK (where its mandatory) even if the base configuration doesn't enable uninative by default (e.g. nodistro in OE-Core). [ YOCTO #10645 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
* libpcap: Fix build when PACKAGECONFIG ipv6 is not enableross/masterFabio Berton2016-11-233-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add patches to fix error: / | ERROR: oe_runmake failed | config.status: creating pcap-config.tmp | mv pcap-config.tmp pcap-config | chmod a+x pcap-config | ../libpcap-1.8.1/gencode.c: In function 'pcap_compile': | ../libpcap-1.8.1/gencode.c:693:8: error: 'compiler_state_t | {aka struct _compiler_state}' has no member named 'ai' | cstate.ai = NULL; | ^ | ../libpcap-1.8.1/gencode.c: In function 'gen_gateway': | ../libpcap-1.8.1/gencode.c:4914:13: error: 'cstate' undeclared | (first use in this function) | bpf_error(cstate, "direction applied to 'gateway'"); | ^~~~~~ | ../libpcap-1.8.1/gencode.c:4914:13: note: each undeclared identifier is | reported only once for each function it appears in \ Patches were submitted to upstream [1] [1] https://github.com/the-tcpdump-group/libpcap/pull/541 Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
* mesa: Upgrade 12.0.3 -> 13.0.1Jussi Kukkonen2016-11-235-12/+62
| | | | | | | | | | | | | New major release with OpenGL 4.4 support. Dependency on libudev has been removed. * Rebase replace_glibc_check_with_linux.patch * Add patch to find native wayland-scanner * Add PACKAGECONFIG[osmesa], disabled by default * package osmesa header correctly Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* devtool: fix handling of unicode characters from subprocess stdoutJiajie Hu2016-11-231-2/+3
| | | | | | | | | | | | | | | In previous implementation, a UnicodeDecodeError exception will be raised if multi-byte encoded characters are printed by the subprocess. As an example, the following command will fail in an en_US.UTF-8 environment because wget quotes its saving destination with '‘'(0xE2 0x80 0x98), while just the first byte is provided for decoding: devtool add recipe http://example.com/source.tar.xz The patch fixes the issue by avoiding such kind of incomplete decoding. Signed-off-by: Jiajie Hu <jiajie.hu@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* libdrm: Upgrade 2.4.71 -> 2.4.73Jussi Kukkonen2016-11-231-2/+2
| | | | | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* tiff: Security fix CVE-2016-3632Yi Zhao2016-11-232-0/+35
| | | | | | | | | | | | | | | | | CVE-2016-3632 libtiff: The _TIFFVGetField function in tif_dirinfo.c in LibTIFF 4.0.6 and earlier allows remote attackers to cause a denial of service (out-of-bounds write) or execute arbitrary code via a crafted TIFF image. External References: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-3632 http://bugzilla.maptools.org/show_bug.cgi?id=2549 https://bugzilla.redhat.com/show_bug.cgi?id=1325095 The patch is from RHEL7. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* grub_git: set COMPATIBLE_HOST_armv7ve to nullYi Zhao2016-11-231-0/+1
| | | | | | | | | | | | | | When build nxp-ls10xx which enable hard-float, it try to force soft-float: | checking if compiling with clang... no | checking for options to compile assembly... | checking whether -freg-struct-return works... yes | checking for options to get soft-float... no | configure: error: could not force soft-float Set COMPATIBLE_HOST_armv7ve to null to skip the build. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* python-scons*: upgrade to 2.5.1Jose Lamego2016-11-232-2/+2
| | | | | | | | | Both python-scons and python-scons-native 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>
* python-pexpect: upgrade to 4.2.1Jose Lamego2016-11-231-2/+2
| | | | | | | | python-pexpect needs 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>
* python*-mako: upgrade to 1.0.6Jose Lamego2016-11-233-2/+2
| | | | | | | | | Both python-mako and python3-mako 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>
* python*-git: upgrade to 2.1.0Jose Lamego2016-11-233-2/+2
| | | | | | | | | 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>
* python3-numpy: upgrade to 1.11.2Edwin Plauchu2016-11-231-2/+2
| | | | | | | It is a simultaneous upgrade for python 2 and 3 over numpy module. Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* python3-pip: upgrade to 9.0.1Edwin Plauchu2016-11-231-2/+2
| | | | | Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* python3-pygobject: upgrade to 3.22.0Edwin Plauchu2016-11-231-2/+2
| | | | | Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* python3-numpy: upgrade to 1.11.2Edwin Plauchu2016-11-231-2/+2
| | | | | Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* python3-native: Extend RPROVIDES listOtavio Salvador2016-11-231-0/+3
| | | | | | | | | | | This extends the RPROVIDES list to include: - python3-datetime-native - python3-enum-native - python3-terminal-native Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
* musl: Update to latest on masterKhem Raj2016-11-232-81/+1
| | | | | | | | | | | | | Bobby Bingham (2): treat null vdso base same as missing add s390x port Rich Felker (2): generalize ELF hash table types not to assume 32-bit entries work around gdb issues recognizing sigreturn trampoline on x86_64 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* perl: remove plan9 related stuff in perl-ptest packageChen Qi2016-11-231-1/+2
| | | | | | | Remove plan9 related stuff as they are useless for linux systems. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* nfs-utils: fix protocol minor version fall-backYi Zhao2016-11-232-0/+56
| | | | | | | | | | | | | | | | Mount nfs directory would fail if no specific nfsvers: mount -t nfs IP:/foo/bar/ /mnt/ mount.nfs: an incorrect mount option was specified mount.nfs currently expects mount(2) to fail with EPROTONOSUPPORT if the kernel doesn't understand the requested NFS version. Unfortunately if the requested minor is not known to the kernel it returns -EINVAL. Backport patch from nfs-utils-1.3.4 to fix this issue. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* openssl: Security fix CVE-2016-7055Yi Zhao2016-11-232-0/+44
| | | | | | | | | | | | | | | | There is a carry propagating bug in the Broadwell-specific Montgomery multiplication procedure that handles input lengths divisible by, but longer than 256 bits. External References: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7055 https://www.openssl.org/news/secadv/20161110.txt Patch from: https://github.com/openssl/openssl/commit/57c4b9f6a2f800b41ce2836986fe33640f6c3f8a Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* parselogs: Whitelist NUC6 firmware load error message on genericx86-64California Sullivan2016-11-231-0/+1
| | | | | | | | | | This was already whitelisted, but the 4.8 kernel changed the error message, causing it to get caught by parselogs again. Fixes [YOCTO #10494]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* OpenSSL: CVE-2004-2761 replace MD5 hash algorithmT.O. Radzy Radzykewycz2016-11-231-0/+69
| | | | | | | | | | | | | | | | | | | | Use SHA256 as default digest for OpenSSL instead of MD5. CVE: CVE-2004-2761 The MD5 Message-Digest Algorithm is not collision resistant, which makes it easier for context-dependent attackers to conduct spoofing attacks, as demonstrated by attacks on the use of MD5 in the signature algorithm of an X.509 certificate. Upstream-Status: Backport Backport from OpenSSL 2.0 to OpenSSL 1.0.2 Commit f8547f62c212837dbf44fb7e2755e5774a59a57b Reviewed-by: Viktor Dukhovni <viktor@openssl.org> Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> Signed-off-by: T.O. Radzy Radzykewycz <radzy@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* lib/oe/lsb: better handle missing fieldsJoshua Lock2016-11-231-8/+5
| | | | | | | | | | | | | | | Some rolling release distros, such as Arch Linux, don't include a VERSION_ID field in their os-release file. Change release_dict_osr() to better handle this optional field being absent. Further improve the resilience of the release_dict_*() methods by always returning a dict and using dict.get() in distro_identifier() to supply a default, empty string, value when then key is missing. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* scripts: Specify the stats to take into accountLeonardo Sandoval2016-11-231-17/+82
| | | | | | | | | | | | | | | | | | | | | | There are many more stats on buildstats that 'Elapsed time', so make the script more flexible to support all stats. Some cmd line examples: $ buildstats.sh -s 'utime' Buildstats' data covers proc's stats in different areas, including CPU times, IO, program system resources and child program system resources. In order to print values on each of these sets from command line, one can use the following: $ buildstats.sh -H -s 'TIME' | less $ buildstats.sh -H -s 'IO' | less and 'RUSAGE' and 'CHILD_RUSAGE' for program and program's child system resources. Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* buildstats: Place 'Elapsed Time' stat into a single lineLeonardo Sandoval2016-11-231-2/+2
| | | | | | | | All lines except one (the one containing the 'Elapsed Time') follows the format 'stat: value'. Fix that so post parsing the stats is simpler. Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* devtool: modify: support recipes with only local files as sourcePaul Eggleton2016-11-232-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hello-mod recipe is unusual in that it has only local files in SRC_URI and builds these out of ${WORKDIR}. When you use devtool modify on it, devtool puts all of those files in an "oe-local-files" subdirectory of the source tree, which is not ${S} (or ${B}) any more and thus building the recipe afterwards fails. It's a bit of a hack, but symlink the files in oe-local-files into the source tree (and commit the symlinks with an ignored commit so that the repo is clean) to work around the problem. We only do this at time of extraction, so any files added to or removed from oe-local-files after that won't be handled, but I think there's a limit to how far we should go to support these kinds of recipes - ultimately they are anomalies. I initially tried a hacky workaround where I set effectively set B = "${WORKDIR}" and that allowed it to build, but other things such as the LIC_FILES_CHKSUM checks still broke because they expected to find files in ${S}. Another hack where I set the sourcetree to point to the oe-local-files subdirectory works for hello-mod but not for makedevs since whilst that is similar, unlike hello-mod it does in fact have files in the source tree (since it has a patch that adds COPYING) and thus the same issue occurred. Also tweak one of the tests that tries devtool modify / update-recipe on the makedevs recipe to try building it since that would have caught this issue. Fixes [YOCTO #10616]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* licenses.conf: Fix variable name in comments (FOSS_NO_COPYRIGHT)Olof Johansson2016-11-231-3/+2
| | | | | | | | | | | | A FOSSology related variable was renamed from FOSS_COPRYIGHT to FOSS_NO_COPYRIGHT, but the comment block describing the variable in licenses.conf was missed. Besides fixing this, this change also removes a redundant comment about where the variable is defined (it's right there! ;-)). Signed-off-by: Olof Johansson <olofjn@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* webkitgtk: move recommends on ca-certificates from epiphany to webkitgtk.Carlos Alberto Lopez Perez2016-11-232-2/+3
| | | | | | | | | | | | | | | | | * The webkitgtk package should recommend the ca-certificates one, because any program usign webkit (and not only epiphany) would expect that the CAs certificates are available and that https validation works as expected. * For example, webkitgtk includes a MiniBrowser program that would fail to proper verify https sites if the ca-certificate package is not installed * Instead of making each one of the webkitgtk consumers care about the certificate package, do this in webkit itself. Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* recipetool: add postinst to .deb importStephano Cetola2016-11-231-3/+32
| | | | | | | | | | | The .deb import feature did not import postinst, postrm, preinst, or prerm functions. This change checks to see if those files exist, and if so, adds the appropriate functions. [ YOCTO #10421 ] Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: fix multilib macro installationChen Qi2016-11-231-2/+6
| | | | | | | | | | | | | | | For now, the rpm macro for multilib is not installed correctly. For example, in x86-64 lib32 situation, the macro is installed under tmp/work/x86-pokymllib32-linux/rpm/5.4.16-r0/image/usr/lib/rpm/poky/i686-linux/. The directory is even not under WORKDIR. And it will of course not be packaged. We need to save necessary values before updating the localdata and restore them so that the macros could be installed into the correct directory. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* oe-selftest: enforce en_US.UTF-8 localeMaciej Borzecki2016-11-231-0/+3
| | | | | | | | Replicate bitbake and eforce en_US.UTF-8 locale so that ouptut of locale-aware tools remains stable. Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* devshell: list commands when throwing NoSupportedTerminalsStephano Cetola2016-11-232-4/+17
| | | | | | | | | | | | When attempting to run devshell, if no terminal is available, the error being thrown was not very specific. This adds a list of commands that failed, informing the user of what they can install to fix the error. [ YOCTO #10472] Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* systemd: systemd should not depend on systemd-containerMax Krummenacher2016-11-231-0/+1
| | | | | | | | | | | | Currently systemd depends on systemd-container due to a dangling symlink deployed with systemd. Move the symlink to systemd-container. | DEBUG: systemd contains dangling link /lib/systemd/system/systemd-machined.service | DEBUG: target found in systemd-container Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* sanity.bbclass: fix check_connectivity() for BB_NO_NETWORK = "0"Robert Yang2016-11-231-5/+9
| | | | | | | | | | | | The old code: network_enabled = not d.getVar('BB_NO_NETWORK', True) It is True only when BB_NO_NETWORK is not set (None), but BB_NO_NETWORK = "0" should also be True while "1" means no network, "0" means need network in a normal case. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* sanity.bbclass:check_connectivity(): print more error messagesRobert Yang2016-11-231-1/+4
| | | | | | | | | | | | | This can help fix the problem when the error happens. Now the error message is: Fetcher failure for URL: 'https://www.example.com/'. URL https://www.example.com/ doesn't work. Please ensure your host's network is configured correctly, or set BB_NO_NETWORK = "1" to disable network access if all required sources are on local disk. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* testsdk.bbclass: print which file is not foundRobert Yang2016-11-231-3/+3
| | | | | | | This is helpful when debug. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* populate_sdk_ext.bbclass: use weak assignment for TOOLCHAINEXT_OUTPUTNAMERobert Yang2016-11-231-1/+1
| | | | | | | | | | | | The TOOLCHAINEXT_OUTPUTNAME is different from TOOLCHAIN_OUTPUTNAME, it is used for eSDK only, so that it doesn't mix with SDK, use "?=" for it so that other conf file can define it. If we don't use "?=" here, then we need use forcevariable to redfine it: TOOLCHAINEXT_OUTPUTNAME_forcevariable = "foo" Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* glib: remove obsolete gi-exclude patchRoss Burton2016-11-232-60/+0
| | | | | | | This patch has been superseded by 2907b1 in gobject-introspection, which we're now shipping. Signed-off-by: Ross Burton <ross.burton@intel.com>
* sysvinit-inittab: make TERM=vt102 on serial consolesAndré Draszik2016-11-232-2/+2
| | | | | | | | | | | | | This makes more sense than the default TERM=linux (as set by the linux kernel). In addition, when using busybox init, it tries to achieve the same (in a different way). Both agetty, and busybox getty support the terminal type as the last argument. Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* opkg-utils: clear update-alternatives database on uninstallAndré Draszik2016-11-231-0/+5
| | | | | | | | | | | | | | | | | When uninstalling update-alternatives, it doesn't seem to make much sense to keep the update-alternatives database around. In particular when removing packaging data, e.g. due to read-only rootfs, update-alternatives is removed from the target file system. Leaving its database around serves no purpose in that case as there is no way to use it afterwards anyway. This frees close to 700KB of (uncompressed) space in a busybox based environment. Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* oe-selftest: devtool: test that updating a file with subdir= worksPaul Eggleton2016-11-234-0/+33
| | | | | | | | | | | | | | | | | If you have a file:// entry in SRC_URI with a subdir= parameter that makes it extract into the source tree, then when you update that file in oe-local-files and run devtool update-recipe then you want the original file to be updated. This was made to work by OE-Core commit 9069fef5dad5a873c8a8f720f7bcbc7625556309 together with 31f1bbad248c36a8c86dde4ff57ce42efc664082, however until now there was no oe-selftest test to verify it. Note that in order to succeed this test also requires the fix "lib/oe/recipeutils: ignore archives by default in get_recipe_local_files()" since the test recipe uses a local tarball. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* lib/oe/recipeutils: ignore archives by default in get_recipe_local_files()Paul Eggleton2016-11-231-2/+14
| | | | | | | | | | | | By default, have get_recipe_local_files() not return any archive files. This prevents a local tarball from being erroneously removed from SRC_URI if you run "devtool modify" on a recipe followed by "devtool update-recipe". It doesn't actually help you to directly update the contents of such tarballs, but at least now it won't break the recipe. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* devtool: update-recipe: support replacing remote patchesPaul Eggleton2016-11-231-2/+24
| | | | | | | | | | | | | | | | If you have a patch remotely fetched in a recipe (e.g. from an http server) that needs updating then add a local version and substitute the entry in SRC_URI to point to it. One can argue about how desirable it is to be modifying patches fetched in this way, but then one can argue about how desirable it is to have such patches in the recipe in the first place - and in any case if devtool update-recipe is to correctly transfer changes to such patches made in the git repository within the source tree to the recipe then there isn't much choice but to do it this way. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* devtool: update-recipe: fix handling of compressed local patchesPaul Eggleton2016-11-236-25/+85
| | | | | | | | | | | | | | | | | It is possible to use gzip or bzip2 to compress patches and still refer to them in compressed form in the SRC_URI value within a recipe. If you run "devtool modify" on such a recipe, make changes to the commit for the patch and then run devtool update-recipe, we need to correctly associate the commit back to the compressed patch file and re-compress the patch, neither of which we were doing previously. Additionally, add an oe-selftest test to ensure this doesn't regress in future. Fixes [YOCTO #8278]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* lib/oe/patch: fix handling of patches with no headerPaul Eggleton2016-11-231-2/+6
| | | | | | | | | | | | | | | | | | | | | If a patch applied by a recipe has no header and we turn the recipe's source into a git tree (when PATCHTOOL = "git" or when using devtool extract / modify / upgrade), the commit message ends up consisting only of the original filename marker ("%% original patch: filename.patch"). When we come to do turn the commits back into a set of patches in extractPatches(), this first line ends up in the "Subject: " part of the file, but we were ignoring it because the line didn't start with the marker text. The end result was we weren't able to get the original patch name. Strip off any "Subject [PATCH x/y]" part before looking for the marker text to fix. This caused "devtool modify openssl" followed by "devtool update-recipe openssl" (without any changes in-between) to remove version-script.patch because that patch has no header and we weren't able to determine the original filename. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* oe-selftest: devtool: test update-recipe with only local filesPaul Eggleton2016-11-234-0/+26
| | | | | | | | | | | Add a test to ensure devtool update-recipe works properly on recipes that contain only local files (since the other tests we have didn't test that). Relates to [YOCTO #10563]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* devtool: update-recipe: check output before treating it as a stringPaul Eggleton2016-11-231-4/+5
| | | | | | | | | | | | | | | As of the move to Python 3 and the fixes we applied at that time, bb.process.run() will return a byte array of length 0 rather than an empty string if the output is empty. That may be a bug that we should fix, but for now it's easiest to just check the result here before treating it as a string. This fixes running "devtool update-recipe" or "devtool finish" on a recipe which has no source tree, for example initramfs-framework. Fixes [YOCTO #10563]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* cmake.bbclass: Set CXXFLAGS and CFLAGSKhem Raj2016-11-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We strip the TOOLCHAIN_OPTIONS and HOST_CC_ARCH from CC/CXX in cmake.bbclass whereas CFLAFS and CXXFLAGS assume that TOOLCHAIN_OPTIONS are part of CC/CXX variables, this causes compile failures when cmake is running compiler tests during configure on some architectures especially armhf, because hf ABI information -mfloat-abi is part of TOOLCHAIN_OPTIONS, so what happens is that testcase gets compiled without hard-float, howver, during linking the float ABI option is passed via LDFLAGS, now linker rejects this and fails like /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/6.2.0/ld: error: cmTC_27947 uses VFP register arguments, CMakeFiles/cmTC_27947.dir/src.cxx.o does not mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/6.2.0/ld: failed to merge target specific data of file CMakeFiles/cmTC_27947.dir/src.cxx.o collect2: error: ld returned 1 exit status This means that CMake now fails the configure time test too which is not right, e.g. it might disable features which actually do exist and should be enabled e.g. in case above it is resulting as below Performing C++ SOURCE FILE Test HAS_BUILTIN_SYNC_SUB_AND_FETCH failed with the following output: Its actually a bug in CMake see https://gitlab.kitware.com/cmake/cmake/issues/16421 CMake is ignoring CMAKE_CXX_FLAGS when using CHECK_CXX_SOURCE_COMPILES function. Until it is fixed upstream, we add HOST_CC_ARCH and TOOLCHAIN_OPTIONS to CFLAGS and CXXFLAGS, so that we can ensure that compiler invocation remains consistent. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>