Skip to content
This repository was archived by the owner on Aug 5, 2022. It is now read-only.

Conversation

@pohly
Copy link
Contributor

@pohly pohly commented Jul 12, 2017

This merges PR #143, PR #222, PR #235, PR #242.

Jair Gonzalez and others added 22 commits July 5, 2017 17:51
Remove not used tags and update comments and variable names for
added clarity.

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Disable Bluetooth after completing Bluetooth testing in order
to not interfere with other tests.

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
bluetoothctl has been added to the list of bad recommendations to reduce
GPLv3 dependencies. However, there are Bluetooth test cases that make use
of this tool.

This change removes it from the list, only for development images.

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Bluetooth tests can not be executed on QEMU, so add single node
tests to its mask file.

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Mask Bluetooth tests on MinnowBoard Turbot as the hci0 interface stops
responding when Bluetooth is disabled on the current CI configuration:

Expansion board: Silverjaw Lure (SKU 1000)
Wireless adapter: Intel Dual Band Wireless-AC 7260 - 7260HMW

YOCTO #11714

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Pulled in the code for refkit-ostree from its git repository
https://github.com/klihub/refkit-ostree-upgrade.git. Axed out
shave support. Renamed systemd services, targets (and related
files) for slightly better consistency. All the service names
are now prefixed with refkit instead of ostree. Fixed 32-bit
x86 loader to be correctly named tbootia32.efi.

Added a post-apply hook for updating the UEFI combo app if it
has changed between the old and the new ostree deployments.
Added a hook to put the post-update marker in place which can
be used upon the next reboot to trigger post-update checks.
Added post-update-check hook script and a final hook that just
marks the update successful and ok. Added a post-apply hook to
request a reboot after a successful system update. The reboot
will activate and boot into the latest ostree deployment. Re-
moved the original reboot-hook and all the related code.

Entities that need to prevent (= delay) the shutdown to a more
convenient time in the future should use systemd-inhibit or the
corresponding systemd interfaces for doing so. For instance, if
you have an interactive shell while the updater is running and
you don't want the system to be rebooted under you in case an
update gets pulled in, you should do a

    systemd-inhibit --what=shutdown $SHELL

and exit that new shell, once you're finished and want to allow
the reboot/update to proceed.

Because of known limitations in systemd-inhibit (see below) also
added a systemd service which waits (currently indefinitely) for
all systemd-inhibit shutdown locks then reboots the system. This
is necessary as systemd-inhibit shutdown locks are ignored both
for privileged users (explictly ignore for root) and also for
non-interactive invocations of systemctl (to provide backward-
compatible behavior for scripts that explicitly run shutdown or
reboot which are now just symlinked to systemctl).

These are all known limitations of systemd-logind which hosts the
inhibitor lock code and API. There are feature requests open to add
a logind.conf configuration entry to override the default behavior
and obey locks for root and scripts as well. You can refer to

systemd/systemd#949, or
systemd/systemd#2680

for more details. The actual inhibitable reboot is implemented by
the newly added straightforward systemd-inhibitable-reboot script.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
…mentation.

Switch to using the C-based implementation of refkit-ostree in the
refkit ostree initramfs module for parsing the boot loader config
files and picking the latest ostree deployment to boot into.

Split out refkit-ostree (which is a subset of refkit-ostree-update
that does not depend on libostree) into a (refkit-ostree-)initramfs
subpackage

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
It makes sense to retry daft stage only after unstable
result which means problem on tester.

Signed-off-by: Olev Kartau <olev.kartau@intel.com>
We use bash constructs, but shebang was forgotten
when this part was extracted from tester-exec.sh

Signed-off-by: Olev Kartau <olev.kartau@intel.com>
OE-core is introducing -D_FORTIFY_SOURCE=2 as default. iotivity fails
to build with that because one example doesn't get the necessary -O:

| /fast/build/refkit/intel-corei7-64/tmp-glibc/work/corei7-64-refkit-linux/iotivity/1.2.1-r0/recipe-sysroot/usr/include/features.h:373:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
|  #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
|     ^~~~~~~
| cc1: all warnings being treated as errors
| scons: *** [out/yocto/x86_64/release/resource/oc_logger/examples/c_test_logging.o] Error 1
| scons: building terminated because of errors.
| ERROR: scons build execution failed.

A better solution would be to compile all of iotivity with -O.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
The usrmerge patches are now in OE-core. The corresponding changes in
refkit must be removed together with updating to that version to avoid
build breakages (like "/usr/usr/lib/ld-linux-x86-64.so.2: No such file
or directory" in gobject-introspection).

* bitbake 8d0a76f...4a14b44 (33):
  > knotty: Drop task prefix of PLAIN log messages
  > BBHandler: Remove old style bb.data.setVar() syntax usage
  > server/xmlrpc: Add Heartbeat event support
  > event: Queue offline events for the UI
  > server/process: Fix waitEvent() calls with 0 timeout
  > data: Micro performance optimisation tweak
  > cooker: Use multiple BuildStarted events for multiconfig
  > bitbake: Add MultiConfigParsed event
  > bitbake-user-manual: Removed and replaced broken link
  > bitbake-user-manual: Replaced bad link
  > npm fetcher: fix unknown variable name.
  > cache: don't insert PN into PACKAGES
  > toaster: test 'commit' first in get_vcs_reference
  > toaster: large package set breaks sqlite query
  > toaster: Add distro selection support
  > toaster: git clone progress bar
  > toaster: address Django-1.10 API deprecations
  > bitbake-selftest: add bb.tests.event to bitbake-selftest
  > tests: create unit tests for event module
  > event: remove mapping for deleted event handlers
  > fetch: fix handling of files with incorrect checksums from a premirror
  > event: drop some unused events
  > toaster: noweb should init database
  > toaster: get_last_build_id not called correctly
  > toaster: add getMessage to MockEvent
  > toaster: fail on layers with sub-layer
  > toaster: add ID's to build menu links
  > toaster: add ID's to navigation links
  > bitbake-user-manual: Updated BBLAYERS_FETCH_DIR variable description
  > cooker: ensure graceful exit after exception during BuildCompleted handler
  > cooker: fix always loading cache on every UI start with memres
  > bitbake: runqueue: multiconfig fix
  > bitbake:process: flush stderr/stdout to log

* openembedded-core de79149...7dd5dfc (80):
  > oeqa/tinfoil: Improve test_wait_event for race issues
  > staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps
  > oeqa/sdk: Replace buildiptables for buildlzip tests
  > testimage: Use the renamed buildlzip
  > oeqa/runtime: Replace buildiptables for buildlzip on runtime tests
  > mirrors.bbclass: remove stale lsof ftp mirrors
  > lsof: update SRC_URI
  > lsof: minor recipe cleanup
  > image_types: fix kernel target on elf's image dependencies
  > linuxloader.bbclass: add musl libc support
  > vulkan: RRECOMMEND mesa drivers
  > mesa, gstreamer: Add "vulkan" DISTRO_FEATURE
  > gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG
  > assimp: Add as dependency of vulkan-demos
  > vulkan: Upgrade 1.0.39.1 -> 1.0.51.0
  > perl: Support musl-x32 build
  > grub-efi: Support musl-x32
  > gnu-efi: Support musl-x32 build
  > siteinfo.bbclass: Support musl-x32
  > insane.bbclass: Support musl-x32
  > mesa: etnaviv: fix shader miscompilation with more than 16 labels
  > ovmf: Fix build with toolchain defaulting to PIE
  > security_flags.inc: Do not build gcc for powerpc with PIE defaults
  > gstreamer1.0-plugins-bad: Fix missing library with bcm egl
  > libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE
  > sysklogd: Improve build and fix runtime crash
  > gcc: Link libssp_nonshared.a only on musl targets
  > gcc7: Enable static PIE
  > distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS
  > security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS
  > gcc: Introduce a knob to configure gcc to default to PIE
  > base: Add MultiConfigParsed handler to deal with unstable build signatures
  > image.bbclass: create root symlinks in nativesdk target sysroot
  > insane.bbclass: Add package QA check for merged /usr.
  > image: create symlinks needed for merged /usr
  > systemd: changes to support merged /usr
  > cross.bbclass: merged /usr support
  > bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge
  > speex: update SRC_URI
  > avahi-ui: reduce local pending patches
  > mirrors: Add HTTP mirrors for ftp://sourceware.org
  > local.conf.sample: drop image-swab reference
  > ltp: add acl, attr, curl and util-linux runtime dependencies
  > ltp: Reduce local Pending patches
  > ltp: syscalls/add_key02: fix for nonempty NULL payload
  > libgfortran: Add missing fincludes
  > libgfortran: Add missing dependency gcc-cross
  > systemd: Do not use xlocale.h
  > mesa: Upgrade to 17.1.4 release
  > mesa: Avoid platform probing when building without EGL
  > sanity.bbclass: fix AttributeError in mirror format checks
  > oe-pkgdata-util: package-info: Allow extra variables to be displayed
  > expat: upgrade to 2.2.1
  > grep: upgrade to 3.1
  > classes/populate_sdk_base: Fix SDK manifest generation
  > valgrind: Remove -no-pie from cflags
  > icu: Fix build with glibc 2.26
  > epiphany: Fix build errors when compiling with security flags
  > qemu: Replace use of struct ucontext with ucontext_t
  > strace: upgrade to 4.17
  > valgrind: Fix build with glibc 2.26
  > bluez: Correct the timer count for bcm43xx firmware download
  > binutils: update SRCREV to fix powerpc gold link bug
  > yocto-compat-layer.py: make signature check code reusable
  > yocto-compat-layer.py: allow README with suffix
  > yocto-compat-layer.py: add test_world
  > yocto-compat-layer.py: apply test_signatures to all layers
  > yocto-compat-layer.py: tolerate broken world builds during signature diff
  > yocto-compat-layer.py: avoid adding layers more than once
  > sysstat:11.5.5 -> 11.5.6
  > openssl: Upgrade 1.0.2k -> 1.0.2l
  > libepoxy: Upgrade 1.4.2 -> 1.4.3
  > gtk+3: Update the patches to work with old versions of patch
  > gtk+3: Upgrade 3.22.15 -> 3.22.16
  > gtk+3: Update UPSTREAM_CHECK_REGEX
  > cmake: Use find_program if find_host_program is not available
  > insane: remove obsolete gcc 4.5 check
  > sanity.bbclass: remove ASSUME_PROVIDED checks that can't succeed
  > meta/lib/oe/sdk.py: support added for executing pre-target commands
  > mkefidsk: fix bash/dash shell quoting problem

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>

merge: update
All of our changes have been merged into OE-core, so we can
remove the local fork.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Recent change of test stages accidentally left out
some pre- and post-build tests xml-reports handling.

Signed-off-by: Olev Kartau <olev.kartau@intel.com>
We previously published sstate only after main build,
but post-build testing can run faster if it uses sstate.

Signed-off-by: Olev Kartau <olev.kartau@intel.com>
Added a brief initial HOWTO about systemd update using OSTree. Also
updated the system, update documentation with a pointer to this new
HOWTO.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Use the new C-based refkit-ostree-update implementation in the ostree
update test cases.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Add a GPG home directory/keyring with pregenerated development mode
signing keys to the repository. Also added a minimal script to generate
new signing keys. For example, you can run this command in the top-level
intel-iot-refkit directory

    ./meta-refkit-core/files/gnupg/generate-keys.sh \
        $(pwd)/gpg-home release@example.org

to generate a new key pair (with the id release@example.org), create
a new gpg1 keyring in gpg-home, import the keys there and leave them
as release@example.org.{pub,sec,cfg} in gpg-home.

You can then set OSTREE_GPGDIR (and/or FLATPAK_GPGDIR) to the path of
the newly generated gpg-home directory and set OSTREE_GPGID (and/or
FLATPAK_GPGID) to release@example.org to use the newly generated keys
to sign your base OS (and/or flatpak) ostree repository commits.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Use the in-repo pre-populated GPG home directory/keyring for signing
commits in the flatpak ostree repositories we generate. Also switch
to using the same development signing key as we use for signing our
base OS ostree repository.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Use the in-repo prepopulated GPG homedir/keyring for signing
ostree repository commits. Updated doc/howtos/OSTree.rst to
reflect these changes.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Stop refkit-update systemd service before starting the HTTP server
and thus making the update available, to prevent the updater systemd
service racing with us, potentially winning and doing a full update
cycle including the final reboot.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
This merges PR intel#143, PR intel#222, PR intel#235, PR intel#242.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
@pohly
Copy link
Contributor Author

pohly commented Jul 12, 2017

tested this please

@okartau
Copy link
Contributor

okartau commented Jul 12, 2017

head comment mentions PRs from previous time?

@pohly
Copy link
Contributor Author

pohly commented Jul 12, 2017

@okartau the head commit was correct, only the pull request message was wrong. I've fixed it.

@pohly pohly merged commit d75455f into intel:master Jul 12, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants