diff options
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/base.bbclass | 8 | ||||
| -rw-r--r-- | classes/failure-cleanup.bbclass | 18 | ||||
| -rw-r--r-- | classes/image.bbclass | 22 |
3 files changed, 46 insertions, 2 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index 411adc95d0..18afc1a2fe 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -873,8 +873,12 @@ python base_eventhandler() { msg += messages.get(name[5:]) or name[5:] elif name == "UnsatisfiedDep": msg += "package %s: dependency %s %s" % (e.pkg, e.dep, name[:-3].lower()) - if msg: - note(msg) + + # Only need to output when using 1.8 or lower, the UI code handles it + # otherwise + if (int(bb.__version__.split(".")[0]) <= 1 and int(bb.__version__.split(".")[1]) <= 8): + if msg: + note(msg) if name.startswith("BuildStarted"): bb.data.setVar( 'BB_VERSION', bb.__version__, e.data ) diff --git a/classes/failure-cleanup.bbclass b/classes/failure-cleanup.bbclass new file mode 100644 index 0000000000..3870c756c8 --- /dev/null +++ b/classes/failure-cleanup.bbclass @@ -0,0 +1,18 @@ +# This class clean a package on failure, a nice way to keep diskspace usage down and force rebuilds + +# we want to be an event handler +addhandler failure_eventhandler +python failure_eventhandler() { + from bb import build, event, note, error, data + from bb.event import NotHandled, getName + + if e.data is None or getName(e) == "MsgNote": + return NotHandled + + name = getName(e) + if name == "PkgFailed": + bb.note("Exectuting -c clean on failed build") + build.exec_func('do_clean', e.data) + + return NotHandled +} diff --git a/classes/image.bbclass b/classes/image.bbclass index c493c73c01..2ed0ee1de7 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -16,6 +16,28 @@ EXCLUDE_FROM_WORLD = "1" USE_DEVFS ?= "0" +# +# udev, devfsd, busybox-mdev (from busybox) or none +# +IMAGE_DEV_MANAGER ?= "${@base_contains("MACHINE_FEATURES", "kernel26", "udev","",d)} " +# +# sysvinit, upstart +# +IMAGE_INIT_MANAGER ?= "sysvinit sysvinit-pidof" +IMAGE_INITSCRIPTS ?= "initscripts" +# +# tinylogin, getty +# +IMAGE_LOGIN_MANAGER ?= "tinylogin" + +IMAGE_VARS = "${IMAGE_INITSCRIPTS} \ +${IMAGE_DEV_MANAGER} \ +${IMAGE_INIT_MANAGER} \ +${IMAGE_LOGIN_MANAGER} " + +RDEPENDS += "${IMAGE_VARS}" +PACKAGE_INSTALL += "${IMAGE_VARS}" + PID = "${@os.getpid()}" PACKAGE_ARCH = "${MACHINE_ARCH}" |
