The code was written before SSTATETASKNAMES existed. Since it
does exist, lets simply the code.
(From OE-Core rev: 9817e2efdb94395655d711f5eadedcd249c8cffe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using distutils for a python package based on a python-setuptools
installation script that sets up a console script, the header
of the console script created by setuptools points to the
python-native path.
The console scripts are commonly executed in the image, but not
in the sysroot environment. Therefore, the header of the
console scripts should point to the python interpreter in the
image.
Setuptools does not allow to set the path of the python
interpreter via some command-line argument.
Hence after the installation script ran, the distutils
class replaces the path in the console script files created by
the installation.
(From OE-Core rev: 11229def87d048c51190b9bd275c73d1f8bf6007)
Signed-off-by: Lukas Bulwahn <Lukas.Bulwahn@oss.bmw-carit.de>
sgw - added \ to protect the space.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* some packages (e.g. uptime, cpu, forecasts, news from meta-efl)
don't have remove-potcdate.sin in po subdirectory, but Makefile.in.in
supplied by autotools.bbclass depends on it and fails without like this:
| make[3]: Entering directory `/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/uptime/0.0.2+svnr80477-r0.0/E-MODULES-EXTRA/uptime/po'
| make[3]: *** No rule to make target `remove-potcdate.sin', needed by `remove-potcdate.sed'. Stop.
| make[3]: Leaving directory `/OE/shr-core/tmp-eglibc/work/x86_64-oe-linux/uptime/0.0.2+svnr80477-r0.0/E-MODULES-EXTRA/uptime/po'
| make[2]: *** [uptime.pot] Error 2
(From OE-Core rev: 5a3116638394dc72c54cf5d4f8bd42a7be0b1768)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #3565]
All packages should not be multilib specific, however when the multilib
rules run, they automatically rename the 'all' target recipes. As such
there is no way to know if an 'all' package should or should not contain
the multilib prefix. We workaround this issue in the translate function
by checking to see if the runtime-reverse file exists or not.
The workaround should be removed once a proper solution to the architectural
issue is in place.
(From OE-Core rev: ea4b8c73a7f807ccd9aa22dfcf41285145a9dd2e)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a condition where the package will fail to install, but smart does
not capture the error. Add the error string to the scan list.
(From OE-Core rev: 230068110e1cda349f9bf3886d8d06ac46deea37)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When generating an SDK, we need to use either the SDK or TARGET version
of the OS. They are not interchangable!
(From OE-Core rev: 8f6e33231439c9c2c1584b2790f62f833439e3c1)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The variable MULTILIB_PACKAGE_ARCHS has been removed in favor of a
repurposed MULTILIB_PREFIX_LIST. The format of this item is now
<libid>:<arch>:<arch1>:...:<archN>. This ensures that we can correctly
translate the libid to one of the supported archs in a tri-lib system.
All of the users of MULTILIB_PREFIX_LIST and MULTILIB_PACKAGE_ARCHS have
been modified accordingly.
Also change the way attempted packages are installed, verify the package
exists in the translate functions, then perform the install in one single
operation. This results in a significantly faster install time.
(From OE-Core rev: ffe6cf3a1c57defdbe8531bdeb588e199177bb6c)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Switch over to smart on the target when package-management is enabled.
(From OE-Core rev: 69f258a2422e6a6ae71834dd097ffa00a1784d9e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use Smart to construct the root filesystem for images and the contents
of SDKs rather than the custom scripts around rpm we had previously.
This ensures the result when producing an updated image will be the
same as upgrading to the same package versions from an older image on
the target, as well as allowing us to remove a substantial amount of
code making the rpm classes much easier to follow.
Some bugfixes from Bogdan Marinescu <bogdan.marinescu@intel.com>.
SDK implementation and testing as well as a number of bugfixes from
Mark Hatle <mark.hatle@windriver.com>.
(From OE-Core rev: a726ae7c032fac1aa49ce34180fa2ed2dcaf87d3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The perl module for automake has an embedded path in it, this needs
to be relocated.
(From OE-Core rev: ad79360c1d992830d4f0e06a3bbf0622658c0540)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If do_make_scripts() executes before do_unpack()/do_patch(), the build
fails because it can't cd into the workdir of a recipe using this
class, so make sure do_make_scripts() doesn't run before the package
has been unpacked and patched.
Fixes [YOCTO #3589].
(From OE-Core rev: 824cf145bcb55bb99a717a2dfd73e43e6b3feea4)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we normalize a rpath which contains ORIGIN variable, the binary will end
up without those rpaths at all. So check first if rpath contains ORIGIN variable
and if not, move on and normalize it.
(From OE-Core rev: 46dc514ff5a3d2693546cf95c5481e0539c43580)
Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By normalizing the paths the path comparing code works correct
to generate the right RPATH even when there is a A/../A in TMPDIR
[YOCTO #3408]
(From OE-Core rev: 50327f2bba9f479dd209cdc54646b9d551e84c59)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the set +x, and revert to the normal logging behavior.
(From OE-Core rev: e799d771c9ed9e41a900e2e96c23d4ae35d5fe08)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes [YOCTO #2138]
Commit 2175842116 dropped the forced use
of FAT32 for the hddimg generation as it broke with very small images
(< 32MB). Unfortunately, left to its own devices, mkdosfs appears to select
FAT16 even for very large images, resulting in 2.2GB images being
generated as FAT16:
$ ls -lah core-image-lsb-sdk-atom-pc-20121010233936.hddimg
-rw-rw-r-- 1 dvhart dvhart 2.2G 2012-10-17 08:00 core-image-lsb-sdk-atom-pc-20121010233936.hddimg
$ file !$
file core-image-lsb-sdk-atom-pc-20121010233936.hddimg
core-image-lsb-sdk-atom-pc-20121010233936.hddimg: x86 boot sector, code offset 0x58, OEM-ID "SYSLINUX", sectors/cluster 128, root entries 512, Media descriptor 0xf8, sectors/FAT 138, heads 64, sectors 4502496 (volumes > 32 MB) , serial number 0x50761926, label: "boot ", FAT (16 bit)
The result was a runtime boot error from SYSLINUX and a failure to boot
live images greater than 1GB in size.
While strictly speaking it is the cluster count that determines which
FAT size is used, that calculation requires more information than we
have readily available (such as sectors per cluster). If we let mkdosfs
determine sectors per cluster and just set a sane threshold above which
FAT32 is used, we get correct bootable images. With this patch the 2.2GB
core-image-lsb-sdk uses FAT32 and the 21 MB core-image-minimal uses
FAT16, and both boot in qemu successfully:
$ ls -lah tmp/deploy/images/core-image-lsb-sdk-atom-pc-20121212220835.hddimg
-rw-r--r-- 1 dvhart dvhart 2.2G 2012-12-12 14:18 tmp/deploy/images/core-image-lsb-sdk-atom-pc-20121212220835.hddimg
$ file !$
file tmp/deploy/images/core-image-lsb-sdk-atom-pc-20121212220835.hddimg
tmp/deploy/images/core-image-lsb-sdk-atom-pc-20121212220835.hddimg: x86 boot sector, code offset 0x58, OEM-ID "SYSLINUX", sectors/cluster 8, Media descriptor 0xf8, heads 64, sectors 4470304 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 4357, reserved3 0x800000, serial number 0x50c902b7, label: "boot "
$ ls -lah tmp/deploy/images/core-image-minimal-atom-pc-20121212220600.hddimg
-rw-r--r-- 1 dvhart dvhart 21M 2012-12-12 14:06 tmp/deploy/images/core-image-minimal-atom-pc-20121212220600.hddimg
$ file !$
file tmp/deploy/images/core-image-minimal-atom-pc-20121212220600.hddimg
tmp/deploy/images/core-image-minimal-atom-pc-20121212220600.hddimg: x86 boot sector, code offset 0x58, OEM-ID "SYSLINUX", sectors/cluster 4, root entries 512, sectors 41408 (volumes <=32 MB) , Media descriptor 0xf8, sectors/FAT 41, heads 64, serial number 0x50c8ffec, label: "boot ", FAT (16 bit)
I have tested and booted core-image-minimal and core-image-lsb-sdk for
atom-pc with qemu-system-i386 using this patch.
(From OE-Core rev: de808c552d445502bd99f78bb8159d21149f87c1)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Steve Sakoman <steve@sakoman.com>
Cc: Joshua Immanuel <josh@hipro.co.in>
Cc: Przemek Czesnowicz <przemyslawx.czesnowicz@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order for the postinstall scripts to have access to the recent
improvements when generating the target SDK sysroot, export these
variables in populate_sdk.
(From OE-Core rev: 06151c34f4f4cb669b2f93ebb2f78cfecf698355)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are several overrides that don't make sense as part of FILESPATH. This
introduces FILESOVERRIDES and allows us to drop some of the pointless ones,
simplifying the files search path further and improving the user experience.
If needed by specific recipes, other overrides can be added back in for
specific cases.
(From OE-Core rev: b8b1b39961332c99d62ee466f7859bd62a0f806f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to prepend MLPREFIX to LOCALEBASEPN in order to
fully enable multilib
[YOCTO #3440]
(From OE-Core rev: 91fe09a9a8b317d27145efff4201f1138d6a45d4)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The packages which start with "rtld" are ok
[YOCTO #3440]
(From OE-Core rev: 1bb3f44065d0470dd2f6950e267ef991c2ce6fd5)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function has different behaviour if the split directory doesn't exist
depending on the recursive argument: non-recursive uses os.listdirs which throws
an exception, recursive uses os.walk which doesn't.
do_split_packages should silently handle non-existent directories because it's
mainly used for plugin directories, which may end up being empty though changing
the distro configuration (for example, connman without wifi distro feature).
So, add an early exit if the split root doesn't exist.
(From OE-Core rev: 937101e3fdd6afd00f6f8a8be411a67110c4ae78)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Allow INCOMPATIBLE_LICENSE to be a whitespace-separated list of
incompatible license strings and/or glob patterns.
Also fix wildcarding: the string in INCOMPATIBLE_LICENSE was clearly
intended to match with wildcards (e.g. "*GPLv3" to match both GPLv3
and LGPLv3), but this was broken because of a bug in return_spdx()
which would die with a runtime error when there was no SPDXLICENSEMAP
entry for the string.
(From OE-Core rev: 8a8d00f4c9f7fe5f9f173b43b86cd18a6c75435c)
Signed-off-by: Andy Ross <andy.ross@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit (0b0674ebcd) was also changing
the populate_sdk_deb.bbclass but the deb backend does not support
multilib just yet. So, when compiling the standalone toolchain tarball,
we ended up with an empty tarball if the deb package manager was chosen.
Reverting the deb part until the multilib support is added to deb.
[YOCTO #3532]
(From OE-Core rev: 34baee37caccced13fb26f446b865c9f25edf339)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current maze of IPKG_ARGS variables is hard to understand and worse,
not even used in some places. This simplifies the code and specifies the
options in one place.
(From OE-Core rev: 5e482b278c3775b0acecc621cf2d3b90ee516f26)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having to include some dummy class is suboptimal and we no longer need to
do this. Also move this check to populate_sdk_base since we then don't
need to include it in toolchains specifically.
(From OE-Core rev: 2ee979ff71d31e497be856ea1443667c6d799d34)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake now supports empty expansions for inherit usage so we can simplify
these statements.
(From OE-Core rev: 77cd2ef06bdf701b047c4f8c817b364b8b4b8837)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As locale packages are installed on the image, we should
be including them in the package/license manifest.
This ensures that the manifests are accurate and complete.
[ YOCTO #2461 ]
(From OE-Core rev: 4578b708ada1ffb99ab542da793977ffb90a9b50)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using update-alternatives, there should be a runtime dependency on
${VIRTUAL-RUNTIME_update-alternatives}. Without this, it's possible to
get into a situation where the package is not installable.
(If VIRTUAL-RUNTIME_update-alternatives is not defined, no requirement
is added.)
(From OE-Core rev: 8a4c5765fb56d17c3d82ff6db47863e934c9fcbe)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch addresses an SDK installer issue on older distributions if
the installation takes place in another directory than the default one. In
fact, is all about the 'file' utility version used for determining if a
file is a text file. For example, for a perl script, newer 'file' versions
return:
"...script, ASCII text executable"
while older versions return:
"...script text executable"
Hence the regex pattern didn't match the scripts.
Also the patch contains two unrelated minor fixes:
* return an exit code of 1 instead of -1 when installation machine is
not supported. That because on an older distribution we also get this
error message: "exit: 9: Illegal number: -1";
* remove unnecessary $SUDO_EXEC prefix to grep;
[YOCTO #3538]
(From OE-Core rev: e7e23a1e5aae4028e21e37ec09e9d431a9adfbcb)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This would be useful for doing siginfo compares to understand why a build
is not reusing something when using SSTATE_MIRROR. No error will be reported
if it fails to find the .siginfo file
[YOCTO #2898]
[RP: Small tweaks]
(From OE-Core rev: 6d86690330f0d43839b904fced4b4b02cb27b8c6)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to make the PRS use regexes for the versioning
of packages who have the distros on sourceforge and
for those who have faulty reports.
(From OE-Core rev: 2fe52b23c643d2125867dc9fcc9c01a184a9e238)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- adapt the PRServer to generate an incremental number for every revision set
associated with a (PN, PV)
- use one incrementing value rather than several
- PV becomes 0.1+gitAUTOINC+deadbeefdecafbad_decafbaddeadbeef
- if PV contains 'AUTOINC' set PKGV to the same thing with AUTOINC replaced
with the "auto PR" value
- if the PRServer isn't running replace AUTOINC with 0 (no package feeds, but usual
image creation would work)
- use the PR table with "AUTOINC-${PV-without-SRCREVs}" as key
- modify prexport/primport to address the generated srcrev entries
- this patch addresses the following proposal:
http://lists.linuxtogo.org/pipermail/bitbake-devel/2012-November/003878.html
(From OE-Core rev: b27b438221e16ac3df6ac66d761b77e3bd43db67)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
packages/apr/apr-util,apr use this, but it not been in the class
patch the config files to be 'installed' and not point to the build
and source-directory.
From OE-Classic:
http://git.openembedded.org/openembedded/commit/?id=030992bdd415c8892cf2925cf6fbe888226be046
[YOCTO #3267]
Orignal Author: Holger Freyther <zecke@selfish.org>
(From OE-Core rev: ab56f1063a666df5faddd97f44758c8ae378e51c)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change will allow for the icon cache generation at rootfs time and
only once, at the end. So, even though there will be many packages
depending on gtk+, the icon cache generation will be done once.
Hopefully, this will lower the target's first boot time significantly
by using the power of the host machine to generate the cache.
(From OE-Core rev: 74e34f6828771095a25d2c2de89f468b33e359f7)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order for the postinst scriptlets to be able to run once we need to
export the location of the intercept scripts and also the location of
native sysrootfs. The gdk-pixbuf binaries will need the latter because
in order to generate the loaders.cache it will need to scan some shared
libraries that must be native. Even though the output is a text file.
(From OE-Core rev: 927fabf549bb79cc179d2cb0a953dcd515acf464)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch will allow the repeating postinst scriptlets to be run
only once, on host, at do_rootfs time. This will lower the time for
rootfs generation and, also, instead of running some time consuming
scriptlets at target's first boot, we will do on the host.
(From OE-Core rev: 0d239328b1c6b9e4afadad75972d359181fbe1a5)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Touch a file that is later greped to make sure it exists.
(From OE-Core rev: a17bf5d840b5777918f324d26e085498dec86b76)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace ( or ) with __. This allows RPM style dependencies to be satisfied
in deb style packages.
(From OE-Core rev: 12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the scriptlets are processed in RPM, they have a different dependency
set then the core package. OE has no way to specify dependencies for the
pre/post scriptlists, so we simply make the runtime dependencies scriptlets
as well.
(From OE-Core rev: c1acac8c46aa75d78634c30de773b28a1466070c)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* without this patch:
Python 2.7.3
>>> sstate_search_cmd = "grep -rl /OE/jansa-test/shr-core/tmp-eglibc/pkgdata/armv7a-vfp-neon-oe-linux-gnueabi/runtime-reverse/vim-common /OE/jansa-test/shr-core/tmp-eglibc/sstate-control --exclude=master.list | sed -e 's:^.*/::' -e 's:\.populate-sysroot::'"
>>> cmd_array = sstate_search_cmd.split(' ')
>>> search_output = subprocess.Popen(cmd_array, stdout=subprocess.PIPE).communicate()[0]
grep: |: No such file or directory
grep: sed: No such file or directory
* Adding shell=True and using cmd string instead of array makes it work:
>>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
>>> print search_output
manifest-armv7a-vfp-neon-gvim.package
manifest-armv7a-vfp-neon-vim-tiny.package
manifest-armv7a-vfp-neon-vim.package
But still isn't 100% reliable, I guess it's caused by some other package
being removed from sstate while grep is already running.
So sometimes grep can show error on STDERR
>>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
grep: /OE/jansa-test/shr-core/tmp-eglibc/sstate-control/manifest-armv7a-vfp-neon-systemtap.package: No such file or directory
(From OE-Core rev: d84f7d7a12b4271f7b2bfde9fb356d750abff15d)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The value of subprocess.Popen().communicate()[0] is a string.
Checking for '!= None' will always match causing bogus warnings
regarding already staged files.
(From OE-Core rev: acdd76482efc3caf80e9e0b7359be7ca724ae09a)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fixes a lot of QA warnings about unpackaged /usr/share/share
(From OE-Core rev: 10457e343b27e63b35e0278b00e9c25106b0cc1b)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
My previous patch removed the mkdir and added it at the end of the
"gaining SUDO rights" block in order to fix directory creation when
installing in a location without proper rights. Unfortunately this
messed up the directory creation as normal user as it will ask for
sudo right in order to create it...
Hopefully, this will fix both cases.
(From OE-Core rev: 86286287d0134ade73f6a282158dde86bf0159e8)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mkdir was in the wrong place and missing sudo rights. Hence, the
installation to default location (or any other for which the user didn't
have rights) would fail. Unless the installer itself is run with sudo.
(From OE-Core rev: 555d03c466490ab12b2b1d049736593da2334e97)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should always leave the tree on a BSP branch or master when
do_validate_branches completes to avoid modifying version tracked
files are part of the build process. Modifying these files will lead
to errors when changing branches, since the contents would be lost.
This is evident in the case that a the meta branch is reset to a
known SRCREV and the tree was left on the meta branch. This branch
tracks the meta/meta-series, and other artifacts of the original
tree construction. When the build process runs, it updates these same
files, which creates a conflict when switching branches.
This has been fixed in the tree construction scripts to not track
these files, but a secondary fix is also required of not leaving
the build on these branches, to allow arbitrary trees to be built.
[YOCTO #3413]
(From OE-Core rev: 57397592ff8ec16922604d398c18d53a589be41f)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The shell archive that populates the external SDK should fail if it
cannot find the ld-linux.so else it will corrupt all binaries because
a random path will be used from the list of executables when dl_path
is empty.
(From OE-Core rev: 206aa794933d41dfb037e9c654c818cd4d4f956d)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A regression was introduced by commit:190cb591 that it doesn't
consider the situation that some archs contain "_" originally, so it
results in issues when dealing with archs like qemux86_64, x85_64.
Added a conditional statment in to handle that case.
(From OE-Core rev: 8567991639fda8d2a1e88169b86c72e14cc6c82d)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.Adds a sudo passwd prompt during installation if the
user couldn't install on the dir.
2.Adds option -d <dir> to enter dir without prompt.
3.Adds option -y for automatic yes to all prompts, a non-
interactive method.
[YOCTO# 3153]
[YOCTO# 3309]
(From OE-Core rev: e85e1aace604626914a06dab4663094d6dd9b035)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it was introduced in 2010 by 8c3a7ebac8
but doesn't seem needed anymore
* also such do_rootfs failure is good indication that runtime packages
installed are not sane, ignoring this error in do_rootfs just
transfers the issue to end user when he does "opkg upgrade" later
on device
* tested on SHR images with whole feed included and only issue was
gstreamer/gst-plugins-* locale packages (and there is patch for this
on oe-core ML)
(From OE-Core rev: 1f7d3a2e9071ff78170c06ebf58c7400a5ee09bf)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
list_installed_packages should output uniform formatted archs for all
packaging system(deb, rpm and ipk), for they are used by common code to
grab the package infos. Otherwise, it will lead some -dbg packages to be
missed processing in come cases.
It's introduced by commit: fc985f51, package_rpm.bbclass: fix the arch
(replace "-" with "_").
Fixed by replacing "_" back to "-" in list_installed_packages, make it
output real arch values which can be safely used.
(From OE-Core rev: 554f2436435bf96c6735827f491c1b78b198c016)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch contains two fixes:
* if the user wants to install the SDK in a directory that already
contains a SDK for the same architecture, a warning will be shown;
* when the symbolic links are relocated use -n option. Otherwise,
symbolic links to existing directories will be created in the
directory itself;
[YOCTO #3401]
(From OE-Core rev: cd035f170a2448b9ebcf0cfac5d4c0fa472b7049)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The force_postinstall option was missing and some packages were
configured on target rather than on host at rootfs time.
(From OE-Core rev: dfadfaa0b38678029ffebe14f15e2dbc148cb1fb)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently there is some odd behaviour of the packagegroup class in relation
to sstate since it sets PACKAGE_ARCH = "all" but does not use the allarch class
leading to it being undetected by sstate.
Previously it was not possible to use allarch as the recipe couldn't "undo"
settings made by the allarch class. Since this no longer happens when
PACKAGE_ARCH != all, we can use the allarch class.
This patch also fixes up one case we need to preserve TRANSLATED_TARGET_ARCH
and ensures sstate only assumes allarch when PACKAGE_ARCH is "all".
(From OE-Core rev: 591fa7c1ab9e9ff75fdce602c77ecdeda3a255d9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have cases where we'd like to inherit this class by default but allow
special cases to override it. This change makes the code of the class
conditional on PACKAGE_ARCH remaining set to "all", allowing it to be
overridden. packagegroup usage is one case this is desirable.
(From OE-Core rev: 7dd91402b719ac62b51088f234354f82bfa9c4b6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the interests of simplifying things, remove P and PN from FILESPATH,
instead relying on the BP and BPN versions which work in 99% of cases.
In any problematic case such as a -native only recipe, either the patch
directory can be renamed or the recipe can set FILESPATH specifically.
(From OE-Core rev: fb359583b659cda643973fa285002aaffb729a51)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Files are very rarely, if ever placed in ${PF}. If a recipe needs to do this,
it can easily append to FILESPATH so it makes sense to drop this from the
default search path.
Equally, using FILE_DIR as part of the search path leads to 'bad' SRC_URI
entries and/or file layouts which are not preferred. I'm therefore of the
opinion we should also remove this from FILESPATH and encourage people to
cleanup any places this breaks my correcting the layouts to match the standard
or worst case adding to FILESPATH in recipes that need it.
These changes work towards making the system more friendly as users won't be
greeted with huge search paths we rearely use making the "correct" layout
more obvious.
(From OE-Core rev: 3efa13cd76bbd5611805021945fc9def88d9fd93)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some bad logic in license.bbclass misses certain package level
LICENSEs.
(From OE-Core rev: c5a171d5817233c0371e6f5b19f57f3c4b84f5ac)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These test look for programs in / that depend on programs in /usr. After
a brief discussion in #oe, we decided these tests should be disabled so
we can focus on more serious QA issues.
If you are working on a system where / and /usr are on different partitions,
you should turn these tests back on and resolving the QA warnings.
(From OE-Core rev: 2fb58da56e8e7044de21fd10fe9164d204587236)
Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some images override IMAGE_BASE_NAME in the recipe causing targets using image-{live,vmdk} to fail.
(From OE-Core rev: 7e000fef0bf917f27dcad66dd90fae6c155c4d1d)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clean up and clarify the populate_sysroot task dependencies. Target sysroot
packages do need their dependencies installed, as do some target/cross
relationships. We can whitelist the *-initial dependencies as these are
never needed indirectly.
(From OE-Core rev: eeec307917234d97be2674beeadef71599fb1487)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For example gcc-cross depends on linux-libc-headers and needs it to be present
to build/work correctly.
(From OE-Core rev: 43ce7a1d86bf82d976ad241057a4207b1a340b3b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having a meta branch is not strictly required by the tools (and
recipes like linux-yocto-custom do not have meta branches), but the
comments in the kernel-yocto.bbclass could lead someone to think that
it was required.
This commit clearifies the comment to the following:
# We can fix up the kernel repository even if it wasn't a bare clone.
# If KMETA is defined, the branch must exist, but a machine branch
# can be missing since it may be created later by the tools.
[YOCTO #3422]
(From OE-Core rev: 421a2e2523a8f2c461479a1c0d44908cc1eaca6b)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was needed when do_package for target recipes was target specific
however since it now isn't we can remove these stale references.
(From OE-Core rev: 1c54d8c3639659bc8cf8fa2786a1aa9ed785b723)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Calling split on the same expression, once per loop iteration is
inefficent and pointless, particularly in a function called by
every recipe during parsing.
(From OE-Core rev: 566c0e874fc1610f3f97737b5601ef22026c918a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With this recently introduced exclusion, <multilib>-meta-toolchain-sdk
throws errors about missing DEPENDS that don't exist since it needs the
PROVIDES/DEPENDS remapping. This patch tweaks the class tests to fix
the errors.
(From OE-Core rev: 9cc18fe12bd8d1c73df291b4057aab6167ef6b16)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the change to WORKDIR layout, splutting PN and PV into two directories,
the debugsrc splutting code layout became suboptimal. This changes things to
include the information as it was before. Ideally this code would be written
to more generically support other layouts buts it not clear that the tools
would even support that right now so this is the best immediate fix.
(From OE-Core rev: 432cfbb403f0e864d1fad383c2bbb6f9bdb80770)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change means we have more flexibility about when to schedule the license
task and if it changes, we don't repackage everything (which is pointless).
(From OE-Core rev: ee1293446936c5444ece42b60e3ab94189b2fbc3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means some of the hacks we have to tell where the package name ends and
the version starts in the directory layout becomes obsolete, simplifying the
work of some of the cleanup scripts. It also makes the layout slightly more
intuitive to the user.
It does force a rebuild onto the user but it will reuse sstate successfully.
(From OE-Core rev: 05075cf3138d1c61f5cf4fe0e1a4587acc00c692)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the packaging functions now reference the pkgdata files written out during
do_package, we need to reference this dependency explicitly.
(From OE-Core rev: 1e9c9d164f8d12c8de205e04bf7c1dae3660f12a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a first attempt at logic to determine when a sstate dependency needs
to be installed and when it does not. Its a start at the logic and errs on the
side of caution, as it gets wider testing, we can refine the logic as needed.
This code should allow a significant performance speedup to certain workflows, for
example "bitbake xxx-image -c rootfs" will not populate the target sysroot.
(From OE-Core rev: b43faba37816817edc5240a139361d16e07c6131)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otherwise when a recipe using DEPENDS=, the cmake-native dependency disappears.
(From OE-Core rev: 2b35539d96325d8e687451543d4f52f1a07bf1c6)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Check if package names match the [a-z0-9.+-]+ regular
expression
[YOCTO #3139]
(From OE-Core rev: 55dd271be1aee21e36d130359f4f21841623c425)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recent preveeding sstate directory layout fixes made the code do what it
was originally intended to do, as can be clearly seen from the code.
Unfortunately this changed the contents and layout of the sstate files
themselves since the bug was leading to a directory prefix being missing.
This is now resulting in chaotic messages on the console since things
are getting confused with the two different layouts. The simplest way to
resolve this is to bump the version number, hence moving the new layout
into its own new namespace.
Its worth noting that whilst the failure messages are scary, the failure
mode is relatively harmless since it will just fall back to building the
data rather than installing from sstate.
Usually I'd give more notice of a change like this but under the
circumstances, I'm just going to push this in to resolve the failures
people are seeing. Initially I thought the problem was limited to
some of the -cross packages and therefore of low impact but that is
clearly not the case.
(From OE-Core rev: b53ea6687b6201c8c5ab5cb0d2a845ef7e7b2abe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix missing parameter to endswith and pass paths through normpath to remove
any duplicate "/" characters which would corrupt other calls like basename.
(From OE-Core rev: 172a74c540378149eec493c37c030e9f42f9603d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If sstate-inputdirs and sstate-outputdirs don't match with ending '/'
characters, the manifest file can end up corrupted. This change
ensures the metadata is consistent in ending do_populate_root tasks
with this character to avoid manifest file corruption.
(From OE-Core rev: 3910eaf88d14904eef85b9e391387547df7fc54e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The manifest file can become corrupted if sstate-inputdirs and sstate-outputdirs
don't have matching endings. This patch ensures that even if set incorrectly,
the code functions as intended, thereby handling manifest corruption safely.
(From OE-Core rev: 0109a3623a19f9ae289952a4f054e53c3eca4eaa)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Depending on the eglibc configuaration, the directory may or may not exist.
(From OE-Core rev: aa89b80a42297196c7bbba55fe2396ba1f98acc7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If SDKMACHINE is not set, the toolchain will be built but the tarball
installer will not run. A better choice is to use SDK_ARCH because, even
if SDKMACHINE is not set, SDK_ARCH is set, by default, to BUILD_HOST.
(From OE-Core rev: b6d391903ae8baf902fa142a58533857ade6afd3)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gnome-common is a build-only dependency so we should depend on the native
variant. This also resolves an (incorrect) GPLv3 license issue in gnome-common
at build-time.
This will also remove the pointless gnome-common-dev RRECOMMENDS in any -dev
package that uses gnomebase.
(From OE-Core rev: 6a4f394bc1280f5d58d928a2f7cff7cce4eb3b2b)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Do not allow installer to continue if the installation machine architecture
does not match the intended SDK machine architecture.
[YOCTO: #3269]
(From OE-Core rev: 1f78e2c97f978f0f02e884870e7c495751f0802c)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.
[YOCTO #3297]
(From OE-Core rev: 9fbeab63315fef0dbcc91c5e7051665764758a6e)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After recent changes to terminal.bbclass, variables like PATH were no longer
preserved within the devshell. This change ensures they are inherited into
the environment of devshell and PATH for example has the correct values.
(From OE-Core rev: f2dfc50bdf403719d40d04488245fd37655b5480)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If this isn't done, various terminals fail to launch correctly
with "No such file or directory" errors. This adds back the environment
manipulation removed in the addition of "custom" terminal command
support but shouldn't regress that additional functionality
(From OE-Core rev: 424d2339b462081010af6e7525a71f64d97ff05e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the previous version, tar extraction use the --strip-component
option with "4" hard coded value.
If we set another SDKPATH, with a different depth, the sdk installation
fails.
This patch computes the level from the SDKPATH value.
(From OE-Core rev: 7aee4e9438755c230e1399bd5226d6c8e7fcca31)
Signed-off-by: Fabien Proriol <fabien.proriol@jdsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Present the manifest file that contains the matches for
files being installed to a location that already contains
that file. This will help to determine which is the correct
recipe to fix when this occurs.
[YOCTO #3191]
(From OE-Core rev: 56268f6e4ed1fc11143173bb1717a8be78c728a5)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>