summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* nodejs: upgrade 22.18.0 -> 22.19.0Jason Schonberg2025-08-283-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á2025-08-281-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á2025-08-281-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 Li2025-08-281-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 Li2025-08-282-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 Chen2025-08-281-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 Raj2025-08-261-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 Raj2025-08-262-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 Raj2025-08-261-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libvncserver: fix generated LibVNCServerTargets.cmakeMarc Ferland2025-08-261-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>
* python3-responses: upgrade 0.25.7 -> 0.25.8Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | Changelog: ========== * Fix bug where the content type is always recorded as either text/plain or application/json. * Allow asserts on add_callback() matches Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pyzmq: upgrade 27.0.0 -> 27.0.1Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | Changelog: =========== - adds wheels for android and free-threaded Python 3.14 - adds wheels for free-threaded Python for Windows on ARM. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pytest-sugar: upgrade 1.0.0 -> 1.1.0Wang Mingyu2025-08-211-2/+2
| | | | | | | License-Update: Clarify license as BSD 3-Clause License Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pyproj: upgrade 3.7.1 -> 3.7.2Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | | | | | | Changelog: ============= - DEP: Minimum PROJ version 9.4 - DEP: Minimum supported Python version 3.11 - MNT: Add CRS imports to __all__ - DEP: Add win_arm64 wheels - DEP: Add Python 3.13 free-threading wheels - DEP: Add Python 3.14 and 3.14 free-threading wheels - TST: Remove irrelevant test with modern PROJ versions Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pymongo: upgrade 4.13.2 -> 4.14.0Wang Mingyu2025-08-211-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pymodbus: upgrade 3.10.0 -> 3.11.1Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: ============= - Correct bit handling (each byte is LSB->MSB). - read_input_registers docstring change count to regs - Add dev_id/tid check in clients - Auto debug in case of an error. - Remove duplicate log lines. - Remove unused callback in ServerRequestHandler - test on Python 3.14 - Validate address in all datastores. - Use asyncio.Event to deterministically ensure simulator start - Ignore lockfile - Link api_changes/changelog to README. - Add note about semver.org. - Datastore, add typing to set/get. - Move exception codes to constants. - Move ExceptionResponse to proper file. - make base frame signature match subclasses - Switch from venv+pip to uv - Cleanup CI configuration - Simplify code flow for broadcast requests - Fix serial_forwarder.py from examples/contrib - Remove discord. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pymisp: upgrade 2.5.12 -> 2.5.17Wang Mingyu2025-08-211-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pycares: upgrade 4.9.0 -> 4.10.0Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | | | | | | | | | | Changelog: ============== - Remove unused import - Fixup chunked TXT record test - Remove overzealous checks - Fix OpenBSD build - Make result.type Final - Idna resource reduction using a length check - Add read & write process_fd functions - build(deps): bump pypa/cibuildwheel from 2.23.3 to 3.0.0 - Remove context manager support - Fixup test CI - Refactor channel destruction logic Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-pyais: upgrade 2.12.0 -> 2.13.0Wang Mingyu2025-08-211-1/+1
| | | | | | | | Changelog: added a TCP server capable of handling multiple concurrent client connections Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-kiwisolver: upgrade 1.4.8 -> 1.4.9Wang Mingyu2025-08-211-2/+2
| | | | | | | | | | | | | License-Update: Copyright year updated to 2025. Changelog: ============ - Include Python.h-including headers first - WHL: pin cibuildwheel 3.1.1, enable cp314 wheels - ci: update release workflow and test on 3.14 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-inline-snapshot: upgrade 0.26.0 -> 0.27.2Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | | | | | Changelog: ============ - Added inline_snapshot.extra.Transformed and inline_snapshot.extra.transformation which can be used to transform values inside of snapshots. - exposed @declare_unmanaged which allows you to create your own unmanaged types. - Added explicit type hints to the outsource() function - Improved documentation for inline_snapshot.testing.Example. - inline-snapshot generates no longer triple quoted strings when it fixes cases Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-icecream: upgrade 2.1.5 -> 2.1.7Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | | Changelog: =========== - Fixed: Pretty-printing of SymPy (and similar) objects. - Added: Configurable line wrap length. - Improved: The package no longer includes tests in the production installation. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-greenlet: upgrade 3.2.3 -> 3.2.4Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | Changelog: =========== - Various small build/test changes for less common configurations - Fix an assertion error on debug builds of Python 3.14 when using the experimental JIT. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-gnupg: upgrade 0.5.4 -> 0.5.5Wang Mingyu2025-08-211-1/+1
| | | | | | | | | | | Changelog: ========= - Handle fetching GPG version when not the first item in the configuration. - Capture uid info in a uid_map attribute of ScanKeys/ListKeys. - Improve handling of exceptions raised in background threads. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-freezegun: upgrade 1.5.4 -> 1.5.5Wang Mingyu2025-08-211-1/+1
| | | | | | | | Changelog: Allow parametrized arguments called 'func' Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* re2: Link with libatomic on riscv32Khem Raj2025-08-211-0/+3
| | | | | | 64-bit builtins for atomics are not provided by compiler Signed-off-by: Khem Raj <raj.khem@gmail.com>
* abseil-cpp: Link with libatomic on riscv32Khem Raj2025-08-211-0/+3
| | | | | | 64-bit builtins for atomics are not provided by compiler Signed-off-by: Khem Raj <raj.khem@gmail.com>
* freeglut: changed SRC_URI to github + added UPSTREAM_CHECKJan Vermaete2025-08-201-1/+5
| | | | | | | | | | | - added HOMEPAGE - downloads are now from github "Stable releases are available on our releases page on github, where you can find more information about each release. All releases are also mirrored on the old downloads page on sourceforge." @see: https://freeglut.sourceforge.net/ - fixed 'devtool check-upgrade-status' Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-fasteners: upgrade 0.19 -> 0.20Wang Mingyu2025-08-201-1/+1
| | | | | | | | | | | | Changelog: =========== - InterProcessLock now catches OSError and handles BlockingIOError correctly. - Remove support for python 3.8, python 3.9 and pypy 3.9. It should still work, - but is no longer tested. - Add support for python 3.12, 3.13 and pypy 3.11. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-elementpath: upgrade 5.0.3 -> 5.0.4Wang Mingyu2025-08-201-1/+1
| | | | | | | | Changelo: Fix default/fixed values processing of schema annotated XML data Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-djangorestframework: upgrade 3.16.0 -> 3.16.1Wang Mingyu2025-08-201-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-coverage: upgrade 7.10.1 -> 7.10.4Wang Mingyu2025-08-201-1/+1
| | | | | | | | | | | | | Changelog: =========== - Fix: some code with NOP bytecodes could report missing branches that are actually executed. - Fixes for patch = subprocess - Fix: really close all SQLite databases, even in-memory ones. - Added patch = fork for times when the built-in forking support is insufficient. - Fix: patch = execv also inherits the entire coverage configuration now. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3-cmake: upgrade 4.0.3 -> 4.1.0Wang Mingyu2025-08-201-1/+1
| | | | | | | | | | | | | | Changelog: ============ - break: drop Python 3.7, manylinux2010 & musllinux_1_1 - feat: update to CMake 4.1.0 - feat: update to OpenSSL 3.5.x - feat: add riscv64 wheels - feat: use a manylinux_2_35 compatible image for riscv64 - chore: remove cibuildwheel override for musllinux_armv7l Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>