summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2 hourslibportal: fix rare build raceabelloni/master-nextRoss Burton
There is a build race where the libportal.vapi is not always generated before it is needed to build libportal-gtk*.vapi. Backport the fix from upstream. [ YOCTO #15479 ] (From OE-Core rev: 25d4f4aea03d8a087e1d38376d993bc8836f0f3c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursclasses: add a systemd-sysext image classJohannes Schneider
systemd-sysext can load a raw-image containing usr/ and opt/ folders to mount them as RO overlay over the rootfs, to "extend" the systems. This class provides the necessary changes/additions to the enclosed file-system so that systemd-sysext accepts the extension for "merge" into the rootfs. With such an created image, placed into the correct folder (see [1]), `systemd-sysext list` should be able to list the "extension" and `systemd-sysext merge` should enable the overlay. On both commands a preceding "SYSTEMD_LOG_LEVEL=debug" can aide in figuring out what is amiss. The strict name checking systemd-sysext does against the name of extension-release.NAME file, is disabled, as there is only one such in the resulting image. This is done to allow a user to freely rename the resulting image file. Note that for e.g. squashfs, the kernel needs CONFIG_SQUASHFS_XATTR=y Link: https://www.freedesktop.org/software/systemd/man/latest/systemd-sysext.html Link: https://0pointer.net/blog/testing-my-system-code-in-usr-without-modifying-usr.html (From OE-Core rev: b94308b635c73f09586cd43ea53886cabede6150) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursimage.bbclass/rootfs: set and unpack package-databaseJohannes Schneider
set the package-database of a "lower image" to unpack and build upon when installing packages for the current image. This way a lean image will be created, which only holds the packages that are not already present in the lower image. An image build such could then be used with overlayfs or systemd- sysext to extend the "lower image" on demand; for development purposes on a device running the "lower image" in RO mode for example. A configuration could look as follows: some-core-image.bb inherit image IMAGE_GEN_PKGDBFS = "1" extending-image.bb inherit image IMAGE_BASE_PKGDB = "some-core-image" (From OE-Core rev: 13a72c30ed15adadae42ef5f7864d8c1959f9ba5) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursimage.bbclass/rootfs: archive and deploy package databaseJohannes Schneider
archive the package database after the rootfs has been put together as *rootfs-pkdbfs.tar.gz, and put it into the deploy folder. This creates a snapshot of the package mangers state at the point in time when all dependencies have been resolved and installed; which could be used by "extension images" to built upon. (From OE-Core rev: ae08419ad7b7eb327bf5769b90f19f653a6956e9) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursrecipes: Switch away from S = WORKDIRRichard Purdie
Where recipes use S = ${WORKDIR}, change them to set UNPACKDIR to a subdir of WORKDIR and make S point at this instead. I've chosen not to force S into any standard UNPACKDIR we may pick in future just so the S = UNPACKDIR case is clearly visible by the directory naming under WORKDIR as that should aid usability. (From OE-Core rev: fe1a6f75d805c85b6d898f5575dae61100cbe6c5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourslib/package_manager/ipk: Do not hardcode payload compression algorithmPhilip Lorenz
The chosen payload compression algorithm can be changed by overriding `OPKGBUILDCMD`. Ensure that package extraction deals with this by globbing for "data.tar.*" to select the actual payload tarball. (From OE-Core rev: 8d5b58f1aa2263f902af06346e682f56757c9fb5) Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourszip: Fix build with gcc-14Khem Raj
zip's configure fails to link this piece of test code: int main() { return closedir(opendir(".")); } with GCC-14 because it now treats implicit declaration of function as error, unline older GCC version where it was just a warning and this test would build fine. Remove 0002-unix.c-Do-not-redefine-DIR-as-FILE.patch which is now unnecessary. (From OE-Core rev: 19c7b790958ae16bc2f87431b772e8a435651959) Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspopulate_sdk_ext.bbclass: Fix undefined variable errorJookia
The variable uninative_checksum is returned without being set, causing a build error. Set it to None by default instead. (From OE-Core rev: 52bf4f96947fe918545ddfae942107d7482c204d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursstrace: Use locale-base-en-us for localeKhem Raj
locale-base-en-us is available on musl as well therefore, not need to make it glibc specific anymore. (From OE-Core rev: d0fe40b4cc5e0abd0f461626e833071b0b0dbcf5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursiproute2: Fix build with GCC-14Khem Raj
(From OE-Core rev: ed641aec2b495f7c3a679501ba9e3375226efb78) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursltp: Fix build with GCC-14Khem Raj
(From OE-Core rev: a7d8b24ecca19c8803ee7972331e33eb7523ec08) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourslrzsz connman-gnome libfm: ignore various issues fatal with gcc-14Martin Jansa
work arounds for: oe-core/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb:do_compile oe-core/meta/recipes-connectivity/connman/connman-gnome_0.7.bb:do_compile oe-core/meta/recipes-support/libfm/libfm_1.3.2.bb:do_compile http://errors.yoctoproject.org/Errors/Build/183127/ More fixes on ML (especially for -native with gcc-14 on host) cdrtools: https://lists.openembedded.org/g/openembedded-core/message/198899 syslinux: https://lists.openembedded.org/g/openembedded-core/message/198901 (From OE-Core rev: c4e0f64dce86513a256adc7e6d197057624c6717) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspython3: Treat UID/GID overflow as failureKhem Raj
This fixes ptest failures on 32bit architectures AssertionError: Failed ptests: {'python3': ['test_extractall_none_gid', 'test_extractall_none_gname', 'test_extractall_none_mode', 'test_extractall_none_mtime', 'test_extractall_none_uid', 'test_extractall_none_uname', 'setUpClass', 'python3']} (From OE-Core rev: 631765ddf953279931536e6be5cc82cc3d37c7c5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursgtk4: update 4.14.2 -> 4.14.4Markus Volk
Overview of Changes in 4.14.4, 02-05-2024 ========================================= * GtkGraphicsOffload: - Don't crash without a child * Icontheme: - Make symbolic svg loading more efficient - Handle color-free symbolics more efficiently * Accessibility: - Make the gtk-demo sidebar search more accessible - Stop emitting focus events * GDK: - Support XDG_ACTIVATION_TOKEN - dmabuf: Be more defensive when importing unknown formats to G - dmabuf: Use narrow range for YUV * GSK: - gpu: Handle tiny offscreens correctl * Build: - Fix many ubsan warning * macOS - Fix problems with events handed back to the OS - Respect GDK_DEBUG=default-settings * Translation updates: German Indonesian Kabyle Korean Lithuanian Russian Overview of Changes in 4.14.3, 18-04-2024 ========================================= * GtkShortcutManager: - Track the propagation phase of added controllers * Accessibility: - Implement GtkAccessibleRange for scrollbars * X11: - Fix some confusing debug messages - Drop a no-longer-relevant optimization that was interfering with getting the current window manager capabilities * Tools: - Support generating pdf in gtk4-rendernode-tool * Translation updates: Basque Brazilian Portuguese Georgian Hebrew Kabyle Persian Polish Slovenian Swedish Ukrainian (From OE-Core rev: 21cf208c10cf97a172ccdb8f9092a3d70b22426d) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursllvm: Switch to using release tarballsKhem Raj
git checkouts are in excess of 3G, which is not ideal for everyone to download/clone, instead switch to fetching release tarball which is ~126M as of 18.1.5 release (From OE-Core rev: 1adf2976202735acda3c624450ffed25ec6bbf3a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursxserver-xorg: upgrade 21.1.11 -> 21.1.12Archana Polampalli
This release contains security fixes for * CVE-2024-31080 * CVE-2024-31081 * CVE-2024-31082 * CVE-2024-31083 Changelog: =========== 101caa1b0 (tag: xorg-server-21.1.12) xserver 21.1.12 117315640 render: fix refcounting of glyphs during ProcRenderAddGlyphs 0e34d8ebc Xquartz: ProcAppleDRICreatePixmap needs to use unswapped length to send reply cea92ca78 Xi: ProcXIPassiveGrabDevice needs to use unswapped length to send reply 8a7cd0e3e Xi: ProcXIGetSelectedEvents needs to use unswapped length to send reply 5ca3a9513 Xext: SProcSyncCreateFence needs to swap drawable id too 5d7272f05 Allow disabling byte-swapped clients 8a46a463f Initialize Mode->name in xf86CVTMode() f653d9a0a hw/xfree86: fix NULL pointer refrence to mode name 8b75ec34d dix: Fix use after free in input device shutdown https://lists.x.org/archives/xorg-announce/2024-April/003497.html (From OE-Core rev: 03870b4ae38acb154ca3077451a53225f50159f3) Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursgstreamer1.0: skip another known flaky testRoss Burton
The baseparse:parser_pull_short_read test is known to be unreliable, according to the list of known bad tests in gst-devtools. Also clean up an incorrect comment. (From OE-Core rev: 423bfa2d241fdd06c5599814a6f0e0366bfb2580) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourscurl: locale-base-en-us isn't glibc-specificRoss Burton
The musl-locales package provides this too, so we can depend without a libc override. (From OE-Core rev: 6de01b11618e43ef79653d40eb025167f900074f) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspython3-pyopenssl: drop python3-six from RDEPENDSGuðni Már Gilbert
Python 2.7 support was dropped in version 22.0.0 python3-six was dropped as a dependency in 22.0.0 (From OE-Core rev: 47bae1649b10da1b8c904edb3fcfe44daf0ff8e6) Signed-off-by: Guðni Már Gilbert <gudnimar@noxmedical.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspython3-bcrypt: drop python3-six from RDEPENDSGuðni Már Gilbert
Python 2.7 support was dropped in version 3.2.0 and python3-six dependency was subsequently dropped in version 3.2.1 (From OE-Core rev: 0fc35fa18d54351f0bb007832dc4d6e07b3b521b) Signed-off-by: Guðni Már Gilbert <gudnimar@noxmedical.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspatchtest: utils: remove unused functionsTrevor Gamblin
Specifically, remove four things: - get_subject_prefix(): This function is only being used once (in the next function found in the module), so remove it for easier comprehension/maintenance. - exec_cmd: the backend for executing a custom command - exec_cmds: for running multiple calls to exec_cmd - CmdException: A custom exception class specifically for exec_cmd These are only used to execute git commands, but GitPython can be used to handle all of that more efficiently, so remove them. (From OE-Core rev: aa27e16358e8a0bd158e18bdbc7afe738b525f88) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspatchtest: tests: update bugzilla_entry_format.fail testfileTrevor Gamblin
Update the test file to target a more stable README file. (From OE-Core rev: 96046165a21c129dfb2209c162e2a742690c0bc9) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspatchtest: repo: refactor to use GitPythonTrevor Gamblin
The repo module currently uses a custom _exec() function in order to run various git commands as part of the patchtest setup/test process. These can more efficiently be done with the GitPython module, so use that instead and reduce the amount of custom code to be maintained for patchtest in the process. Some specifics replaced using GitPython: - get branch list - use repo.active_branch to determine current branch - use execute() for checkout, merge check, abort, rev-parse, reset The _exec() function is removed entirely with this change. (From OE-Core rev: ba1f4f034cab27de282c6f2b2937f834d2889df0) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourspatchtest: requirements.txt: add GitPythonTrevor Gamblin
GitPython provides some simple utilities for retrieving repo configurations that can replace the manual work that patchtest currently does. Add it to the requirements so that the source can make use of it. (From OE-Core rev: 87e5cfffa4f14ca2b150f674f80485da8b30c480) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursoe-build-perf-report: Add dark modeNinette Adhikari
Update css to add dark mode when window prefers-color-scheme is dark. (From OE-Core rev: a9332cb14e70c24b61b9c5ddd4e17f58103bf3a2) Signed-off-by: Ninette Adhikari <ninette@thehoodiefirm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursoe-build-perf-report: Update chart tooltip and chart typeNinette Adhikari
- Update chart tooltip format to show value as size in MB for 'rootfs size' and timestamp for 'tmpdir size' - Add commit number to tooltip - Update chart type to 'step chart' instead of 'line chart' (From OE-Core rev: ab9b12e84bec062958e8ee6cfa3ee369b1b3f30e) Signed-off-by: Ninette Adhikari <ninette@thehoodiefirm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursoe-build-perf-report: Improve report styling and add descriptionsNinette Adhikari
Styling updates are added including page margin, labels for x and y axis, tooltip, and section descriptions. (From OE-Core rev: a278c21823cbeaa1e4d4301b02331be49f22f850) Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursoe-build-perf-report: Display more than 300 commits and date instead of ↵Ninette Adhikari
commit number - This commit updates measurement statistics data to include start_time so that time can be displayed instead of commit numbers on the chart. - It also updates default commit history length to 300. (From OE-Core rev: d86a5aee45e44ece6a13adf855339e5b1f1c9ad0) Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursoe-build-perf-report: Add apache echarts to make report interactiveNinette Adhikari
- Add Apache echarts (https://echarts.apache.org/en/index.html) library to create build performance charts. - Restructure data to time and value array format so that it can be used by echarts. - This commit also converts test duration to minutes to map against the values axis. - Zoom is added to the line charts. (From OE-Core rev: 839933b68900d2d1f863eb44de6858cab3fde53f) Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursglib/gobject-introspection: update 2.78.4 -> 2.80.0, 1.78.1 -> 1.80.0Alexander Kanavin
With these versions, which need to be updated in lockstep, upstream has relocated glib introspection data from g-i tree to glib tree and made its generation a part of the overall glib build. This creates a circular dependency, where g-i tools are linked with glib, but glib needs the tools to build its g-i data. (I don't know why the two source trees couldn't be simply merged into one, or g-i data for glib couldn't be generated inside g-i build against sysroot glib). Upstream is suggesting building glib twice, first without building g-i data, then building g-i and linking it with that version, then building the final glib, and that's what is being done here (via the new glib-initial recipe, which is sysroot-only, and is not pulled in via indirect dependencies either). Other glib changes: 0001-Do-not-write-bindir-into-pkg-config-files.patch restores writing bindir variable into glib.pc file (meson only writes it out if other variables depend on it, and this custom patch removes that dependency). 0001-girepository-introspection-correctly-install-.gir-fi.patch ensures correct installation of .gir into something else than $datadir (useful in multilib). Merge previous glib .bb into .inc, so that glib and glib-initial recipes could be cleanly separated with no duplication. Convert from gtk-doc to gi-docgen, and manpages from xmlto to docutils. (From OE-Core rev: 6dcdd6fe2ee23088f600456043bbce5da5518f73) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourscdrtools-native: Fix build with GCC 14Zoltan Boszormenyi
Add a patch to fix do_configure with GCC 14. Disable building cdda2wav because it doesn't build with GCC 14. (From OE-Core rev: e9c33d69825122fd8a464419eef1352731ecbfc0) Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourslibbsd: Fix conflict error when enable multilib.Lei Maohui
- Fix the conflict error by oe_multilib_header. The conflict error is as the following: Error: Transaction test error: file /usr/include/bsd/sys/cdefs.h conflicts between attempted installs of libbsd-dev-0.12.1-r0.core2_64 and lib32-libbsd-dev-0.12.1-r0.core2_32 The difference of bsd/sys/cdefs.h between libbsd-dev and lib32-libbsd-dev is as following: /* Define the ABI for the current system. */ -#define LIBBSD_SYS_TIME_BITS 64 +#define LIBBSD_SYS_TIME_BITS 32 #define LIBBSD_SYS_HAS_TIME64 1 - After oe_multilib_header on cdefs.h, the path of cdefs-64.h and cdefs-32.h in cdefs.h need to be corrected for overlay-mode. Please reference to https://man.archlinux.org/man/libbsd.7 for details. @@ -12,19 +12,19 @@ #ifdef _MIPS_SIM #if _MIPS_SIM == _ABIO32 -#include <bsd/sys/cdefs-32.h> +#include <sys/cdefs-32.h> #elif _MIPS_SIM == _ABIN32 -#include <bsd/sys/cdefs-n32.h> +#include <sys/cdefs-n32.h> #else #error "Unknown _MIPS_SIM" #endif #else /* _MIPS_SIM is not defined */ -#include <bsd/sys/cdefs-32.h> +#include <sys/cdefs-32.h> #endif #elif __WORDSIZE == 64 -#include <bsd/sys/cdefs-64.h> +#include <sys/cdefs-64.h> #else #error "Unknown __WORDSIZE detected" #endif /* matches #if __WORDSIZE == 32 */ (From OE-Core rev: 58d4bcc8566498a6dcd10ad8223db7a8e9e574be) Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hourscontrib: add python service and systemd unit to run shared jobserverMartin Hundeb?ll
For CI setups that might end up building multiple yocto builds in parallel, a shared jobserver can reduce the total load of the system. Setting up such a jobserver is simple, but it does require a process hanging around to keep the jobserver fifo open (to avoid blocking token requests). Add a simple python script that creates such a jobserver fifo and waits forever. Also add a systemd unit file to start the python service at boot. The systemd unit can be installed in $HOME/.config/systemd/user/, but one might need to add a droplet config (i.e. `systemctl --user edit jobserver.service`) to setup the PYTHONPATH variable to make the python script loadable. (From OE-Core rev: 36e06ce2a202a0414eb2dca8d5a525b0b0377232) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursqemu: enable parallel builds when using the jobserver classMartin Hundeb?ll
If the jobserver class is enabled, the PARALLEL_MAKE variable is unset in favor of configuring a shared jobserver in the MAKEFLAGS variable. However, the qemu makefile translates the missing `-j<N>` argument to `-j1` when calling into meson / ninja. Add a patch to make the qemu makefile consider the --jobserver-auth option too. (From OE-Core rev: 19d95ebb254ffcada3045a9c20c22fea3fc5a50a) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursscripts: build-env: allow passing JOBSERVER_FIFO from environmentMartin Hundeb?ll
Sharing a common jobserver fifo between multiple (containerized) builds is much easier, if an administrator can configure said jobserver fifo path in the environment. Append the JOBSERVER_FIFO variable name to the list of variables configurable through the environment. (From OE-Core rev: 53efb5a5794692242e441dba9336085134121de3) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursclasses: jobserver: support gnu make fifo jobserverMartin Hundeb?ll
Add a class to implement the gnu make fifo style jobserver. The class can be activated by simply adding an `INHERIT += "jobserver"` to the local configuration. Furthermore, one can configure an external jobserver (i.e. a server shared between multiple builds), by configuring the `JOBSERVER_FIFO` variable to point at an existing jobserver fifo. The jobserver class uses the fifo style jobserver, which doesn't require passing open file descriptors around. It does, however, require make-4.4, which isn't available in common distro yet. To work around this, the class makes all recipes (except make and its dependencies itself) depend on `virtual/make-native`. (From OE-Core rev: 80d52e41100cf39e10a28b7193e09a19a3bdbaf0) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursgcc: Allow using libc++Dan McGregor
With the addition of the C++ runtime setting added recently, allow gcc to use libc++ as its runtime. There's some minor fixes still required, such as allowing setting the unwinder library. But this allows for testing libc++ with gcc. (From OE-Core rev: 42b99b2cfd6b3fb4c7b7544c8fbdb20b4af5abf8) Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: add bitbake selftestsMichael Opdenacker
Run them with "bitbake-selftest prserv.tests" (Bitbake rev: ff883b0c11dae2781229b165c3d5e86886249ab5) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: import simplificationMichael Opdenacker
Simplify the importone() hook: - to make it independent from the "history" mode which is client specific. - remove the "history" parameter - we want all values to be imported for binary reproducibility purposes. - using the store_value() function (which warrants you don't save the same value twice and doesn't write when you're using a read-only server) is enough. (Bitbake rev: bab71ce3ade0062e290a2d9f14bce3f84d5e98ce) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: store_value() improvementsMichael Opdenacker
Add a test_checksum_value() to test whether a (version, pkgarch, checksum, value) entry already exists in the database. This is used to protect the store_value() function from an error when trying to store a duplicate entry in the database. Also check whether the current database is open in read-only mode. (Bitbake rev: 61140f94095df46ec58bca9b42300fe60e458d98) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: avoid possible race condition in database codeMichael Opdenacker
Remove a possible race condition by allowing a read-only server to create the PR table anyway. This avoids a failure if both a read-only and read-write server try to access an empty database at the same time. (Bitbake rev: a7f81141d47a802e332403197b2f7f7b223cd7ba) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Suggested-by: Joshua Watt <jpewhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: enable database sharingMichael Opdenacker
sqlite3 can allow multiple processes to access the database simultaneously, but it must be opened correctly. The key change is that the database is no longer opened in "exclusive" mode (defaulting to shared mode). In addition, the journal is set to "WAL" mode, as this is the most efficient for dealing with simultaneous access between different processes. In order to keep the database performance, synchronous mode is set to "off". The WAL journal will protect against incomplete transactions in any given client, however the database will not be protected against unexpected power loss from the OS (which is a fine trade off for performance, and also the same as the previous implementation). The use of a database cursor enabled to remove the _execute() wrapper. The cursor automatically makes sure that the query happens in an atomic transaction and commits when finished. This also removes the need for a "dirty" flag for the database and for explicit database syncing, which simplifies the code. (Bitbake rev: 7f8262556f13897c5df1dae62343fc8d80d6de0d) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: add "upstream" server supportMichael Opdenacker
Introduce a PRSERVER_UPSTREAM variable that makes the local PR server connect to an "upstream" one. This makes it possible to implement local fixes to an upstream package (revision "x", in a way that gives the local update priority (revision "x.y"). Update the calculation of the new revisions to support the case when prior revisions are not integers, but have an "x.y..." format." Set the comments in the handle_get_pr() function in serv.py for details about the calculation of the local revision. This is done by going on supporting the "history" mode that wasn't used so far (revisions can return to a previous historical value), in addition to the default "no history" mode (revisions can never decrease). Rather than storing the history mode in the database table itself (i.e. "PRMAIN_hist" and "PRMAIN_nohist"), the history mode is now passed through the client requests. As a consequence, the table name is now "PRMAIN", which is incompatible with what was generated before, but avoids confusion if we kept the "PRMAIN_nohist" name for both "history" and "no history" modes. Update the server version to "2.0.0". (Bitbake rev: 0ddb0c73e82f477c7002dcd3de710ef043c30e39) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: move code from __init__ to bitbake-prservMichael Opdenacker
This script was the only user of this code. (Bitbake rev: 6bf17c6a0476ffd083446c9350c3082016dc19d8) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: prserv: declare "max_package_pr" client hookMichael Opdenacker
Add missing declaration for the max_package_pr client hook (Bitbake rev: 2ebfc427e11ac6850d866a6716f769aa38440ecd) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Tim Orling <ticotimo@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: fetch2/git: Add verbose logging supportViswanath Kraleti
Currently when git fetches fail, hardly any log is generated that figures out what went wrong. To ease debugging introduced a flag, BB_GIT_VERBOSE_FETCH, when enabled git fetch happens with verbose logging support, thus user can share required logs at one shot. (Bitbake rev: 2b6cc2f5a772cc008913ed24d7f800a8223c1100) Signed-off-by: Viswanath Kraleti <quic_vkraleti@quicinc.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: bitbake-layers: add show-machines commandRoss Burton
Add a show-machines command to list all of the available machines in the currently configured layers. By default it includes the layer name, but for machine-readable uses this can be hidden by passing --bare. (Bitbake rev: 5d5608a551590a00994cf91b87d890f39a18a755) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 hoursbitbake: utils.py: add var_in_numeric_range()Joe Slater
Add a function returning a value based on whether a bitbake variable is in a numeric range. (Bitbake rev: 571f8ebaf051e0014df93f5966bad0276a31d668) Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 daysdocs: brief-yoctoprojectqs: explicit version dependency on websockets python ↵HEADmasterQuentin Schulz
module We now check that the websockets module version is at least 9.1 in bitbake itself so we can specify more precisely what "recent version" means. While at it, list which distributions have a recent enough websockets python module in their package feed and give some hint at how to support other distributions. Cc: Quentin Schulz <foss+yocto@0leil.net> (From yocto-docs rev: 9a14157c4d723da0970cfd4bbb2c9500d3e692e0) Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 daysref-manual: update releases.svgMichael Opdenacker
- Make Scarthgap a current release - Add Styhead (From yocto-docs rev: 4ff729c58d462cf8513e6339a5518e1c5b56f54a) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>