Age | Commit message (Collapse) | Author | Files |
|
The content to modify this bbclass is as follow:
- Use the existing functions to get license as a directory instead of
rewriting it for avoiding code duplication.
- Use SPDXLICENSEMAP to map licenses
[YOCTO #2473]
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Remove the long obtuse sysroot path from the ldd output.
Make the error message significantly easier to read and understand.
Old Style:
WARNING: QA Issue: keyutils: /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/work/i586-oe-linux/keyutils-1.5.5-r1/packages-split/keyutils/sbin/request-key links to something under exec_prefix
WARNING: QA Issue: ldd reports: libkeyutils.so.1 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/usr/lib/libkeyutils.so.1 (0xdead1000)
libc.so.6 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/libc.so.6 (0xdead2000)
/lib/ld-linux.so.2 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/ld-linux.so.2 (0xdead3000)
New style:
WARNING: QA Issue: keyutils: /sbin/request-key, installed in the base_prefix, requires a shared library under exec_prefix (/usr): libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0xdead1000)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This fixes an ugly way I was trying to find pkg runtime
data for package and license manifest creation.
rootfs generation times for core-image-minimal:
Prior to patch
real 0m41.570s
user 1m40.466s
sys 0m6.768s
With patch
real 0m27.527s
user 0m9.833s
sys 0m3.496s
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Conflicts:
meta/classes/license.bbclass
|
|
Per request, adding the package version to the package manifest
file.
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
|
|
The usability of the archiver classes can be improved, beyond the
simple addition of default values for the variables. A user could
well inherit just archiver rather than the individual useful classes,
and not realize it will do nothing.
[YOCTO #2472]
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
|
|
If there is a patch to Makefile.PL, a Makefile.PL but no Makefile
will be placed in ${B}/.pc/xxx.patch/ after do_patch.
And no Makefile will be generated for *this* Makefile.PL.
While do_configure, the original code tries to sed Makefiles
matching with each Makefile.PL in {B}, so this would fail.
Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
|
|
After the class changes, absolute symlinks are not being handled correctly
by the class file. This adds handling for absolute symlinks to account for the
pkgdest directory, removing dangling symlink messages from recipes like bzip2.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
'//' in a FILES variable causes hard to track down issues with
packaging. This adds a warning and attempts to auto-correct the issue to
try and make the problem more user friendly.
[YOCTO #2448]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion
is not correct. Its replacing readlines() calls which generate an array with
what are effectively strings. There are split("\n") calls missing in many
cases so this needs to be reverted until it gets fixed.
|
|
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently, ccache is used if it is present. When building from scratch it gives
no performance improvement and creates a ton of empty directories even when its
not in use.
This change moves ccache support to a bbclass file which the user can choose to
enable. This should make builds more determinstic and make it easier/clearer
to the end user when its being used and when it is not.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently we copy the aclocal directory to the build so that autotools
doesn't see .m4 files disappear when its processing them. This can happen
if for example, package X is being rebuilt at the same time as Y and it
gets uninstalled from sstate (assuming there are no dependencies between
X and Y). This code making the copy was added to avoid races but introduces
a race of its own, namely that the files can disappear during the copy.
This patch adds a cp-noerror script which silently ignores such errors
and gives the behaviour we need in this case. It hence fixes issues which
crop up for users and the autobuilder occasionally.
[YOCTO #2485]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In order to show a friendlier error message within Hob that does not
bury the actual sanity error in our typical preamble about disabling
sanity checks, use a separate event to indicate that sanity checks
failed.
This change is intended to work together with the related change to
BitBake, however it has a check to ensure that it does not fail with
older versions that do not include that change.
Fixes [YOCTO #2336].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The variable name has been typo'd as TARGE_ARCH since it was introduced
some time ago, so the check has never worked. Fixing the typo shows that
the test is not quite functional, so let's just remove it:
http://lists.linuxtogo.org/pipermail/openembedded-core/2011-October/010613.html
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found
There are both bb.process.run() and bb.process.Popen() which wraps the
subprocess module, use it for simplifying the code.
Note: We don't need the "2>/dev/null" or "2>&1" since bb.process.run()
can handle it, it will raise exception when error occurs, we should
handle the exception ourselves if we want to ignore the error.
More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements
[YOCTO #2454]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found
More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements
[YOCTO #2454]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In order to better support multilib processing, switch from PN
to BPN.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Refactor in order to:
* Deprecate the old interfaces, but keep them for compatibility
* Provide a new, interface -- capable of working with split packages
* Each update-alternative will now set proper "per-file" provides
Note: this adds a warning message when the older deprecated behavior is
used. The older behavior has been fully tested using oe-core.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Some image classes such as bootimg save files into ${S} as part of rootfs
generation. For correctness we should therefore clean this at the start of
image generation to ensure reproducibility.
I found this issue when some files I thought should disappear from my rootfs
would not disappear.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When trying to understand why a QA wanring such as:
ERROR: QA Issue: foo rdepends on bar-dev
it is very difficult to figure out where the bar-dev dependency
comes from, since many of them are added dynamically.
This adds a debug statement that says which dependency adds an
rdepends to the system.
Also, while doing this work, it was noted that the same dependencies
were being scanned for over and over. Instead we shorten the list
by only added to the dep list if the dependency was not already there.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
The following functions in meta/classes/utils.bbclass were not
used by anyone, and they didn't work when I tried to use them:
def oe_popen_env(d):
def oe_run(d, cmd, **kwargs):
def oe_popen(d, cmd, **kwargs):
def oe_system(d, cmd, **kwargs):
There error was:
AttributeError: type object 'str' has no attribute 'getVar'
We have bitbake/lib/bb/process.py to instead, so remove them.
[YOCTO #2489]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
This enables a user to use bitbake -e even when the sanity checks are
failing.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
The call to bb.mkdirhier() in check_create_long_filename() can fail with an
OSError, explicitly catch this and report something useful to the user.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
If the user does not have write permissions to SSTATE_CACHE, detected by
the check_create_long_filename() test failing with a "Permission denied"
value in strerror, then suggest they might want to use the location as
an entry in SSTATE_MIRRORS.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
Each failure in the sanity message should be reported on a new line.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
Replace calls to data.getVar(VARIABLE, data_object, expand) to
direct calls to the getVar method the the data_object.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
At the ConfigParsed event the datastore has yet to be finalised and thus
appends and overrides have not been set.
To ensure the sanity check is being run against the configuration values
the user has set call finalize() on a copy of the datastore and pass that
for all sanity checks.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
This has caused problems for several users, including the Yocto Project
autobuilder. Since the message was added in order to be more user friendly
revert the change.
This reverts commit 0c0c4efbf92bcf0f8942f17c18525a4b4ed1798c.
|
|
* Deleting .pyo files causes them to get compiled on the target.
* First boot gets *really* slow for python based projects.
* No space gets saved on the target.
* The package manager doesn't know about the files and
therefore fails to uninstall them, occupying space and causing
uninstalled python scripts to remain executable.
* It's inconsistent, because python itself and autotools based
projects already ship .pyo files.
* Probably .pyo files were deleted because .pyc files were
available earlier, but this has changed and OE-Core's python
now only generates optimized .pyo files. Deletion of .pyo was
introduced in 2008, python/04-default-is-optimized.patch
was introduced in 2009.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
|
|
Fix the incremental rpm image generation, it didn't work since the code
has been changed.
The btmanifest should have a ".manifest" suffix, so that it can be moved
to ${T} by rootfs_rpm.bbclass:
mv ${IMAGE_ROOTFS}/install/*.manifest ${T}/
Note: The locale pkgs would always be re-installed.
[YOCTO #2440]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
Connect the new fetcher file checksum code so that we get a list of the
files to be checksummed at parse time.
The file-checksums flag will not be read unless we are using a version
of BitBake that supports the function we call within it, so it is safe
to include this change even when the metadata will still be used with
older versions of BitBake.
Implements [YOCTO #2044].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
needed for new architecture support
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Jason Wessel noticed that a package without any fixmepath entries would
generate a sed warning about no input files. This patch resolves that
by ensuring that an empty fixmepath file never gets written into the
sstate archive. Also we avoid a second message by only doing xargs if
we got input.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Added a new PACKAGEFUNCS function to check the multilib packages'
dependency.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Added multilib prefix to the locale related package names/dependencies.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The user needs read and write permissions to SSTATE_DIR, check
whether they have sufficient permissions and if not recommend
use of SSTATE_MIRRORS.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
Add two default set(SOURCE_ARCHIVE_LOG_WITH_SCRIPTS, \
SOURCE_ARCHIVE_PACKAGE_TYPE) to archiver.bbclass for avoiding \
building error when forgetting to assign to them.
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
|
|
In order to make sharing sstate files easier chmod them with 0664 permissions so that they are readable and writable by the user and any other members of their group.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
|
|
It's common to provide a non-machine-suffixed link in DEPLOY_DIR_IMAGE, so
let's be consistent and do so here as well.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
|
|
If you point to snapshot.debian.net/archive/pool then it will fetch
you a html page which will end up in corrupt download. The locations
have changed for archives and here we point the mirror to right
location.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
The fixmepath file that is generated contains a list of all of the files
that need their paths fixed. In the previous version the fixmepath was
generated to include all of the files that sed may have changed. In the
new version, we first grep the files to see if they contain a path that
needs to be changed, only then do we perform the sed operation on those files.
This results in a modest performance increate in the creation of the sstate
file. The following numbers include the do_package and do_populate_sysroot
tasks on the perl recipe.
Before the change:
real 4m23.018s
user 1m57.067s
sys 1m33.327s
After the change:
real 4m13.083s
user 1m54.062s
sys 1m26.064s
However, a more significnt performance gain is felt during the
extraction/install of sstate cache files, as the fixmepaths file now has a
significantly smaller list of files to modify.
Before the change:
real 0m39.798s
user 0m11.158s
sys 0m12.642s
After the change:
real 0m25.511s
user 0m8.408s
sys 0m5.077s
(All numbers above were recorded with a cold filesystem cache on a machine
with 12 GB of ram.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If a + character appears in a version specification within the list of
package dependencies, the version will not be removed from the list in
list_package_depends/recommends leading to garbage appearing in the
dependency graphs generated by buildhistory. To avoid any future
problems due to unusual characters appearing in versions, change the
regex to match almost any character.
Fixes [YOCTO #2451].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
do_split_locales
As the comment says, using packages[0] is rather broken and can be incorrect,
as demonstrated by the recent gdk-pixbuf change. Replacing it with PN is
a bit more correct and more likely to do what was originally intended
by this function.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
One of the patch backends to linux-yocto is guilt, which normally
tracks patches under .git. But .git isn't something that can be
checked into a SCM and repeated. So it has been moved under meta/patches
and committed to the meta branch.
If devshell is used, GUILT_BASE isn't set, so patch manipulations will
fail. We export GUILT_BASE and point it at the meta directory when
devshell is invoked for linux-yocto.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The usage of this function renaming and it being called using
bb.build.exec_func() causes needless indirection loops, confusing log
files and seems generally pointless.
This simplification makes the process much simpler and faster. I can't
come up with a good reason why the export_functions functionality is
needed for this function.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
In a pathological case, lots of files to process, the sstate_installpkg
performance was very poor. It interated over each file and ran 3
individual sed commands per file. Changing this to keep iterating
but running only a single command took about 1/3 time time.
However, when looking at the corresponding sstate_hardcode_path
function, it was clear we could optimize this further.
Using the same encoding logic to specify only the minimumal sed
operation necessary, and using xargs to avoid the os.system call the
install step was able to be performed in 13% of the original time.
Example timing numbers for perl:
3m7s original code
1m20s single sed, but interating
0m26s using xargs and limited sed
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
|
|
Empty components in $PATH have the same effect as a . in $PATH,
and are a common side-effect of inserting a misspelled or unset
shell variable in $PATH.
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
|