python-native: Make python-native also RPROVIDE python-unittest-native
The python-nose upgrade to 1.3.7 required a new unittest runtime dependency
after this, bitbake cant find a runtime provider for it when trying to build
python-nose-native, this patch makes python-native RPROVIDES python-unittest-native
to fix the issue.
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Markus Lehtonen [Wed, 20 Jan 2016 13:08:41 +0000 (15:08 +0200)]
oeqa/selftest/signing: use temporary rpmdb
Use temporary rpmdb when importing gpg public key and checking rpm
signature. This patch should fix a problem where test_signing_packages()
sometimes fails with
"pmdb: BDB1540 configured environment flags incompatible with existing
environment"
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Tue, 12 Jan 2016 20:45:45 +0000 (20:45 +0000)]
autotools: don't output the full config.log on configure failure
The config.log written by autoconf includes many pages of useless output,
followed by an obfuscated error message, and then more pages of every variable
that's been set. It's only understandable if you're well versed in how autoconf
behaves, and often in simple failure modes doesn't actually make it clear what
the problem was.
Instead of outputting the whole config.log to the console when do_configure()
fails, use bbfatal_log so the human-readable configure output (not the
config.log) is shown to the user, and tell the user where config.log can be
found if they need it.
[ YOCTO #8856 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
We used to need these hacks to make things work. Rework the variables to
remove the horrible hacks and make things slightly less ugly. This does
mean PE and PRAUTO are given default empty values but this is preferred
to the other ugliness.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Saul Wold [Wed, 20 Jan 2016 03:50:37 +0000 (19:50 -0800)]
udev: Add 2 patches to support 4.4 kernel
These 2 patches are needed to build udev with the 4.4 kernel, the first
mtd-probe adds back a stdint.h header that was removed in the kernel's mtd-user.h
header file.
The second adds a check for a new header and sets a Makefile variable
to determine which header to use for the new kernel vs older kernels.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andre McCurdy [Mon, 18 Jan 2016 21:33:52 +0000 (13:33 -0800)]
strace: update 4.10 -> 4.11
Noteworthy changes in release 4.11 (2015-12-21)
===============================================
* Changes in behavior
* Some syscalls have different names depending on architecture and
personality. In these cases, syscall filtering and printing now
consistently uses the names that match corresponding __NR_* kernel
macros of the tracee's architecture and personality.
* Added strace prefix to all diagnostic messages.
* Improvements
* Enhanced and extended test suite.
* Implemented reliable tracing of processes whose personality differs
from the personality of strace, fixed decoding of 32-bit personality
syscalls on 64-bit architectures.
* When some data referenced by syscall arguments is irrelevant or cannot
be read from tracee's memory, strace now prints its address consistently.
* When a syscall is restarted using restart_syscall mechanism, strace now
shows the syscall name on architectures that expose this information.
* Print values returned by epoll_create1, eventfd, eventfd2, fanotify_init,
inotify_init1, perf_event_open, pipe, pipe2, signalfd, signalfd4, socket,
socketpair, timerfd, and timerfd_create syscalls, as well as F_DUPFD and
F_DUPFD_CLOEXEC fcntl commands, as file descriptors.
* Optimized decoding of indirect socket syscalls.
* Implemented decoding of nanoseconds along with seconds in stat family
syscalls (addresses Fedora bug #1251176).
* Implemented decoding of struct statfs.f_flags in statfs syscall.
* Implemented decoding of siginfo_t.si_syscall and siginfo_t.si_arch
in SIGSYS signal.
* Implemented decoding of indirect syscall on mips o32.
* Implemented decoding of IPPROTO_IP control messages.
* Implemented decoding of setsockopt syscall multicast arguments.
* Enhanced decoding of struct sigevent.
* Enhanced decoding of block, loop, mtd, ptp, rtc, SG_IO, socket, tty,
and v4l2 ioctl syscall arguments.
* Enhanced decoding of epoll_create, fcntl, fcntl64, futex, getdents,
getdents64, getsockopt, io_*, mount, msgctl, prctl, quotactl, recvfrom,
sendfile, setsockopt, and shmctl syscalls.
* Implemented decoding of bpf, execveat, ioperm, iopl, kcmp, kexec_file_load,
lookup_dcookie, membarrier, memfd_create, mlock2, name_to_handle_at,
open_by_handle_at, sched_getattr, sched_setattr, and userfaultfd syscalls.
* Updated lists of AF_*, EPOLL_*, FALLOC_FL_*, F_*, INPUT_PROP_*, IPPROTO_*,
IPV6_*, IP_*, KEY_*, LOCK_*, MNT_*, MS_*, PACKET_*, PERF_FLAG_*, PF_*,
PR_*, PTRACE_O_*, RENAME_*, SCTP_*, SECBIT_*, SO_*, TCP_*, and siginfo_t
constants.
* Added Nios II architecture support.
* Added new syscall entries to match Linux 4.4.
* Bug fixes
* Fixed potential short read of strings from tracee's memory.
* Fixed -qq option in conjunction with -o option.
* Fixed filtering of <unavailable> syscalls.
* Fixed decoding of ioctl syscall command on aarch64 and 32-bit architectures
with 64-bit aligned structures.
* Fixed decoding of eventfd2, epoll_create1, signalfd4, and sync_file_range2
syscall flags arguments.
* Fixed decoding of 4th argument of clock_nanosleep syscall.
* Fixed decoding of getpagesize syscall on m68k.
* Fixed decoding of getrandom and seccomp syscalls on aarch64.
* Fixed decoding of timezone argument of gettimeofday and settimeofday
* syscalls.
* Fixed decoding of offset argument of mmap2 syscall on arm, sparc,
and sparc64.
* Fixed decoding of pipe syscall on alpha and mips.
* Fixed decoding of pipe2 syscall on ia64, sh, sparc, and sparc64.
* Fixed decoding of signal mask argument of pselect6 syscall on x32.
* Fixed decoding of signal mask of rt_sigreturn syscall on aarch64, m68k,
and x32.
* Fixed decoding of 4th argument of semctl indirect syscall.
* Fixed decoding of sa_restorer and sa_mask of sigaction syscall on m68k.
* Fixed decoding of statfs64 and fstatfs64 syscalls on arm eabi.
* Fixed decoding of struct dirent on x32.
* Fixed decoding of times syscall return value on mips n32 and x32.
* Fixed decoding of path argument of umount2 syscall
(addresses Debian bug #785050).
* Worked around a kernel bug in tracing privileged executables.
* Fixed various errors in mapping between syscall numbers and associated
information like the number of syscall arguments, the name of syscall,
and syscall decoder.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Mon, 18 Jan 2016 21:33:51 +0000 (13:33 -0800)]
strace: fix ARCH definition in tests/Makefile
TARGET_ARCH doesn't map to strace's ARCH variable, so we can't assign
one from the other. Forcing the incorrect value via the make command
line doesn't cause any problems with strace v4.10, but it will do for
strace v4.11.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Mon, 18 Jan 2016 21:33:50 +0000 (13:33 -0800)]
strace: remove need for git-version-gen script
The git-version-gen isn't really needed in order to determine the
version of tarball releases, so avoid the need to provide our own
copy.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Mon, 18 Jan 2016 21:33:49 +0000 (13:33 -0800)]
strace: fix --disable-aio configure option
Remove the original unconditional check for libaio.h,
since it's included in the newly added conditional check.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Mon, 18 Jan 2016 21:33:48 +0000 (13:33 -0800)]
strace: drop unnecessary dependency on acl
The dependency on acl was removed from strace prior to the v4.10
release, so it's no longer necessary to add a configure option to
allow acl to be disabled.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mariano Lopez [Mon, 18 Jan 2016 14:33:06 +0000 (14:33 +0000)]
lib/oe/rootfs: Use list_pkgs() instead of list()
This patch changes the use list_pkgs() instead of list()
from class RpmPkgsList. The change is in two functions,
image_list_installed_packages from rootfs.py and
sdk_list_installed_packages from sdk.py.
With this change the functions calling the functions
listed above, must format the output as they required.
The formatting can be done using format_pkg_list() from
oe.utils.
The classes calling the afected functions are changed too
with this patch, to keep the same functionality using the
new data structure.
[YOCTO #7427]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mariano Lopez [Mon, 18 Jan 2016 14:33:05 +0000 (14:33 +0000)]
lib/oe/utils: Add function format_pkg_list()
The class PkgsList returns a dictionary with all the installed
packages, because the data structure is a dictionary there is
needed to format the data in order to write to a file.
The function format_pkg_list returns a formated sting with all
packages installed. The output will depend on the requested format
when calling the function.
[YOCTO #7427]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mariano Lopez [Mon, 18 Jan 2016 14:33:04 +0000 (14:33 +0000)]
lib/oe/package_manager: Add list_pkgs() to PkgsList class
Currently the class PkgList returns a formated string of the
installed packages. It would be more clean to pass a standard
data structure to the callers instead to format the output
inside PkgsList class.
This patch adds list_pkgs() method to PkgsList class to get the
all the information for installed packages and return a dictionary
with the info.
[YOCTO #7427]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Upgrades python-setuptools to 19.2, easy_install works out of the box
adds the package python-plistlib to the manifest as it is needed by
setuptools now, and also updates runtime dependencies
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Tue, 19 Jan 2016 16:51:09 +0000 (18:51 +0200)]
wic: move parts of canned .wks into common.wks.inc
In order to give and example of 'include' feature of ks parser
and for testing purposes common parts of 3 canned wks files were
moved into common.wks.inc
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Tue, 19 Jan 2016 16:51:08 +0000 (18:51 +0200)]
wic: implement search of includes
Used custom argument type to implement search of include
.wks files in canned wks paths. Include files can be
specified either by full path or by name.
[YOCTO #8848]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Tue, 19 Jan 2016 16:51:07 +0000 (18:51 +0200)]
wic: refactor get_boot_config
This function is going to be used by ks parser to find include .wks
files. get_boot_config name is a bit confusing as function is quite
generic. It looks if file is present in the canned wks directories.
Ed Bartosh [Tue, 19 Jan 2016 16:51:05 +0000 (18:51 +0200)]
wic: do not remove build dir in source plugins
Interesting bug was found during implementation of 'include'
parser command.
Build directory was removed in do_configure_partition method of
bootimg- source plugins. This can cause removal of previously
prepared partition images if /boot partition is mentioned after
other partitions in .ks file.
Moved work directory removal to direct.py before processing
partitions.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Tue, 19 Jan 2016 16:51:04 +0000 (18:51 +0200)]
wic: use unique partition number
This is a preparation for 'include' support.
Used unique counter instead of line number for partitions
in .ks file. Line numbers can be equal for different .ks files,
which can cause problems if one .ks file is included into
another.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Tue, 19 Jan 2016 16:51:03 +0000 (18:51 +0200)]
wic: move wks parsing code to KickStart._parse
This is a preparation for implementation of include statement.
Parser will be called recursively to parse included .wks files,
so it should be available as a method.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libjpeg-turbo: fix upstream version check (sort of)
We prepend '8d' to the version and at the moment there is no way
to strip that out when doing upstream checks. But at least the latest
upstream version is reported correctly.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Olof Johansson [Tue, 19 Jan 2016 13:45:32 +0000 (14:45 +0100)]
rpm: remove bashisms: [ x == x ] -> [ x = x ]
The postinst and postrm of rpm contained a bashism, that could in some
situations potentially cause ldconfig not be triggered when it should
be. If you use dash on host, test would fail because of syntax errors.
But on host, it should fail because of the comparison. On target, you
often use busybox ash, and it supports == as an alias for =. So in
practice, only if you use a shell like dash on target, you'll run into
issues with this.
Signed-off-by: Olof Johansson <olofjn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Lock [Tue, 19 Jan 2016 10:44:06 +0000 (10:44 +0000)]
gcc-runtime: switch to removal override syntax to modify CXXFLAGS
The use of immediate expansion can cause issues when trying to
override variables, further the removal override syntax is clearer
than oe_filter_out () — switch to using removal override syntax
instead.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 18 Jan 2016 16:22:01 +0000 (16:22 +0000)]
sstate: replace verbose manifest removal with a single count
If there are lots of changes between the previous build and the build about to
start bitbake will potentially print pages of:
DEBUG: Stamp $BUILD/stamps/corei7-64-poky-linux/libdrm/2.4.66-r0 is not reachable, removing related manifests
Instead of spamming the console with this list, write the list of manifests only
to the debug log and simply write a count to the console. This way the user
doesn't get spammed but still knows what is happening if bitbake appears to
stall with heavy I/O.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Markus Lehtonen [Mon, 11 Jan 2016 16:13:17 +0000 (18:13 +0200)]
sign_rpm.bbclass: fix task dependencies
do_rootfs task needs to depend on signing-keys:do_export_public_keys.
The rpm signing public key needs to be present in order to prevent a
crash because it is imported into the rootfs rpmdb before rootfs
creation starts.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Thu, 14 Jan 2016 03:35:09 +0000 (19:35 -0800)]
security_flags.inc: remove obsolete workarounds for curl
The curl configure script contains sanity checks for unexpected
options being passed via CFLAGS, LDFLAGS, etc. environment variables.
These sanity checks catch -Dxxx options in CFLAGS, which clashes with
OE's approach of using CFLAGS to pass -D_FORTIFY_SOURCE (curl's
configure script suggests, quite correctly, that -Dxxx options should
be passed via CPPFLAGS instead).
These sanity checks previously generated fatal errors, but have been
downgraded to warnings since curl v7.32. Therefore the workaround of
avoiding -D_FORTIFY_SOURCE for curl is obsolete and can be removed.
Andrew Shadura [Mon, 18 Jan 2016 14:43:08 +0000 (14:43 +0000)]
cups: update systemd support
Add PACKAGECONFIG for systemd, enable it when systemd is enabled in
DISTRO_FEATURES. Pass the correct path to systemd units, ensure they're
installed into the package.
Drop custom systemd unit files, use those shipped by the upstream instead.
Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk> Signed-off-by: Ross Burton <ross.burton@intel.com>
Yi Zhao [Thu, 14 Jan 2016 07:08:37 +0000 (15:08 +0800)]
oeqa/runtime/parselogs: use -F to search fixed strings for grep
The grep output is not correct if the log message contains special
characters. Use -F which tells grep to search for fixed strings, not
expressions and pass lists instead of strings to subprocess.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Bob Ham [Wed, 13 Jan 2016 18:21:01 +0000 (18:21 +0000)]
libinput: Upgrade 0.21.0 -> 1.1.4
yocto/jethro provides the version 0.21 from August 2015 while the
current version is 1.1.4.
The patch libinput-configure.ac-add-arg-with-libunwind.patch has been
merged to upstream and was removed from the recipe. The patch
touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch
has not been merged to upstream and is still included in the recipe.
Co-Authored-By: Joshua Lock <joshua.lock@collabora.co.uk> Signed-off-by: Bob Ham <bob.ham@collabora.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Wed, 6 Jan 2016 15:49:37 +0000 (15:49 +0000)]
postinst-intercepts: always use set -e
If a postinst has a problem (say, qemu crashes) and set -e isn't in operation,
the only mention of the problem is a single line in the rootfs log that doesn't
trigger any warnings.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Richard Purdie [Mon, 18 Jan 2016 17:57:01 +0000 (17:57 +0000)]
sstate: Add packagedata to list of tasks not to recurse
If we "bitbake X -c packagedata" and the packagedata comes from sstate, we
don't need any of the tasks dependencies. This is similar to the
populate_lic case, we only care about the end result.
Therefore short circuit the dependencies so packagedata doesn't pull in
any other dependencies.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix a regression caused by OE-Core revision eabeb26335b1a4eb1e68218160dbdbe8fdf36272 where we lost the task
dependency on packages in TOOLCHAIN_HOST_TASK (such as
meta-environment-extsdk-${MACHINE}) which led to errors about missing
packages when building the extensible SDK. This happened because I only
moved half of the dependencies coming from the standard SDK task to
do_sdk_depends.
While I'm at it, tidy up the do_populate_sdk_ext[depends] line.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shell function names can't contain '-' characters, which means our image
task names also can't. Add some mapping to use '_' instead of the '-' so
images like "rpi-sdimg" work again.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 18 Jan 2016 11:18:35 +0000 (00:18 +1300)]
oe-selftest: devtool: fix test_devtool_add_library if python was built first
If Python is in the sysroot then this test can fail due to some
brokenness in libftdi's CMakeLists.txt file for its python bindings.
Just disable it in order to have the test work more reliably.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 18 Jan 2016 11:18:34 +0000 (00:18 +1300)]
recipetool: create: add a couple more license checksums
I found these when I was looking at libftdi and they seem to be
generic enough to show up in at least a couple of other packages so I
figure I'll add them.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 18 Jan 2016 11:18:33 +0000 (00:18 +1300)]
recipetool: create: add basic support for extracting dependencies from cmake
Add support for extracting dependencies from CMakeLists.txt. There's
still a bunch of things missing that are outside the scope of OE-Core
and we still lack a proper extension mechanism, but this is a good
start.
This also adds an oe-selftest test to exercise the new code a bit.
Implements [YOCTO #7635].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 18 Jan 2016 11:18:31 +0000 (00:18 +1300)]
recipetool: create: move dependency mapping code to RecipeHandler
Some refactoring to allow access to the library/header/pkg-config
mappings and the DEPENDS / unmapped dependency output code from other
classes than AutotoolsRecipeHandler.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 18 Jan 2016 11:18:30 +0000 (00:18 +1300)]
recipetool: create: fix overzealous mapping of git URLs
The regex for detecting git URLs was unanchored, leading to it matching
where it shouldn't have. An example of where this went wrong was
http://taglib.github.io/releases/taglib-1.9.1.tar.gz.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 18 Jan 2016 11:18:26 +0000 (00:18 +1300)]
recipetool: create: improve extraction of pkg-config / lib deps
* The regexes for PKG_CHECK_MODULES / AC_CHECK_LIB were a bit too strict
and thus we were skipping some macros.
* Add support for PKG_CHECK_EXISTS
* Avoid duplicates in warning on missing pkg-config dependencies
* Ignore dependency on musl (since this may come up if it's the selected
C library)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Mon, 18 Jan 2016 12:22:46 +0000 (14:22 +0200)]
wic: rename kickstarter.py -> ksparser.py
kickstarter.py was not the best name for this module as previously
there was a directory with the same name in scripts/lib/wic/.
All files were removed from it, but .pyc files could still stay there
causing imports from wic.kickstart to fail with
ImportError: cannot import name KickStart.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Mon, 18 Jan 2016 12:22:45 +0000 (14:22 +0200)]
wic: override ArgumentParser.error
Overriden error method to throw exception instead of
printing usage error message. Exception is caught by
KickStart code to add .ks file name and line number.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that image generation consists of separate tasks, we can improve
the dependencies in these classes. We can also incorporate the tasks
within do_image_complete instead of do_build so we have a specific task
for when the deploy directory is populated with images.
This fixes various expectations about do_image_completed and the way
I'd tried to use it to fix some sanity test problems.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 18 Jan 2016 14:25:59 +0000 (14:25 +0000)]
image: Always run do_rootfs_wicenv
The wic command can be used externally but for this to work, the wic
environment file needs to be present. Therefore write this out
universally, it runs in parallel with other image construction so
any performance implications are negligible.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 17 Jan 2016 11:17:47 +0000 (11:17 +0000)]
selftest/buildhistory: Improve test to remove sources of error
When we add buildhistory, we expect do_rootfs to rerun, but depending
on IMAGE_FSTYPES, the number of tasks which would execute after
do_rootfs varies (e.g. live would add do_bootimg and we recently
added do_image).
Therefore limit the test to -c rootfs and then we're clear that only
one task should re-run.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 17 Jan 2016 11:16:45 +0000 (11:16 +0000)]
bootimg/image: Enhance bootimg to respect RM_OLD_IMAGE
Currently, iso and hddimg links don't respect RM_OLD_IMAGE. This
updates them to use the common symlinks code so that they behave
like the rest of the system.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 16 Jan 2016 10:33:18 +0000 (10:33 +0000)]
image: Fix instability of do_image_* checksums
The do_image_* tasks contained the expanded version of DATETIME. Due
to the expansion, we couldn't exclude the value from the task checksum
which meant the task would rerun.
We fix this by deleting the DATETIME value during expansion so we don't
expand any references to at that time. This means the task's hash can be
stable rather than having hardcoded date/time values. It will get expanded
at execution time.
This also fixes errors shown by -S:
NOTE: Reparsing files to collect dependency data
Writing locked sigs to /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/locked-sigs.inc
ERROR: Bitbake's cached basehash does not match the one we just generated (/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/recipes-sato/images/core-image-sato.bb.do_image_tar)!
ERROR: The mismatched hashes were 77872792556367f1dde49a1425caf1a0 and 9bb0aca6286ab7dd22d3c69964beb665
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 16 Jan 2016 10:32:44 +0000 (10:32 +0000)]
image: Fix wic environment issues
The wic environment function needs to run after the rootfs size is
setup. We move this code to a specific task, and depend on that task
from the wic images and other places its needed.
This fixes:
======================================================================
FAIL: test_image_env (oeqa.selftest.wic.Wic)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/decorators.py", line 106, in wrapped_f
return func(*args, **kwargs)
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/wic.py", line 218, in test_image_env
self.assertTrue(var in content, "%s is not in .env file" % var)
AssertionError: False is not true : ROOTFS_SIZE is not in .env file
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 15 Jan 2016 12:55:30 +0000 (12:55 +0000)]
insane: Start to clean up do_configure_qa code
This cleans up the do_configure_qa code so that the exit status from
package_qa_handle_error is handled correctly.
It also converts package_qa_check_license to use our standard QA check
configuration interface through package_qa_handle_error rather than
a mix of return values, bb.fatal and bb.build.FuncFailed.
Due to the merging of multiple lines into one message, we need to
tweak a QA test to account for this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 15 Jan 2016 12:44:10 +0000 (12:44 +0000)]
insane: Clean up horrible return value processing code
Whilst in theory return values are nice, handling the complex
aggregation of the return values is ugly. The code already uses QA_SANE
as a marker to signal problems. Whilst that isn't as idealistic, it
makes the code massively cleaner, so rely on this instead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Tue, 19 Jan 2016 03:23:03 +0000 (19:23 -0800)]
e2fsprogs: fix PV
We had upgraded e2fsprogs from 1.42.9 to 1.43 (WIP), and used:
PV = "1.42+1.43-git${SRCPV}"
But:
$ dpkg --compare-versions 1.42+1.43 gt 1.42.9 && echo greater || echo less
less
It shows that 1.42+1.43 is less than 1.42.9, so this is a downgraded. Use
PV = "1.42.13+git${SRCPV}"
to fix the problem. 1.42.13 is the latest e2fsprogs 1.42 version.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>