summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* influxdb: Update module cache contentChristian Lindeberg6 days1-3/+3
| | | | | | | | | The Go module cache content URIs has been regenerated by listing dependencies with "${GO_INSTALL}" instead of "${GO_IMPORT}/..." as the package patterns. Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* influxdb: Add spdx parameter to license URIsChristian Lindeberg7 days1-64/+64
| | | | | | | | Add an "spdx" parameter with the identified license name to the URIs in LIC_FILES_CHECKSUM in influxdb-licenses.inc. Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* crucible: Update module cache contentChristian Lindeberg7 days1-116/+0
| | | | | | | | | The Go module cache content URIs has been regenerated by listing dependencies with "${GO_INSTALL}" instead of "${GO_IMPORT}/..." as the package patterns. Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* crucible: Add spdx parameter to license URIsChristian Lindeberg7 days1-36/+36
| | | | | | | | Add an "spdx" parameter with the identified license name to the URIs in LIC_FILES_CHECKSUM in crucible-licenses.inc. Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* image_types_verity.bbclass: remove breaking unit suffix from ↵Bastian Krause7 days1-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | machine-readable verity parameters Since cryptsetup 2.8.0 [1], "veritysetup format" prints " [bytes]" suffixes for "Data block size" and "Hash block size" parameters: UUID: Hash type: 1 Data blocks: 34655 Data block size: 4096 [bytes] Hash blocks: 275 Hash block size: 4096 [bytes] Hash algorithm: sha256 Salt: 8a8d8d807bd9838a80397a13b3bc13c55780ff1677ee4489366b17dab1b29316 Root hash: bd85312151dc5c69efce943038e0ac4b92e14d8954cce5d3cc90513837f854bf This output is directly converted to a shell sourcable form in "${DEPLOY_DIR_IMAGE}/<IMAGE_LINK_NAME>.verity-params" used to create the desired block device via "dmsetup" during runtime. The unit suffix becomes part of the VERITY_DATA_BLOCK_SIZE and VERITY_HASH_BLOCK_SIZE variables, breaking its consumers: /init: /verity-params: line 4: [bytes]: not found /init: /verity-params: line 6: [bytes]: not found verity root hash: bd85312151dc5c69efce943038e0ac4b92e14d8954cce5d3cc90513837f854bf [ 3.323577] device-mapper: table: 253:0: verity: Invalid data device block size (-EINVAL) [ 3.323595] device-mapper: ioctl: error adding target to table [ 3.345301] /dev/dm-0: Can't lookup blockdev Fix this by removing the unit suffixes from the values. Ideally veritysetup should support machine-readable output, but that did not spark joy on the maintainer's side [2] (at least in veritysetup itself). [1] commit f8788f34 ("Mark all sizes in status and dump output in the correct units.") [2] https://gitlab.com/cryptsetup/cryptsetup/-/issues/638 Signed-off-by: Bastian Krause <bst@pengutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* ssd1306: Update to newer versionLeon Anavi7 days1-1/+1
| | | | | | | | | Update to the latest version of the source code in GitHub: - Use snprintf to replace strncpy without null string at last Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* xdebug: upgrade 3.4.2 -> 3.4.5Jason Schonberg8 days1-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | [2025-07-14] — Xdebug 3.4.5 Fixed bug #2332: Segmentation fault for code coverage with nested fibers Fixed bug #2356: Reading properties with get hooks may modify property value [2025-06-12] — Xdebug 3.4.4 Fixed bug #2349: Regression in Xdebug 3.4.3 breaks throwing exceptions in nested generators Fixed bug #2350: Crash when a certain page generates an exception since Xdebug 3.4.3 Fixed bug #2352: Crash when using latest Xdebug version when throwing exceptions Fixed bug #2354: The __invoke frame in call stacks don't have the argument name in the trace [2025-05-14] — Xdebug 3.4.3 Fixed bug #2322: Xdebug tries to open debugging connection in destructors during shutdown Fixed bug #2325: Referred chrome browser extension is no longer working Fixed bug #2326: Step debugger finishes if property debugging handler in PHP throws an exception Fixed bug #2331: Segmentation fault with 'invalid' variable names Fixed bug #2339: Trying to throw an exception can cause a zend_mm_heap corrupted error under specific circumstances Fixed bug #2340: Xdebug case sensitivity issues on some files introduced since 3.3.0 Fixed bug #2343: Fatal error on virtual property hook step debugging Fixed bug #2348: Xdebug does not resolve breakpoints in property hooks Signed-off-by: Jason Schonberg <schonm@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-behave: Upgrade 1.2.6 -> 1.3.2Leon Anavi8 days2-17/+18
| | | | | | | | | | | | | | | | | | | Upgrade to 1.3.2: - Recursive discovery and import in steps directory is now disabled by default. An expert user can enable this feature again (if he/she knows what he/she is doing). - RTFD: Enable PDF output format again (for download). - Improve command-line option descriptions (show: value). - Use "confval" directive for config-file parameters. - api: Add "Configuration" class description. - Include changes from pull - Fix more deadlinks in docs License-Update: Update authors and years Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-cucumber-tag-expressions: Add recipeLeon Anavi8 days1-0/+15
| | | | | | | | Add recipe for cucumber-tag-expressions, release 6.2.0. It provides a tag-expression parser and evaluation logic for cucumber/behave. Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-charset-normalizer: Upgrade 3.4.2 -> 3.4.3Leon Anavi8 days2-31/+2
| | | | | | | | | | | | | | | | | | Upgrade to release 3.4.3: - mypy(c) is no longer a required dependency at build time if CHARSET_NORMALIZER_USE_MYPYC isn't set to 1. - automatically lower confidence on small bytes samples that are not Unicode in detect output legacy function. - Custom build backend to overcome inability to mark mypy as an optional dependency in the build phase. - Support for Python 3.14 - sdist archive contained useless directories. - automatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* klibc: Do not let clang generate wcslen builtinKhem Raj8 days1-1/+1
| | | | | | | | | | | | clang-21 decides to emit wcslen call on arm architecture klibc does not provide widechar support so it should not be used. Fixes | arm-yoe-linux-gnueabi-ld.bfd: usr/kinit/do_mounts_md.o: in function `md_run': | /usr/src/debug/klibc/2.0.14/usr/kinit/do_mounts_md.c:294:(.text+0x5d6): undefined reference to `wcslen' Signed-off-by: Khem Raj <raj.khem@gmail.com>
* klibc: Upgrade to 2.0.14Khem Raj8 days7-1/+143
| | | | | | Backport couple of clang related fixes from upstream Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libjxl: Upgrade to 0.11.1Khem Raj8 days1-1/+5
| | | | | | Use -fno-integrated-as with clang on arm architecture Signed-off-by: Khem Raj <raj.khem@gmail.com>
* php: upgrade 8.4.11 -> 8.4.12Jason Schonberg8 days1-1/+1
| | | | | | | | | This is just a bug fix release. Changelog: https://www.php.net/ChangeLog-8.php#8.4.12 Signed-off-by: Jason Schonberg <schonm@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* minifi-cpp: Include cstdlib in fmt for free/mallocKhem Raj10 days2-0/+39
| | | | | | This helps in compiling with clang-21 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* castxml: Upgrade to 0.6.13 releaseKhem Raj10 days1-3/+3
| | | | | | Fixes build with clang-21 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* hiawatha: Fix bundled mbedtls with clang-21Khem Raj10 days4-1/+123
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* ot-br-posix: Fix build with clang-21Khem Raj10 days2-1/+34
| | | | | | | Update to latest tip of trunk Fix mbedTLS issue seen with clang-21 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openal-soft: Fix build with clang-21Khem Raj10 days2-2/+41
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: Fix build with LLVM/Clang 21Khem Raj10 days2-0/+51
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* 7zip: Disable WerrorKhem Raj11 days2-7/+32
| | | | | | | Clang-21 finds more warnings, its a constant fight, lets disable warning as errors and let upstream handle it Signed-off-by: Khem Raj <raj.khem@gmail.com>
* mdns: Upgrade 2600.120.12 -> 2600.140.3Alex Kiernan11 days9-22/+18
| | | | | | | Also cleanup dangling comments in the recipe. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* snapper: update 0.11.2 -> 0.12.2Markus Volk12 days3-78/+9
| | | | | | | | - remove patches that were added upstream - fix reproducibility issues Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: upgrade 22.18.0 -> 22.19.0Jason Schonberg12 days3-2/+2
| | | | | | | | | | License-Update: Add sonic-boom under MIT License https://github.com/nodejs/node/commit/0edf17198fe118c6cc39746feb8707a91d739f94 Changelog: https://github.com/nodejs/node/releases/tag/v22.19.0 Signed-off-by: Jason Schonberg <schonm@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libiio: Add sysvinit supportNuno Sá12 days1-1/+3
| | | | | | | | Libiio can also be built with a sysvinit init script. Hence, enable it as iiod still runs on some system running sysvinit init scripts. Signed-off-by: Nuno Sá <nuno.sa@analog.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libiio: Add hwmon supportNuno Sá12 days1-1/+2
| | | | | | | | | | | Libiiop now supports controlling Hardware Monitoring devices. Hence add that as a new PACKAGECONFIG. Given that the upstream project enables it by default, let's keep the same behavior in here. Signed-off-by: Nuno Sá <nuno.sa@analog.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libwnck3: fix build failure for lib32-libwnck3Changqing Li12 days1-13/+20
| | | | | | | Refresh patch for fix build issue Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libwnck: fix build failure for lib32-libwnckChangqing Li12 days2-0/+44
| | | | | | | | | | | | | | | | | | Fix the following compile error: ../../sources/libwnck-2.31.0/libwnck/tasklist.c:4355:49: error: passing argument 2 of 'sn_startup_sequence_get_last_active_time' from incompatible pointer type [-Wincompatible-pointer-types] 4355 | &tv_sec, &tv_usec); | ^~~~~~~ | | | long int * In file included from /build/tmp/work/core2-32-wrsmllib32-linux/lib32-libwnck/2.31.0/lib32-recipe-sysroot/usr/include/startup-notification-1.0/libsn/sn.h:32, from ../../sources/libwnck-2.31.0/libwnck/private.h:36, from ../../sources/libwnck-2.31.0/libwnck/tasklist.c:40: /build/tmp/work/core2-32-wrsmllib32-linux/lib32-libwnck/2.31.0/lib32-recipe-sysroot/usr/include/startup-notification-1.0/libsn/sn-monitor.h:84:79: note: expected 'time_t *' {aka 'long long int *'} but argument is of type 'long int *' 84 | time_t *tv_sec, | ~~~~~~~~~~~~~~~~~~~^~~~~~ Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: handle missing -64.h headersNylon Chen12 days1-1/+10
| | | | | | | | | | Some toolchains ship only bits/*.h without the -64.h suffix, causing the recipe to fail. Add a fallback to use *.h if *-64.h is not found, and warn if neither exists. Signed-off-by: Nylon Chen <nylon.chen@sifive.com> Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* hiredis: Build vendored hdr_histogram fpconvKhem Raj14 days1-1/+1
| | | | | | | | | | | | | | This fixes a build race which is seen with high parallel builds ( -j 80) Fixes aarch64-yoe-linux-clang: error: no such file or directory: '../deps/hdr_histogram/libhdrhistogram.a' aarch64-yoe-linux-clang: error: no such file or directory: '../deps/hdr_histogram/libhdrhistogram.a' aarch64-yoe-linux-clang: error: no such file or directory: '../deps/fpconv/libfpconv.a' make[1]: *** [Makefile:431: redis-benchmark] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [Makefile:407: redis-server] Error 1 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* vboxguestdrivers: Upgrade to 7.2.0Khem Raj14 days2-31/+1
| | | | | | Drop c23 std compile time fix, its already upstream Signed-off-by: Khem Raj <raj.khem@gmail.com>
* zfs: Upgrade to 2.2.8 releaseKhem Raj14 days1-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libvncserver: fix generated LibVNCServerTargets.cmakeMarc Ferland14 days1-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The currently generated LibVNCServerTargets.cmake will include the following 'set_target_properties': set_target_properties(LibVNCServer::vncclient PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" INTERFACE_LINK_LIBRARIES "systemd;/usr/lib/libz.so;/usr/lib/liblzo2.so;/usr/lib/libjpeg.so;/usr/lib/libgcrypt.so;/usr/lib/libgnutls.so" ) INTERFACE_LINK_LIBRARIES here points to absolute paths which hardcodes the library paths. From CMake doc [1]: Note that it is not advisable to populate the INTERFACE_LINK_LIBRARIES of a target with absolute paths to dependencies. That would hard-code into installed packages the library file paths for dependencies as found on the machine the package was made on. This breaks krfb build (kde desktop sharing server) since CMake cannot find these libraries. Removing the absolute paths solves the issue. Note: I also added a 'inherit pkgconfig' since libvncserver uses it to detect libsystemd presence. 1: https://cmake.org/cmake/help/latest/prop_tgt/INTERFACE_LINK_LIBRARIES.html Signed-off-by: Marc Ferland <marc.ferland@sonatest.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* softhsm: switch source to GitHub repositoryJiaying Song2025-08-261-2/+2
| | | | | | | | The original source URL is unavailable, so it has been replaced with the official GitHub repository. Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libconfig: switch source to GitHub repositoryJiaying Song2025-08-261-3/+2
| | | | | | | | | The original tarball URL no longer provides version 1.7.3 or any other historical releases.To ensure reproducible builds, the source has been switched to the official GitHub repository. Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* sysprof: upgrade 47.2 -> 48.0Pablo Saavedra2025-08-255-10/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: * Ensure local dbus-monitor is reaped after capturing * Modernization for various GTK deprecations * Add new symbolizer for debuginfod which is enabled by default * Many performance improvements for capture loading * Support for unwinding without frame-pointers on distributions lacking -fno-omit-frame-pointer at the toolchain level. This uses a new "sysprof-live-unwinder" elevated helper process which takes data from perf and unwinds the stack as soon as it can without capturing the perf data to disk. Thank you to Red Hat and the tools team for enabling this work for RHEL. * The greeter now persists your settings and restores them the next time you run Sysprof. * Various graph drawing improvements. * Fixes for time display in various formats. * Translation updates. * Fix drawing of Y-reversed data point markers * Make greeter save environment variables to state file for reuse * Use D-Bus power profiles bus name rather than legacy D-Bus bus name Also: * Add new patch to fix environ shadowing in sysprof greeter Signed-off-by: Pablo Saavedra <psaavedra@igalia.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nginx: patch CVE-2025-53859 in stablePeter Marko2025-08-252-0/+132
| | | | | | | | | Pick patch from nginx site which is also mentioned in [1]. [1] https://security-tracker.debian.org/tracker/CVE-2025-53859 Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nginx: upgrade mainline 1.27.4 -> 1.29.1Peter Marko2025-08-252-10/+10
| | | | | | | Solves CVE-2025-53859 Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nginx: upgrade stable 1.26.3 -> 1.28.0Peter Marko2025-08-252-6/+6
| | | | | | | | | | | | | | | | | | 2025-04-23 nginx-1.28.0 stable version has been released, incorporating new features and bug fixes from the 1.27.x mainline branch - including memory usage and CPU usage optimizations in complex SSL configurations, automatic re‑resolution of hostnames in upstream groups, performance enhancements in QUIC, OCSP validation of client SSL certificates and OCSP stapling support in the stream module, variables support in the proxy_limit_rate, fastcgi_limit_rate, scgi_limit_rate, and uwsgi_limit_rate directives, the proxy_pass_trailers directive, and more. License-Update: copyright years refreshed and removed C-style comments Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* freerdp3: add bindir to SYSROOT_DIRSMarc Ferland2025-08-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required in order to build krdp (KDE's remote desktop integration). The do_configure task for krdp expects both 'winpr-makecert3' and 'winpr-hash3' to be present, failure to do so results in: | CMake Error at /path/to/krdp/6.4.4/recipe-sysroot/usr/lib/cmake/WinPR3/WinPRTargets.cmake:98 (message): | The imported target "winpr-makecert" references the file | | "/path/to/krdp/6.4.4/recipe-sysroot/usr/bin/winpr-makecert3" | | but this file does not exist. Possible reasons include: | | * The file was deleted, renamed, or moved to another location. | | * An install or uninstall procedure did not complete successfully. | | * The installation package was faulty and contained | | "/path/to/6.4.4/recipe-sysroot/usr/lib/cmake/WinPR3/WinPRTargets.cmake" | | but not all the files it references. | | Call Stack (most recent call first): | /path/to/krdp/6.4.4/recipe-sysroot/usr/lib/cmake/WinPR3/WinPRConfig.cmake:44 (include) | /path/to/krdp/6.4.4/recipe-sysroot-native/usr/share/cmake-3.31/Modules/CMakeFindDependencyMacro.cmake:76 (find_package) | /path/to/krdp/6.4.4/recipe-sysroot/usr/lib/cmake/FreeRDP3/FreeRDPConfig.cmake:2 (find_dependency) | CMakeLists.txt:45 (find_package) | | | -- Configuring incomplete, errors occurred! Signed-off-by: Marc Ferland <marc.ferland@sonatest.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* passwdqc: correct the SRC_URIJiaying Song2025-08-251-1/+1
| | | | | Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* logcheck: correct the SRC_URIJiaying Song2025-08-251-1/+1
| | | | | | | | The original tarball URL is no longer valid, as it has been moved to an archive location. This update points to the new location. Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* networkmanager: Fix build with clang-21Khem Raj2025-08-211-0/+6
| | | | | | Do not mark Wincompatible-function-pointer-types warning as error Signed-off-by: Khem Raj <raj.khem@gmail.com>
* rapidjson: Upgrade to tip of trunkKhem Raj2025-08-212-44/+2
| | | | | | | | | Fixes its cmake files to work with cmake4 consumed by other cmake based packages Drop backport for CMake4 compatibility Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openvpn: change ptest output formatJiaying Song2025-08-211-3/+6
| | | | | | | The format selected is the automake "simple test" format: "result: testname". Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-zstandard: upgrade 0.23.0 -> 0.24.0Wang Mingyu2025-08-211-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-yamlloader: upgrade 1.5.1 -> 1.5.2Wang Mingyu2025-08-211-1/+1
| | | | | | | | Changelog: deps: add PyYaml module as runtime requirement Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-virtualenv: upgrade 20.32.0 -> 20.34.0Wang Mingyu2025-08-211-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-tornado: upgrade 6.5.1 -> 6.5.2Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | | | | | | | Changelog: ============ - Fixed a bug that resulted in WebSocket pings not being sent at the configured interval. - Improved logging for invalid Host headers. This was previously logged as an uncaught exception with a stack trace, now it is simply a 400 response (logged as a warning in the access log). - Restored the host argument to HTTPServerRequest. This argument is deprecated and will be removed in the future, but its removal with no warning in 6.5.0 was a mistake. - Removed a debugging print statement that was left in the code. - Improved type hints for gen.multi. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-sqlalchemy: upgrade 2.0.42 -> 2.0.43Wang Mingyu2025-08-211-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>