'pods' are used in many projects and places. To clear up the namespace, we now
call the building blocks of an OverC system 'cubes'.
This switches the images, variables and READMEs to talk about 'cubes'.
We also move the distro conf to meta-overc, and ensure the distro is "overc".
And finally, the meta-cube layer priority is bumped to ensure its configs take
precence.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
When do upgrading from the https rpm-md repo, ask the
user to input the username&password at the first time
for the basic authentication, and then the username&password
will be cached in the smart data cache.
Signed-off-by: fupan li <fupan.li@windriver.com>
Signed-off-by: Guojian Zhou <guojian.zhou@windriver.com>
When using the rpmbuild to build lynx srpm, this srpm requires rsh and telnet.
If the project uses the inetutils recipe to provide these tools and packages,
it would not find the required dependence provides packages.
So we have to use this method to work around this issue.
rpmbuild lynx.src.rpm build error information is as following:
===============================================================
rpmbuild --rebuild lynx-2.8.8-0.3.dev15.el7.src.rpm
Installing lynx-2.8.8-0.3.dev15.el7.src.rpm
error: Failed build dependencies:
openssl-devel is needed by lynx-2.8.8-0.3.dev15.src
ncurses-devel is needed by lynx-2.8.8-0.3.dev15.src
rsh is needed by lynx-2.8.8-0.3.dev15.src
slang-devel is needed by lynx-2.8.8-0.3.dev15.src
telnet is needed by lynx-2.8.8-0.3.dev15.src
zlib-devel is needed by lynx-2.8.8-0.3.dev15.src
Signed-off-by: fupan li <fupan.li@windriver.com>
Signed-off-by: Guojian Zhou <guojian.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Redhat/CentOS use the ${pn}-devel for their building used rpm packages, and
OE uses the ${pn}-dev. In order to compatible with Redhat/CentOS, add ${pn}-devel
for each ${pn}-dev rpm packages.
In addition, Redhat/CentOS usually use ${pn}-libs to provide library files for
some packages, and OE doesn't afford such a rpm package, so add ${pn}-libs rprovides
for each ${pn}-dev rpm package in order to meet the buildrequirement of the third party
srpm packages' building.
This feature is try to make srpm compatible with Redhat/CentOs, so remvoed the debian
distro's package name compatible feature.
Signed-off-by: fupan li <fupan.li@windriver.com>
Signed-off-by: Guojian Zhou <guojian.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
The /var/ dir sometimes are mount on volatile device, which will cause
problem, so add an option to change it to a more safe place.
To enable it, please add the following line into a conf file.
PACKAGECONFIG_append_pn-python-smartpm = " change-data-dir"
Signed-off-by: fli <fupan.li@windriver.com>
Signed-off-by: Guojian Zhou <guojian.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This command will figure out of the build required packages
for a given srpm package and try to install all of these
packages in the system. If a new version of an already installed
package is available, it will be selected for installation.
BTW, this patch only implemented the cache.py, not touched the ccache.c.
For more information about its usage, please run:
$smart builddep -h.
Signed-off-by: fupan li <fupan.li@windriver.com>
Signed-off-by: Guojian Zhou <guojian.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Currently Overc/package.py and Overc/container.py are both
using the same code snippets for creating a pipe to run a process
and reporting the stdout/stderr messages, combine these into a
class in Overc/utils.py
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Running overc host newer or upgrade results an in error message
about self.message being undefined. These commands are trying to
append to self.message before self.message was defined. We initialize
self.message in the contructor.
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Many go and python recipes cannot deal with the automatic clean and
rebuild processing of the base package classes.
To avoid builds breaking, and the need for explicit clean -> rebuild
steps, we add the CLEANBROKEN = "1" flag to these recipes.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
1. Add snapshot to lxc
2. previously, upgrade was only implemented in the REST interface,
add upgrade to overc cli
- upgrade rpm upgrade separately from update in overc
3. add rpm update to lxc
4. update documentation
Signed-off-by: Amy Fong <amy.fong.3142@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Since overc-system-agent was moved from essential system to
dom0, the overc host commands, sucn as 'host update' and
'host newer' should be run in ROOTMOUNT, instead of '/'.
Signed-off-by: fupan li <fupan.li@windriver.com>
etcd and consul are provided as service discovery agents, but both
are not required in a single domain.
To keep dom0 small and light, we split consul and etcd into two
package groups.
dom0 gets etcd and dom1 consul.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
By default OverC used linux-yocto-dev, but for deployments that require
realtime capabilities, the linux-yocto-rt kernel is more appropriate.
This commit creates a bbappend to apply the proper configuration to a -rt
kernel, and makes the virtual/kernel assignment conditional, allowing the
-rt kernel to be selected in a local.conf via:
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto-rt"
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
The patch lines deleted allow the polkit patch to apply to oe-core 1.7
and oe-core 2.0 cleanly. Also the patch lines were not needed
anymore, due to a change earlier in the patch file.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
UEFI boot need vfat filesystem, so add dosfstools to
OVERC_COMMON_DISK for pod-installer to use.
Signed-off-by: fupan li <fupan.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Issue: TA115230
The creation of kernel depmod data will be skipped for all images
when --enable-container=yes, but we don't want the essential image
to be a container image, so add the kernel-modules and set
USE_DEPMOD to use depmod data.
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Update package's smartpm to handle stdin/stdout messages in the
same way as the container's communication infrastructure (to enable
live feedback)
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Previously, over-system-agent's container communication infrastruction
only displays stdout from the container scripts when the container scripts
exits.
Update overc so that both stdout and stderr from the containers scripts
are available.
Also, modify the message handling so that messages are displayed as
they become available instead of waiting til the process is finished.
Some of the processes can take several minutes to complete, with
this change, it provides the user (at least from overc - not from REST)
a sense that something's going on.
Signed-off-by: Amy Fong <amy.fong@windriver.com>
"IMAGE_INSTALL +=" will override the definition of
"IMAGE_INSTALL ?=" defined in the following inherited
core-image, and this is what we expected.
It will cause the unbuildable recipes "shadowpackagegroup_core_boot" error.
The nucleo-t project configure error information is as following:
============================================================================
ERROR: Nothing RPROVIDES 'shadowpackagegroup-core-boot' (but
layers/wr-nucleo-t/nucleo-t/base/recipes-base/images/wrlinux-image-nucleo-t.bb
RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'shadowpackagegroup-core-boot' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['shadowpackagegroup-core-boot']
Signed-off-by: Guojian Zhou <guojian.zhou@windriver.com>
Currently the dom0-contctl package is in the
dom0 packagegroup which gets embedded into
both dom0 and domE. Move it to dom0 only.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
The local-fs.target was not handling the /opt/container
bind mounts as first thought. Instead tell systemd
exactly what mount is required and thus have systemd
automatically sort out the start/stop ordering of components.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
On a shutdown or a reboot of a container running
this service, a similar shutdown or reboot command
will be sent to the listening pod-cmd-server. This
allows for a container such as domE to effect a
shutdown or reboot on dom0, which in turn can
propagate the same action to pod-essential to cause
the shutdown or reboot to happen to the entire system.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
The pod-cmd-server is a generic command processor
meant for taking and acting upon commands from
containers. Currently two commands are
supported, namely reboot and shutdown (poweroff).
For example, this allows for the propagation of reboot
commands from domE to pod-essential via a command
server running on dom0.
The current communication channel used is a named pipe, also
known as a fifo. This fifo must be visible in the namespace
of both the command server and the container sending the
command. That is accomplished through the judicious use
of bind mounts already in place between the pods.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
overc-cctl from overc-installer is needed by overc-system-agent.
Add package overc-installer to copy overc-cctl from overc-installer.
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Modify this package's install to install its files to /opt/${PN} Install
container scripts to /etc/overc/container Add python-flask and some
other packages to RDEPS, this is needed for the REST interface.
API change: since we do not support rollback to a specified
snapshot image, specifying of snapshot is now optional.
To support operations to the container dom0, we modify rollback
and activate to permit updates since this container will still be
active. Overc no longer tests to see if a container is active in itself,
this will be handled within the container script. We also do not support
start/stop of dom0.
Argument handling in the container script updated to be more flexible.
Update README.container to reflect changes to container script arguments.
Signed-off-by: Amy Fong <amy.fong@windriver.com>
In dom0, root is available from /essential, overc
needs to be updated to be able to look for the btrfs info.
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Building an image which contains etcd can produce the following error:
error: Can't install etcd-git-r0.1@core2_64: no package provides /usr/bin/bash
Looking closely at the etcd sources we find that one of the contained
scripts references '/usr/bin/bash' instead of '/bin/bash' like the
others do. This results in bitbake adding an automatic dependency
which can't be satisfied and the above failure ensues.
There is a more comprehensive upstream fix for this that we will get
when we uprev to the latest etcd but for now we just address the
single script to get around this issue with minimal impact.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Issue: OVP-2573
Inherit the golang class's common settings and remove those
redundancy sectons and class's common settings has enabled cgo, which
will reduce the following issue:
ERROR: Function failed: do_compile (log file is located at bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/consul-migrate/git-r0/temp/do_compile/log.do_compile.94063)
ERROR: Logfile of failure stored in: bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/consul-migrate/git-r0/temp/do_compile/log.do_compile.94063
Log data follows:
| DEBUG: Executing shell function do_compile
| ../../../../../sysroots/fsl-ls10xx/usr/local/go/src/github.com/hashicorp/raft-mdb/mdb_store.go:5:2: C source files not allowed when not using cgo: mdb.c midl.c
| WARNING: bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/consul-migrate/git-r0/temp/do_compile/run.do_compile.94063:1 exit 1 from
| go install github.com/hashicorp/consul-migrate
| ERROR: Function failed: do_compile (log file is located at bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/consul-migrate/git-r0/temp/do_compile/log.do_compile.94063)
ERROR: Task 113 (layers/meta-overc/meta-pod/recipes-connectivity/consul/consul-migrate_git.bb, do_compile) failed with exit code '1'
Signed-off-by: fupan li <fupan.li@windriver.com>
Issue: OVP-2572
Inherit the golang class's common settings and remove those
redundancy sectons and class's common settings has enabled cgo, thus
it will fix the following error:
ERROR: Function failed: do_compile (log file is located at
bitbake_build/tmp/work/cortexa7t2hf-
vfp-neon-wrs-linux-gnueabi/consul-migrate/git-r0/temp/do_compile/log.do_compile.68285)
ERROR: Logfile of failure stored in:
bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnu
eabi/consul-migrate/git-r0/temp/do_compile/log.do_compile.68285
Log data follows:
| DEBUG: Executing shell function do_compile
|
../../../../../sysroots/fsl-ls10xx/usr/local/go/src/github.com/hashicorp/raft-mdb/mdb_store.go:5:2:
C source files not allowed when not using cgo: mdb.c midl.c
| WARNING:
temp/do_compile/run.do_compile.68285:1 exit 1 from
| go install github.com/hashicorp/consul-migrate
| ERROR: Function failed: do_compile (log file is located at
bitbake_build/tmp/work/cortexa7t2h
f-vfp-neon-wrs-linux-gnueabi/consul-migrate/git-r0/temp/do_compile/log.do_compile.68285)
NOTE: recipe consul-migrate-git-r0: task do_compile: Failed
Signed-off-by: fupan li <fupan.li@windriver.com>
Issue: OVP-2574
Inherit the golang class's common settings and remove those
redundancy sectons and class's common settings has set GOARCH, thus
it will fix this issue.
Signed-off-by: fupan li <fupan.li@windriver.com>
Inherit the golang bbclass's common settings and remove those
redundancy sectons and class's common settings will reduce the following
QA issue:
ERROR: QA Issue: non debug package contains .debug directory: bolt path
/work/armv7at2-vfp-neon-wrs-linux-gnueabi/bolt/git-r0/packages-split/bolt/usr/bin/linux_arm/.debug/bolt
[debug-files]
Signed-off-by: fupan li <fupan.li@windriver.com>
Most of the golang programs have some common settings for
their recipes, such as GOPATH, GOARCH, GOBIN and so on, so
extracted all of those common sections into a bbclass to
reduce the redundancy.
Signed-off-by: fupan li <fupan.li@windriver.com>
If you don't supply the distro at configure time,
autoconf will attempt to figure it out by calling
lsb_release on the host or probing for the existence
of certain files on the host. The actual distro doesn't matter,
but the probing around can cause error messages because
it's a violation of cross compilation principles.
This problem was masked if you happened to have the lsb_release
command on your compile host.
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Ensure that dom0 has enough python to run things like pip. This
common definition can be re-used by other domains as required.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>