Commit Graph

4 Commits

Author SHA1 Message Date
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.

This is pass one of updating the meta-virt recipes to use that
syntax.

This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions

Note: A recent bitbake is required:

    commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sun Jul 18 12:59:15 2021 +0100

        bitbake: data_smart/parse: Allow ':' characters in variable/function names

        It is becomming increasingly clear we need to find a way to show what
        is/is not an override in our syntax. We need to do this in a way which
        is clear to users, readable and in a way we can transition to.

        The most effective way I've found to this is to use the ":" charater
        to directly replace "_" where an override is being specified. This
        includes "append", "prepend" and "remove" which are effectively special
        override directives.

        This patch simply adds the character to the parser so bitbake accepts
        the value but maps it back to "_" internally so there is no behaviour
        change.

        This change is simple enough it could potentially be backported to older
        version of bitbake meaning layers using the new syntax/markup could
        work with older releases. Even if other no other changes are accepted
        at this time and we don't backport, it does set us on a path where at
        some point in future we could
        require a more explict syntax.

        I've tested this patch by converting oe-core/meta-yocto to the new
        syntax for overrides (9000+ changes) and then seeing that builds
        continue to work with this patch.

        (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:17:53 -04:00
Martin Jansa
8afc0b32da cloud-init: fix usrmerge QA error:
* respect udevdir variable
* with usrmerge cloud-init triggers QA error:
  ERROR: cloud-init-20.3-r0 do_package_qa: QA Issue: cloud-init package is not obeying usrmerge distro feature. /lib should be relocated to /usr. [usrmerge]
  ERROR: cloud-init-20.3-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
  because of:
  /lib/udev/rules.d/66-azure-ephemeral.rules

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-11-09 23:03:55 -05:00
Martin Jansa
19c3d8bab4 cloud-init: add dependency on systemd to fix installed-vs-shipped QA issue
* without systemd in RSS, setup.py will fail to call:
  "pkg-config systemd --variable=systemdsystemunitdir"
  and then clound-init might fail with:
  ERROR: cloud-init-20.3-r0 do_package: QA Issue: cloud-init: Files/directories were installed but not shipped in any package:
    /lib/systemd
    /lib/systemd/system-generators
    /lib/systemd/system
    /lib/systemd/system-generators/cloud-init-generator
    /lib/systemd/system/cloud-final.service
    /lib/systemd/system/cloud-init.service
    /lib/systemd/system/cloud-config.target
    /lib/systemd/system/cloud-init.target
    /lib/systemd/system/cloud-init-local.service
    /lib/systemd/system/cloud-config.service
  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
  cloud-init: 10 installed and not shipped files. [installed-vs-shipped]

  when systemd on host or in the systemd fallback uses
  different systemdsystemunitdir value than what OE packages with:
  FILES_${PN}-systemd += "${systemd_unitdir}/*"

  setup.py fallback:
  def pkg_config_read(library, var):
    fallbacks = {
        'systemd': {
            'systemdsystemunitdir': '/lib/systemd/system',
            'systemdsystemgeneratordir': '/lib/systemd/system-generators',
        }
    }
    ..

  ubuntu:
  meta-virtualization$ pkg-config systemd --variable=systemdsystemunitdir
  /lib/systemd/system

  OE (with usrmerge in DISTRO_FEATURES):
  cloud-init/20.3-r0$ pkg-config systemd --variable=systemdsystemunitdir
  /usr/lib/systemd/system

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-11-09 23:03:55 -05:00
Bruce Ashfield
515f39e453 guest: import cloud-init from meta-openstack
Bringing cloud-init from meta-openstack into meta-virtualization to make
it more visible/obvious for use with Xen and k*s images.

Not only is this an import, it is a significant update to the package
and the way it is built.

Out of the box, it installs either systemd or sysvinit startup services,
templates and the main script/binary.

It is not expected that this will be useful out of the box, but will
need to be bbappended and have variables added to the main recipe to
make it flexible for more use cases.

But we can't gather those use cases, without the package being
available, so we integrate this as a starting point.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-11-05 14:39:32 -05:00