summaryrefslogtreecommitdiff
path: root/poky/bitbake/lib
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2023-01-28 01:10:19 +0300
committerAndrew Geissler <geissonator@yahoo.com>2023-01-28 01:19:05 +0300
commitc5535c91408e2c3f8231c10f6b00eaaee7c88717 (patch)
tree9ec42908f2cb40cc01d8a1b17487da2b106e6946 /poky/bitbake/lib
parentea144b037776e892b9e05c4d22be842901e2138c (diff)
downloadopenbmc-c5535c91408e2c3f8231c10f6b00eaaee7c88717.tar.xz
subtree updates:openembedded:poky: Jan 27 2023
poky: 0ce159991d..5e249ec855: Alex Kiernan (2): rust: Upgrade 1.66.0 -> 1.66.1 rust: Remove CARGO_VERSION Alexander Kanavin (7): selftest/virgl: use pkg-config from the host ethtool: upgrade 6.0 -> 6.1 man-pages: upgrade 6.01 -> 6.02 mesa: update 22.2.3 -> 22.3.3 webkitgtk: submit a patch upstream python3-sphinxcontrib-applehelp: update 1.0.2 -> 1.0.3 vulkan-samples: branch rename master -> main Benoît Mauduit (1): lib/oe/reproducible: Use git log without gpg signature Bruce Ashfield (6): linux-yocto/6.1: edgerouter: Replace OCTEON_USB with USB_OCTEON_HCD linux-yocto/6.1: qemuriscv32: Enable CONFIG_NONPORTABLE linux-yocto/6.1: update to v6.1.5 linux-yocto/5.15: update to v5.15.87 conf/qemu: bump preferred kernel version to 6.1 poky/poky-tiny: bump preferred version to 6.1 Changqing Li (1): cmake-native: use internal cmcurl library Chen Qi (2): file: export MAGIC in SDK rpm: do not export MAGIC in SDK Chuck Wolber (1): scripts/oe-setup-layers: Make efficiently idempotent Fabio Estevam (2): u-boot: Upgrade to 2023.01 u-boot: Update Upstream-Status He Zhe (1): lttng-modules: update 2.13.7 -> 2.13.8 Jan Luebbe (1): p11-kit: add native to BBCLASSEXTEND Jermain Horsman (1): cve-check: write the cve manifest to IMGDEPLOYDIR Kevin Hao (1): meta-yocto-bsp: Update the default kernel to 6.1 Khem Raj (31): createrepo-c: Include missing rpm/rpmstring.h libglu: Remove deprecated register in C++17 cpio: Do not use _Noreturn in gnulib groff: Drop use of `register` storage class vulkan-samples: Update to the tip of trunk unfs3: Fix implicit function declarations of fix_dir_times() gperf: Make the code C++17 compliant libxcb: Fixed c2x standard undefined behaviour dbus: Use Alignof when using C11 or newer standard m4: Define alignof_slot using _Alignof when using C11 or newer opkg: Define alignof using _Alignof when using C11 or newer cpio: Fix gnulib alignof implementation on clang python3-numpy: Define _ALIGN using _Alignof when using C11 or newer vulkan-samples: Drop using u8string_view musl-obstack: Update to 1.2.3 mdadm: Define alignof using _Alignof when using C11 or newer lttng-tools: Switch to alternative upstream submitted patch libtirpc: Check if file exists before operating on it ruby: Use C11 _Alignof to define ALIGN_OF when possible libusb1: Link with latomic only if compiler has no atomic builtins libusb1: Strip trailing whitespaces elfutils: Fix build with libcurl >= 7.87 stress-ng: Robustify test-float test harfbuzz: Add missing <cstdio> and <cstdlib> includes apt: add missing <cstdint> for uint16_t vulkan-samples: Include missing header cstdint for uint32_t ruby: Update the patch status systemd: Add another fix for using XSI strerror_r elfutils: Remove funcretval test from run-native-test.sh for now binutils: Upgrade to 2.40 release binutils: Package libsframe Lee Chee Yang (1): migration-guides: add release-notes for 4.1.2 Luca Boccassi (1): systemd: add PACKAGECONFIG to select default compression format Luca Ceresoli (1): manuals: fix typo in the MLPREFIX description Markus Volk (3): gptfdisk: add follow-up patch to fix with current popt gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend gtk4: add PACKAGECONFIG for cloudproviders Martin Jansa (1): mesa: update submitted patch with backported version Michael Opdenacker (3): rust-bin.bbclass: remove unused class meta/classes-global: remove package_tar.bbclass ref-manual: initial documentation for go and go-mod classes Mikko Rapeli (1): kmod: enable openssl support by default Niko Mauno (1): Fix missing leading whitespace with ':append' Ovidiu Panait (1): webkitgtk: fix perl-native dependency Paulo Neves (1): bitbake: bitbake-getvar: Add a quiet command line argument Pavel Zhukov (3): bitbake: fetch2: kill parameters in uri_find_decoded bitbake: fetch2/tests: Add test for Mercurial bitbake: fetch2/tests: Add parameter to recipe_uri Pawel Zalewski (1): classes/fs-uuid: Fix command output decoding issue Peter Kjellerstedt (2): librsvg: Only enable the Vala bindings if GObject Introspection is enabled cargo-update-recipe-crates.bbclass: Mark the update_crates task as nostamp Peter Marko (1): iproute2: separate routel and add python dependency Quentin Schulz (1): packagegroup-core-boot: make init-ifupdown package a recommendation Randy MacLeod (1): vim: upgrade 9.0.0947 -> 9.0.1211 Richard Purdie (23): bitbake: server/process: Improve lockfile handling at exit pseudo: Update to pull in linux-libc-headers race fix pseudo: Switch back to the master branch insane: Improve patch warning/error handling poky: Set INIT_MANAGER by a separate variable bitbake: server/process: Fix lockfile contents check bug bitbake: cooker: Fix siggen recipe cache race issue bitbake: cache: Only write files if we have data bitbake: cooker: Fix parsing race around cache handling bitbake: data: Add support for new BB_HASH_CODEPARSER_VALS for cache optimisation bitbake: data_smart: Small optimisation to _findVar() native: Drop special variable handling bitbake.conf: Add BB_HASH_CODEPARSER_VALS pseudo: Update to include logic fix bitbake.conf: Add METADATA_REVISION to BB_HASH_CODEPARSER_VALS native: Implement BBCLASSEXTEND PACKAGES_DYNAMIC handling conf/sdk/x86-64: Set march specifically bitbake: cache/codeparser: Switch to a new BB_CACHEDIR variable for cache location oeqa/selftest/devtool: Fix for linux 6.1 versions onwards wic/efi-bootdisk.wks: Fix for 6.1 kernel versions kernel/linux-kernel-base: Fix kernel build artefact determinism issues build-appliance-image: Update to master head revision build-appliance: Fix merge error Ross Burton (12): python3-pyproject-hooks: add new recipe python3-build: add 0.10.0 python_pep517: use python3-build, not picobuild python3-picobuild: remove cve-update-db-native: show IP on failure quilt: rewrite ptest glue quilt: fix intermittent failure in faildiff.test spirv-headers/spirv-tools: set correct branch name quilt: use upstreamed faildiff.test fix ppp: backport fix for CVE-2022-4603 bitbake: bb/utils: include SSL certificate paths in export_proxies buildtools-tarball: set pkg-config search path Thomas Roos (1): devtool: fix devtool finish when gitmodules file is empty Tim Orling (3): bitbake: bitbake: fix deprecated threading.Thread.setDaemon python3-cryptography{-vectors}: 38.0.4 -> 39.0.0 bitbake: toaster: update fixtures Tom Hochstein (1): gstreamer1.0-plugins-good: Fix libsoup runtime dependency Vincent Davis Jr (1): mesa: allow mesa (gbm) to compile without backend Wang Mingyu (20): btrfs-tools: upgrade 6.1 -> 6.1.2 libpcap: upgrade 1.10.2 -> 1.10.3 libwebp: upgrade 1.2.4 -> 1.3.0 man-db: upgrade 2.11.1 -> 2.11.2 dpkg: upgrade 1.21.17 -> 1.21.18 ed: upgrade 1.18 -> 1.19 gi-docgen: upgrade 2022.2 -> 2023.1 python3-alabaster: upgrade 0.7.12 -> 0.7.13 python3-setuptools: upgrade 65.6.3 -> 65.7.0 patchelf: upgrade 0.17.0 -> 0.17.2 python3-cython: upgrade 0.29.32 -> 0.29.33 python3-dbusmock: upgrade 0.28.6 -> 0.28.7 python3-hatchling: upgrade 1.12.1 -> 1.12.2 python3-hypothesis: upgrade 6.61.0 -> 6.62.0 python3-importlib-metadata: upgrade 5.2.0 -> 6.0.0 python3-packaging: upgrade 22.0 -> 23.0 python3-pbr: upgrade 5.11.0 -> 5.11.1 python3-pygments: upgrade 2.13.0 -> 2.14.0 stress-ng: upgrade 0.15.01 -> 0.15.02 xz: upgrade 5.4.0 -> 5.4.1 Xiangyu Chen (4): numactl: skip test case when target platform doesn't have 2 CPU node qemuboot.bbclass: add QB_NFSROOTFS_EXTRA_OPT for nfs rootfs extra option runqemu: add process of option QB_NFSROOTFS_EXTRA_OPT qemuppc64: set the qemuppc64 nfs r/wsize mount options to 524288 Yoann Congal (2): bitbake: persist_data: Handle sqlite error when cachefile path is too long sanity: Fix small typos meta-openembedded: cd13881611..2ab113e8be: Alejandro Enedino Hernandez Samaniego (1): weechat: Update 3.4.1 -> 3.8 Alex Kiernan (4): dnsmasq: Merge .inc into .bb dnsmasq: Expand configuration options ntpsec: Upgrade 1.2.1 -> 1.2.2 keyutils: Upgrade 1.6.1 -> 1.6.3 Archana Polampalli (1): Nodejs: Upgrade to 18.12.1 Bartosz Golaszewski (1): libgpiod: fix python bindings build Chee Yang Lee (5): opencv: fix reproducible builds xerces-c: upgrade to 3.2.4 zsh: Fix CVE-2021-45444 redis: Upgrade to 7.0.8 redis: Upgrade to 6.2.9 Dmitry Baryshkov (1): edid-decode: an utility to parse EDID information Etienne Cordonnier (1): uutils-coreutils: upgrade 0.0.16 -> 0.0.17 Fabio Estevam (1): lvgl-demo-fb: Add recipe Gianfranco Costamagna (1): boinc-client: Update boinc from 7.20.4 to 7.20.5 Hermes Zhang (1): kernel_add_regdb: Change the task order Jan Luebbe (3): pcsc-lite: fix native build pcsc-lite: fix homepage URL opensc: fix homepage URL Kai Kang (2): mozjs: fix compile error for arm crda: 3.18 -> 4.15 Khem Raj (65): packagegroup-meta-oe: Remove boost-url from comments trace-cmd: Update to upstream submitted patches packagegroup-meta-oe: Update to reflect latest recipes freeglut: Add packageconfigs for x11/wayland/gles xdg-desktop-portal-wlr: Add wayland to REQUIRED_DISTRO_FEATURES ipmitool: Remove unneeded patch dibbler: Fix build with c++17 and newer std libtevent: Package cmocka tests into ptest package netkit-telnet: Drop using register storage class keyword libxml-libxml-perl: Fix function pointer types fatcat: Fix build with std=c++17 ncmpc: Upgrade to 0.47 python3-matplotlib: Upgrade to 3.6.3 python3-matplotlib: Fix build with c++17 python3-greenlet: Drop using register keyword libmodplug: Fix build with c++17 xmlrpc-c: Upgrade to 1.54.06 satyr: Fix build with musl p8platform: Fix build with c++17 clang freerdp: Fix incompatible function pointer type libtorrent: Update to tip of trunk gnuchess: Fix build with c++17 ippool: Use unsigned int type for 1-bit integer bitfield audiofile: Stick to c++14 std ssiapi: Use c++14 standard log4cpp: Keep using std=c++14 gengetopt: Use std=c++14 libmimetic: Pin to using -std=c++14 ace: Upgrade to 6.5.19 pipewire-media-session: Use PW_ENABLE_DEPRECATED rtorrent: Update to latest tip of trunk nspr: Fix build with clang16 net-snmp: Fix build with clang16 xmlstarlet: Fix build with clang16 libol: Drop recipe hplip: Update to 3.22.10 espeak: Drop using 'register' keyword for storage classifier uw-imap: Fix build with clang 16 xmlsec1: Include xmlsec/parser.h for xmlSecParserSetDefaultOptions() exiv2: Upgrade to 0.27.6 packagegroup-meta-oe: Remove mongodb for upsupported arches rtorrent: Add missing dependency on autoconf-archive thrift: Fix c++ and system header include order problem libcereal: Use -idirafter instead of -isystem poppler: cmake: Do not use -isystem uftreace: Fix a build race sdbus-c++: Disable ccache libcamera: Fix build with gcc-13 mariadb: Fix build with gcc-13 vulkan-cts,opengl-es-cts: Fix build with gcc-13 rocksdb: Fix build with gcc13 rocksdb: Upgrade to 7.9.2 redis-plus-plus: Upgrade to 1.3.7 redis-plus-plus: Fix build with gcc13 rdfind: Upgrade to 1.5.0 release rdfind: Fix build with gcc13 libiodbc: Fix SRC_URI to not use gitlab archives opensaf: Fix build with gcc13 crossguid: Fix build with gcc13 dbus-cxx: Fix build with gcc13 dbus-cxx: Upgrade to 2.3.1 msktutil: Upgrade to 1.2.1 hiredis: Enable SSL/TLS support by default redis-plus-plus: Enable SSL/TLS by default rocksdb: Fix build with clang compiler Lei Maohui (2): biodbc: Added a new recipe. trace-cmd: Fix QA Issue of do_package when enable multilib: Leon Anavi (14): python3-traitlets: Upgrade 5.8.0 -> 5.8.1 python3-prettytable: Upgrade 3.4.1 -> 3.6.0 python3-cantools: Upgrade 38.0.0 -> 38.0.1 python3-imageio: Upgrade 2.23.0 -> 2.24.0 python3-astroid: Upgrade 2.12.13 -> 2.13.2 python3-alembic: Upgrade 1.9.1 -> 1.9.2 python3-autobahn: Upgrade 22.12.1 -> 23.1.1 python3-eventlet: Upgrade 0.33.2 -> 0.33.3 python3-configobj: Upgrade 5.0.6 -> 5.0.8 python3-nocaselist: Upgrade 1.0.6 -> 1.1.0 python3-nocasedict: Upgrade 1.0.4 -> 1.1.0 python3-email-validator: Upgrade 1.3.0 -> 1.3.1 python3-imageio: Upgrade 2.24.0 -> 2.25.0 python3-cachetools: Upgrade 5.2.1 -> 5.3.0 Markus Volk (8): webp-pixbuf-loader: add recipe freerdp: build the rdp server nv-codec-headers: add recipe gnome-chess: import recipe gnome-shell: update 43.1 -> 43.2 pipewire: update 0.3.63 -> 0.3.64 cups-filters: build with dbus support cups-pk-helper: add recipe Martin Jansa (3): s-nail: fix Upstream-Status format smartmontools: fix Upstream-Status format htop: fix Upstream-Status format Niko Mauno (2): Fix missing leading whitespace with ':append' nftables: Fix missing leading whitespace with ':append' Peter Bašista (1): Make tvheadend recipe compatible with the latest tvheadend version Quentin Schulz (1): python3-reedsolo: Add recipe Randy MacLeod (2): librelp: update to 1.11.0 rsyslog: update to 8.2212.0 Richard Hughes (1): fwupd: Upgrade to 1.8.9 Robert Yang (1): tftpy: Add it for python tftp server and client Ross Burton (3): khronos-cts: fix build when python3-build-native is present python3-pytest-forked: update for move from picobuild to build mbedtls: add option to use PSA for X.509/TLS operations Stefan Ghinea (1): mbedtls: upgrade to 2.28.2 to fix CVE-2022-46392, CVE-2022-46393 Trevor Woerner (1): psqlodbc: fix HOMEPAGE Wang Mingyu (62): ctags: upgrade 6.0.20230101.0 -> 6.0.20230108.0 flatbuffers: upgrade 22.12.06 -> 23.1.4 libadwaita: upgrade 1.2.0 -> 1.2.1 hwdata: upgrade 0.365 -> 0.366 libmoo-perl: upgrade 2.005004 -> 2.005005 evolution-data-server-native: upgrade 3.46.2 -> 3.46.3 cli11: upgrade 2.3.1 -> 2.3.2 imapfilter: upgrade 2.7.6 -> 2.8.1 libcgi-perl: upgrade 4.54 -> 4.55 hidapi: upgrade 0.12.0 -> 0.13.0 python3-lazy-object-proxy: upgrade 1.8.0 -> 1.9.0 xfsprogs: upgrade 6.0.0 -> 6.1.0 tbb: upgrade 2021.7.0 -> 2021.8.0 python3-networkx: upgrade 2.8.8 -> 3.0 python3-sqlalchemy: upgrade 1.4.45 -> 1.4.46 python3-aiohue: upgrade 4.5.0 -> 4.6.1 python3-cachetools: upgrade 5.2.0 -> 5.2.1 python3-google-api-python-client: upgrade 2.70.0 -> 2.71.0 python3-flask-migrate: upgrade 4.0.0 -> 4.0.1 python3-coverage: upgrade 7.0.3 -> 7.0.4 python3-googleapis-common-protos: upgrade 1.57.0 -> 1.58.0 python3-ipython: upgrade 8.7.0 -> 8.8.0 python3-redis: upgrade 4.4.0 -> 4.4.1 python3-robotframework: upgrade 6.0.1 -> 6.0.2 python3-uefi-firmware: upgrade 1.9 -> 1.10 python3-ujson: upgrade 5.6.0 -> 5.7.0 python3-xlsxwriter: upgrade 3.0.5 -> 3.0.6 xfsprogs: upgrade 6.1.0 -> 6.1.1 xfstests: upgrade 2022.12.18 -> 2023.01.01 eog: upgrade 43.1 -> 43.2 gvfs: upgrade 1.50.2 -> 1.50.3 libnma: upgrade 1.10.4 -> 1.10.6 nautilus: upgrade 43.1 -> 43.2 nbdkit: upgrade 1.33.4 -> 1.33.7 networkmanager: upgrade 1.40.0 -> 1.40.10 tcpdump: upgrade 4.99.2 -> 4.99.3 unbound: upgrade 1.17.0 -> 1.17.1 ctags: upgrade 6.0.20230108.0 -> 6.0.20230115.0 dnfdragora: upgrade 2.1.3 -> 2.1.4 gensio: upgrade 2.6.1 -> 2.6.2 hidapi: upgrade 0.13.0 -> 0.13.1 librelp: upgrade 1.10.0 -> 1.11.0 libtraceevent: upgrade 1.7.0 -> 1.7.1 libtracefs: upgrade 1.6.3 -> 1.6.4 uftrace: upgrade 0.12 -> 0.13 xterm: upgrade 377 -> 378 python3-absl: upgrade 1.3.0 -> 1.4.0 python3-coverage: upgrade 7.0.4 -> 7.0.5 python3-dateparser: upgrade 1.1.5 -> 1.1.6 python3-decouple: upgrade 3.6 -> 3.7 python3-dnspython: upgrade 2.2.1 -> 2.3.0 python3-flask-wtf: upgrade 1.0.1 -> 1.1.0 python3-future: upgrade 0.18.2 -> 0.18.3 python3-google-api-python-client: upgrade 2.71.0 -> 2.72.0 python3-google-auth: upgrade 2.15.0 -> 2.16.0 python3-mock: upgrade 5.0.0 -> 5.0.1 python3-pymodbus: upgrade 3.0.2 -> 3.1.0 python3-pyzmq: upgrade 24.0.1 -> 25.0.0 python3-redis: upgrade 4.4.1 -> 4.4.2 python3-sentry-sdk: upgrade 1.12.1 -> 1.13.0 python3-txaio: upgrade 22.2.1 -> 23.1.1 python3-xlsxwriter: upgrade 3.0.6 -> 3.0.7 Yi Zhao (2): freeradius: upgrade 3.0.21 -> 3.0.26 strongswan: upgrade 5.9.8 -> 5.9.9 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I625cfaa0bd5052cd72a121f010db3ecd2f274caf
Diffstat (limited to 'poky/bitbake/lib')
-rw-r--r--poky/bitbake/lib/bb/cache.py21
-rw-r--r--poky/bitbake/lib/bb/codeparser.py8
-rw-r--r--poky/bitbake/lib/bb/cooker.py21
-rw-r--r--poky/bitbake/lib/bb/cookerdata.py9
-rw-r--r--poky/bitbake/lib/bb/data.py15
-rw-r--r--poky/bitbake/lib/bb/data_smart.py16
-rw-r--r--poky/bitbake/lib/bb/fetch2/__init__.py3
-rw-r--r--poky/bitbake/lib/bb/persist_data.py21
-rw-r--r--poky/bitbake/lib/bb/server/process.py9
-rw-r--r--poky/bitbake/lib/bb/tests/codeparser.py14
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py46
-rw-r--r--poky/bitbake/lib/bb/ui/taskexp.py2
-rw-r--r--poky/bitbake/lib/bb/ui/uievent.py2
-rw-r--r--poky/bitbake/lib/bb/utils.py21
-rwxr-xr-xpoky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py18
-rw-r--r--poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml16
-rw-r--r--poky/bitbake/lib/toaster/orm/fixtures/poky.xml62
-rw-r--r--poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py2
19 files changed, 222 insertions, 86 deletions
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index ee924b2d2b..b309775bb9 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -838,11 +838,10 @@ class MultiProcessCache(object):
self.cachedata = self.create_cachedata()
self.cachedata_extras = self.create_cachedata()
- def init_cache(self, d, cache_file_name=None):
- cachedir = (d.getVar("PERSISTENT_DIR") or
- d.getVar("CACHE"))
- if cachedir in [None, '']:
+ def init_cache(self, cachedir, cache_file_name=None):
+ if not cachedir:
return
+
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
@@ -873,6 +872,10 @@ class MultiProcessCache(object):
if not self.cachefile:
return
+ have_data = any(self.cachedata_extras)
+ if not have_data:
+ return
+
glf = bb.utils.lockfile(self.cachefile + ".lock", shared=True)
i = os.getpid()
@@ -907,6 +910,8 @@ class MultiProcessCache(object):
data = self.cachedata
+ have_data = False
+
for f in [y for y in os.listdir(os.path.dirname(self.cachefile)) if y.startswith(os.path.basename(self.cachefile) + '-')]:
f = os.path.join(os.path.dirname(self.cachefile), f)
try:
@@ -921,12 +926,14 @@ class MultiProcessCache(object):
os.unlink(f)
continue
+ have_data = True
self.merge_data(extradata, data)
os.unlink(f)
- with open(self.cachefile, "wb") as f:
- p = pickle.Pickler(f, -1)
- p.dump([data, self.__class__.CACHE_VERSION])
+ if have_data:
+ with open(self.cachefile, "wb") as f:
+ p = pickle.Pickler(f, -1)
+ p.dump([data, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(glf)
diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py
index ecae7b0808..d6b8102585 100644
--- a/poky/bitbake/lib/bb/codeparser.py
+++ b/poky/bitbake/lib/bb/codeparser.py
@@ -184,12 +184,12 @@ class CodeParserCache(MultiProcessCache):
self.shellcachelines[h] = cacheline
return cacheline
- def init_cache(self, d):
+ def init_cache(self, cachedir):
# Check if we already have the caches
if self.pythoncache:
return
- MultiProcessCache.init_cache(self, d)
+ MultiProcessCache.init_cache(self, cachedir)
# cachedata gets re-assigned in the parent
self.pythoncache = self.cachedata[0]
@@ -201,8 +201,8 @@ class CodeParserCache(MultiProcessCache):
codeparsercache = CodeParserCache()
-def parser_cache_init(d):
- codeparsercache.init_cache(d)
+def parser_cache_init(cachedir):
+ codeparsercache.init_cache(cachedir)
def parser_cache_save():
codeparsercache.save_extras()
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index cfaa7cbe6c..c5e9fa2941 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -2187,12 +2187,11 @@ class CookerParser(object):
self.num_processes = min(int(self.cfgdata.getVar("BB_NUMBER_PARSE_THREADS") or
multiprocessing.cpu_count()), self.toparse)
+ bb.cache.SiggenRecipeInfo.reset()
self.start()
self.haveshutdown = False
self.syncthread = None
- bb.cache.SiggenRecipeInfo.reset()
-
def start(self):
self.results = self.load_cached()
self.processes = []
@@ -2231,6 +2230,14 @@ class CookerParser(object):
else:
bb.error("Parsing halted due to errors, see error messages above")
+ # Cleanup the queue before call process.join(), otherwise there might be
+ # deadlocks.
+ while True:
+ try:
+ self.result_queue.get(timeout=0.25)
+ except queue.Empty:
+ break
+
def sync_caches():
for c in self.bb_caches.values():
bb.cache.SiggenRecipeInfo.reset()
@@ -2241,14 +2248,6 @@ class CookerParser(object):
self.parser_quit.set()
- # Cleanup the queue before call process.join(), otherwise there might be
- # deadlocks.
- while True:
- try:
- self.result_queue.get(timeout=0.25)
- except queue.Empty:
- break
-
for process in self.processes:
process.join(0.5)
@@ -2269,7 +2268,7 @@ class CookerParser(object):
if hasattr(process, "close"):
process.close()
-
+ bb.codeparser.parser_cache_save()
bb.codeparser.parser_cache_savemerge()
bb.cache.SiggenRecipeInfo.reset()
bb.fetch.fetcher_parse_done()
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index c6b5658d75..1658bee93c 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -271,7 +271,6 @@ class CookerDataBuilder(object):
if self.data.getVar("BB_WORKERCONTEXT", False) is None and not worker:
bb.fetch.fetcher_init(self.data)
bb.parse.init_parser(self.data)
- bb.codeparser.parser_cache_init(self.data)
bb.event.fire(bb.event.ConfigParsed(), self.data)
@@ -370,6 +369,11 @@ class CookerDataBuilder(object):
data.setVar("TOPDIR", os.path.dirname(os.path.dirname(layerconf)))
data = parse_config_file(layerconf, data)
+ if not data.getVar("BB_CACHEDIR"):
+ data.setVar("BB_CACHEDIR", "${TOPDIR}/cache")
+
+ bb.codeparser.parser_cache_init(data.getVar("BB_CACHEDIR"))
+
layers = (data.getVar('BBLAYERS') or "").split()
broken_layers = []
@@ -473,6 +477,9 @@ class CookerDataBuilder(object):
if not data.getVar("TOPDIR"):
data.setVar("TOPDIR", os.path.abspath(os.getcwd()))
+ if not data.getVar("BB_CACHEDIR"):
+ data.setVar("BB_CACHEDIR", "${TOPDIR}/cache")
+ bb.codeparser.parser_cache_init(data.getVar("BB_CACHEDIR"))
data = parse_config_file(os.path.join("conf", "bitbake.conf"), data)
diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py
index 841369699e..f3ae062022 100644
--- a/poky/bitbake/lib/bb/data.py
+++ b/poky/bitbake/lib/bb/data.py
@@ -261,7 +261,7 @@ def emit_func_python(func, o=sys.__stdout__, d = init()):
newdeps |= set((d.getVarFlag(dep, "vardeps") or "").split())
newdeps -= seen
-def build_dependencies(key, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d):
+def build_dependencies(key, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d, codeparsedata):
def handle_contains(value, contains, exclusions, d):
newvalue = []
if value:
@@ -312,14 +312,14 @@ def build_dependencies(key, keys, mod_funcs, shelldeps, varflagsexcl, ignored_va
value = varflags.get("vardepvalue")
elif varflags.get("func"):
if varflags.get("python"):
- value = d.getVarFlag(key, "_content", False)
+ value = codeparsedata.getVarFlag(key, "_content", False)
parser = bb.codeparser.PythonParser(key, logger)
parser.parse_python(value, filename=varflags.get("filename"), lineno=varflags.get("lineno"))
deps = deps | parser.references
deps = deps | (keys & parser.execs)
value = handle_contains(value, parser.contains, exclusions, d)
else:
- value, parsedvar = d.getVarFlag(key, "_content", False, retparser=True)
+ value, parsedvar = codeparsedata.getVarFlag(key, "_content", False, retparser=True)
parser = bb.codeparser.ShellParser(key, logger)
parser.parse_shell(parsedvar.value)
deps = deps | shelldeps
@@ -378,12 +378,17 @@ def generate_dependencies(d, ignored_vars):
shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export", False) and not d.getVarFlag(key, "unexport", False))
varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS')
+ codeparserd = d.createCopy()
+ for forced in (d.getVar('BB_HASH_CODEPARSER_VALS') or "").split():
+ key, value = forced.split("=", 1)
+ codeparserd.setVar(key, value)
+
deps = {}
values = {}
tasklist = d.getVar('__BBTASKS', False) or []
for task in tasklist:
- deps[task], values[task] = build_dependencies(task, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d)
+ deps[task], values[task] = build_dependencies(task, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d, codeparserd)
newdeps = deps[task]
seen = set()
while newdeps:
@@ -392,7 +397,7 @@ def generate_dependencies(d, ignored_vars):
newdeps = set()
for dep in nextdeps:
if dep not in deps:
- deps[dep], values[dep] = build_dependencies(dep, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d)
+ deps[dep], values[dep] = build_dependencies(dep, keys, mod_funcs, shelldeps, varflagsexcl, ignored_vars, d, codeparserd)
newdeps |= deps[dep]
newdeps -= seen
#print "For %s: %s" % (task, str(deps[task]))
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index e2c93597e5..c597dbade8 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -515,18 +515,18 @@ class DataSmart(MutableMapping):
dest = self.dict
while dest:
if var in dest:
- return dest[var], self.overridedata.get(var, None)
+ return dest[var]
if "_data" not in dest:
break
dest = dest["_data"]
- return None, self.overridedata.get(var, None)
+ return None
def _makeShadowCopy(self, var):
if var in self.dict:
return
- local_var, _ = self._findVar(var)
+ local_var = self._findVar(var)
if local_var:
self.dict[var] = copy.copy(local_var)
@@ -782,10 +782,12 @@ class DataSmart(MutableMapping):
if expand and cachename in self.expand_cache:
return self.expand_cache[cachename].value
- local_var, overridedata = self._findVar(var)
+ local_var = self._findVar(var)
value = None
removes = set()
- if flag == "_content" and overridedata is not None and not parsing:
+ if flag == "_content" and not parsing:
+ overridedata = self.overridedata.get(var, None)
+ if flag == "_content" and not parsing and overridedata is not None:
match = False
active = {}
self.need_overrides()
@@ -900,7 +902,7 @@ class DataSmart(MutableMapping):
def delVarFlag(self, var, flag, **loginfo):
self.expand_cache = {}
- local_var, _ = self._findVar(var)
+ local_var = self._findVar(var)
if not local_var:
return
if not var in self.dict:
@@ -943,7 +945,7 @@ class DataSmart(MutableMapping):
self.dict[var][i] = flags[i]
def getVarFlags(self, var, expand = False, internalflags=False):
- local_var, _ = self._findVar(var)
+ local_var = self._findVar(var)
flags = {}
if local_var:
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 893ec6f6bd..5a7a6024d1 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -469,6 +469,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
basename = os.path.basename(mirrortarball)
# Kill parameters, they make no sense for mirror tarballs
uri_decoded[5] = {}
+ uri_find_decoded[5] = {}
elif ud.localpath and ud.method.supports_checksum(ud):
basename = os.path.basename(ud.localpath)
if basename:
@@ -517,7 +518,7 @@ def fetcher_init(d):
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
- _checksum_cache.init_cache(d)
+ _checksum_cache.init_cache(d.getVar("BB_CACHEDIR"))
for m in methods:
if hasattr(m, "init"):
diff --git a/poky/bitbake/lib/bb/persist_data.py b/poky/bitbake/lib/bb/persist_data.py
index ce84a15825..bcca791edf 100644
--- a/poky/bitbake/lib/bb/persist_data.py
+++ b/poky/bitbake/lib/bb/persist_data.py
@@ -249,4 +249,23 @@ def persist(domain, d):
bb.utils.mkdirhier(cachedir)
cachefile = os.path.join(cachedir, "bb_persist_data.sqlite3")
- return SQLTable(cachefile, domain)
+
+ try:
+ return SQLTable(cachefile, domain)
+ except sqlite3.OperationalError:
+ # Sqlite fails to open database when its path is too long.
+ # After testing, 504 is the biggest path length that can be opened by
+ # sqlite.
+ # Note: This code is called before sanity.bbclass and its path length
+ # check
+ max_len = 504
+ if len(cachefile) > max_len:
+ logger.critical("The path of the cache file is too long "
+ "({0} chars > {1}) to be opened by sqlite! "
+ "Your cache file is \"{2}\"".format(
+ len(cachefile),
+ max_len,
+ cachefile))
+ sys.exit(1)
+ else:
+ raise
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 529196b78c..916ee0a0e5 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -361,20 +361,21 @@ class ProcessServer():
except FileNotFoundError:
return None
- lockcontents = get_lock_contents(lockfile)
- serverlog("Original lockfile contents: " + str(lockcontents))
-
lock.close()
lock = None
while not lock:
i = 0
lock = None
+ if not os.path.exists(os.path.basename(lockfile)):
+ serverlog("Lockfile directory gone, exiting.")
+ return
+
while not lock and i < 30:
lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=False)
if not lock:
newlockcontents = get_lock_contents(lockfile)
- if newlockcontents != lockcontents:
+ if not newlockcontents[0].startswith([os.getpid() + "\n", os.getpid() + " "]):
# A new server was started, the lockfile contents changed, we can exit
serverlog("Lockfile now contains different contents, exiting: " + str(newlockcontents))
return
diff --git a/poky/bitbake/lib/bb/tests/codeparser.py b/poky/bitbake/lib/bb/tests/codeparser.py
index a508f23bcb..7f5d59ca74 100644
--- a/poky/bitbake/lib/bb/tests/codeparser.py
+++ b/poky/bitbake/lib/bb/tests/codeparser.py
@@ -318,7 +318,7 @@ d.getVar(a(), False)
"filename": "example.bb",
})
- deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d)
+ deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d, self.d)
self.assertEqual(deps, set(["somevar", "bar", "something", "inexpand", "test", "test2", "a"]))
@@ -365,7 +365,7 @@ esac
self.d.setVarFlags("FOO", {"func": True})
self.setEmptyVars(execs)
- deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d)
+ deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d, self.d)
self.assertEqual(deps, set(["somevar", "inverted"] + execs))
@@ -375,7 +375,7 @@ esac
self.d.setVar("FOO", "foo=oe_libinstall; eval $foo")
self.d.setVarFlag("FOO", "vardeps", "oe_libinstall")
- deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d)
+ deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d, self.d)
self.assertEqual(deps, set(["oe_libinstall"]))
@@ -384,7 +384,7 @@ esac
self.d.setVar("FOO", "foo=oe_libinstall; eval $foo")
self.d.setVarFlag("FOO", "vardeps", "${@'oe_libinstall'}")
- deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d)
+ deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), set(), set(), self.d, self.d)
self.assertEqual(deps, set(["oe_libinstall"]))
@@ -399,7 +399,7 @@ esac
# Check dependencies
self.d.setVar('ANOTHERVAR', expr)
self.d.setVar('TESTVAR', 'anothervalue testval testval2')
- deps, values = bb.data.build_dependencies("ANOTHERVAR", set(self.d.keys()), set(), set(), set(), set(), self.d)
+ deps, values = bb.data.build_dependencies("ANOTHERVAR", set(self.d.keys()), set(), set(), set(), set(), self.d, self.d)
self.assertEqual(sorted(values.splitlines()),
sorted([expr,
'TESTVAR{anothervalue} = Set',
@@ -418,14 +418,14 @@ esac
self.d.setVar('ANOTHERVAR', varval)
self.d.setVar('TESTVAR', 'anothervalue testval testval2')
self.d.setVar('TESTVAR2', 'testval3')
- deps, values = bb.data.build_dependencies("ANOTHERVAR", set(self.d.keys()), set(), set(), set(), set(["TESTVAR"]), self.d)
+ deps, values = bb.data.build_dependencies("ANOTHERVAR", set(self.d.keys()), set(), set(), set(), set(["TESTVAR"]), self.d, self.d)
self.assertEqual(sorted(values.splitlines()), sorted([varval]))
self.assertEqual(deps, set(["TESTVAR2"]))
self.assertEqual(self.d.getVar('ANOTHERVAR').split(), ['testval3', 'anothervalue'])
# Check the vardepsexclude flag is handled by contains functionality
self.d.setVarFlag('ANOTHERVAR', 'vardepsexclude', 'TESTVAR')
- deps, values = bb.data.build_dependencies("ANOTHERVAR", set(self.d.keys()), set(), set(), set(), set(), self.d)
+ deps, values = bb.data.build_dependencies("ANOTHERVAR", set(self.d.keys()), set(), set(), set(), set(), self.d, self.d)
self.assertEqual(sorted(values.splitlines()), sorted([varval]))
self.assertEqual(deps, set(["TESTVAR2"]))
self.assertEqual(self.d.getVar('ANOTHERVAR').split(), ['testval3', 'anothervalue'])
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index ad3d4dea7d..f3890321d6 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -2852,7 +2852,7 @@ class FetchPremirroronlyLocalTest(FetcherTest):
os.mkdir(self.mirrordir)
self.reponame = "bitbake"
self.gitdir = os.path.join(self.tempdir, "git", self.reponame)
- self.recipe_url = "git://git.fake.repo/bitbake"
+ self.recipe_url = "git://git.fake.repo/bitbake;branch=master"
self.d.setVar("BB_FETCH_PREMIRRORONLY", "1")
self.d.setVar("BB_NO_NETWORK", "1")
self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n")
@@ -2936,6 +2936,50 @@ class FetchPremirroronlyNetworkTest(FetcherTest):
with self.assertRaises(bb.fetch2.NetworkAccess):
fetcher.download()
+class FetchPremirroronlyMercurialTest(FetcherTest):
+ """ Test for premirrors with mercurial repos
+ the test covers also basic hg:// clone (see fetch_and_create_tarball
+ """
+ def skipIfNoHg():
+ import shutil
+ if not shutil.which('hg'):
+ return unittest.skip('Mercurial not installed')
+ return lambda f: f
+
+ def setUp(self):
+ super(FetchPremirroronlyMercurialTest, self).setUp()
+ self.mirrordir = os.path.join(self.tempdir, "mirrors")
+ os.mkdir(self.mirrordir)
+ self.reponame = "libgnt"
+ self.clonedir = os.path.join(self.tempdir, "hg")
+ self.recipe_url = "hg://keep.imfreedom.org/libgnt;module=libgnt"
+ self.d.setVar("SRCREV", "53e8b422faaf")
+ self.mirrorname = "hg_libgnt_keep.imfreedom.org_.libgnt.tar.gz"
+
+ def fetch_and_create_tarball(self):
+ """
+ Ask bitbake to download repo and prepare mirror tarball for us
+ """
+ self.d.setVar("BB_GENERATE_MIRROR_TARBALLS", "1")
+ fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+ fetcher.download()
+ mirrorfile = os.path.join(self.d.getVar("DL_DIR"), self.mirrorname)
+ self.assertTrue(os.path.exists(mirrorfile), "Mirror tarball {} has not been created".format(mirrorfile))
+ ## moving tarball to mirror directory
+ os.rename(mirrorfile, os.path.join(self.mirrordir, self.mirrorname))
+ self.d.setVar("BB_GENERATE_MIRROR_TARBALLS", "0")
+
+
+ @skipIfNoNetwork()
+ @skipIfNoHg()
+ def test_premirror_mercurial(self):
+ self.fetch_and_create_tarball()
+ self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n")
+ self.d.setVar("BB_FETCH_PREMIRRORONLY", "1")
+ self.d.setVar("BB_NO_NETWORK", "1")
+ fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+ fetcher.download()
+
class FetchPremirroronlyBrokenTarball(FetcherTest):
def setUp(self):
diff --git a/poky/bitbake/lib/bb/ui/taskexp.py b/poky/bitbake/lib/bb/ui/taskexp.py
index c00eaf6638..bedfd69b09 100644
--- a/poky/bitbake/lib/bb/ui/taskexp.py
+++ b/poky/bitbake/lib/bb/ui/taskexp.py
@@ -177,7 +177,7 @@ class gtkthread(threading.Thread):
quit = threading.Event()
def __init__(self, shutdown):
threading.Thread.__init__(self)
- self.setDaemon(True)
+ self.daemon = True
self.shutdown = shutdown
if not Gtk.init_check()[0]:
sys.stderr.write("Gtk+ init failed. Make sure DISPLAY variable is set.\n")
diff --git a/poky/bitbake/lib/bb/ui/uievent.py b/poky/bitbake/lib/bb/ui/uievent.py
index adbe698939..c2f830d530 100644
--- a/poky/bitbake/lib/bb/ui/uievent.py
+++ b/poky/bitbake/lib/bb/ui/uievent.py
@@ -65,7 +65,7 @@ class BBUIEventQueue:
self.server = server
self.t = threading.Thread()
- self.t.setDaemon(True)
+ self.t.daemon = True
self.t.run = self.startCallbackHandler
self.t.start()
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index 8c79159573..4446997e42 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -1699,23 +1699,20 @@ def disable_network(uid=None, gid=None):
def export_proxies(d):
""" export common proxies variables from datastore to environment """
- import os
variables = ['http_proxy', 'HTTP_PROXY', 'https_proxy', 'HTTPS_PROXY',
'ftp_proxy', 'FTP_PROXY', 'no_proxy', 'NO_PROXY',
- 'GIT_PROXY_COMMAND']
- exported = False
+ 'GIT_PROXY_COMMAND', 'SSL_CERT_FILE', 'SSL_CERT_DIR']
- for v in variables:
- if v in os.environ.keys():
- exported = True
- else:
- v_proxy = d.getVar(v)
- if v_proxy is not None:
- os.environ[v] = v_proxy
- exported = True
+ origenv = d.getVar("BB_ORIGENV")
+
+ for name in variables:
+ value = d.getVar(name)
+ if not value and origenv:
+ value = origenv.getVar(name)
+ if value:
+ os.environ[name] = value
- return exported
def load_plugins(logger, plugins, pluginpath):
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
index ad20d6bdd5..69f557657a 100755
--- a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
+++ b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
@@ -35,26 +35,18 @@ verbose = False
# [Codename, Yocto Project Version, Release Date, Current Version, Support Level, Poky Version, BitBake branch]
current_releases = [
# Release slot #1
- ['Kirkstone','4.0','April 2022','4.0.5 (October 2022)','Stable - Long Term Support (until Apr. 2024)','','2.0'],
+ ['Kirkstone','4.0','April 2022','4.0.6 (December 2022)','Stable - Long Term Support (until Apr. 2024)','','2.0'],
# Release slot #2 'local'
['HEAD','HEAD','','Local Yocto Project','HEAD','','HEAD'],
# Release slot #3 'master'
['Master','master','','Yocto Project master','master','','master'],
# Release slot #4
- ['Langdale','4.1','October 2022','4.1.1 (November 2022)','Support for 7 months (until May 2023)','','2.2'],
+ ['Langdale','4.1','October 2022','4.1.2 (January 2023)','Support for 7 months (until May 2023)','','2.2'],
# ['Honister','3.4','October 2021','3.4.2 (February 2022)','Support for 7 months (until May 2022)','26.0','1.52'],
-# ['Gatesgarth','3.2','Oct 2020','3.2.4 (May 2021)','EOL','24.0','1.48'],
- # Optional Release slot #4
- # 'dunfell' seems to have a bug:
- # Bitbake crash
- # Traceback (most recent call last):
- # File "/home/usersetup/poky/bitbake/lib/bb/ui/toasterui.py", line 337, in main
- # buildinfohelper.update_and_store_task(event)
- # File "/home/usersetup/poky/bitbake/lib/bb/ui/buildinfohelper.py", line 1267, in update_and_store_task
- # assert identifier in self.internal_state['taskdata']
- # AssertionError
-# ['Dunfell','3.1','April 2021','3.1.20 (October 2022)','Stable - Long Term Support (until Apr. 2024)','23.0','1.46'],
# ['Hardknott','3.3','April 2021','3.3.5 (March 2022)','Stable - Support for 13 months (until Apr. 2022)','25.0','1.50'],
+# ['Gatesgarth','3.2','Oct 2020','3.2.4 (May 2021)','EOL','24.0','1.48'],
+ # Optional Release slot #5
+ ['Dunfell','3.1','April 2020','3.1.22 (January 2023)','Stable - Long Term Support (until Apr. 2024)','23.0','1.46'],
]
default_poky_layers = [
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
index b83b94d5ff..615e88aba1 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
@@ -27,6 +27,11 @@
<field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
<field type="CharField" name="branch">2.2</field>
</object>
+ <object model="orm.bitbakeversion" pk="5">
+ <field type="CharField" name="name">dunfell</field>
+ <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
+ <field type="CharField" name="branch">1.46</field>
+ </object>
<!-- Releases available -->
<object model="orm.release" pk="1">
@@ -57,6 +62,13 @@
<field type="CharField" name="branch_name">langdale</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=langdale\"&gt;OpenEmbedded Langdale&lt;/a&gt; branch.</field>
</object>
+ <object model="orm.release" pk="5">
+ <field type="CharField" name="name">dunfell</field>
+ <field type="CharField" name="description">Openembedded Dunfell</field>
+ <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
+ <field type="CharField" name="branch_name">dunfell</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=dunfell\"&gt;OpenEmbedded Dunfell&lt;/a&gt; branch.</field>
+ </object>
<!-- Default layers for each release -->
<object model="orm.releasedefaultlayer" pk="1">
@@ -75,6 +87,10 @@
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="layer_name">openembedded-core</field>
</object>
+ <object model="orm.releasedefaultlayer" pk="5">
+ <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+ <field type="CharField" name="layer_name">openembedded-core</field>
+ </object>
<!-- Layer for the Local release -->
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
index 6d58a4fdb8..04e12f96fd 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
@@ -31,6 +31,12 @@
<field type="CharField" name="branch">langdale</field>
<field type="CharField" name="dirpath">bitbake</field>
</object>
+ <object model="orm.bitbakeversion" pk="5">
+ <field type="CharField" name="name">dunfell</field>
+ <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
+ <field type="CharField" name="branch">dunfell</field>
+ <field type="CharField" name="dirpath">bitbake</field>
+ </object>
<!-- Releases available -->
@@ -62,6 +68,13 @@
<field type="CharField" name="branch_name">langdale</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=langdale"&gt;Yocto Project Langdale branch&lt;/a&gt;.</field>
</object>
+ <object model="orm.release" pk="5">
+ <field type="CharField" name="name">dunfell</field>
+ <field type="CharField" name="description">Yocto Project 3.1 "Dunfell"</field>
+ <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
+ <field type="CharField" name="branch_name">dunfell</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=dunfell"&gt;Yocto Project Dunfell branch&lt;/a&gt;.</field>
+ </object>
<!-- Default project layers for each release -->
<object model="orm.releasedefaultlayer" pk="1">
@@ -112,6 +125,18 @@
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="layer_name">meta-yocto-bsp</field>
</object>
+ <object model="orm.releasedefaultlayer" pk="13">
+ <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+ <field type="CharField" name="layer_name">openembedded-core</field>
+ </object>
+ <object model="orm.releasedefaultlayer" pk="14">
+ <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+ <field type="CharField" name="layer_name">meta-poky</field>
+ </object>
+ <object model="orm.releasedefaultlayer" pk="15">
+ <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+ <field type="CharField" name="layer_name">meta-yocto-bsp</field>
+ </object>
<!-- Default layers provided by poky
openembedded-core
@@ -155,6 +180,13 @@
<field type="CharField" name="branch">langdale</field>
<field type="CharField" name="dirpath">meta</field>
</object>
+ <object model="orm.layer_version" pk="5">
+ <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
+ <field type="IntegerField" name="layer_source">0</field>
+ <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+ <field type="CharField" name="branch">dunfell</field>
+ <field type="CharField" name="dirpath">meta</field>
+ </object>
<object model="orm.layer" pk="2">
<field type="CharField" name="name">meta-poky</field>
@@ -164,14 +196,14 @@
<field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
<field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
</object>
- <object model="orm.layer_version" pk="5">
+ <object model="orm.layer_version" pk="6">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">1</field>
<field type="CharField" name="branch">kirkstone</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
- <object model="orm.layer_version" pk="6">
+ <object model="orm.layer_version" pk="7">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -179,20 +211,27 @@
<field type="CharField" name="commit">HEAD</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
- <object model="orm.layer_version" pk="7">
+ <object model="orm.layer_version" pk="8">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">3</field>
<field type="CharField" name="branch">master</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
- <object model="orm.layer_version" pk="8">
+ <object model="orm.layer_version" pk="9">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">langdale</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
+ <object model="orm.layer_version" pk="10">
+ <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
+ <field type="IntegerField" name="layer_source">0</field>
+ <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+ <field type="CharField" name="branch">dunfell</field>
+ <field type="CharField" name="dirpath">meta-poky</field>
+ </object>
<object model="orm.layer" pk="3">
<field type="CharField" name="name">meta-yocto-bsp</field>
@@ -202,14 +241,14 @@
<field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
<field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
</object>
- <object model="orm.layer_version" pk="9">
+ <object model="orm.layer_version" pk="11">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">1</field>
<field type="CharField" name="branch">kirkstone</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
- <object model="orm.layer_version" pk="10">
+ <object model="orm.layer_version" pk="12">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -217,18 +256,25 @@
<field type="CharField" name="commit">HEAD</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
- <object model="orm.layer_version" pk="11">
+ <object model="orm.layer_version" pk="13">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">3</field>
<field type="CharField" name="branch">master</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
- <object model="orm.layer_version" pk="12">
+ <object model="orm.layer_version" pk="14">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">langdale</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
+ <object model="orm.layer_version" pk="15">
+ <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
+ <field type="IntegerField" name="layer_source">0</field>
+ <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+ <field type="CharField" name="branch">dunfell</field>
+ <field type="CharField" name="dirpath">meta-yocto-bsp</field>
+ </object>
</django-objects>
diff --git a/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py b/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py
index eb097555e2..6d64830ebd 100644
--- a/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py
+++ b/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py
@@ -40,7 +40,7 @@ class Spinner(threading.Thread):
""" A simple progress spinner to indicate download/parsing is happening"""
def __init__(self, *args, **kwargs):
super(Spinner, self).__init__(*args, **kwargs)
- self.setDaemon(True)
+ self.daemon = True
self.signal = True
def run(self):
diff --git a/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py b/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py
index e223b95fcb..c77d6cf490 100644
--- a/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py
+++ b/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py
@@ -24,7 +24,7 @@ class KillRunbuilds(threading.Thread):
""" Kill the runbuilds process after an amount of time """
def __init__(self, *args, **kwargs):
super(KillRunbuilds, self).__init__(*args, **kwargs)
- self.setDaemon(True)
+ self.daemon = True
def run(self):
time.sleep(5)