This fixes an error with Yocto master:
- The SRCREV_FORMAT variable must be set when multiple SCMs are used
It does so by prependending the openwrt files
to the SRCREV_FORMAT.
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
If the deploy and tmp directories were zapped but the sstate-cache
retained, it could happen that openwrt_flatten_modules_hook was run
without ${STAGING_KERNEL_BUILDDIR} ever being populated. Add an
explicit dependency to fix that. Also add a check that something
was actually read from the kernel-abiversion file.
This solves a bunch of below errors and warnings when the libdir is /usr/lib64 for
64bit machine or in multilib environment:
The libubox warning:
-- snip --
WARNING: libubox-2.0.0+gitAUTOINC+96305a3caf-r0 do_package: QA Issue: libubox: Files/directories were installed but not shipped in any package: /usr/lib/lua/5.1/uloop.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libubox: 1 installed and not shipped files. [installed-vs-shipped]
-- snip --
The ubox recipe fails with below errors:
-- snip --
.../ubox/git-r0/recipe-sysroot-native/usr/bin/x86_64-montavista-linux/../../libexec/x86_64-montavista-linux/gcc/x86_64-montavista-linux/7.2.0/ld: cannot find -lubus collect2: error: ld returned 1 exit status
-- snip --
-- snip --
| ../ubox/git-r0/recipe-sysroot-native/usr/bin/x86_64-montavista-linux/../../libexec/x86_64-montavista-linux/gcc/x86_64-montavista-linux/7.2.0/ld: cannot find -luci
| collect2: error: ld returned 1 exit status
-- snip --
-- snip --
WARNING: ubox-git-r0 do_package: QA Issue: ubox: Files/directories were installed but not shipped in any package: /usr/lib/libvalidate.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or
delete them within do_install.
ubox: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: ubox-git-r0 do_package_qa: QA Issue: /usr/sbin/validate_data contained in package ubox requires libvalidate.so()(64bit), but no providers found in RDEPENDS_ubox? [file-rdeps]
WARNING: ubox-git-r0 do_package_qa: QA Issue: ubox-dbg: found library in wrong location: /usr/lib/.debug/libvalidate.so [libdir]
ERROR: ubox-git-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: ubox-git-r0 do_package_qa: Function failed: do_package_qa
-- snip --
The ubus build fails with below error:
-- snip --
ERROR: ubus-git-r0 do_package_qa: QA Issue: /usr/bin/ubus contained in package ubus requires libubus.so()(64bit), but no providers found in RDEPENDS_ubus? [file-rdeps]
WARNING: ubus-git-r0 do_package_qa: QA Issue: ubus-dbg: found library in wrong location: /usr/lib/.debug/libubus.so [libdir]
ERROR: ubus-git-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: ubus-git-r0 do_package_qa: Function failed: do_package_qa
-- snip --
-- snip --
WARNING: ubus-git-r0 do_package: QA Issue: ubus: Files/directories were installed but not shipped in any package: /usr/lib/lua/5.1/ubus.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
ubus: 1 installed and not shipped files. [installed-vs-shipped]
-- snip --
The netifd recipe fails with below error:
-- snip --
| cp: target ‘.../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/image/lib64/netifd/’ is not a directory
| WARNING: .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/temp/run.do_install.27647:1 exit 1 from 'cp -dR --preserve=mode,links .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/git/scripts/* .../tmp_new/work/corei7-64-montavista-linux/netifd/git-r0/image/lib64/netifd/'
-- snip --
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
We split off the lua compile options into a separate class
so that packages that need them but not workaround for lack
of proper SOVERSION don't inherit a problem.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
An error is thrown because base_read_file no longer exists in OE-core (master),
and it's been deprecated a long time, so use the appropriate replacement, which
is oe.utils.read_file.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Package pulling scripts and configs from openwrt.git were not
indicating the GPL-2.0+ license on that repo. Therefore add
the LICENSE file from openwrt.git and update LICENSE with an
'&GPL-2.0+'. Since this is primarily initscripts and such,
while most of the actual software (like procd, ubus) etc is
under an MIT, BSD, or Apache license, it may be desirable to
replace the scripts with MIT, BSD, or Apache scripts.
Closes https://github.com/kraj/meta-openwrt/issues/43
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
WIth arm by default there are no modules in /lib/modules so the
module 'flattening' fails. Prevent that by first checking the
module directory exists.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Drop the conf/nodistro.conf that actually ends up being a distro
and document using INHERHIT += " openwrt-distro-defaults " in local.conf OR
an actual distro's conf. Also prevent setting DISTRO_FEATURES to include
procd from overriding DISTRO_FEATURES and thereby losing the libc locale
config used with glibc (resulting in locale build failures).
Closes https://github.com/kraj/meta-openwrt/issues/30
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Openwrt has different defaults for e.g. dev_manager than usual
OE so make it easy to set them by inherting.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
ubox's kmodloader expects that kernel modules will all be in the
main modules directory (/lib/modules/<version>/) rather than in
subdirectories below that. Allow it to work by recognizing it's
limitations.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Closes https://github.com/kraj/meta-openwrt/issues/14 by creating
a class and inheriting it in images that have procd initscripts;
we also inherit in each recipe but that doesn't actually affect
the rootfs postuninstall command which is where this hook
runs.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Updates recipes to use lede-17.01 which is the latest OpenWrt stable
branch as of the remerge of LEDE and Openwrt. Also refresh, update,
and add patches as necessary to allow to build.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Since multiple recipes are going to be copying files out of openwrt
repository, specify the revision to use for that repo once, in
openwrt.bbclass, to avoid recipes copying files out of different
revisions.
Signed-off-by: Aaron Brice <aaron.brice@datasoft.com>
Running the native lua5.1 binary to get the lua module path doesn't play
nice with using SSTATE with multiple build environments:
$ bitbake -e libubox | grep EXTRA_OECMAKE
# $EXTRA_OECMAKE [5 operations]
EXTRA_OECMAKE=" -DLUAPATH=`lua5.1 -e \"for k in string.gmatch(package.cpath .. \
\\";\\", \\"([^;]+)/..so;\\") do if k:sub(1,1) == \\"/\\" then print(k) \
break end end\" | \
sed 's#/home/troth/git/econe-yocto/build-morty-qemux86/tmp/sysroots/x86_64-linux##'` \
-DBUILD_EXAMPLES=ON -DBUILD_LUA=ON -DCMAKE_SKIP_RPATH=ON \${PACKAGECONFIG_CONFARGS}"
$ tmp/sysroots/x86_64-linux/usr/bin/lua5.1 -e "for k in string.gmatch(package.cpath .. \
\";\", \"([^;]+)/..so;\") do if k:sub(1,1) == \"/\" then print(k) break end end"
/home/troth/git/econe-yocto/build-morty/tmp/sysroots/x86_64-linux/usr/lib/lua/5.1
Just use a fixed string for the path instead of trying to programmatically generate it.
Signed-off-by: Theodore A. Roth <theodore_roth@trimble.com>