Add the following three functions to OpkgPM class:
- The 'dummy_install' is used to dummy install pkgs, and returns the log
of output;
- The 'backup_packaging_data' is used to back up the current opkg
database;
- The 'recover_packaging_data' is used to recover the opkg database
which backed up by the previous image creation;
Tweak 'remove' function in OpkgPM class, which the options for remove
with dependencies was incorrect.
Tweak 'handle_bad_recommendations' function in OpkgPM class:
- Fix none value check;
- Add the existance check of opkg status file;
[YOCTO #1894]
(From OE-Core rev: 5df18065e267a7e55a990ac3728414bb6e28a723)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The function create_full creates the manifest after the package in
initial manifest has been dummy installed. It lists all *to be
installed* packages. There is no real installation, just a test.
[YOCTO #1894]
(From OE-Core rev: 494adecd878496c2edc663ba09a456a9735d8252)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gnome.bbclass pulls in more functionality than this recipe needs (icon cache,
MIME, GConf), so instead just use gnomebase.bbclass.
[ YOCTO #5842 ]
(From OE-Core rev: f5dff529e5f87b11c5730209df51604181b74321)
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>
There is a problem if a relative path is passed to the kernel for NFS usage
that it will not correctly find it, so ensure that the ROOTFS path is absolute.
[YOCTO #2807]
(From OE-Core rev: 5722be0ddda4ec3c96c06b425e5c7e0194326253)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Install insserv test suite and run it as ptest.
(From OE-Core rev: 5bb786241907bb0304edb25ac1d398b3ae7f3be0)
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(*) removed patches that were already
commited upstream
(*) added new patch to solve the build issue
(*) changed the package URL because
the old one is unreliable.
(From OE-Core rev: c885365107cc31ba2eff94cfae4f09813ac53a97)
Signed-off-by: Valentin Popa <valentin.popa@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Everything is setup to use PAM except for the server config. If 'pam' is
in DISTRO_FEATURES the configs will be changed to enable it.
Syslog will now show:
Feb 19 09:28:36 beast sshd[2980]: pam_unix(sshd:session): session opened for user koen by (uid=0)
And more importantly:
koen@beast:~$ loginctl
SESSION UID USER SEAT
c1 1000 koen seat0
c3 1000 koen seat0
c13 1000 koen
3 sessions listed.
Systemd now registers the session properly so it won't kill things like 'screen'
and 'tmux' when disconnecting the ssh session.
(From OE-Core rev: 08c523daec0f5161803d2a6704402490c18ff6ca)
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In update-rc.d.bbclass it checks variable INHIBIT_UPDATERCD_BBCLASS to
inhibit from inheriting this class. But it is wrong logic that when
'sysvinit' is in 'DISTRO_FEATURES', INHIBIT_UPDATERCD_BBCLASS will not
be checked.
Replace 'or' with 'and' to fix it.
(From OE-Core rev: a0353102184892f09d3f97f018e457a4684550ea)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Modifies valgrind's regression test framework to be compatible
with the yocto PTEST framework as follows:
* existing recipe valgrind*bb adds new methods: do_compile_ptest and
do_install_ptest.
* new file run-ptest adds the wrapper interface to the valgrind
regression test script vg_regtest.
* existing valgrind regression test script 'vg_regtest' changes
to report the status of the valgrind component tests in the
format that PTEST expects, instead of the valgrind formats, but only
when vg_regtest is invoked with an optional --yocto-ptest argument
* four new patches disable building tests that don't compile with
the yocto compiler and default options. See the patches for details.
(From OE-Core rev: d4438e421f448cdb7e25c038d657bbebc1b6486e)
Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because exec_cmd() return values can in certain cases be non-zero yet
non-fatal, we don't want to automatically make them fatal (though
there should at least be a warning in such cases, which this patch
also does); non-zero return values are definitely fatal however if
they mean that a native command wasn't found, so have
exec_native_cmd() check the return value of exec_cmd() for that case,
and bail out if so.
[YOCTO #5835]
(From OE-Core rev: 43ac6e3216c5d985d6f90a28e727e397df616267)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The path exported in exec_native_cmd() includes bogus 'PATH=' which
means the native paths for all but the first will be ignored.
(From OE-Core rev: e10c1102d958ffc6b521fb36c6bc51d896503218)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't force SYSLINUX_TIMEOUT and SYSLINUX_PROMPT if overrides have
been defined elsewhere for an image configuration.
(From OE-Core rev: a6522c19af9525a6e0bed241f2d926faaef76827)
Signed-off-by: Kyle Russell <bkylerussell@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
v0.2.1 of opkg is a minor bugfix release.
Tested on qemux86 to ensure opkg-native can build an image and opkg can update,
remove and install packages.
(From OE-Core rev: 935abb7f867944dd4f169469045771d0600bbbd2)
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Completes previous commit b5292d4115a4555a66b5e35acdc67dd71fb8577f.
Updates SUMMARY[doc] (meta/conf/documentation.conf).
Changes:
- rename DESCRIPTION with length < 80 to (non present tag) SUMMARY
- drop final point character at the end of SUMMARY string
- remove trailing whitespace of SUMMARY line
Note: don't bump PR
(From OE-Core rev: ad17dfd31a2b97b3e610a0ea0889f5ecb2a63b97)
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* change the text a bit, because I have trouble parsing two
verbs at the beginning of sentence.
(From OE-Core rev: 9837d194682f46e3a0363765bd6b317180a4cda0)
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>
Install libpcre test suite and run it as ptest.
(From OE-Core rev: fadaa1c7f4d927e3003bc4750f3b677ed627febb)
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The case statement for ARGS_OPT_ADD_EXCLUDE added to the argument handling
switch statement in opkg was missing a "break;" at the end, so it was falling
through into the handler for ARGS_OPT_NOACTION. Thus when "--add-exclude" was
specified on the command line it was as if "--noaction" was also being
specified. This appears to be the root cause of YP bug 5311.
Tested using the case described by Alexandru Georgescu in YP bug 5311:
MACHINE ??= "qemux86"
IMAGE_INSTALL_append = " man"
PACKAGE_EXCLUDE = "man"
PACKAGE_CLASSES ?= "package_ipk"
Built image and boot tested on qemu, ensured that man was not installed but the
rest of the system was installed correctly.
(From OE-Core rev: c269cea3117d7fa120c02bdb47d1adf18a1bcba1)
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Cc: Mark Hatle <mark.hatle@windriver.com>
Cc: Saul Wold <saul.wold@intel.com>
Cc: Alexandru Georgescu <alexandru.c.georgescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gconf is no longer used as a configuration system.
(From OE-Core rev: 1f8d944860cf1b1c3f4a6c48e4e1bdc9b09ede12)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Small error in the package list creation routine. Buildhistory was
supposed to use this but was never called. Hence, it escaped tests...
(From OE-Core rev: eaa1994ad22730cec8e8c57736915da6b45a416e)
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 commit adds a dependency mechanism to image creation, so that we can
split the images creation execution in groups, that can be executed in
parallel, having the dependencies satisfied in the same time. The old
code didn't need this since everything was serialized.
Technically, it adds a dependency graph topological sort class that the
main Image class can use to sort out the dependencies.
Images that have dependencies have to declare them using the NEW
IMAGE_TYPEDEP variable, like in the example below:
For:
IMAGE_FSTYPES = "i1 i2 i3 i4 i5"
IMAGE_TYPEDEP_i4 = "i2"
IMAGE_TYPEDEP_i5 = "i6 i4"
IMAGE_TYPEDEP_i6 = "i7"
IMAGE_TYPEDEP_i7 = "i2"
We'll get the following image groups, sorted out by their dependencies:
[['i1', 'i3', 'i2'], ['i4', 'i7'], ['i6'], ['i5']]
The algorithm can probably be optimized but, given the small size of the
graphs, it'll do.
[YOCTO #5830]
(From OE-Core rev: db9dd4b4ef9120baccbccae77d9c31f54a6eb9a1)
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 following dependencies were manually added in the image creation
code. However, in order to have an image dependency mechanism in place,
use a new variable, IMAGE_TYPEDEP, to declare that an image type depends
on another being already created.
The following dependencies are added by this commit:
elf -> cpio.gz
live -> ext3
vmdk -> ext3
iso -> ext3
hddimg -> ext3
This commit adds also another new variable: IMAGE_TYPES_MASKED. Currently,
masking out certain types from IMAGE_FSTYPES was hardcoded in the image
creation code.
[YOCTO #5830]
(From OE-Core rev: 5e2796aa28e02ae3a076c6593c6533753720b13d)
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>
Linux < 3.9 doesn't have the SO_REUSEPORT option so instead of failing to start
when built with >=3.9 kernel headers but booted on <3.9 kernels, continue as if
SO_REUSEPORT wasn't available.
(From OE-Core rev: 85e89da55f778ad3713460cb0df1435d82e94510)
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 to explicitly disable x11 with --disable-x11, otherwise
do_configure fails for DISTROs without x11 in DISTRO_FEATURES:
| No package 'xcb-xkb' found
| configure:18763: $? = 1
| configure:18777: result: no
| No package 'xcb' found
| No package 'xcb-xkb' found
| configure:18793: error: xkbcommon-x11 requires xcb-xkb >= 1.10 which
was not found. You can disable X11 support with --disable-x11.
(From OE-Core rev: e13741e52cc6b59757942a05c7847fe7fc090f63)
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>
Since generic compression solution has been introduced
(see revision b7e4ed41ee480f00b7265341e9e2d2c2b9135143),
CPIO_TOUCH_INIT() is only called by IMAGE_CMD_cpio.
(From OE-Core rev: e856e04e6134ce98e89027864f69b2ab48d40dcc)
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diffconfig() is a new task that makes a diff between the
old and new config files and writes to the fragment.cfg result file.
menuconfig() always copy the original config file, so the user
doesn't need to copy it.
(From OE-Core rev: f0dcbbdcc37da12f84f730b8235f50be8c150c50)
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of using 'diff' command between two kernel config files,
the task diffconfig does the job creating the file
$WORKDIR/fragment.cfg that user should review and use.
[YOCTO #3862]
(From OE-Core rev: db2a44c8f08f2371a52ff6662d6bc64bc42ad551)
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extend default config file by a directive to include config file
fragments from /etc/lighttpd.d. This allows other web application
packages to put their configuration there.
(From OE-Core rev: 949ef58cf0684147b07745bd1199014ac57b437c)
Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
below commit
commit 9d9bca8785911e8ae06d507bbfb99d6a811f072e
Author: Jonathan Liu <net147@gmail.com>
Date: Mon Feb 17 21:46:28 2014 +1100
lib/oe/image.py: fix working directory
The working directory needs to be changed before the image creation
commands instead of afterwards.
exposed an issue when generating tar images, where it would cd into
rootfs and then create the rootfs tarball and remain there since the
cmd to cd into deploy dir moved up the immediate following cmd like
tar.bz2 or tar.gz were still looking for tarball in current directory
which esentially was not deploy dir but IMAGE_ROOTFS instead
(From OE-Core rev: 9a98b8bfe13b94d89a9e39cca821f26fdeaeffc3)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gold linker does not support all architectures, currently arm and x86
are best supported, therefore we can not enable this as a full distro
option where we need to support other architectures e.g. ppc, mips
currently, if we enable ld-is-gold distro feature conditionally then it
invalidates native and sdk version of native binutils because configure
option would change. With this patch we limit ld-is-gold feature to
imapact cross binutils and target binutils only. This means that we
can reuse the sdk and native versions across architectures.
(From OE-Core rev: 542609b968f0dc6f56cc9d6aabe4ff0144041261)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By default LDFLAGSICUDT=-nodefaultlibs -nostdlib for Linux
which means DT_NEEDED section for libicu will not be populated
with dependencies when we reset it to be empty then the default
libraries it needs are added to DT_NEEDED section in ELF header
This patch is a workaround as I consider it for now, since it could
be a problem in glibc dynamic loader for arm (especially for hf case)
where its unable to load shared objects which dont have any dependencies
expressed in DT_NEEDED segment.
here is when LDFLAGSICUDT=-nodefaultlibs -nostdlib
Dynamic section at offset 0x1549c10 contains 8 entries:
Tag Type Name/Value
0x0000000e (SONAME) Library soname:
[libicudata.so.51]
0x00000010 (SYMBOLIC) 0x0
0x6ffffef5 (GNU_HASH) 0xf8
0x00000005 (STRTAB) 0x188
0x00000006 (SYMTAB) 0x138
0x0000000a (STRSZ) 54 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000000 (NULL) 0x0
here is one with LDFLAGSICUDT empty
Dynamic section at offset 0x154a014 contains 22 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000e (SONAME) Library soname:
[libicudata.so.51]
0x00000010 (SYMBOLIC) 0x0
0x0000000c (INIT) 0x33c
0x0000000d (FINI) 0x500
0x6ffffef5 (GNU_HASH) 0xf8
0x00000005 (STRTAB) 0x204
0x00000006 (SYMTAB) 0x144
0x0000000a (STRSZ) 192 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000003 (PLTGOT) 0x154a0f8
0x00000002 (PLTRELSZ) 16 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x32c
0x00000011 (REL) 0x2fc
0x00000012 (RELSZ) 48 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x2dc
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x2c4
0x6ffffffa (RELCOUNT) 1
0x00000000 (NULL) 0x0
btw. ldd reveals the fist one to be static library while the second
one is detected as shared library. This could be a clue into how
elf headers are being interpreted by dynamic loader.
The data seems to be all static in libicudata which could
load it quicker and thats what could be confusing dynamic linker ..may
be
(From OE-Core rev: 644c307f63f0f0b7e97140850d3d1d2124b11b1b)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We override LDCONFIGDEPEND to be empty string for uclibc
however the current check is for it being None as a result
the function is still executed but ldconfig-native is not
built as dependency for rootfs when building with uclibc
Fixes errors like below
File:
'/home/kraj/work/angstrom-repo/sources/openembedded-core/meta/lib/oe/rootfs.py',
lineno: 191, function: _run_ldconfig
0187: def _run_ldconfig(self):
0188: if self.d.getVar('LDCONFIGDEPEND', True) is not None:
0189: bb.note("Executing: ldconfig -r" +
self.image_rootfs + "-c new -v")
0190: self._exec_shell_cmd(['ldconfig', '-r',
self.image_rootfs, '-c',
*** 0191: 'new', '-v'])
(From OE-Core rev: 315a71e00928fea6715087b1ce66f8a8a91d5fe0)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License formatting and address for FSF in the COPYING and COPYING.LIB
has changed.
Dropped patched already upstream and patches that were workarounds for
older glibc and busybox
for e500 we have should pass --without-fp to eglibc/glibc 2.19 onwards
the code is merged from eglibc into glibc upstream under nofpu/ pretext
(From OE-Core rev: 875df27e56b82fcf970410b6d78e3672471c336a)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It wont compile otherwise and fail with errors e.g.
Valgrind requires glibc version 2.2 - 2.17 ...
(From OE-Core rev: cc90cbc6d36b9f15a461b877b44c7498c2061744)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 3f49597225.
This change appears to cause more problems than it fixes since the
compression commands usually work in the deploy dir but the archive ones
have always worked in the rootfs dir (which is clear from the tar command
we use).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was an incorrect wrapping of code in the source
example.
Reported-by: Ross Burton <ross.burton@intel.com>
(From yocto-docs rev: 478c3bba9e4b1b72dd11b58ebf9eb7ed54e80081)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>