subtree updates march 30 2022
meta-raspberrypi: e39a0a570c..c06ae5eacf:
Andrei Gherzan (7):
linux-raspberrypi: linux-raspberrypi: Bump 5.10 to 5.10.95
linux-raspberrypi: linux-raspberrypi: Bump 5.15 revision
raspberrypi-firmware.inc: Move to using tarballs from rpi deb repo
rpi-base.inc: Cleanup redundant imgtyp variable
sdcard_image-rpi.bbclass: Use processed list of device trees
docs: Update www.raspberrypi.com documentation links
linux-raspberrypi: Bump 5.15 recipe to 5.15.30
Khem Raj (10):
python3-adafruit-circuitpython-register: Define PIP_INSTALL_PACKAGE
python3-adafruit-pureio: Fix build with wheel
python3-rtimu: Port to using setuptools and fix build with wheel
python3-adafruit-platformdetect: Fix build with wheel
linux-raspberrypi_5.15.bb: Upgrade to 5.15.25
rpi-gpio: Port to PEP-517 packaging
linux-raspberrypi_5.15.bb: Update to 5.15.26
linux-raspberrypi: Update to 5.15.27
python: Unbolt wheel packaging PIP_INSTALL_PACKAGE band-aids
linux-raspberrypi: Update to 5.15.28
Matthias Klein (1):
u-boot: always set fdt_addr with firmware-provided FDT address
meta-security: 6cc8dde794..da93339112:
Akshay Bhat (1):
meta-security-isafw: Fixes to work with oe-core master
Armin Kuster (16):
README.md: fix typo
packagegroup-security-tpm: Fix QA Error
apparmor: update to 3.0.4
layer.conf: enable apparmor for qemu machine
parsec-service: Only enable TPM is layer and DISTRO_FEATURE is defined.
python3-privacyidea: fix QA ERROR
python3-privacyidea: update to 3.6.2
openscap-daemon: fix wheels and License issues.
swtpm: update to 0.7.1
libtpm: update to 0.9.2
ima-evm-keys: don't use lnr
tpm-tools: Fix pod2man race
tpm2-tss: fix user perms
python3-fail2ban: fix SPDX license.
python3-privacyidea: drop old package ref.
kas-security-alt: drop rust layer
Ashish Sharma (1):
Subject: [PATCH] Subject: python3-fail2ban: switch to legacy setuptools3
meta-openembedded: cf0ed42391..9a52bfc4a6:
Adrian Freihofer (6):
networkmanager: switch to meson
networkmanager: new configure options
libqrtr-glib: add new recipe
libqmi: switch to meson and git
modemmanager: update 1.16.8 -> 1.18.6
networkmanager: replace deprecated licenses
Alejandro Enedino Hernandez Samaniego (1):
meta-python: Clean up recipes and classes that were moved to oe-core
Andreas Müller (3):
vlc: upgrade 3.0.12 -> 3.0.17-1 to fix build with ffmpeg5
gnome-tweaks: Fix build on latest meson
gnome-shell-extensions: Fix build with latest meson
Andrej Valek (1):
nodejs: add option to use openssl legacy providers again
Anu Deepthika, Nandipati (2):
usbguard: Add inital recipe
usbguard: package simplification
Armin Kuster (1):
pw-am.sh: update to new patcwork system
Carlos Rafael Giani (1):
libopenmpt: Upgrade to version 0.6.2
Changqing Li (1):
hstr: add new recipe
Christian Eggers (3):
libiio: update to version 0.23
boost-sml: 1.1.4+git --> 1.1.5
graphviz: don't clear PACKAGECONFIG for nativesdk
Daniel Gomez (5):
python3-flask-versioned: Fix PYPA_WHEEL name
v4l-utils: Update 1.20.0 -> 1.22.1
opencl-icd-loader: Update 2020.12.18 -> v2022.01.04
opencl-headers: Update v2020.12.18 -> v2022.01.04
opencl-clhpp: Update 2.0.15 -> 2.0.16
Jeremy A. Puhlman (1):
nspr-native: fix ubuntu 18.04 builds using system gcc.
Jeremy Puhlman (1):
nspr-native: build correclty with extended buildtools.
Jiaqing Zhao (2):
libesmtp: bump 1.0.6 -> 1.1.0
esmtp: fix libesmtp dependency check
Julian Haller (1):
nlohmann-json: Set CVE_PRODUCT according to NVD
Justin Bronder (17):
python3-crc32c: add 2.2.post0
python3-feedformatter: drop recipe
python3-coloredlogs: fix location of coloredlogs.pth
python3-bitarray: switch to setuptools
python3-kivy: fix wheel build
python3-astor: fix wheel build
python3-crcmod: use setuptools instead of distutils
python3-gcovr: fix wheel build
python3-prctl: fix wheel build
python3-ntplib: pull from PyPI
python3-lrparsing: use setuptools instead of distutils
python3-configshell-fb: set PIP_INSTALL_PACKAGE
python3-pyscaffold: fix wheel build and license
python3-pyserial-asyncio: add 0.6
python3-pymodbus: add 2.5.3
python3-asyncinotify: add 2.0.2
python3-pymodbus: add asyncio to package config
Kai Kang (9):
cairomm: correct SRC_URI
networkmanager: fix installed-vs-shipped error
python3-pydot: add recipe
python3-blivet: use setuptools_legacy
Revert "python3-ipy: drop recipe"
wxwidgets: fix libdir for multilib
wxwidgets: fix install errors
graphviz: 2.44.1 -> 2.50.0
graphviz: add pkg_postinst script
Kas User (1):
netdata: added enable/disable cloud config.
Khem Raj (131):
python3-apt: Point PYPA_WHEEL to custom location
python3-pycups: Inherit setuptools_build_meta
python3-anyjson: Drop recipe
Revert "python3-twofish: drop recipe"
cxxtest: Define PIP_INSTALL_DIST_PATH
sanlock: Fix build with wheels on
guider: Set PYPA_WHEEL
unattended-upgrades: Migrate to use wheels
python3-scapy: Define custom PYPA_WHEEL
python3-termcolor: Use setuptools instead of distutils
cyrus-sasl: Fix ptest builds
bluepy: Define custom PYPA_WHEEL
ufw: Upgrade to 0.36.1 bugfix release
catfish: Fix wheel build
menulibre: Inherit distutils3
onboard: Inherit setuptools3-base instead of setuptools3
python3-xmodem: Move docs to /usr/share/doc
python3-blivet: Upgrade to 3.4.3
python3-pytest-runner: Define PIP_INSTALL_PACKAGE
python3-setuptools-rust-native: Define PIP_INSTALL_PACKAGE
python3-dateutil: Define PIP_INSTALL_PACKAGE
python3-poetry-core: Define PIP_INSTALL_PACKAGE
python3-keras-applications: Define PIP_INSTALL_PACKAGE
python3-pymetno: Define PIP_INSTALL_PACKAGE
python3-cson: Define PIP_INSTALL_PACKAGE
python3-dbussy: Define PIP_INSTALL_PACKAGE
python3-txws: Define PIP_INSTALL_PACKAGE
python3-aws-iot-device-sdk-python: Upgrade to 1.5.0
python3-blivetgui: Upgrade to 2.3.0
python3-blivet: Adjust install location for binaries and systemd units
python3-slip-dbus: Fix build with wheel packaging
xfce4-terminal: Add missing gtk-doc dependency
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
recipes: Update LICENSE variable to use SPDX license identifiers
unattended-upgrades: Inherit setuptools3_legacy
menulibre: Inherit setuptools3_legacy
libbpf: Enable builds for riscv64
pcp: Enable check for x11 distro feature
gfbgraph: Check for x11 distro feature
gedit: Fix REQUIRED_DISTRO_FEATURES to not overwrite x11
thunar-shares-plugin: Check for x11 in distro features
tepl: Check for x11 in distro features
geary: Check for x11 in distro features
packagegroup-xfce-multimedia: Check for x11 distro feature
fbida: Fix build when x11 is not enabled in distro features
python3-crc32c: set target platform via setup.cfg
python3-pyruvate: Fix build on riscv32
libdc1394: Change dependency from virtual/libgl to virtual/egl
boinc-client: Depend on virtual/egl instead of virtual/libgl
libsdl2-ttf: Change depenendency from virtual/libgl to virtual/egl
Revert "python3-smbus: fix wheel build"
catfish: Do not set PYPA_WHEEL
libcereal: Disable Werror with ptests
ttf-vlgothic: Specify accurate BSD license type
pcp: Upgrade to 5.3.6
pcp: Do not search headers on build host during cross compile
libcereal: Link libatomics on mips for ptests
nodejs: Disable for powerpc
gimp: Disable vector icons on ppc
capnproto: Link in libatomic on ppc
rocksdb: Use new atomic builtins on powerpc as well
fwts: Upgrade to 22.01.00
fwts: Do not use --as-needed on ppc64
python3-poetry-core: Setting PIP_INSTALL_PACKAGE is no longer needed
python3-grpcio, python3-grpcio-tools: Upgrade to 1.44.0
packagegroup-meta-python: Do not exclude python3-grpcio python3-grpcio-tools for ppc64
python3-pyrad: Change poetry bbclass inherit to match oe-core
python3-bcrypt: Remove
python3-psutil: Remove
abseil: Upgrade to 20211102.0 LTS release
python3-kiwisolver: Upgrade to 1.4.0
python3-pyruvate: Update libc to 0.2.120
python3-chardet: Remove
python3-pytest-runner: Remove
php: Fix build on rv32/musl
recipes: Adjust for renaming flit_core -> python_flit_core
libgphoto: Fix build with libtool 2.4.7
monit: Fix build with libtool 2.4.7
uim: Fix build with libtool 2.4.7
libbpf: Enable on ppc64
librdkafka: Use CMAKE_INSTALL_LIBDIR
liburing: Define libdir based on environment variable
http-parser: Define LIBDIR
msgpack-cpp: Upgrade to 4.1.1 release
weechat: Define LIBDIR
json-schema-validator: Use GNUInstallDirs in cmake
redis-plus-plus: Use GNUInstallDirs in cmake
libiec61850: Use GNUInstallDirs in cmake
paho-mqtt-cpp: Use CMAKE_INSTALL_LIBDIR in cmake
sqlite-orm: Define cmake variable defaults
duktape: Upgrade to 2.7.0
cockpit: Package missing nonarch_libdir
unattended-upgrades: Package nonarch_libdir for systemd files
fsverity-utils: Define LIBDIR
luaposix: Fix INST_LIBDIR to honor libdir var
uml-utilities: Define LIB_DIR to be libdir relative
libsquish: Define LIBDIR knob
io-compress-lzma-perl,io-compress-perl: Do not mark allarch
luajit: Upgrade to latest on v2.1 branch
libcppkafka: Use CMAKE_INSTALL_LIBDIR instead of hardcoding lib
lvgl,lv-lib-png,lv-drivers: Pass libdir via LIB_INSTALL_DIR to cmake
geany-plugins: Do not overwrite OE's pkg-config env
io-compress-lzma-perl, io-compress-perl: Rename to use debian names
projucer: Upgrade to 6.1.6
grpc: Enable cpp plugin for target version too
sysdig: Upgrade to 0.28.0
libsquish: Fix build when libdir != 'lib'
valijson: move out of hard dep on meta-networking
mariadb: Add missing dependency on lzo
mariadb: Enable openSSL and use as default SSL option
mariadb: Align atomic ops to help clang on x86
folks: Upgrade to 0.15.5
geary: Fix build failures with latest vala
netdata: Fix override separator syntax
iniparser: Update to latest tip of trunk
ndctl: Upgrade to v73
rocksdb: Exclude on ppc/musl
gsl: Disable on musl/ppc
a2jmidid: Fix build on ppc/musl
abseil-cpp: Fix ppc/musl patch
gperftools: Disable cpu profiles for ppc/musl
pmdk: Fix build with newer ndctl
duktape: Use baselib to construct LIBDIR
Leon Anavi (10):
python3-prettytable: Upgrade 2.4.0 -> 3.1.1
python3-transitions: Upgrade 0.8.10 -> 0.8.11
python3-charset-normalizer: Upgrade 2.0.10 -> 2.0.12
python3-semantic-version: Upgrade 2.8.5 -> 2.9.0
python3-networkx: Upgrade 2.6.3 -> 2.7
python3-h11: Upgrade 0.12.0 -> 0.13.0
python3-humanize: Upgrade 3.14.0 -> 4.0.0
python3-typed-ast: Upgrade 1.4.3 -> 1.5.2
python3-bandit: Upgrade 1.7.2 -> 1.7.4
xbindkeys: Add recipe
Macpaul Lin (1):
android-tools: adb: add u3 ss descriptor support
Markus Volk (6):
gjs: update; customize dependencies
gnome-disk-utility: disable build of man pages
evolution-data-server: update to v3.43.1
libvdpau: allow to build native and nativesdk
crossguid: update
blueman: update; add missing RDEPENDS
Matthias Klein (1):
python3-smbus: fix wheel build
Mikko Rapeli (2):
polkit: add patches for CVE-2021-4034 and CVE-2021-4115
polkit: switch from mozjs to duktape javascript engine
Mingli Yu (4):
gosu: add new recipe
redis: remove fuzz warning
libcereal: add ptest support
mariadb: Upgrade to 10.7.3
Peter Bergin (1):
wireplumber: backport fix for default device setting
Peter Kjellerstedt (1):
net-snmp: Avoid running `make clean` as it may fail
Preeti Sachan (1):
live555: Fix rdepends of live555-dev
Radovan Scasny (1):
proftpd: update to 1.3.7c
Randy MacLeod (7):
libyang: update from 2.0.7 to 2.0.164
iperf3: upgrade from 3.9 to 3.11
syslog-ng: update from 3.31.2 to 3.26.1
mcelog: update from 175 to 180
haveged: update from 1.9.14 to 1.9.17
pv: update from 1.6.6 to 1.6.20
edac-utils: update to latest git head
Richard Hughes (1):
fwupd: New release
Robert Joslyn (2):
hwdata: Update to 0.357
stunnel: Update to 5.63
Ross Burton (23):
layer.conf: change layer priority to match oe-core
ufw: port to setuptools, use setuptools_legacy
unattended-upgrades: remove PYPA_WHEEL
python3-blivetgui: use setuptools_legacy
python3-meh: fix HOMEPAGE
python3-meh: use setuptools_legacy
python3-poetry-core: self-bootstrap
poetry-core: clean up class
python3-pystache: remove, unmaintained
python3-configparser: remove, not needed for Python 3
python3-backports-functional-lru-cache: remove, not needed for Python 3
python3-pyzmq: clean up recipe
python3-pycurl: fix DEPENDS
python3-twisted: remove empty PN-src and PN-dbg
python3-pylint: upgrade to 2.12.2
meta-python: migrate away from setuptool3 where possible
packagegroup-meta-python: add poetry-core and unattended-upgrade
meta-*: remove obsolete PYPA_WHEEL and PIP_INSTALL_PACKAGE assignments
poetry_core: update for renamed class pip_install_wheel to python_pep517
sanlock: update patch status
Update for setuptools_build_meta renamed to python_setuptools_build_meta
python3-lz4: use system lz4 library
python3-lz4: add ptest
S. Lockwood-Childs (2):
gyp: fix for compatibility with Python 3.10 (part 2)
devmem2: patches have been upstreamed
Samuli Piippo (3):
python3-path: add recipe
python3-antlr4-runtime: add recipe
python3-qface: add recipe
Scott Murray (13):
python3-babel: Remove
python3-certifi: Remove
python3-ndg-httpsclient: Remove
python3-pyasn1: Remove
python3-pyopenssl: Remove
python3-pysocks: Remove
python3-requests: Remove
python3-urllib3: Remove
mpd: upgrade to 0.23.6
libmpdclient: upgrade to 2.20
mpc: upgrade to 0.34
ncmpc: upgrade to 0.46
polkit: Fix build with libtool 2.4.7
Stefan Herbrechtsmeier (4):
grpc: Remove runtime dependency between grpc and protobuf-compiler
spdlog: remove header-only leftover
nginx: add gunzip PACKAGECONFIG
openldap: correct slapd systemd service support
Theodore A. Roth (1):
python3-marshmallow: fix wheel build
Tim Orling (40):
python3-setuptools-rust-native: fix wheel build
python3-cryptography: fix wheel build
python3-pyruvate: fix wheel build
python3-backcall: inherit flit_core
python3-distutils-extra; merge inc, fix wheel build
python3-ptyprocess: inherit flit_core
python3-pyserial: also remove /usr/bin/__pycache__
python3-twisted: also ship Twisted-*.dist-info
python3-pillow: fix wheel build
python3-xlrd: fix wheel build
python3-pykickstart: fix wheel build
python3-twofish: drop recipe
python3-monotonic: fix wheel build
python3-geomet: fix wheel build
python3-pako: remove duplicate LICENSE
python3-configobj: backport patch for setuptools
python3-systemd: patch to use setuptools
python3-twofish: patch to use setuptools
python3-sdnotify: patch to use setuptools
python3-pynetlinux: patch to use setuptools
python3-pyiface: upgrade to latest git
python3-meh: patch to use setuptools
distutils*.bbclass: move from oe-core
python3-ipy: drop recipe
python3-poetry-core: add v1.0.8
python3-dnspython: inherit poetry_core
python3-pkgconfig: inherit poetry_core
python3-iso8601: inherit poetry_core
python3-rsa: inherit poetry_core
python3-isort: inherit poetry_core
python3-pymisp: inherit poetry_core
python3-aiofiles: inherit poetry_core
poetry_core: add helper class
python3-iso8601: move to oe-core
python3-ply: move to oe-core
python3-poetry-core: move to oe-core
python3-pretend: move to oe-core
python3-pytest-subtests: move to oe-core
python3-pytz: move to oe-core
packagegroup-meta-python: drop recipes moved to core
Tom Hochstein (1):
python3-pybind11: Override pip install variables
Trevor Gamblin (9):
python3-django: upgrade 3.2.11 -> 3.2.12
python3-django: upgrade 4.0.1 -> 4.0.2
python3-pytest-lazy-fixture: add recipe
python3-prettytable: add python3-pytest-lazy-fixture to ptest RDEPENDS
packagegroup-meta-python: add python3-pytest-lazy-fixture
grpc: upgrade 1.41.1 -> 1.45.0
python3-protobuf: upgrade 3.19.3 -> 3.19.4
python3-h5py: upgrade 3.5.0 -> 3.6.0
python3-paramiko: upgrade 2.9.2 -> 2.10.3
Vyacheslav Yurkov (1):
sdbus-c++: disable code generation tools
Wang Mingyu (81):
python3-websockets: upgrade 10.1 -> 10.2
python3-websocket-client: upgrade 1.2.3 -> 1.3.1
python3-xlsxwriter: upgrade 3.0.2 -> 3.0.3
python3-socketio: upgrade 5.5.1 -> 5.5.2
python3-sentry-sdk: upgrade 1.5.3 -> 1.5.6
babl: upgrade 0.1.88 -> 0.1.90
gegl: upgrade 0.4.34 -> 0.4.36
cyrus-sasl: upgrade 2.1.27 -> 2.1.28
networkmanager: upgrade 1.34.0 -> 1.36.0
bats: upgrade 1.5.0 -> 1.6.0
cukinia: upgrade 0.5.1 -> 0.6.0
iwd: upgrade 1.24 -> 1.25
freerdp: upgrade 2.5.0 -> 2.6.0
openconnect: upgrade 8.10 -> 8.20
libcereal: upgrade 1.3.1 -> 1.3.2
poco: upgrade 1.11.0 -> 1.11.1
poppler: upgrade 22.02.0 -> 22.03.0
smartmontools: upgrade 7.2 -> 7.3
python3-autobahn: upgrade 22.1.1 -> 22.2.2
python3-cheetah: upgrade 3.2.6.post1 -> 3.2.6.post2
python3-django: upgrade 2.2.26 -> 2.2.27
python3-httplib2: upgrade 0.20.2- > 0.20.4
python3-icu: upgrade 2.8 -> 2.8.1
python3-jsonrpcserver: upgrade 5.0.3 -> 5.0.6
python3-lxml: upgrade 4.7.1 -> 4.8.0
python3-pyscaffold: upgrade 4.1.4 -> 4.1.5
python3-redis: upgrade 4.1.1 -> 4.1.4
python3-scrypt: upgrade 0.8.19 -> 0.8.20
python3-tqdm: upgrade 4.62.3 -> 4.63.0
python3-twisted: upgrade 22.1.0 -> 22.2.0
python3-waitress: upgrade 2.0.0 -> 2.1.0
python3-astroid: upgrade 2.9.3 -> 2.10.0
python3-bitarray: upgrade 2.3.7 -> 2.4.0
python3-aws-iot-device-sdk-python: upgrade 1.5.0-> 1.5.1
python3-imageio: upgrade 2.16.0 -> 2.16.1
python3-python-vlc: upgrade 3.0.12118 -> 3.0.16120
python3-pymisp: upgrade 2.4.152 -> 2.4.155.1
python3-networkx: upgrade 2.7 -> 2.7.1
python3-pychromecast: upgrade 10.2.3 -> 10.3.0
smbnetfs: upgrade 0.6.1 -> 0.6.3
python3-astroid: upgrade 2.10.0 -> 2.11.0
python3-bitstruct: upgrade 8.12.1 -> 8.13.0
python3-cppy: upgrade 1.1.0 -> 1.2.0
python3-dnspython: upgrade 2.2.0 -> 2.2.1
libiec61850: upgrade 1.5.0 -> 1.5.1
evince: upgrade 41.3 -> 41.4
networkmanager-openvpn: upgrade 1.8.16 -> 1.8.18
networkmanager: upgrade 1.36.0 -> 1.36.2
weechat: upgrade 3.4 -> 3.4.1
freerdp: upgrade 2.6.0 -> 2.6.1
libvdpau: upgrade 1.4 -> 1.5
python3-itsdangerous: upgrade 2.1.0 -> 2.1.1
python3-jsonrpcserver: upgrade 5.0.6 -> 5.0.7
gjs: upgrade 1.71.1 -> 1.72.0
gvfs: upgrade 1.49.1 -> 1.50.0
nautilus: upgrade 41.2 -> 42.0
gnome-disk-utility: upgrade 41.0 -> 42.0
gnome-photos: upgrade 40.0 -> 42.0
gnome-system-monitor: upgrade 41.0 -> 42.0
metacity: upgrade 3.42.0 -> 3.44.0
graphene: upgrade 1.10.6 -> 1.10.8
libpeas: upgrade 1.30.0 -> 1.32.0
php: upgrade 8.1.3 -> 8.1.4
iwd: upgrade 1.25 -> 1.26
libgsf: upgrade 1.14.48 -> 1.14.49
libjcat: upgrade 0.1.10 -> 0.1.11
libqb: upgrade 2.0.4 -> 2.0.6
libwacom: upgrade 2.1.0 -> 2.2.0
stm32flash: upgrade 0.6 -> 0.7
babl: upgrade 0.1.90 -> 0.1.92
libxmlb: upgrade 0.3.7 -> 0.3.8
monit: upgrade 5.31.0 -> 5.32.0
python3-astroid: upgrade 2.11.0 -> 2.11.2
python3-autobahn: upgrade 22.2.2 -> 22.3.2
python3-pylint: upgrade 2.12.2 -> 2.13.2
python3-pymisp: upgrade 2.4.155.1 -> 2.4.157
python3-redis: upgrade 4.1.4 -> 4.2.0
python3-robotframework: upgrade 4.1.3 -> 5.0
python3-tqdm: upgrade 4.63.0 -> 4.63.1
python3-watchdog: upgrade 2.1.6 -> 2.1.7
python3-pytest-metadata: upgrade 1.11.0 -> 2.0.1
Xu Huan (18):
python3-lz4: upgrade 3.1.10 -> 4.0.0
python3-mccabe: upgrade 0.6.1 -> 0.7.0
python3-pillow: upgrade 9.0.0 -> 9.0.1
python3-snappy upgrade 0.6.0 -> 0.6.1
python3-twine: upgrade 3.7.1 -> 3.8.0
python3-xxhash: upgrade 2.0.2 -> 3.0.0
python3-txaio: upgrade 21.2.1 -> 22.2.1
python3-regex :upgrade 2021.11.10 -> 2022.3.2
python3-pywbemtools: upgrade 0.9.1 -> 1.0.0
python3-pymongo: upgrade 4.0.1 -> 4.0.2
python3-wrapt: upgrade 1.13.3 -> 1.14.0
python3-sqlalchemy: upgrade 1.4.31 -> 1.4.32
python3-sentry-sdk: upgrade 1.5.6 -> 1.5.7
python3-alembic: upgrade 1.7.6 -> 1.7.7
python3-arpeggio: upgrade 1.10.2 -> 2.0.0
python3-cachetools: upgrade 4.2.4 -> 5.0.0
python3-cantools: upgrade 37.0.1 -> 37.0.7
python3-intervals: upgrade 1.10.0.post1 -> 1.10.0
Yi Zhao (5):
netplan: fix parallel build failure
nftables: upgrade 1.0.1 -> 1.0.2
postfix: upgrade 3.6.4 -> 3.6.5
dhcp-relay: upgrade 4.4.2p1 -> 4.4.3
apache2: upgrade 2.4.52 -> 2.4.53
Zoltán Böszörményi (1):
nodejs: Upgrade to 16.14.0
wangmy (3):
python3-waitress: upgrade 2.1.0 -> 2.1.1
openvpn: upgrade 2.5.5 -> 2.5.6
rrdtool: upgrade 1.7.2 -> 1.8.0
poky: 49168f5d55..5fe3689f4f:
Ahmad Fatoum (1):
kernel-fitimage: allow overriding FIT configuration prefix
Alejandro Hernandez Samaniego (1):
initramfs-framework: Add overlayroot module
Alexander Kanavin (36):
sstate: do not add TARGET_ARCH to pkgarch for cross recipes.
OELAYOUT_ABI: bump, avoid tmp/ breakage by removing old cross manifests
libsndfile1: correct upstream version check
libarchive: correct upstream version check
glslang/spirv: synchronize with the rest of vulkan items
rust: update 1.58.1 -> 1.59.0
librsvg: update 2.52.5 -> 2.52.6
xwayland: update 21.1.4 -> 22.1.0
apt: upgrade 2.2.4 -> 2.4.0
kea: upgrade 2.0.1 -> 2.0.2
python3-cython: upgrade 0.29.27 -> 0.29.28
diffoscope: upgrade 204 -> 206
harfbuzz: upgrade 3.4.0 -> 4.0.0
libsecret: upgrade 0.20.4 -> 0.20.5
vulkan: upgrade 1.3.204.0 -> 1.3.204.1
mmc-utils: upgrade to latest revision
webkitgtk: upgrade 2.34.5 -> 2.34.6
openssh: update 8.8 -> 8.9
sysklogd: nobranch in SRC_URI is no longer necessary
libuv: fix upstream version check
bind: all even versions now get long term maintenance windows
dbus-test: merge into main dbus recipe
dbus: merge dbus.inc into the recipe
dbus: update 1.12.22 -> 1.14.0
python3-semantic-version: fix upstream verison check
python3-typing-extensions: fix upstream version check
bind: update 9.16.26 -> 9.18.1
perl-cross: update 1.3.6 -> 1.3.7
perl: update 5.34.0 -> 5.34.1
diffoscope: upgrade 206 -> 207
gtk+3: upgrade 3.24.31 -> 3.24.33
squashfs-tools: correct upstream version check
meson: upgrade 0.61.2 -> 0.61.3
mtools: upgrade 4.0.37 -> 4.0.38
sqlite3: upgrade 3.38.0 -> 3.38.1
python3-sphinx-rtd-theme: correct upstream version check
Alexandre Belloni (1):
scripts/patchreview: handle Inactive-Upstream status
Andrew Jeffery (5):
rust: Introduce arch_to_rust_arch()
rust: Introduce RUST_BUILD_ARCH
rust: Add snapshot checksums for powerpc64le
ipk: Import re in manifest module
ipk: Decode byte data to string in manifest handling
Bill Pittman (1):
wic: Use custom kernel path if provided
Bruce Ashfield (19):
linux-yocto/5.15: riscv64: drop MAXPHYSMEM_128GB
linux-yocto/5.10: features/zram: remove CONFIG_ZRAM_DEF_COMP
linux-yocto/5.15: update to v5.15.24
linux-yocto/5.10: update to v5.10.101
linux-yocto/5.10: Fix ramoops/ftrace
linux-yocto/5.15: arm defconfig fixes
linux-yocto/5.15: update to v5.15.26
linux-yocto/5.10: update to v5.10.103
linux-yocto/5.15: riscv32: drop MAXPHYSMEM_1GB
linux-yocto: nohz_full boot arg fix
linux-yocto/5.10: split vtpm for more granular inclusion
linux-yocto/5.15: split vtpm for more granular inclusion
linux-yocto/5.10: cfg/debug: add configs for kcsan
linux-yocto/5.15: cfg/debug: add configs for kcsan
linux-yocto/5.15: update to v5.15.27
linux-yocto-rt/5.15: update to -rt34
linux-yocto-rt/5.10: update to -rt61
linux-yocto/5.15: update to v5.15.30
linux-yocto/5.10: update to v5.10.107
Carlos Rafael Giani (1):
libsdl2: Add libunwind-native to the libsdl2-native DEPENDS
Changhyeok Bae (2):
repo: upgrade 2.21 -> 2.22
mobile-broadband-provider-info: upgrade 20210805 -> 20220315
Chen Qi (1):
multilib_global.bbclass: fix setting preferred version for canadian recipes
Christian Eggers (7):
license: expand_wildcard_licenses: add AGPL-3.0* wildcard
ref-manual: INCOMPATIBLE_LICENSE: use new license wildcards
glib-2.0: upgrade 2.70.4 -> 2.72.0
rust-common: override RUST_LIBC for crosssdk
machine-sdk: clear ABIEXTENSION for class-crosssdk
rust-crosssdk: use ${RUST_LIBC} in ${PN}
librsvg: reenable nativesdk
Claudius Heine (4):
overlayfs: add systemd unit path prefix to FILES:${PN} array
overlayfs-etc: add condition to package-management feature conflict
files: overlayfs-etc: wrap long lines of preinit file
files: overlayfs-etc: add overlay mount options to preinit
Daniel Gomez (1):
bitbake: contrib: Add Dockerfile for building PR service
Daniel Wagenknecht (4):
copy_buildsystem: allow more layer paths
bitbake: fetch2: ssh: username and password are optional
bitbake: fetch2: ssh: fix path handling
bitbake: fetch2: ssh: support checkstatus
David Reyna (4):
bitbake: toaster: Add 'Kirkstone', 'Honister', and 'Hardknott'. Remove 'Dunfell' and 'Gatesgarth'.
bitbake: toaster: automation to generate fixture files
bitbake: toaster: detect when bitbake crashed
bitbake: toaster: race condition for end-of-build
Diego Sueiro (1):
grub-efi: Add option to include all available modules
Joe Slater (5):
zip: modify when match.S is built
weston: require wayland as a distro feature
expect: modify fixline1 script
weston: use same distro features for weston and westion-init
libxml2: fix CVE-2022-23308 regression
Jose Quaresma (18):
icecc.bbclass: enable networking in all tasks
buildhistory.bbclass: create the buildhistory directory when needed
Revert "cmake.bbclass: Set CXXFLAGS and CFLAGS"
sstate: inside the threadedpool don't write to the shared localdata
gstreamer1.0-plugins-base: libgst is already defined on PACKAGES_DYNAMIC
gstreamer1.0-plugins-packaging: rename variables
gstreamer1.0-plugins-bad/ugly: use the GPL-2.0-or-later only when it is in use
gstreamer1.0: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-plugins-base: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-plugins-good: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-plugins-bad: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-plugins-ugly: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-libav: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-omx: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-vaapi: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-rtsp-server: upgrade 1.20.0 -> 1.20.1
gstreamer1.0-python: upgrade 1.20.0 -> 1.20.1
gst-devtools: upgrade 1.20.0 -> 1.20.1
Kai Kang (1):
python3-pyparsing: rdepends on python3-html
Kamil Dziezyk (1):
libacpi: Build libacpi also for 'aarch64' machines
Khem Raj (42):
musl: Update to latest master
libical: Pass TOOLCHAIN_OPTIONS via CFLAGS
libical: Do not set CC explicitly for gir compiler
insane: Accomodate llvm-objdump
systemtap: Enable for riscv64
packagegroup-core-tools-profile: Enable systemtap for riscv64
kmscube: Fix build when x11 is absent in distro features
virglrenderer: Depend on virtual/egl
zlib: Pass ldflags to configure tests using linking
zip: Pass ldflags to configure tests using linking
qemu: Fix build when x11 is not in distro features
webkitgtk: Fix build when x11 is not in distro features
unzip: Pass LDFLAGS to configure tests
libtool: Recognise additional linker commandline options passed by clang
m4: Fix build on musl/ppc
gcompat: Update to latest
powerpc32-linux: Remove libc cached variables
ppc/siteinfo: Fix differences between musl and glibc
gcompat: Do not use static-pie on ppc
linux-yocto: Ignore textrels for ppc64 kernel
binutils: Bump to latest 2.38 release branch
erofs-utils: Use __SANE_USERSPACE_TYPES__ on ppc64
libstd-rs: Fix build on riscv64/musl
qemu: Fix build on ppc64
qemuppc64.conf: Disable huge vmalloc
qemuppc64: Use smp = 2
libucontext: Upgrade to 1.2 release
python3-cryptography: Upgrade to 36.0.2
weston-init: Use pixman on riscv64 qemu
openssh: Default to not using sandbox when cross compiling
qemuriscv: Use virtio-tablet-pci for mouse
weston-init: Use pixman rendering for qemuppc64
qemu: Fix build on systems without MAP_SYNC
libsdl2: Depend on virtual/egl
piglit: Remove virtual/libgl
waffle: Use the right dependencies as needed
webkitgtk: Depend on virtual/egl instead of virtual/libgl
qemu: Depend on libepoxy instead of virtual/libgl
musl: Update to latest master
diffutils: Fix build on ppc/musl
grep: Fix build on ppc/musl
qemu: Disable for ppc32
Konrad Weihmann (2):
pip_install_wheel: improve wheel handling
setuptools_build_meta: remove python dependency
Lee Chee Yang (1):
poky.conf: update tested distro
Luca Boccassi (3):
mount-copybind: fix shellcheck warning
mount-copybind: add MOUNT_COPYBIND_AVOID_OVERLAYFS env var to skip OverlayFS
volatile-binds: add recipe variable to allow disabling OverlayFS
Mark Hatle (2):
insane.bbclass: Update insane.bbclass to work on FIPS enabled hosts
bitbake: utils/ply: Change md5 usages to work on FIPS enabled hosts
Markus Volk (9):
libxslt: update to v1.1.35
x86-base.inc: replace intel i965 driver with crocus
mesa: update to 22.0.0
gtk+3: remove deprecated option
librsvg: inherit vala
xf86-video-intel: add dependencies; remove dri1
mesa: align target- and native build
libva: make buildable for native and nativesdk
wayland: provide wayland-client-native and wayland-protocols-native
Marta Rybczynska (3):
bitbake: lib/bb: more verbose error message
cve-check: add json format
cve-check: add coverage statistics on recipes with/without CVEs
Michael Halstead (2):
releases: update to include 3.3.5
releases: update to include 3.1.15
Michael Olbrich (1):
kernel.bbclass: avoid config changes based on the availability of pahole
Michael Opdenacker (30):
documentation: remove references to prelink support
documentation/README: how to upgrade Sphinx packages
documentation: individual release note files
documentation: release notes for 3.4.2
bitbake: bitbake-user-manual: further override syntax updates
bitbake: bitbake-user-manual: add "crate" fetcher
bitbake: bitbake-user-manual: stop mentioning the Angstrom distribution
bitbake: bitbake-user-manual: add note about the old syntax for OVERRIDES
bitbake: bitbake-user-manual: yet another overrides syntax update
bitbake: bitbake-user-manual: update allowed characters in overrides
bitbake: bitbake-user-manual: add recent release manuals
local.conf.sample: fix reference to extended configuration sample
local.conf.sample: https and no newline for SSTATE_MIRRORS
conf/machine: fix QEMU x86 sound options
bitbake: doc: bitbake-user-manual: reorder variable definitions
docs: overview-manual: formating fixes
docs: migration-3.5.rst: fix "distutils" typo
docs: update examples to add branch info to git URIs
documentation/README: correct heading styles actually used in the YP manuals
manuals: inclusive language updates
dev-manual: details about using firewalls and limiting fetch threads
docs: brief-yoctoprojectqs: update video tutorial
docs: ref-system-requirements.rst: update list of supported distros
ref-manual: sort list of variables in generated output
ref-manual: reorder variable definitions
doc: migration-3.5: move the distutils changes to the class changes section
doc: migration-3.5: variable changes for inclusive language
bitbake: doc: bitbake-user-manual: add branch parameter to git SRC_URI examples
bitbake: doc: bitbake-user-manual: branch parameter now mandatory in git SRC_URIs
bitbake: bitbake: bitbake-user-manual: punctuation fixes
Ming Liu (5):
image.bbclass: make sure do_rootfs run from a clean workspace
weston-init: add use-pixman PACKAGECONFIG
kernel-fitimage.bbclass: introduce get_fit_replacement_type function
kernel-fitimage.bbclass: change 'echo' to 'bbnote'
kernel-fitimage.bbclass: introduce FIT_SUPPORTED_INITRAMFS_FSTYPES
Minjae Kim (2):
gnu-config: update SRC_URI
virglrenderer: update SRC_URI
Nicholas Sielicki (1):
dev-manual: note on using journald without syslog
Olaf Mandel (1):
bitbake: fetch2/git: stop generated tarballs from leaking info
Oleksandr Ocheretnyi (1):
kernel-devsrc: do not copy Module.symvers file during install
Peter Kjellerstedt (24):
license.py: Correct a comment
gma500-gfx-check: Update LICENSE to use an SPDX license identifier
default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0
selftest: recipetool: Correct the URI for socat
recipetool/create_buildsys_python: Add support for more known licenses
recipetool: Use SPDX license identifiers
meta, meta-selftest: Replace more non-SPDX license identifiers
manuals: Update LICENSE vars in examples to use SPDX license identifiers
bitbake: knotty.py: Improve the message while waiting for running tasks to finish
bitbake: knotty.py: Correct the width of the progress bar for the real tasks
bitbake: knotty.py: A little clean up of TerminalFilter::updateFooter()
oe-pkgdata-util: Adapt to the new variable override syntax
create-spdx.bbclass: Remove an unnecessary path from do_create_spdx[dirs]
deploy.bbclass: Remove an unnecessary path from do_deploy[dirs]
package.bbclass: Remove an unnecessary path from do_package[dirs]
image.bbclass: Remove two unnecessary paths from do_rootfs[dirs]
go: Remove three unnecessary paths from do_compile[dirs]
selftest/incompatible_lic: Remove references to AVAILABLE_LICENSES
create-spdx.bbclass: Simplify extraction of license text
license.bbclass: Remove the available_licenses() function
bitbake: server/process: Correct a typo in a comment
glib-2.0: Remove a leftover comment
libdnf: Add a dependency on util-linux
python3: Add a dependency on ncurses
Pgowda (1):
binutils: Avoid Race condition in as.info
Quentin Schulz (1):
ref-manual: classes: provide command with ready-to-use password
Ralph Siemsen (2):
libxml2: move to gitlab.gnome.org
libxml2: update to 2.9.13
Randy MacLeod (1):
libarchive: upgrade 3.5.3 -> 3.6.0
Ricardo Salveti (1):
libpam: use /run instead of /var/run in systemd tmpfiles
Richard Neill (1):
systemd: Update 250.3 -> 250.4
Richard Purdie (113):
pip_install_wheel: Use BPN instead of PN to construct PYPI_PACKAGE default
mutlilib: Handle WHITELIST_GPL-3.0 being unset
recipetool/devtool: Further SPDX identifier cleanups
license/insane: Show warning for obsolete license usage
license: Rework INCOMPATIBLE_LICENSE wildcard handling
libsndfile: Fix missing external library support
python3-native: Drop opt-1 and opt-2 pyc files
cmake-native: Remove help docs from the native sysroot
python3-native: Remove all pyc files
python3: Drop opt1 and opt2 pyc files from target
Revert "libsdl2: Add libunwind-native to the libsdl2-native DEPENDS"
Revert "libical: Pass TOOLCHAIN_OPTIONS via CFLAGS"
layer.conf: Filter docs dependencies for efficiency
layer.conf: Add libarchive-native e2fsprogs-native exclusion from sysroot
python3: Reduce util-linux dependency to util-linux-libuuid
layer.conf: Allow sysroot dependencies on perlcross-native to be skipped
bitbake: knotty: Correctly handle multiple line items
bitbake: knotty: Improve setscene task display
expat: Upgrade 2.4.6 -> 2.4.7
build-appliance-image: Update to master head revision
vim: Update to 8.2.4524 for further CVE fixes
bitbake: server/xmlrpcserver: Add missing xmlrpcclient import
bitbake: uievent: Fix import warning for python 3.10
bitbake: cooker: Fix environment history printing
bitbake: toaster: Fix IMAGE_INSTALL issues with _append vs :append
bitbake: toaster: move gen_fixtures to the correct path
Revert "mesa: make sure GLES3 headers are installed"
oeqa/runtime/ping: Improve failure message to include more detail
scripts/runqemu: Fix memory limits for qemux86-64
shadow-native: Simplify and fix syslog disable patch
bitbake: bitbake: Bump to version 2.0.0
poky: Bump to 4.0 in preparation for release
python3-psutil/python3-bcrypt: Add missing HOMEPAGE
py3o: Rename to python_py3o
setuptools3_rust: Rename to python_setuptools3_rust
poetry_core: Rename to python_poetry_core
python3-cryptography: Add missing ptest tomli dependency
python3-cryptography-vectors: Fix reproducibility
perf-build-test/report: Drop phantomjs and html email reports support
create-spdx: Use function rather than AVAILABLE_LICENSES
sstate: Allow optimisation of do_create_spdx task dependencies
license: Drop AVAILABLE_LICENSES
libstd-rs: Extend to nativesdk
rust-cross: Add rust-crosssdk variant for nativesdk use
cargo: Add missing nativesdk support
python3-cryptography: Fix ptest result handling
python3-docutil: Extend to nativesdk
bitbake: data_smart: Skip commonly accessed variables from variable data context lookup
bitbake: data_smart: Avoid multiple getVarFlag calls
bitbake: codeparser: Avoid log bufer overhead in cache case
python3-snowballstemmer: Add new recipe
python3-imagesize: Add new recipe
python3-alabaster: Add new recipe
python3-pyasn1: Add from meta-oe/meta-python
ptest-packagelists.inc: Add python3-pyasn1 to fast ptests list
python3-certifi: Add from meta-oe/meta-python
python3-chardet: Add from meta-oe/meta-python
python3-ndg-httpsclient: Add from meta-oe/meta-python
python3-pyopenssl: Add from meta-oe/meta-python
python3-pysocks: Add from meta-oe/meta-python
python3-pytest-runner: Add from meta-oe/meta-python
python3-requests: Add from meta-oe/meta-python
python3-urllib3: Add from meta-oe/meta-python
python3-babel: Add recipe from meta-oe/meta-python
python3-sphinxcontrib-qthelp: Add new recipe
python3-sphinxcontrib-devhelp: Add new recipe
python3-sphinxcontrib-htmlhelp: Add new recipe
python3-sphinxcontrib-serializinghtml: Add new recipe
python3-sphinxcontrib-jsmath: Add new recipe
python3-sphinxcontrib-applehelp: add new recipe
python3-sphinx-rtd-theme: Add new recipe
python3-sphinx: Add a new recipe
python3-sphinx: Work around reproducibility issue
python3: Add missing HOMEPAGE entries
maintainers.inc: Add new python recipes
Add buildtools-docs-tarball recipe
buildtools-docs-tarball: Add test for building documentation using sphinx
oeqa/selftest/tinfoil: Improve tinfoil event test debugging
toaster: Fix broken overrides usage
poky.yaml: Drop POKYVERSION and YOCTO_POKY references
poky.yaml: Drop unused YOCTO_DOC_VERSION_MINUS_ONE
Makefile/set_versions: Allow poky.yaml to be autogenerated
conf.py/set_versions/poky.yaml: Set version in conf.py from poky.yaml
set_versions: Add support for setting POKYVERSION found in older releases
set_versions/switchers.js: Allow switchers.js version information to be autogenerated
set_versions: Various improvements
set_versions: Handle dev branch in switchers correctly
set_versions/switchers: Drop versions shown to the active releases
pseudo: Add patch to workaround paths with crazy lengths
libtool: Upgrade 2.4.6 -> 2.4.7
bitbake: siggen: Improve ambiguous use of 'dependent'
Revert "set_versions: Handle dev branch in switchers correctly"
Revert "set_versions/switchers: Drop versions shown to the active releases"
set_versions: Handle dev branch in switchers correctly
set_versions: Correct devbranch comparision
bitbake: utils: Fix lockfile path length issues
sanity: Add warning for local hasheqiv server with remote sstate mirrors
bitbake: tinfoil: Allow run_command not to wait on events
bitbake: cooker/siggen: Support exit calls and use for hashserv client
bitbake: siggen: Add missing reset handler to hashserv signature generator
bitbake: server/process: Move threads left debug to after cooker shutdown
bitbake: cooker: Fix inotify watches causing memory resident bitbake corruption
perl: Add missing RDEPENDS
oeqa/selftest/tinfoil: Fix intermittent event loss issue in test
create-spdx: Avoid regex warning by quoting correctly
bitbake: cooker: Fix exception handling in parsers
bitbake: cooker: Fix main loop starvation when parsing
bitbake: cooker: Improve exception handling in parsing process
bitbake: cooker: Simplify parser init function handling
bitbake: cooker/process: Fix signal handling lockups
bitbake: cooker: Rework force parser shutdown
bitbake: build: Add missing parameter to TaskInvalid
poky: Drop PREMIRRORS entries for scms
Robert Joslyn (1):
curl: Update to 7.82.0
Robert P. J. Day (1):
scripts: Various typo/grammar/punctuation fixes
Robert Yang (4):
coreutils: Disable statx for native build
perl: Makefile.PL: Fix _PATH_LOG for deterministic
quilt: Disable external sendmail for deterministic build
cups: Add --with-dbusdir to EXTRA_OECONF for deterministic build
Ross Burton (67):
Revert "cve-check: add lockfile to task"
classes: add setuptools3_legacy
asciidoc: update git repository
bmap-tools: remove redundant python3native inherit
setuptools3.bbclass: clean up
pip_install_wheel: clean up
pip_install_wheel: don't lazy assign PIPINSTALLARGS
python3-pip: remove obsolete and confusing comment
flit_core: clean up configure/compile
setuptools_build_meta: clean up configure/compile
flit_core: respect PIP_INSTALL_DIST_PATH
flit_core: add variable to control where pyproject.toml is located
setuptools_build_meta: respect PIP_INSTALL_DIST_PATH
setuptools_build_meta: add variable to control where pyproject.toml is located
python3-flit-core: improve recipe
setuptools3: respect PIP_INSTALL_DIST_PATH
python3-pip: clean up PYPA_WHEEL usage
python3-setuptools3: clean up PYPA_WHEEL usage
python3-wheel: clean up PYPA_WHEEL usage
bmap-tools: remove redundant PYPA_WHEEL
python3-markdown: use setuptools_build_meta
python3-pyrsistent: use setuptools_build_meta
python3-pyyaml: use setuptools_build_meta
python3-scons: remove PIP_INSTALL_DIST_PATH
pip_install_wheel: generate the wheels in directory we control outside of S
pip_install_wheel: install wheel with a glob
python3-scons: remove redundant FILES:${PN}-doc
flit_core: remove redundant python3-pip-native DEPENDS
python3-pip: remove redundant DEPENDS on python3-setuptools-native
pip_install_wheel: add a generic do_install for bootstrapping
seatd: upgrade to 0.6.4 (fixes CVE-2022-25643)
setuptools3-base: improve RDEPENDS assignment
meta: remove obsolete PIP_INSTALL_PACKAGE
meta: rename pip_install_wheel.bbclass to python_pep517.bbclass
python_pep517: move PEP517_SOURCE_PATH to python_pep517
python3-setuptools-rust-native: remove obsolete PIP_*
python3-poetry-core: remove obsolete PIP_INSTALL_PACKAGE
poetry_core: update for renamed class pip_install_wheel to python_pep517
python3-cryptography: mark test_create_certificate_with_extensions as expected to fail
python3-cryptography: remove obsolete PIP_INSTALL_DIST_PATH
python3-installer: add installer module
python_pep517: use installer instead of pip
devupstream: fix handling of SRC_URI
linux-yocto: remove redundant devupstream assignments
python3-setuptools-rust-native: use setuptools_build_meta
openssl: upgrade to 3.0.2
Update documentation for Python packaging changes
python3-packaging: remove duplicate python3-setuptools-native DEPENDS
classes/flit_core: use python_pep517_do_compile
classes/python_pep517: implement a standard do_compile
classes/python_poetry_core: use python_pep517_do_compile
classes/python_pep517: add more comments
classes/setuptools_build_meta: use python_pep517_do_compile
classes/flit_core: rename to python_flit_core
classes/python_pep517: consolidate stub do_configure
lttng-modules: remove redundant devupstream assignments
python3-cryptography: enforce identical version for -cryptography-vectors
python3-cryptography-vectors: upgrade to 36.0.2
classes/setuptools_build_meta: rename to python_setuptools_build_meta
bitbake: bitbake: knotty: display active tasks when printing keepAlive() message
bitbake: bitbake: knotty: reduce keep-alive timeout from 5000s (83 minutes) to 10 minutes
tiff: backport CVE fixes:
python3: ignore CVE-2022-26488
oeqa/runtime/context: remove duplicate sys.path entries when looking for modules
grub: ignore CVE-2021-46705
qemu: backport fixes for CVE-2022-26353 and CVE-2022-26354
zlib: backport the fix for CVE-2018-25032
Sakib Sajal (1):
perl: generate alternative link for streamzip
Samuli Piippo (2):
mesa: make sure GLES3 headers are installed
binutils-cross-canadian: enable gold for mingw
Saul Wold (4):
base/license: Rework INCOMPATIBLE_LICENSE variable handling
convert-variable-renames: Fix output string
meta/scripts: Improve internal variable naming
documentation: Update for skip_recipe rename
Stefan Herbrechtsmeier (4):
systemd: move systemd shared library into its own package
classes: rootfs-postcommands: include /etc/fstab in overlayfs_qa_check
oeqa: selftest: overlayfs: add test for image with fstab entry
zstd: add libzstd package
Tean Cunningham (1):
rootfs-postcommands: amend systemd_create_users add user to group check
Tim Orling (44):
flit_core: inherit setuptools3-base
flit_core: export do_configure and do_compile
python3-tomli: inherit flit_core
python3-flit-core: upgrade 3.6.0 to 3.7.1
docs: update setuptools3 class
docs: ref-manual: drop distutils from variables
docs: ref-manual: remove distutils* from classes
docs: migration-3.5: distutils move
docs: migration-2.6 drop distutils labels, terms
docs: migration-3.3 drop distutils labels, terms
docs: add new python packaging classes
docs: add pip install variables
python3-jsonschema: upgrade 3.2.0 -> 4.4.0
python3-importlib-metadata: upgrade 4.10.1 -> 4.11.2
bitbake: toaster-requirements.txt: Django 3.2 LTS
bitbake: toaster: Update docs links in templates
bitbake: toaster: orm/models -- drop django.utils.six
bitbake: toaster: set DEFAULT_AUTO_FIELD
bitbake: toaster: migratation for models.BigAutoField
bitbake: bitbake: buildinfohelper.py fix for Django 3.2
bitbake: toaster: drop landing_not_managed template
python3-setuptools-rust-native: from meta-python
pyo3.bbclass: move from meta-python
setuptools3_rust.bbclass: move from meta-python
python3-cryptography: move from meta-python
python3-pytest-subtests: move from meta-python
python3-cryptography-vectors: from meta-python
python3-asn1crypto: move from meta-python
python3-cffi: move from meta-python
python3-pytz: move from meta-python
python3-bcrypt: move from meta-python
python3-pretend: move from meta-python
python3-psutil: move from meta-python
poetry_core.bbclass: move from meta-python
python3-poetry-core: move from meta-python
python3-iso8601: move from meta-python
python3-typing-extensions: move from meta-python
python3-semantic-version: move from meta-python
python3-pycparser: move from meta-python
python3-ply: move from meta-python
maintainers.inc: add python3-crypto and friends
ptest-packagelists.inc: add python3-cryptography
ptest-packagelists: add python3-bcrypt and -pytz
python3-pytest: upgrade 7.0.1 -> 7.1.1
Tony McDowell (1):
dev-manual: add instructions for compacting WSLv2 VHDX files
Trevor Gamblin (3):
iptables: do not install /etc/ethertypes
iptables: use nft backend with libnftnl PACKAGECONFIG
python3: upgrade 3.10.2 -> 3.10.3
Zoltán Böszörményi (1):
mesa: Allow building Mesa's OpenCL through PACKAGECONFIG
leimaohui (1):
bitbake: monitordisk.py: Deleted redundant word in warning message.
wangmy (72):
python3-git: upgrade 3.1.26 -> 3.1.27
ell: upgrade 0.48 -> 0.49
libgit2: upgrade 1.4.1 -> 1.4.2
nghttp2: upgrade 1.46.0 -> 1.47.0
python3-dbusmock: upgrade 0.25.0 -> 0.26.1
python3-hypothesis: upgrade 6.37.2 -> 6.39.0
at: upgrade 3.2.4 -> 3.2.5
dbus: upgrade 1.12.20 -> 1.12.22
ccache: upgrade 4.5.1 -> 4.6
libjpeg-turbo: upgrade 2.1.2 -> 2.1.3
libsolv: upgrade 0.7.20 -> 0.7.21
libva: upgrade 2.13.0 -> 2.14.0
mesa: upgrade 21.3.6 -> 21.3.7
ovmf: upgrade 202111 -> 202202
wget: upgrade 1.21.2 -> 1.21.3
sqlite3: upgrade 3.37.2 -> 3.38.0
sysstat: upgrade 12.4.4 -> 12.4.5
btrfs-tools: upgrade 5.16 -> 5.16.2
python3-hypothesis: upgrade 6.39.0 -> 6.39.2
cmake: upgrade 3.22.2 -> 3.22.3
asciidoc: upgrade 10.1.3 -> 10.1.4
go: upgrade 1.17.7 -> 1.17.8
gpgme: upgrade 1.17.0 -> 1.17.1
python3-pycairo: upgrade 1.20.1 -> 1.21.0
stress-ng: upgrade 0.13.11 -> 0.13.12
sudo: upgrade 1.9.9 -> 1.9.10
createrepo-c: upgrade 0.18.0 -> 0.19.0
dnf: upgrade 4.10.0 -> 4.11.1
harfbuzz: upgrade 4.0.0 -> 4.0.1
libdnf: upgrade 0.65.0 -> 0.66.0
librsvg: upgrade 2.52.6 -> 2.52.7
linux-firmware: upgrade 20220209 -> 20220310
python3-importlib-metadata: upgrade 4.11.2 -> 4.11.3
lttng-modules: upgrade 2.13.1 -> 2.13.2
python3-numpy: upgrade 1.22.2 -> 1.22.3
libcgroup: upgrade 2.0 -> 2.0.1
libuv: upgrade 1.43.0 -> 1.44.1
dpkg: upgrade 1.21.1 -> 1.21.2
gobject-introspection: upgrade 1.70.0 -> 1.72.0
libdazzle: upgrade 3.42.0 -> 3.44.0
libsolv: upgrade 0.7.21 -> 0.7.22
man-db: upgrade 2.10.1 -> 2.10.2
python3-markupsafe: upgrade 2.1.0 -> 2.1.1
vala: upgrade 0.54.7 -> 0.56.0
adwaita-icon-theme: upgrade 41.0 -> 42.0
bluez5: upgrade 5.63 -> 5.64
gnutls: upgrade 3.7.3 -> 3.7.4
gsettings-desktop-schemas: upgrade 41.0 -> 42.0
rng-tools: enable macro JENT_CONF_ENABLE_INTERNAL_TIMER
libjitterentropy: upgrade 3.3.1 -> 3.4.0
apt: upgrade 2.4.0 -> 2.4.3
atk: upgrade 2.36.0 -> 2.38.0
cronie: upgrade 1.5.7 -> 1.6.0
diffoscope: upgrade 207 -> 208
dpkg: upgrade 1.21.2 -> 1.21.4
glib-networking: upgrade 2.70.1 -> 2.72.0
iproute2: upgrade 5.16.0 -> 5.17.0
libevdev: upgrade 1.12.0 -> 1.12.1
libsoup: upgrade 3.0.4 -> 3.0.5
lttng-modules: upgrade 2.13.2 -> 2.13.3
lttng-ust: upgrade 2.13.1 -> 2.13.2
msmtp: upgrade 1.8.19 -> 1.8.20
sqlite3: upgrade 3.38.1 -> 3.38.2
python3-asn1crypto: upgrade 1.4.0 -> 1.5.1
python3-dbusmock: upgrade 0.26.1 -> 0.27.3
python3-hypothesis: upgrade 6.39.2 -> 6.39.5
python3-imagesize: upgrade 1.2.0 -> 1.3.0
python3-jinja2: upgrade 3.0.3 -> 3.1.1
python3-pytest-runner: upgrade 5.3.1 -> 6.0.0
python3-pytest-subtests: upgrade 0.6.0 -> 0.7.0
python3-pytz: upgrade 2021.3 -> 2022.1
python3-urllib3: upgrade 1.26.8 -> 1.26.9
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ib4c513b74dbc38e31b3792d8323e877294f959d9
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index 506f74d..b8333bd 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -9,7 +9,7 @@
# SPDX-License-Identifier: GPL-2.0-only
#
-__version__ = "1.53.1"
+__version__ = "2.0.0"
import sys
if sys.version_info < (3, 6, 0):
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py
index 65b7fc0..af60c3d 100644
--- a/poky/bitbake/lib/bb/build.py
+++ b/poky/bitbake/lib/bb/build.py
@@ -582,7 +582,7 @@
running it with its own local metadata, and with some useful variables set.
"""
if not d.getVarFlag(task, 'task', False):
- event.fire(TaskInvalid(task, d), d)
+ event.fire(TaskInvalid(task, fn, d), d)
logger.error("No such task: %s" % task)
return 1
diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py
index 0cec452..3b3c3b4 100644
--- a/poky/bitbake/lib/bb/codeparser.py
+++ b/poky/bitbake/lib/bb/codeparser.py
@@ -195,6 +195,10 @@
self.target.handle(record)
self.buffer = []
+class DummyLogger():
+ def flush(self):
+ return
+
class PythonParser():
getvars = (".getVar", ".appendVar", ".prependVar", "oe.utils.conditional")
getvarflags = (".getVarFlag", ".appendVarFlag", ".prependVarFlag")
@@ -276,7 +280,9 @@
self.contains = {}
self.execs = set()
self.references = set()
- self.log = BufferedLogger('BitBake.Data.PythonParser', logging.DEBUG, log)
+ self._log = log
+ # Defer init as expensive
+ self.log = DummyLogger()
self.unhandled_message = "in call of %s, argument '%s' is not a string literal"
self.unhandled_message = "while parsing %s, %s" % (name, self.unhandled_message)
@@ -303,6 +309,9 @@
self.contains[i] = set(codeparsercache.pythoncacheextras[h].contains[i])
return
+ # Need to parse so take the hit on the real log buffer
+ self.log = BufferedLogger('BitBake.Data.PythonParser', logging.DEBUG, self._log)
+
# We can't add to the linenumbers for compile, we can pad to the correct number of blank lines though
node = "\n" * int(lineno) + node
code = compile(check_indent(str(node)), filename, "exec",
@@ -321,7 +330,11 @@
self.funcdefs = set()
self.allexecs = set()
self.execs = set()
- self.log = BufferedLogger('BitBake.Data.%s' % name, logging.DEBUG, log)
+ self._name = name
+ self._log = log
+ # Defer init as expensive
+ self.log = DummyLogger()
+
self.unhandled_template = "unable to handle non-literal command '%s'"
self.unhandled_template = "while parsing %s, %s" % (name, self.unhandled_template)
@@ -340,6 +353,9 @@
self.execs = set(codeparsercache.shellcacheextras[h].execs)
return self.execs
+ # Need to parse so take the hit on the real log buffer
+ self.log = BufferedLogger('BitBake.Data.%s' % self._name, logging.DEBUG, self._log)
+
self._parse_shell(value)
self.execs = set(cmd for cmd in self.allexecs if cmd not in self.funcdefs)
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 0133a32..f435b18 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -253,6 +253,11 @@
return
if not event.pathname in self.configwatcher.bbwatchedfiles:
return
+ if "IN_ISDIR" in event.maskname:
+ if "IN_CREATE" in event.maskname:
+ self.add_filewatch([[event.pathname]], watcher=self.configwatcher, dirs=True)
+ elif "IN_DELETE" in event.maskname and event.pathname in self.watcher.bbseen:
+ self.configwatcher.bbseen.remove(event.pathname)
if not event.pathname in self.inotify_modified_files:
self.inotify_modified_files.append(event.pathname)
self.baseconfig_valid = False
@@ -266,6 +271,11 @@
if event.pathname.endswith("bitbake-cookerdaemon.log") \
or event.pathname.endswith("bitbake.lock"):
return
+ if "IN_ISDIR" in event.maskname:
+ if "IN_CREATE" in event.maskname:
+ self.add_filewatch([[event.pathname]], dirs=True)
+ elif "IN_DELETE" in event.maskname and event.pathname in self.watcher.bbseen:
+ self.watcher.bbseen.remove(event.pathname)
if not event.pathname in self.inotify_modified_files:
self.inotify_modified_files.append(event.pathname)
self.parsecache_valid = False
@@ -555,6 +565,8 @@
if not orig_tracking:
self.enableDataTracking()
self.reset()
+ # reset() resets to the UI requested value so we have to redo this
+ self.enableDataTracking()
def mc_base(p):
if p.startswith('mc:'):
@@ -1601,7 +1613,7 @@
if self.state in (state.shutdown, state.forceshutdown, state.error):
if hasattr(self.parser, 'shutdown'):
- self.parser.shutdown(clean=False, force = True)
+ self.parser.shutdown(clean=False)
self.parser.final_cleanup()
raise bb.BBHandledException()
@@ -1715,6 +1727,7 @@
def post_serve(self):
self.shutdown(force=True)
prserv.serv.auto_shutdown()
+ bb.parse.siggen.exit()
if self.hashserv:
self.hashserv.process.terminate()
self.hashserv.process.join()
@@ -1728,7 +1741,7 @@
self.state = state.shutdown
if self.parser:
- self.parser.shutdown(clean=not force, force=force)
+ self.parser.shutdown(clean=not force)
self.parser.final_cleanup()
def finishcommand(self):
@@ -1996,15 +2009,30 @@
Exception.__init__(self, realexception, recipe)
class Parser(multiprocessing.Process):
- def __init__(self, jobs, results, quit, init, profile):
+ def __init__(self, jobs, results, quit, profile):
self.jobs = jobs
self.results = results
self.quit = quit
- self.init = init
multiprocessing.Process.__init__(self)
self.context = bb.utils.get_context().copy()
self.handlers = bb.event.get_class_handlers().copy()
self.profile = profile
+ self.queue_signals = False
+ self.signal_received = []
+ self.signal_threadlock = threading.Lock()
+
+ def catch_sig(self, signum, frame):
+ if self.queue_signals:
+ self.signal_received.append(signum)
+ else:
+ self.handle_sig(signum, frame)
+
+ def handle_sig(self, signum, frame):
+ if signum == signal.SIGTERM:
+ signal.signal(signal.SIGTERM, signal.SIG_DFL)
+ os.kill(os.getpid(), signal.SIGTERM)
+ elif signum == signal.SIGINT:
+ signal.default_int_handler(signum, frame)
def run(self):
@@ -2024,36 +2052,48 @@
prof.dump_stats(logfile)
def realrun(self):
- if self.init:
- self.init()
+ # Signal handling here is hard. We must not terminate any process or thread holding the write
+ # lock for the event stream as it will not be released, ever, and things will hang.
+ # Python handles signals in the main thread/process but they can be raised from any thread and
+ # we want to defer processing of any SIGTERM/SIGINT signal until we're outside the critical section
+ # and don't hold the lock (see server/process.py). We therefore always catch the signals (so any
+ # new thread should also do so) and we defer handling but we handle with the local thread lock
+ # held (a threading lock, not a multiprocessing one) so that no other thread in the process
+ # can be in the critical section.
+ signal.signal(signal.SIGTERM, self.catch_sig)
+ signal.signal(signal.SIGHUP, signal.SIG_DFL)
+ signal.signal(signal.SIGINT, self.catch_sig)
+ bb.utils.set_process_name(multiprocessing.current_process().name)
+ multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1)
+ multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1)
pending = []
- while True:
- try:
- self.quit.get_nowait()
- except queue.Empty:
- pass
- else:
- self.results.close()
- self.results.join_thread()
- break
-
- if pending:
- result = pending.pop()
- else:
+ try:
+ while True:
try:
- job = self.jobs.pop()
- except IndexError:
- self.results.close()
- self.results.join_thread()
+ self.quit.get_nowait()
+ except queue.Empty:
+ pass
+ else:
break
- result = self.parse(*job)
- # Clear the siggen cache after parsing to control memory usage, its huge
- bb.parse.siggen.postparsing_clean_cache()
- try:
- self.results.put(result, timeout=0.25)
- except queue.Full:
- pending.append(result)
+
+ if pending:
+ result = pending.pop()
+ else:
+ try:
+ job = self.jobs.pop()
+ except IndexError:
+ break
+ result = self.parse(*job)
+ # Clear the siggen cache after parsing to control memory usage, its huge
+ bb.parse.siggen.postparsing_clean_cache()
+ try:
+ self.results.put(result, timeout=0.25)
+ except queue.Full:
+ pending.append(result)
+ finally:
+ self.results.close()
+ self.results.join_thread()
def parse(self, mc, cache, filename, appends):
try:
@@ -2074,12 +2114,12 @@
tb = sys.exc_info()[2]
exc.recipe = filename
exc.traceback = list(bb.exceptions.extract_traceback(tb, context=3))
- return True, exc
+ return True, None, exc
# Need to turn BaseExceptions into Exceptions here so we gracefully shutdown
# and for example a worker thread doesn't just exit on its own in response to
# a SystemExit event for example.
except BaseException as exc:
- return True, ParsingFailure(exc, filename)
+ return True, None, ParsingFailure(exc, filename)
finally:
bb.event.LogHandler.filter = origfilter
@@ -2130,13 +2170,6 @@
self.processes = []
if self.toparse:
bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata)
- def init():
- signal.signal(signal.SIGTERM, signal.SIG_DFL)
- signal.signal(signal.SIGHUP, signal.SIG_DFL)
- signal.signal(signal.SIGINT, signal.SIG_IGN)
- bb.utils.set_process_name(multiprocessing.current_process().name)
- multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1)
- multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1)
self.parser_quit = multiprocessing.Queue(maxsize=self.num_processes)
self.result_queue = multiprocessing.Queue()
@@ -2146,14 +2179,14 @@
self.jobs = chunkify(list(self.willparse), self.num_processes)
for i in range(0, self.num_processes):
- parser = Parser(self.jobs[i], self.result_queue, self.parser_quit, init, self.cooker.configuration.profile)
+ parser = Parser(self.jobs[i], self.result_queue, self.parser_quit, self.cooker.configuration.profile)
parser.start()
self.process_names.append(parser.name)
self.processes.append(parser)
self.results = itertools.chain(self.results, self.parse_generator())
- def shutdown(self, clean=True, force=False):
+ def shutdown(self, clean=True):
if not self.toparse:
return
if self.haveshutdown:
@@ -2168,7 +2201,7 @@
bb.event.fire(event, self.cfgdata)
else:
- bb.error("Parsing halted due to errors")
+ bb.error("Parsing halted due to errors, see error messages above")
for process in self.processes:
self.parser_quit.put(None)
@@ -2182,11 +2215,24 @@
break
for process in self.processes:
- if force:
- process.join(.1)
+ process.join(0.5)
+
+ for process in self.processes:
+ if process.exitcode is None:
+ os.kill(process.pid, signal.SIGINT)
+
+ for process in self.processes:
+ process.join(0.5)
+
+ for process in self.processes:
+ if process.exitcode is None:
process.terminate()
- else:
- process.join()
+
+ for process in self.processes:
+ process.join()
+ # Added in 3.7, cleans up zombies
+ if hasattr(process, "close"):
+ process.close()
self.parser_quit.close()
# Allow data left in the cancel queue to be discarded
@@ -2236,14 +2282,10 @@
result = self.result_queue.get(timeout=0.25)
except queue.Empty:
empty = True
- pass
+ yield None, None, None
else:
empty = False
- value = result[1]
- if isinstance(value, BaseException):
- raise value
- else:
- yield result
+ yield result
if not (self.parsed >= self.toparse):
raise bb.parse.ParseError("Not all recipes parsed, parser thread killed/died? Exiting.", None)
@@ -2254,24 +2296,31 @@
parsed = None
try:
parsed, mc, result = next(self.results)
+ if isinstance(result, BaseException):
+ # Turn exceptions back into exceptions
+ raise result
+ if parsed is None:
+ # Timeout, loop back through the main loop
+ return True
+
except StopIteration:
self.shutdown()
return False
except bb.BBHandledException as exc:
self.error += 1
logger.debug('Failed to parse recipe: %s' % exc.recipe)
- self.shutdown(clean=False, force=True)
+ self.shutdown(clean=False)
return False
except ParsingFailure as exc:
self.error += 1
logger.error('Unable to parse %s: %s' %
(exc.recipe, bb.exceptions.to_string(exc.realexception)))
- self.shutdown(clean=False, force=True)
+ self.shutdown(clean=False)
return False
except bb.parse.ParseError as exc:
self.error += 1
logger.error(str(exc))
- self.shutdown(clean=False, force=True)
+ self.shutdown(clean=False)
return False
except bb.data_smart.ExpansionError as exc:
self.error += 1
@@ -2280,7 +2329,7 @@
tb = list(itertools.dropwhile(lambda e: e.filename.startswith(bbdir), exc.traceback))
logger.error('ExpansionError during parsing %s', value.recipe,
exc_info=(etype, value, tb))
- self.shutdown(clean=False, force=True)
+ self.shutdown(clean=False)
return False
except Exception as exc:
self.error += 1
@@ -2292,7 +2341,7 @@
# Most likely, an exception occurred during raising an exception
import traceback
logger.error('Exception during parse: %s' % traceback.format_exc())
- self.shutdown(clean=False, force=True)
+ self.shutdown(clean=False)
return False
self.current += 1
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index 8d3825f..dd20ca5 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -152,6 +152,9 @@
self['d'] = metadata
def __missing__(self, key):
+ # Skip commonly accessed invalid variables
+ if key in ['bb', 'oe', 'int', 'bool', 'time', 'str', 'os']:
+ raise KeyError(key)
value = self.metadata.getVar(key)
if value is None or self.metadata.getVarFlag(key, 'func', False):
raise KeyError(key)
@@ -670,10 +673,11 @@
self.varhistory.record(**loginfo)
self.setVar(newkey, val, ignore=True, parsing=True)
- for i in (__setvar_keyword__):
- src = self.getVarFlag(key, i, False)
- if src is None:
+ srcflags = self.getVarFlags(key, False, True) or {}
+ for i in srcflags:
+ if i not in (__setvar_keyword__):
continue
+ src = srcflags[i]
dest = self.getVarFlag(newkey, i, False) or []
dest.extend(src)
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index b3c5e6d..4d06a57 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -462,7 +462,10 @@
logger.info("Creating tarball of git repository")
with create_atomic(ud.fullmirror) as tfile:
- runfetchcmd("tar -czf %s ." % tfile, d, workdir=ud.clonedir)
+ mtime = runfetchcmd("git log --all -1 --format=%cD", d,
+ quiet=True, workdir=ud.clonedir)
+ runfetchcmd("tar -czf %s --owner pokybuild --group users --mtime \"%s\" ."
+ % (tfile, mtime), d, workdir=ud.clonedir)
runfetchcmd("touch %s.done" % ud.fullmirror, d)
def clone_shallow_local(self, ud, dest, d):
diff --git a/poky/bitbake/lib/bb/fetch2/ssh.py b/poky/bitbake/lib/bb/fetch2/ssh.py
index 2c8557e..4844530 100644
--- a/poky/bitbake/lib/bb/fetch2/ssh.py
+++ b/poky/bitbake/lib/bb/fetch2/ssh.py
@@ -40,9 +40,9 @@
( # Optional username/password block
(?P<user>\S+) # username
(:(?P<pass>\S+))? # colon followed by the password (optional)
- )?
(?P<cparam>(;[^;]+)*)? # connection parameters block (optional)
@
+ )?
(?P<host>\S+?) # non-greedy match of the host
(:(?P<port>[0-9]+))? # colon followed by the port (optional)
/
@@ -96,6 +96,11 @@
fr += '@%s' % host
else:
fr = host
+
+ if path[0] != '~':
+ path = '/%s' % path
+ path = path.replace("%3A", ":")
+
fr += ':%s' % path
cmd = 'scp -B -r %s %s %s/' % (
@@ -108,3 +113,43 @@
runfetchcmd(cmd, d)
+ def checkstatus(self, fetch, urldata, d):
+ """
+ Check the status of the url
+ """
+ m = __pattern__.match(urldata.url)
+ path = m.group('path')
+ host = m.group('host')
+ port = m.group('port')
+ user = m.group('user')
+ password = m.group('pass')
+
+ if port:
+ portarg = '-P %s' % port
+ else:
+ portarg = ''
+
+ if user:
+ fr = user
+ if password:
+ fr += ':%s' % password
+ fr += '@%s' % host
+ else:
+ fr = host
+
+ if path[0] != '~':
+ path = '/%s' % path
+ path = path.replace("%3A", ":")
+
+ cmd = 'ssh -o BatchMode=true %s %s [ -f %s ]' % (
+ portarg,
+ fr,
+ path
+ )
+
+ check_network_access(d, cmd, urldata.url)
+
+ if runfetchcmd(cmd, d):
+ return True
+
+ return False
diff --git a/poky/bitbake/lib/bb/monitordisk.py b/poky/bitbake/lib/bb/monitordisk.py
index 8d8cfbb..a1b9100 100644
--- a/poky/bitbake/lib/bb/monitordisk.py
+++ b/poky/bitbake/lib/bb/monitordisk.py
@@ -78,7 +78,7 @@
action = pathSpaceInodeRe.group(1)
if action == "ABORT":
# Emit a deprecation warning
- logger.warnonce("The BB_DISKMON_DIRS \"ABORT\" action has been been renamed to \"HALT\", update configuration")
+ logger.warnonce("The BB_DISKMON_DIRS \"ABORT\" action has been renamed to \"HALT\", update configuration")
action = "HALT"
if action not in ("HALT", "STOPTASKS", "WARN"):
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 1636616..ce53fdc 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -20,6 +20,7 @@
import sys
import time
import select
+import signal
import socket
import subprocess
import errno
@@ -243,9 +244,6 @@
ready = self.idle_commands(.1, fds)
- if len(threading.enumerate()) != 1:
- serverlog("More than one thread left?: " + str(threading.enumerate()))
-
serverlog("Exiting")
# Remove the socket file so we don't get any more connections to avoid races
try:
@@ -263,6 +261,9 @@
self.cooker.post_serve()
+ if len(threading.enumerate()) != 1:
+ serverlog("More than one thread left?: " + str(threading.enumerate()))
+
# Flush logs before we release the lock
sys.stdout.flush()
sys.stderr.flush()
@@ -556,7 +557,7 @@
server.run()
finally:
- # Flush any ,essages/errors to the logfile before exit
+ # Flush any messages/errors to the logfile before exit
sys.stdout.flush()
sys.stderr.flush()
@@ -737,11 +738,28 @@
# Why bb.event needs this I have no idea
self.event = self
- def send(self, obj):
- obj = multiprocessing.reduction.ForkingPickler.dumps(obj)
+ def _send(self, obj):
with self.wlock:
self.writer.send_bytes(obj)
+ def send(self, obj):
+ obj = multiprocessing.reduction.ForkingPickler.dumps(obj)
+ # See notes/code in CookerParser
+ # We must not terminate holding this lock else processes will hang.
+ # For SIGTERM, raising afterwards avoids this.
+ # For SIGINT, we don't want to have written partial data to the pipe.
+ # pthread_sigmask block/unblock would be nice but doesn't work, https://bugs.python.org/issue47139
+ process = multiprocessing.current_process()
+ if process and hasattr(process, "queue_signals"):
+ with process.signal_threadlock:
+ process.queue_signals = True
+ self._send(obj)
+ process.queue_signals = False
+ for sig in process.signal_received.pop():
+ process.handle_sig(sig, None)
+ else:
+ self._send(obj)
+
def fileno(self):
return self.writer.fileno()
diff --git a/poky/bitbake/lib/bb/server/xmlrpcserver.py b/poky/bitbake/lib/bb/server/xmlrpcserver.py
index 2fa71be..01f5553 100644
--- a/poky/bitbake/lib/bb/server/xmlrpcserver.py
+++ b/poky/bitbake/lib/bb/server/xmlrpcserver.py
@@ -11,6 +11,7 @@
import time
import inspect
from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
+import bb.server.xmlrpcclient
import bb
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index ebba452..1612b4e 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -156,6 +156,9 @@
return DataCacheProxy()
+ def exit(self):
+ return
+
class SignatureGeneratorBasic(SignatureGenerator):
"""
"""
@@ -489,6 +492,18 @@
self._client = hashserv.create_client(self.server)
return self._client
+ def reset(self, data):
+ if getattr(self, '_client', None) is not None:
+ self._client.close()
+ self._client = None
+ return super().reset(data)
+
+ def exit(self):
+ if getattr(self, '_client', None) is not None:
+ self._client.close()
+ self._client = None
+ return super().exit()
+
def get_stampfile_hash(self, tid):
if tid in self.taskhash:
# If a unique hash is reported, use it as the stampfile hash. This
@@ -1002,7 +1017,7 @@
if changed:
for dep in sorted(changed):
if not collapsed:
- output.append(color_format("{color_title}Hash for dependent task %s changed{color_default} from %s to %s") % (clean_basepath(dep), a[dep], b[dep]))
+ output.append(color_format("{color_title}Hash for task dependency %s changed{color_default} from %s to %s") % (clean_basepath(dep), a[dep], b[dep]))
if callable(recursecb):
recout = recursecb(dep, a[dep], b[dep])
if recout:
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index eff12b7..233ecae 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -11,6 +11,7 @@
import tempfile
import collections
import os
+import tarfile
from bb.fetch2 import URI
from bb.fetch2 import FetchMethod
import bb
@@ -628,6 +629,35 @@
self.assertIn(self.mirror_tarball, dir)
+class CleanTarballTest(FetcherTest):
+ def setUp(self):
+ super(CleanTarballTest, self).setUp()
+ self.recipe_url = "git://git.openembedded.org/bitbake"
+ self.recipe_tarball = "git2_git.openembedded.org.bitbake.tar.gz"
+
+ self.d.setVar('BB_GENERATE_MIRROR_TARBALLS', '1')
+ self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40')
+
+ @skipIfNoNetwork()
+ def test_that_the_tarball_contents_does_not_leak_info(self):
+ fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+
+ fetcher.download()
+
+ fetcher.unpack(self.unpackdir)
+ mtime = bb.process.run('git log --all -1 --format=%ct',
+ cwd=os.path.join(self.unpackdir, 'git'))
+ self.assertEqual(len(mtime), 2)
+ mtime = int(mtime[0])
+
+ archive = tarfile.open(os.path.join(self.dldir, self.recipe_tarball))
+ self.assertNotEqual(len(archive.members), 0)
+ for member in archive.members:
+ self.assertEqual(member.uname, 'pokybuild')
+ self.assertEqual(member.gname, 'users')
+ self.assertEqual(member.mtime, mtime)
+
+
class FetcherLocalTest(FetcherTest):
def setUp(self):
def touch(fn):
diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py
index 02c0bab..e68a3b8 100644
--- a/poky/bitbake/lib/bb/tinfoil.py
+++ b/poky/bitbake/lib/bb/tinfoil.py
@@ -448,7 +448,7 @@
self.run_actions(config_params)
self.recipes_parsed = True
- def run_command(self, command, *params):
+ def run_command(self, command, *params, handle_events=True):
"""
Run a command on the server (as implemented in bb.command).
Note that there are two types of command - synchronous and
@@ -468,7 +468,7 @@
try:
result = self.server_connection.connection.runCommand(commandline)
finally:
- while True:
+ while handle_events:
event = self.wait_event()
if not event:
break
diff --git a/poky/bitbake/lib/bb/ui/buildinfohelper.py b/poky/bitbake/lib/bb/ui/buildinfohelper.py
index 835e92c..0761f73 100644
--- a/poky/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/poky/bitbake/lib/bb/ui/buildinfohelper.py
@@ -227,6 +227,12 @@
build.completed_on = timezone.now()
build.outcome = outcome
build.save()
+
+ # We force a sync point here to force the outcome status commit,
+ # which resolves a race condition with the build completion takedown
+ transaction.set_autocommit(True)
+ transaction.set_autocommit(False)
+
signal_runbuilds()
def update_target_set_license_manifest(self, target, license_manifest_path):
@@ -893,9 +899,6 @@
self.task_order = 0
self.autocommit_step = 1
self.server = server
- # we use manual transactions if the database doesn't autocommit on us
- if not connection.features.autocommits_when_autocommit_is_off:
- transaction.set_autocommit(False)
self.orm_wrapper = ORMWrapper()
self.has_build_history = has_build_history
self.tmp_dir = self.server.runCommand(["getVariable", "TMPDIR"])[0]
@@ -1313,12 +1316,11 @@
task_information['outcome'] = Task.OUTCOME_FAILED
del self.internal_state['taskdata'][identifier]
- if not connection.features.autocommits_when_autocommit_is_off:
- # we force a sync point here, to get the progress bar to show
- if self.autocommit_step % 3 == 0:
- transaction.set_autocommit(True)
- transaction.set_autocommit(False)
- self.autocommit_step += 1
+ # we force a sync point here, to get the progress bar to show
+ if self.autocommit_step % 3 == 0:
+ transaction.set_autocommit(True)
+ transaction.set_autocommit(False)
+ self.autocommit_step += 1
self.orm_wrapper.get_update_task_object(task_information, True) # must exist
@@ -1990,8 +1992,6 @@
# Do not skip command line build events
self.store_log_event(tempevent,False)
- if not connection.features.autocommits_when_autocommit_is_off:
- transaction.set_autocommit(True)
# unset the brbe; this is to prevent subsequent command-line builds
# being incorrectly attached to the previous Toaster-triggered build;
diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py
index 528b8a0..b2e7520 100644
--- a/poky/bitbake/lib/bb/ui/knotty.py
+++ b/poky/bitbake/lib/bb/ui/knotty.py
@@ -228,7 +228,9 @@
def keepAlive(self, t):
if not self.cuu:
- print("Bitbake still alive (%ds)" % t)
+ print("Bitbake still alive (no events for %ds). Active tasks:" % t)
+ for t in self.helper.running_tasks:
+ print(t)
sys.stdout.flush()
def updateFooter(self):
@@ -272,29 +274,39 @@
tasks.append("%s (pid %s)" % (activetasks[t]["title"], activetasks[t]["pid"]))
if self.main.shutdown:
- content = "Waiting for %s running tasks to finish:" % len(activetasks)
+ content = pluralise("Waiting for %s running task to finish",
+ "Waiting for %s running tasks to finish", len(activetasks))
+ if not self.quiet:
+ content += ':'
print(content)
else:
+ scene_tasks = "%s of %s" % (self.helper.setscene_current, self.helper.setscene_total)
+ cur_tasks = "%s of %s" % (self.helper.tasknumber_current, self.helper.tasknumber_total)
+
+ content = ''
+ if not self.quiet:
+ msg = "Setscene tasks: %s" % scene_tasks
+ content += msg + "\n"
+ print(msg)
+
if self.quiet:
- content = "Running tasks (%s of %s/%s of %s)" % (self.helper.setscene_current, self.helper.setscene_total, self.helper.tasknumber_current, self.helper.tasknumber_total)
+ msg = "Running tasks (%s, %s)" % (scene_tasks, cur_tasks)
elif not len(activetasks):
- content = "No currently running tasks (%s of %s/%s of %s)" % (self.helper.setscene_current, self.helper.setscene_total, self.helper.tasknumber_current, self.helper.tasknumber_total)
+ msg = "No currently running tasks (%s)" % cur_tasks
else:
- content = "Currently %2s running tasks (%s of %s/%s of %s)" % (len(activetasks), self.helper.setscene_current, self.helper.setscene_total, self.helper.tasknumber_current, self.helper.tasknumber_total)
+ msg = "Currently %2s running tasks (%s)" % (len(activetasks), cur_tasks)
maxtask = self.helper.tasknumber_total
if not self.main_progress or self.main_progress.maxval != maxtask:
widgets = [' ', progressbar.Percentage(), ' ', progressbar.Bar()]
self.main_progress = BBProgress("Running tasks", maxtask, widgets=widgets, resize_handler=self.sigwinch_handle)
self.main_progress.start(False)
- self.main_progress.setmessage(content)
- progress = self.helper.tasknumber_current - 1
- if progress < 0:
- progress = 0
- content = self.main_progress.update(progress)
+ self.main_progress.setmessage(msg)
+ progress = max(0, self.helper.tasknumber_current - 1)
+ content += self.main_progress.update(progress)
print('')
- lines = 1 + int(len(content) / (self.columns + 1))
- if self.quiet == 0:
- for tasknum, task in enumerate(tasks[:(self.rows - 2)]):
+ lines = self.getlines(content)
+ if not self.quiet:
+ for tasknum, task in enumerate(tasks[:(self.rows - 1 - lines)]):
if isinstance(task, tuple):
pbar, progress, rate, start_time = task
if not pbar.start_time:
@@ -311,11 +323,17 @@
else:
content = "%s: %s" % (tasknum, task)
print(content)
- lines = lines + 1 + int(len(content) / (self.columns + 1))
+ lines = lines + self.getlines(content)
self.footer_present = lines
self.lastpids = runningpids[:]
self.lastcount = self.helper.tasknumber_current
+ def getlines(self, content):
+ lines = 0
+ for line in content.split("\n"):
+ lines = lines + 1 + int(len(line) / (self.columns + 1))
+ return lines
+
def finish(self):
if self.stdinbackup:
fd = sys.stdin.fileno()
@@ -605,7 +623,8 @@
warnings = 0
taskfailures = []
- printinterval = 5000
+ printintervaldelta = 10 * 60 # 10 minutes
+ printinterval = printintervaldelta
lastprint = time.time()
termfilter = tf(main, helper, console_handlers, params.options.quiet)
@@ -615,7 +634,7 @@
try:
if (lastprint + printinterval) <= time.time():
termfilter.keepAlive(printinterval)
- printinterval += 5000
+ printinterval += printintervaldelta
event = eventHandler.waitEvent(0)
if event is None:
if main.shutdown > 1:
@@ -646,7 +665,7 @@
if isinstance(event, logging.LogRecord):
lastprint = time.time()
- printinterval = 5000
+ printinterval = printintervaldelta
if event.levelno >= bb.msg.BBLogFormatter.ERRORONCE:
errors = errors + 1
return_value = 1
diff --git a/poky/bitbake/lib/bb/ui/uievent.py b/poky/bitbake/lib/bb/ui/uievent.py
index e19c770..d595f17 100644
--- a/poky/bitbake/lib/bb/ui/uievent.py
+++ b/poky/bitbake/lib/bb/ui/uievent.py
@@ -44,7 +44,7 @@
for count_tries in range(5):
ret = self.BBServer.registerEventHandler(self.host, self.port)
- if isinstance(ret, collections.Iterable):
+ if isinstance(ret, collections.abc.Iterable):
self.EventHandle, error = ret
else:
self.EventHandle = ret
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index 2e82561..d11da97 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -453,13 +453,16 @@
consider the possibility of sending a signal to the process to break
out - at which point you want block=True rather than retry=True.
"""
- if len(name) > 255:
- root, ext = os.path.splitext(name)
- name = root[:255 - len(ext)] + ext
+ basename = os.path.basename(name)
+ if len(basename) > 255:
+ root, ext = os.path.splitext(basename)
+ basename = root[:255 - len(ext)] + ext
dirname = os.path.dirname(name)
mkdirhier(dirname)
+ name = os.path.join(dirname, basename)
+
if not os.access(dirname, os.W_OK):
logger.error("Unable to acquire lock '%s', directory is not writable",
name)
@@ -538,7 +541,7 @@
Return the hex string representation of the MD5 checksum of filename.
"""
import hashlib
- return _hasher(hashlib.md5(), filename)
+ return _hasher(hashlib.new('MD5', usedforsecurity=False), filename)
def sha256_file(filename):
"""
diff --git a/poky/bitbake/lib/ply/yacc.py b/poky/bitbake/lib/ply/yacc.py
index 46e7dc9..767c4e4 100644
--- a/poky/bitbake/lib/ply/yacc.py
+++ b/poky/bitbake/lib/ply/yacc.py
@@ -2797,11 +2797,8 @@
# Compute a signature over the grammar
def signature(self):
try:
- from hashlib import md5
- except ImportError:
- from md5 import md5
- try:
- sig = md5()
+ import hashlib
+ sig = hashlib.new('MD5', usedforsecurity=False)
if self.start:
sig.update(self.start.encode('latin-1'))
if self.prec:
diff --git a/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 19f659e..834e32b 100644
--- a/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -180,6 +180,77 @@
except Exception as e:
logger.warning("runbuilds: schedule exception %s" % str(e))
+ # Test to see if a build pre-maturely died due to a bitbake crash
+ def check_dead_builds(self):
+ do_cleanup = False
+ try:
+ for br in BuildRequest.objects.filter(state=BuildRequest.REQ_INPROGRESS):
+ # Get the build directory
+ if br.project.builddir:
+ builddir = br.project.builddir
+ else:
+ builddir = '%s-toaster-%d' % (br.environment.builddir,br.project.id)
+ # Check log to see if there is a recent traceback
+ toaster_ui_log = os.path.join(builddir, 'toaster_ui.log')
+ test_file = os.path.join(builddir, '._toaster_check.txt')
+ os.system("tail -n 50 %s > %s" % (os.path.join(builddir, 'toaster_ui.log'),test_file))
+ traceback_text = ''
+ is_traceback = False
+ with open(test_file,'r') as test_file_fd:
+ test_file_tail = test_file_fd.readlines()
+ for line in test_file_tail:
+ if line.startswith('Traceback (most recent call last):'):
+ traceback_text = line
+ is_traceback = True
+ elif line.startswith('NOTE: ToasterUI waiting for events'):
+ # Ignore any traceback before new build start
+ traceback_text = ''
+ is_traceback = False
+ elif line.startswith('Note: Toaster traceback auto-stop'):
+ # Ignore any traceback before this previous traceback catch
+ traceback_text = ''
+ is_traceback = False
+ elif is_traceback:
+ traceback_text += line
+ # Test the results
+ is_stop = False
+ if is_traceback:
+ # Found a traceback
+ errtype = 'Bitbake crash'
+ errmsg = 'Bitbake crash\n' + traceback_text
+ state = BuildRequest.REQ_FAILED
+ # Clean up bitbake files
+ bitbake_lock = os.path.join(builddir, 'bitbake.lock')
+ if os.path.isfile(bitbake_lock):
+ os.remove(bitbake_lock)
+ bitbake_sock = os.path.join(builddir, 'bitbake.sock')
+ if os.path.isfile(bitbake_sock):
+ os.remove(bitbake_sock)
+ if os.path.isfile(test_file):
+ os.remove(test_file)
+ # Add note to ignore this traceback on next check
+ os.system('echo "Note: Toaster traceback auto-stop" >> %s' % toaster_ui_log)
+ is_stop = True
+ # Add more tests here
+ #elif ...
+ # Stop the build request?
+ if is_stop:
+ brerror = BRError(
+ req = br,
+ errtype = errtype,
+ errmsg = errmsg,
+ traceback = traceback_text,
+ )
+ brerror.save()
+ br.state = state
+ br.save()
+ do_cleanup = True
+ # Do cleanup
+ if do_cleanup:
+ self.cleanup()
+ except Exception as e:
+ logger.error("runbuilds: Error in check_dead_builds %s" % e)
+
def handle(self, **options):
pidfile_path = os.path.join(os.environ.get("BUILDDIR", "."),
".runbuilds.pid")
@@ -187,10 +258,18 @@
with open(pidfile_path, 'w') as pidfile:
pidfile.write("%s" % os.getpid())
+ # Clean up any stale/failed builds from previous Toaster run
self.runbuild()
signal.signal(signal.SIGUSR1, lambda sig, frame: None)
while True:
- signal.pause()
- self.runbuild()
+ sigset = signal.sigtimedwait([signal.SIGUSR1], 5)
+ if sigset:
+ for sig in sigset:
+ # Consume each captured pending event
+ self.runbuild()
+ else:
+ # Check for build exceptions
+ self.check_dead_builds()
+
diff --git a/poky/bitbake/lib/toaster/bldcontrol/migrations/0008_models_bigautofield.py b/poky/bitbake/lib/toaster/bldcontrol/migrations/0008_models_bigautofield.py
new file mode 100644
index 0000000..45b477d
--- /dev/null
+++ b/poky/bitbake/lib/toaster/bldcontrol/migrations/0008_models_bigautofield.py
@@ -0,0 +1,48 @@
+# Generated by Django 3.2.12 on 2022-03-06 03:28
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('bldcontrol', '0007_brlayers_optional_gitinfo'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='brbitbake',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='brerror',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='brlayer',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='brtarget',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='brvariable',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='buildenvironment',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='buildrequest',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ ]
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
new file mode 100755
index 0000000..0d5f453
--- /dev/null
+++ b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
@@ -0,0 +1,445 @@
+#!/usr/bin/env python3
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+#
+# Generate Toaster Fixtures for 'poky.xml' and 'oe-core.xml'
+#
+# Copyright (C) 2022 Wind River Systems
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Edit the 'current_releases' table for each new release cycle
+#
+# Usage: ./get_fixtures all
+#
+
+import os
+import sys
+import argparse
+
+verbose = False
+
+####################################
+# Releases
+#
+# https://wiki.yoctoproject.org/wiki/Releases
+#
+# NOTE: for the current releases table, it helps to keep continuing releases
+# in the same table positions since this minimizes the patch diff for review.
+# The order of the table does not matter since Toaster presents them sorted.
+#
+# Traditionally, the two most current releases are included in addition to the
+# 'master' branch and the local installation's 'HEAD'.
+# It is also policy to include all active LTS releases.
+#
+
+# [Codename, Yocto Project Version, Release Date, Current Version, Support Level, Poky Version, BitBake branch]
+current_releases = [
+ # Release slot #1
+ ['Kirkstone','3.5','April 2022','','Future - Long Term Support (until Apr. 2024)','27.0','1.54'],
+# ['Dunfell','3.1','April 2021','3.1.5 (March 2022)','Stable - Support for 13 months (until Apr. 2022)','23.0','1.46'],
+ # 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
+ ['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
+ ['Hardknott','3.3','April 2021','3.3.5 (March 2022)','Stable - Support for 13 months (until Apr. 2022)','25.0','1.50'],
+]
+
+default_poky_layers = [
+ 'openembedded-core',
+ 'meta-poky',
+ 'meta-yocto-bsp',
+]
+
+default_oe_core_layers = [
+ 'openembedded-core',
+]
+
+####################################
+# Templates
+
+prolog_template = '''\
+<?xml version="1.0" encoding="utf-8"?>
+<django-objects version="1.0">
+ <!-- Set the project default value for DISTRO -->
+ <object model="orm.toastersetting" pk="1">
+ <field type="CharField" name="name">DEFCONF_DISTRO</field>
+ <field type="CharField" name="value">{{distro}}</field>
+ </object>
+'''
+
+#<!-- Bitbake versions which correspond to the metadata release -->')
+bitbakeversion_poky_template = '''\
+ <object model="orm.bitbakeversion" pk="{{bitbake_id}}">
+ <field type="CharField" name="name">{{name}}</field>
+ <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
+ <field type="CharField" name="branch">{{branch}}</field>
+ <field type="CharField" name="dirpath">bitbake</field>
+ </object>
+'''
+bitbakeversion_oecore_template = '''\
+ <object model="orm.bitbakeversion" pk="{{bitbake_id}}">
+ <field type="CharField" name="name">{{name}}</field>
+ <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
+ <field type="CharField" name="branch">{{bitbakeversion}}</field>
+ </object>
+'''
+
+# <!-- Releases available -->
+releases_available_template = '''\
+ <object model="orm.release" pk="{{ra_count}}">
+ <field type="CharField" name="name">{{name}}</field>
+ <field type="CharField" name="description">{{description}}</field>
+ <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">{{ra_count}}</field>
+ <field type="CharField" name="branch_name">{{release}}</field>
+ <field type="TextField" name="helptext">Toaster will run your builds {{help_source}}.</field>
+ </object>
+'''
+
+# <!-- Default project layers for each release -->
+default_layers_template = '''\
+ <object model="orm.releasedefaultlayer" pk="{{rdl_count}}">
+ <field rel="ManyToOneRel" to="orm.release" name="release">{{release_id}}</field>
+ <field type="CharField" name="layer_name">{{layer}}</field>
+ </object>
+'''
+
+default_layers_preface = '''\
+ <!-- Default layers provided by poky
+ openembedded-core
+ meta-poky
+ meta-yocto-bsp
+ -->
+'''
+
+layer_poky_template = '''\
+ <object model="orm.layer" pk="{{layer_id}}">
+ <field type="CharField" name="name">{{layer}}</field>
+ <field type="CharField" name="layer_index_url"></field>
+ <field type="CharField" name="vcs_url">{{vcs_url}}</field>
+ <field type="CharField" name="vcs_web_url">{{vcs_web_url}}</field>
+ <field type="CharField" name="vcs_web_tree_base_url">{{vcs_web_tree_base_url}}</field>
+ <field type="CharField" name="vcs_web_file_base_url">{{vcs_web_file_base_url}}</field>
+ </object>
+'''
+
+layer_oe_core_template = '''\
+ <object model="orm.layer" pk="{{layer_id}}">
+ <field type="CharField" name="name">{{layer}}</field>
+ <field type="CharField" name="vcs_url">{{vcs_url}}</field>
+ <field type="CharField" name="vcs_web_url">{{vcs_web_url}}</field>
+ <field type="CharField" name="vcs_web_tree_base_url">{{vcs_web_tree_base_url}}</field>
+ <field type="CharField" name="vcs_web_file_base_url">{{vcs_web_file_base_url}}</field>
+ </object>
+'''
+
+layer_version_template = '''\
+ <object model="orm.layer_version" pk="{{lv_count}}">
+ <field rel="ManyToOneRel" to="orm.layer" name="layer">{{layer_id}}</field>
+ <field type="IntegerField" name="layer_source">0</field>
+ <field rel="ManyToOneRel" to="orm.release" name="release">{{release_id}}</field>
+ <field type="CharField" name="branch">{{branch}}</field>
+ <field type="CharField" name="dirpath">{{dirpath}}</field>
+ </object>
+'''
+
+layer_version_HEAD_template = '''\
+ <object model="orm.layer_version" pk="{{lv_count}}">
+ <field rel="ManyToOneRel" to="orm.layer" name="layer">{{layer_id}}</field>
+ <field type="IntegerField" name="layer_source">0</field>
+ <field rel="ManyToOneRel" to="orm.release" name="release">{{release_id}}</field>
+ <field type="CharField" name="branch">{{branch}}</field>
+ <field type="CharField" name="commit">{{commit}}</field>
+ <field type="CharField" name="dirpath">{{dirpath}}</field>
+ </object>
+'''
+
+layer_version_oe_core_template = '''\
+ <object model="orm.layer_version" pk="1">
+ <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
+ <field rel="ManyToOneRel" to="orm.release" name="release">2</field>
+ <field type="CharField" name="local_path">OE-CORE-LAYER-DIR</field>
+ <field type="CharField" name="branch">HEAD</field>
+ <field type="CharField" name="dirpath">meta</field>
+ <field type="IntegerField" name="layer_source">0</field>
+ </object>
+'''
+
+epilog_template = '''\
+</django-objects>
+'''
+
+#################################
+# Helper Routines
+#
+
+def print_str(str,fd):
+ # Avoid extra newline at end
+ if str and (str[-1] == '\n'):
+ str = str[0:-1]
+ print(str,file=fd)
+
+def print_template(template,params,fd):
+ for line in template.split('\n'):
+ p = line.find('{{')
+ while p > 0:
+ q = line.find('}}')
+ key = line[p+2:q]
+ if key in params:
+ line = line[0:p] + params[key] + line[q+2:]
+ else:
+ line = line[0:p] + '?' + key + '?' + line[q+2:]
+ p = line.find('{{')
+ if line:
+ print(line,file=fd)
+
+#################################
+# Generate poky.xml
+#
+
+def generate_poky():
+ fd = open('poky.xml','w')
+
+ params = {}
+ params['distro'] = 'poky'
+ print_template(prolog_template,params,fd)
+ print_str('',fd)
+
+ print_str(' <!-- Bitbake versions which correspond to the metadata release -->',fd)
+ for i,release in enumerate(current_releases):
+ params = {}
+ params['release'] = release[0]
+ params['Release'] = release[0]
+ params['release_version'] = release[1]
+ if not (params['release'] in ('HEAD')): # 'master',
+ params['release'] = params['release'][0].lower() + params['release'][1:]
+ params['name'] = params['release']
+ params['bitbake_id'] = str(i+1)
+ params['branch'] = params['release']
+ print_template(bitbakeversion_poky_template,params,fd)
+ print_str('',fd)
+
+ print_str('',fd)
+ print_str(' <!-- Releases available -->',fd)
+ for i,release in enumerate(current_releases):
+ params = {}
+ params['release'] = release[0]
+ params['Release'] = release[0]
+ params['release_version'] = release[1]
+ if not (params['release'] in ('HEAD')): #'master',
+ params['release'] = params['release'][0].lower() + params['release'][1:]
+ params['h_release'] = '?h={{release}}'
+ params['name'] = params['release']
+ params['ra_count'] = str(i+1)
+ params['branch'] = params['release']
+
+ if 'HEAD' == params['release']:
+ params['help_source'] = 'with the version of the Yocto Project you have cloned or downloaded to your computer'
+ params['description'] = 'Local Yocto Project'
+ params['name'] = 'local'
+ else:
+ params['help_source'] = 'using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/{{h_release}}">Yocto Project {{Release}} branch</a>'
+ params['description'] = 'Yocto Project {{release_version}} "{{Release}}"'
+ if 'master' == params['release']:
+ params['h_release'] = ''
+ params['description'] = 'Yocto Project master'
+
+ print_template(releases_available_template,params,fd)
+ print_str('',fd)
+
+ print_str(' <!-- Default project layers for each release -->',fd)
+ rdl_count = 1
+ for i,release in enumerate(current_releases):
+ for j,layer in enumerate(default_poky_layers):
+ params = {}
+ params['layer'] = layer
+ params['release'] = release[0]
+ params['Release'] = release[0]
+ params['release_version'] = release[1]
+ if not (params['release'] in ('master','HEAD')):
+ params['release'] = params['release'][0].lower() + params['release'][1:]
+ params['release_id'] = str(i+1)
+ params['rdl_count'] = str(rdl_count)
+ params['branch'] = params['release']
+ print_template(default_layers_template,params,fd)
+ rdl_count += 1
+ print_str('',fd)
+
+ print_str(default_layers_preface,fd)
+ lv_count = 1
+ for i,layer in enumerate(default_poky_layers):
+ params = {}
+ params['layer'] = layer
+ params['layer_id'] = str(i+1)
+ params['vcs_url'] = 'git://git.yoctoproject.org/poky'
+ params['vcs_web_url'] = 'https://git.yoctoproject.org/cgit/cgit.cgi/poky'
+ params['vcs_web_tree_base_url'] = 'https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%'
+ params['vcs_web_file_base_url'] = 'https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%'
+
+ if i:
+ print_str('',fd)
+ print_template(layer_poky_template,params,fd)
+ for j,release in enumerate(current_releases):
+ params['release'] = release[0]
+ params['Release'] = release[0]
+ params['release_version'] = release[1]
+ if not (params['release'] in ('master','HEAD')):
+ params['release'] = params['release'][0].lower() + params['release'][1:]
+ params['release_id'] = str(j+1)
+ params['lv_count'] = str(lv_count)
+ params['branch'] = params['release']
+ params['commit'] = params['release']
+
+ params['dirpath'] = params['layer']
+ if params['layer'] in ('openembedded-core'): #'openembedded-core',
+ params['dirpath'] = 'meta'
+
+ if 'HEAD' == params['release']:
+ print_template(layer_version_HEAD_template,params,fd)
+ else:
+ print_template(layer_version_template,params,fd)
+ lv_count += 1
+
+ print_str(epilog_template,fd)
+ fd.close()
+
+#################################
+# Generate oe-core.xml
+#
+
+def generate_oe_core():
+ fd = open('oe-core.xml','w')
+
+ params = {}
+ params['distro'] = 'nodistro'
+ print_template(prolog_template,params,fd)
+ print_str('',fd)
+
+ print_str(' <!-- Bitbake versions which correspond to the metadata release -->',fd)
+ for i,release in enumerate(current_releases):
+ params = {}
+ params['release'] = release[0]
+ params['Release'] = release[0]
+ params['bitbakeversion'] = release[6]
+ params['release_version'] = release[1]
+ if not (params['release'] in ('HEAD')): # 'master',
+ params['release'] = params['release'][0].lower() + params['release'][1:]
+ params['name'] = params['release']
+ params['bitbake_id'] = str(i+1)
+ params['branch'] = params['release']
+ print_template(bitbakeversion_oecore_template,params,fd)
+ print_str('',fd)
+
+ print_str(' <!-- Releases available -->',fd)
+ for i,release in enumerate(current_releases):
+ params = {}
+ params['release'] = release[0]
+ params['Release'] = release[0]
+ params['release_version'] = release[1]
+ if not (params['release'] in ('HEAD')): #'master',
+ params['release'] = params['release'][0].lower() + params['release'][1:]
+ params['h_release'] = '?h={{release}}'
+ params['name'] = params['release']
+ params['ra_count'] = str(i+1)
+ params['branch'] = params['release']
+
+ if 'HEAD' == params['release']:
+ params['help_source'] = 'with the version of OpenEmbedded that you have cloned or downloaded to your computer'
+ params['description'] = 'Local Openembedded'
+ params['name'] = 'local'
+ else:
+ params['help_source'] = 'using the tip of the <a href=\\"https://cgit.openembedded.org/openembedded-core/log/{{h_release}}\\">OpenEmbedded {{Release}}</a> branch'
+ params['description'] = 'Openembedded {{Release}}'
+ if 'master' == params['release']:
+ params['h_release'] = ''
+ params['description'] = 'OpenEmbedded core master'
+ params['Release'] = params['release']
+
+ print_template(releases_available_template,params,fd)
+ print_str('',fd)
+
+ print_str(' <!-- Default layers for each release -->',fd)
+ rdl_count = 1
+ for i,release in enumerate(current_releases):
+ for j,layer in enumerate(default_oe_core_layers):
+ params = {}
+ params['layer'] = layer
+ params['release'] = release[0]
+ params['Release'] = release[0]
+ params['release_version'] = release[1]
+ if not (params['release'] in ('master','HEAD')):
+ params['release'] = params['release'][0].lower() + params['release'][1:]
+ params['release_id'] = str(i+1)
+ params['rdl_count'] = str(rdl_count)
+ params['branch'] = params['release']
+ print_template(default_layers_template,params,fd)
+ rdl_count += 1
+ print_str('',fd)
+
+ print_str('',fd)
+ print_str(' <!-- Layer for the Local release -->',fd)
+ lv_count = 1
+ for i,layer in enumerate(default_oe_core_layers):
+ params = {}
+ params['layer'] = layer
+ params['layer_id'] = str(i+1)
+ params['vcs_url'] = 'git://git.openembedded.org/openembedded-core'
+ params['vcs_web_url'] = 'https://cgit.openembedded.org/openembedded-core'
+ params['vcs_web_tree_base_url'] = 'https://cgit.openembedded.org/openembedded-core/tree/%path%?h=%branch%'
+ params['vcs_web_file_base_url'] = 'https://cgit.openembedded.org/openembedded-core/tree/%path%?h=%branch%'
+ if i:
+ print_str('',fd)
+ print_template(layer_oe_core_template,params,fd)
+
+ print_template(layer_version_oe_core_template,params,fd)
+ print_str('',fd)
+
+ print_str(epilog_template,fd)
+ fd.close()
+
+#################################
+# Help
+#
+
+def list_releases():
+ print("Release ReleaseVer BitbakeVer Support Level")
+ print("========== =========== ========== ==============================================")
+ for release in current_releases:
+ print("%10s %10s %11s %s" % (release[0],release[1],release[6],release[4]))
+
+#################################
+# main
+#
+
+def main(argv):
+ global verbose
+
+ parser = argparse.ArgumentParser(description='gen_fixtures.py: table generate the fixture files')
+ parser.add_argument('--poky', '-p', action='store_const', const='poky', dest='command', help='Generate the poky.xml file')
+ parser.add_argument('--oe-core', '-o', action='store_const', const='oe_core', dest='command', help='Generate the oe-core.xml file')
+ parser.add_argument('--all', '-a', action='store_const', const='all', dest='command', help='Generate all fixture files')
+ parser.add_argument('--list', '-l', action='store_const', const='list', dest='command', help='List the release table')
+ parser.add_argument('--verbose', '-v', action='store_true', dest='verbose', help='Enable verbose debugging output')
+ args = parser.parse_args()
+
+ verbose = args.verbose
+ if 'poky' == args.command:
+ generate_poky()
+ elif 'oe_core' == args.command:
+ generate_oe_core()
+ elif 'all' == args.command:
+ generate_poky()
+ generate_oe_core()
+ elif 'all' == args.command:
+ list_releases()
+ elif 'list' == args.command:
+ list_releases()
+
+ else:
+ print("No command for 'gen_fixtures.py' selected")
+
+if __name__ == '__main__':
+ main(sys.argv[1:])
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
index b01a337..450e7a2 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
@@ -8,9 +8,9 @@
<!-- Bitbake versions which correspond to the metadata release -->
<object model="orm.bitbakeversion" pk="1">
- <field type="CharField" name="name">dunfell</field>
+ <field type="CharField" name="name">kirkstone</field>
<field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
- <field type="CharField" name="branch">1.46</field>
+ <field type="CharField" name="branch">1.54</field>
</object>
<object model="orm.bitbakeversion" pk="2">
<field type="CharField" name="name">HEAD</field>
@@ -23,18 +23,23 @@
<field type="CharField" name="branch">master</field>
</object>
<object model="orm.bitbakeversion" pk="4">
- <field type="CharField" name="name">gatesgarth</field>
+ <field type="CharField" name="name">honister</field>
<field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
- <field type="CharField" name="branch">1.48</field>
+ <field type="CharField" name="branch">1.52</field>
+ </object>
+ <object model="orm.bitbakeversion" pk="5">
+ <field type="CharField" name="name">hardknott</field>
+ <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
+ <field type="CharField" name="branch">1.50</field>
</object>
<!-- Releases available -->
<object model="orm.release" pk="1">
- <field type="CharField" name="name">dunfell</field>
- <field type="CharField" name="description">Openembedded Dunfell</field>
+ <field type="CharField" name="name">kirkstone</field>
+ <field type="CharField" name="description">Openembedded Kirkstone</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
- <field type="CharField" name="branch_name">dunfell</field>
- <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=dunfell\">OpenEmbedded Dunfell</a> branch.</field>
+ <field type="CharField" name="branch_name">kirkstone</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=kirkstone\">OpenEmbedded Kirkstone</a> branch.</field>
</object>
<object model="orm.release" pk="2">
<field type="CharField" name="name">local</field>
@@ -51,11 +56,18 @@
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/\">OpenEmbedded master</a> branch.</field>
</object>
<object model="orm.release" pk="4">
- <field type="CharField" name="name">gatesgarth</field>
- <field type="CharField" name="description">Openembedded Gatesgarth</field>
+ <field type="CharField" name="name">honister</field>
+ <field type="CharField" name="description">Openembedded Honister</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
- <field type="CharField" name="branch_name">gatesgarth</field>
- <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=gatesgarth\">OpenEmbedded Gatesgarth</a> branch.</field>
+ <field type="CharField" name="branch_name">honister</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=honister\">OpenEmbedded Honister</a> branch.</field>
+ </object>
+ <object model="orm.release" pk="5">
+ <field type="CharField" name="name">hardknott</field>
+ <field type="CharField" name="description">Openembedded Hardknott</field>
+ <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
+ <field type="CharField" name="branch_name">hardknott</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=hardknott\">OpenEmbedded Hardknott</a> branch.</field>
</object>
<!-- Default layers for each release -->
@@ -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 363789d..ed86114 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
@@ -8,9 +8,9 @@
<!-- Bitbake versions which correspond to the metadata release -->
<object model="orm.bitbakeversion" pk="1">
- <field type="CharField" name="name">dunfell</field>
+ <field type="CharField" name="name">kirkstone</field>
<field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
- <field type="CharField" name="branch">dunfell</field>
+ <field type="CharField" name="branch">kirkstone</field>
<field type="CharField" name="dirpath">bitbake</field>
</object>
<object model="orm.bitbakeversion" pk="2">
@@ -26,20 +26,26 @@
<field type="CharField" name="dirpath">bitbake</field>
</object>
<object model="orm.bitbakeversion" pk="4">
- <field type="CharField" name="name">gatesgarth</field>
+ <field type="CharField" name="name">honister</field>
<field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
- <field type="CharField" name="branch">gatesgarth</field>
+ <field type="CharField" name="branch">honister</field>
+ <field type="CharField" name="dirpath">bitbake</field>
+ </object>
+ <object model="orm.bitbakeversion" pk="5">
+ <field type="CharField" name="name">hardknott</field>
+ <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
+ <field type="CharField" name="branch">hardknott</field>
<field type="CharField" name="dirpath">bitbake</field>
</object>
<!-- Releases available -->
<object model="orm.release" pk="1">
- <field type="CharField" name="name">dunfell</field>
- <field type="CharField" name="description">Yocto Project 3.1 "Dunfell"</field>
+ <field type="CharField" name="name">kirkstone</field>
+ <field type="CharField" name="description">Yocto Project 3.5 "Kirkstone"</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
- <field type="CharField" name="branch_name">dunfell</field>
- <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=dunfell">Yocto Project Dunfell branch</a>.</field>
+ <field type="CharField" name="branch_name">kirkstone</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=kirkstone">Yocto Project Kirkstone branch</a>.</field>
</object>
<object model="orm.release" pk="2">
<field type="CharField" name="name">local</field>
@@ -56,11 +62,18 @@
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/">Yocto Project Master branch</a>.</field>
</object>
<object model="orm.release" pk="4">
- <field type="CharField" name="name">gatesgarth</field>
- <field type="CharField" name="description">Yocto Project 3.2 "Gatesgarth"</field>
+ <field type="CharField" name="name">honister</field>
+ <field type="CharField" name="description">Yocto Project 3.4 "Honister"</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
- <field type="CharField" name="branch_name">gatesgarth</field>
- <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=gatesgarth">Yocto Project Gatesgarth branch</a>.</field>
+ <field type="CharField" name="branch_name">honister</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=honister">Yocto Project Honister branch</a>.</field>
+ </object>
+ <object model="orm.release" pk="5">
+ <field type="CharField" name="name">hardknott</field>
+ <field type="CharField" name="description">Yocto Project 3.3 "Hardknott"</field>
+ <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
+ <field type="CharField" name="branch_name">hardknott</field>
+ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=hardknott">Yocto Project Hardknott branch</a>.</field>
</object>
<!-- Default project layers for each release -->
@@ -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
@@ -130,7 +155,7 @@
<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">1</field>
- <field type="CharField" name="branch">dunfell</field>
+ <field type="CharField" name="branch">kirkstone</field>
<field type="CharField" name="dirpath">meta</field>
</object>
<object model="orm.layer_version" pk="2">
@@ -152,7 +177,14 @@
<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">4</field>
- <field type="CharField" name="branch">gatesgarth</field>
+ <field type="CharField" name="branch">honister</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">hardknott</field>
<field type="CharField" name="dirpath">meta</field>
</object>
@@ -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">dunfell</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,18 +211,25 @@
<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">gatesgarth</field>
+ <field type="CharField" name="branch">honister</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">hardknott</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
@@ -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">dunfell</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">gatesgarth</field>
+ <field type="CharField" name="branch">honister</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">hardknott</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
</django-objects>
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/settings.xml b/poky/bitbake/lib/toaster/orm/fixtures/settings.xml
index 78c0fdc..ab3ea02 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/settings.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/settings.xml
@@ -19,7 +19,7 @@
<field type="CharField" name="value">${TOPDIR}/../sstate-cache</field>
</object>
<object model="orm.toastersetting" pk="6">
- <field type="CharField" name="name">DEFCONF_IMAGE_INSTALL_append</field>
+ <field type="CharField" name="name">DEFCONF_IMAGE_INSTALL:append</field>
<field type="CharField" name="value"></field>
</object>
<object model="orm.toastersetting" pk="7">
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0020_models_bigautofield.py b/poky/bitbake/lib/toaster/orm/migrations/0020_models_bigautofield.py
new file mode 100644
index 0000000..f19b5dd
--- /dev/null
+++ b/poky/bitbake/lib/toaster/orm/migrations/0020_models_bigautofield.py
@@ -0,0 +1,173 @@
+# Generated by Django 3.2.12 on 2022-03-06 03:28
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('orm', '0019_django_2_2'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bitbakeversion',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='build',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='distro',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='helptext',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='layer',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='layer_version',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='layerversiondependency',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='logmessage',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='machine',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='package',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='package_dependency',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='package_file',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='project',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='projectlayer',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='projecttarget',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='projectvariable',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='provides',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='recipe',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='recipe_dependency',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='release',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='releasedefaultlayer',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='target',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='target_file',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='target_image_file',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='target_installed_package',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='targetkernelfile',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='targetsdkfile',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='task_dependency',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='toastersetting',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='variable',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='variablehistory',
+ name='id',
+ field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ ]
diff --git a/poky/bitbake/lib/toaster/orm/models.py b/poky/bitbake/lib/toaster/orm/models.py
index 4c94b40..2cb7d7e 100644
--- a/poky/bitbake/lib/toaster/orm/models.py
+++ b/poky/bitbake/lib/toaster/orm/models.py
@@ -58,7 +58,6 @@
return _base_insert(self, *args, **kwargs)
QuerySet._insert = _insert
- from django.utils import six
def _create_object_from_params(self, lookup, params):
"""
Tries to create an object using passed params.
@@ -1717,7 +1716,7 @@
def generate_recipe_file_contents(self):
"""Generate the contents for the recipe file."""
- # If we have no excluded packages we only need to _append
+ # If we have no excluded packages we only need to :append
if self.excludes_set.count() == 0:
packages_conf = "IMAGE_INSTALL:append = \" "
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/base.html b/poky/bitbake/lib/toaster/toastergui/templates/base.html
index 9e19cc3..2b30549 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/base.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/base.html
@@ -123,7 +123,7 @@
{% endif %}
{% endif %}
<li id="navbar-docs">
- <a target="_blank" href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html">
+ <a target="_blank" href="http://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual">
<i class="glyphicon glyphicon-book"></i>
Documentation
</a>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/configvars.html b/poky/bitbake/lib/toaster/toastergui/templates/configvars.html
index 33fef93..691dace 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/configvars.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/configvars.html
@@ -66,7 +66,7 @@
<td class="description">
{% if variable.description %}
{{variable.description}}
- <a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-{{variable.variable_name|variable_parent_name}}" target="_blank">
+ <a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-{{variable.variable_name|variable_parent_name}}" target="_blank">
<span class="glyphicon glyphicon-new-window get-info"></span></a>
{% endif %}
</td>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/landing.html b/poky/bitbake/lib/toaster/toastergui/templates/landing.html
index bfaaf6f..08b40fb 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/landing.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/landing.html
@@ -15,7 +15,7 @@
<p>A web interface to <a href="https://www.openembedded.org">OpenEmbedded</a> and <a href="https://www.yoctoproject.org/tools-resources/projects/bitbake">BitBake</a>, the <a href="https://www.yoctoproject.org">Yocto Project</a> build system.</p>
<p class="top-air">
- <a class="btn btn-info btn-lg" href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#toaster-manual-setup-and-use">
+ <a class="btn btn-info btn-lg" href="http://docs.yoctoproject.org/toaster-manual/setup-and-use.html#setting-up-and-using-toaster">
Toaster is ready to capture your command line builds
</a>
</p>
@@ -33,7 +33,7 @@
Toaster has no layer information. Without layer information, you cannot run builds. To generate layer information you can:
<ul>
<li>
- <a href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a>
+ <a href="http://docs.yoctoproject.org/toaster-manual/reference.html#layer-source">Configure a layer source</a>
</li>
<li>
<a href="{% url 'newproject' %}">Create a project</a>, then import layers
@@ -44,7 +44,7 @@
<ul class="list-unstyled lead">
<li>
- <a href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html">
+ <a href="http://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual">
Read the Toaster manual
</a>
</li>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html b/poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html
deleted file mode 100644
index e7200b8..0000000
--- a/poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html
+++ /dev/null
@@ -1,34 +0,0 @@
-{% extends "base.html" %}
-
-{% load static %}
-{% load projecttags %}
-{% load humanize %}
-
-{% block title %} Welcome to Toaster {% endblock %}
-
-{% block pagecontent %}
-
- <div class="container">
- <div class="row">
- <!-- Empty - no build module -->
- <div class="page-header top-air">
- <h1>
- This page only works with Toaster in 'Build' mode
- </h1>
- </div>
- <div class="alert alert-info lead">
- <p">
- The 'Build' mode allows you to configure and run your Yocto Project builds from Toaster.
- <ul>
- <li><a href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#intro-modes">
- Read about the 'Build' mode
- </a></li>
- <li><a href="/">
- View your builds
- </a></li>
- </ul>
- </p>
- </div>
- </div>
-
-{% endblock %}
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/project.html b/poky/bitbake/lib/toaster/toastergui/templates/project.html
index d8ad2c7..22239a8 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/project.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/project.html
@@ -139,7 +139,7 @@
<ul>
<li><a href="{% url 'projectlayers' project.id %}">Choose from the layers compatible with this project</a></li>
<li><a href="{% url 'importlayer' project.id %}">Import a layer</a></li>
- <li><a href="https://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
+ <li><a href="http://docs.yoctoproject.org/dev-manual/common-tasks.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
<li>Or type a layer name below</li>
</ul>
</div>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html b/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html
index 42725c0..76d45b1 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html
@@ -137,7 +137,7 @@
<ul>
<li><a href="{% url 'projectlayers' project.id %}">Choose from the layers compatible with this project</a></li>
<li><a href="{% url 'importlayer' project.id %}">Import a layer</a></li>
- <li><a href="https://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
+ <li><a href="http://docs.yoctoproject.org/dev-manual/common-tasks.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
<li>Or type a layer name below</li>
</ul>
</div>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html b/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
index d62691d..c306835 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
@@ -73,7 +73,7 @@
{% if image_install_append_defined %}
<dt>
- <span class="js-config-var-name js-config-var-managed-name">IMAGE_INSTALL_append</span>
+ <span class="js-config-var-name js-config-var-managed-name">IMAGE_INSTALL:append</span>
<span class="glyphicon glyphicon-question-sign get-help" title="Specifies additional packages to install into an image. If your build creates more than one image, the packages will be installed in all of them"></span>
</dt>
<dd class="variable-list">
@@ -83,7 +83,7 @@
<form id="change-image_install-form" class="form-inline" style="display:none;">
<div class="row">
<div class="col-md-4">
- <span class="help-block">To set IMAGE_INSTALL_append to more than one package, type the package names separated by a space.</span>
+ <span class="help-block">To set IMAGE_INSTALL:append to more than one package, type the package names separated by a space.</span>
</div>
</div>
<div class="form-group">
@@ -201,12 +201,12 @@
<p>Toaster cannot set any variables that impact 1) the configuration of the build servers,
or 2) where artifacts produced by the build are stored. Such variables include: </p>
<p>
- <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-BB_DISKMON_DIRS" target="_blank">BB_DISKMON_DIRS</a></code>
- <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-BB_NUMBER_THREADS" target="_blank">BB_NUMBER_THREADS</a></code>
+ <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-BB_DISKMON_DIRS" target="_blank">BB_DISKMON_DIRS</a></code>
+ <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-BB_NUMBER_THREADS" target="_blank">BB_NUMBER_THREADS</a></code>
<code>CVS_PROXY_HOST</code>
<code>CVS_PROXY_PORT</code>
- <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PARALLEL_MAKE" target="_blank">PARALLEL_MAKE</a></code>
- <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-TMPDIR" target="_blank">TMPDIR</a></code></p>
+ <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-PARALLEL_MAKE" target="_blank">PARALLEL_MAKE</a></code>
+ <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-TMPDIR" target="_blank">TMPDIR</a></code></p>
<p>Plus the following standard shell environment variables:</p>
<p><code>http_proxy</code> <code>ftp_proxy</code> <code>https_proxy</code> <code>all_proxy</code></p>
</div>
@@ -771,10 +771,10 @@
{% if image_install_append_defined %}
- // init IMAGE_INSTALL_append trash icon
+ // init IMAGE_INSTALL:append trash icon
setDeleteTooltip($('#delete-image_install-icon'));
- // change IMAGE_INSTALL_append variable
+ // change IMAGE_INSTALL:append variable
$('#change-image_install-icon').click(function() {
// preset the edit value
var current_val = $("span#image_install").text().trim();
@@ -814,7 +814,7 @@
$('#apply-change-image_install').click(function(){
// insure these non-empty values have single space prefix
var value = " " + $('#new-image_install').val().trim();
- postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL_append:'+value});
+ postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL:append:'+value});
$('#image_install').text(value);
$('#image_install').removeClass('text-muted');
$("#change-image_install-form").slideUp(function () {
@@ -826,10 +826,10 @@
});
});
- // delete IMAGE_INSTALL_append variable value
+ // delete IMAGE_INSTALL:append variable value
$('#delete-image_install-icon').click(function(){
$(this).tooltip('hide');
- postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL_append:'+''});
+ postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL:append:'+''});
$('#image_install').parent().fadeOut(1000, function(){
$('#image_install').addClass('text-muted');
$('#image_install').text('Not set');
@@ -1011,7 +1011,7 @@
$(".save").attr("disabled","disabled");
// Reload page if admin-removed core managed value is manually added back in
- if (0 <= " DISTRO DL_DIR IMAGE_FSTYPES IMAGE_INSTALL_append PACKAGE_CLASSES SSTATE_DIR ".indexOf( " "+variable+" " )) {
+ if (0 <= " DISTRO DL_DIR IMAGE_FSTYPES IMAGE_INSTALL:append PACKAGE_CLASSES SSTATE_DIR ".indexOf( " "+variable+" " )) {
// delayed reload to avoid race condition with postEditAjaxRequest
do_reload=true;
}
diff --git a/poky/bitbake/lib/toaster/toastermain/settings.py b/poky/bitbake/lib/toaster/toastermain/settings.py
index a4b370c..609c85d 100644
--- a/poky/bitbake/lib/toaster/toastermain/settings.py
+++ b/poky/bitbake/lib/toaster/toastermain/settings.py
@@ -39,6 +39,9 @@
}
}
+# New in Django 3.2
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
# Needed when Using sqlite especially to add a longer timeout for waiting
# for the database lock to be released
# https://docs.djangoproject.com/en/1.6/ref/databases/#database-is-locked-errors