summaryrefslogtreecommitdiffstats
path: root/meta-oe
Commit message (Collapse)AuthorAgeFilesLines
...
* libspatialite: Upgrade to 5.0.1Zoltán Böszörményi2022-07-025-23/+74
| | | | | | | | | | | Removed a patch that didn't apply to the new version. Added three patches without changes from Fedora that allowed the new version to compile. See https://koji.fedoraproject.org/koji/buildinfo?buildID=1924183 Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* geos: Disable inliningKhem Raj2022-07-021-0/+2
| | | | | | | | | | | | This fixes build errors ( especially for arm arch ) | /mnt/b/yoe/master/build/tmp/work/cortexa15t2hf-neon-yoe-linux-musleabi/geos/3.9.3-r0/recipe-sysroot-native/usr/bin/arm-yoe-linux-musleabi/arm-yoe-linux-musleabi-ld: noding/.libs/libnoding.a(BasicSegmentString.o):(.data.rel.ro+0x24): multiple definition of `typeinfo for geos::noding::BasicSegmentString'; .libs/inlines.o:(.data.rel.ro+0xac): first defined here | /mnt/b/yoe/master/build/tmp/work/cortexa15t2hf-neon-yoe-linux-musleabi/geos/3.9.3-r0/recipe-sysroot-native/usr/bin/arm-yoe-linux-musleabi/arm-yoe-linux-musleabi-ld: noding/.libs/libnoding.a(BasicSegmentString.o):(.rodata+0x0): multiple definition of `t ypeinfo name for geos::noding::BasicSegmentString'; .libs/inlines.o:(.rodata+0x4c): first defined here Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Zoltán Böszörményi <zboszor@gmail.com>
* geos: Upgrade to 3.9.3Zoltán Böszörményi2022-07-023-46/+3
| | | | | | | Remove an upstreamed patch. Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fix(syslog-ng): warning about conf versionAurélien Bertron2022-07-022-2/+2
| | | | | | The service warned on startup about running in compatibility mode since the configuration version was "3.31" instead of "3.36". Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clinfo: use virtual opencl loader providerjybros2022-07-021-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libxml++: Disable parallel make in ptest compileKhem Raj2022-07-021-0/+2
| | | | | | | | | | | | | | | This fails to build in parallel, perhaps needs to fix the component makery Fixes | chmod +x dom_build/make_check.sh | echo '# Generated and used by "make check"' >dom_parse_entities/make_check.sh | /bin/bash: dom_parse_entities/make_check.sh: No such file or directory | make[1]: *** [Makefile:1807: dom_parse_entities/make_check.sh] Error 1 | make[1]: Leaving directory '/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/libxml++/2.42.1-r0/build/examples' | make: *** [Makefile:1812: buildtest] Error 2 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* jansson: Upgrade 2.13.1 -> 2.14Alex Kiernan2022-07-021-3/+4
| | | | | | | | Releases have moved to github in 2.14. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* cppzmq: fix -dev RDEPENDSRoss Burton2022-07-021-0/+1
| | | | | | | | | | | Since oe-core 6f28420 PN-dev RRECOMMENDS PN instead of RDEPENDS, so this recipe RDEPENDS on a non-existent package. Unset DEV_PKG_DEPENDENCY to remove the automatic dependency on PN from PN-dev. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* redis: upgrade 6.2.6 -> 6.2.7Changqing Li2022-07-022-7/+9
| | | | | | | | | This upgrade include CVE fix: CVE-2022-24735 CVE-2022-24736 Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* uftrace: upgrade 0.11 -> 0.12wangmy2022-07-021-1/+1
| | | | | | | | | | Changelog: ========== * support dynamic tracing with -fpatchable-function-entry * --clock option to use a different clock source Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* postgresql: upgrade 14.3 -> 14.4wangmy2022-07-022-4/+4
| | | | | | | | 0001-configure.ac-bypass-autoconf-2.69-version-check.patch refreshed for new version. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libzip: upgrade 1.8.0 -> 1.9.0wangmy2022-07-021-1/+1
| | | | | | | | | | | | | Changelog: ============ Add zip_file_is_seekable(). Improve compatibility with WinAES. Fix encoding handling in zip_name_locate(). Add option to zipcmp to output summary of changes. Various bug fixes and documentation improvements. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* iwd: upgrade 1.27 -> 1.28wangmy2022-07-021-1/+1
| | | | | | | | | | | | | | Changelog: ========== Fix issue with handling invalid EAPoL frames. Fix issue with handling unexpectedly unencrypted EAP frames. Fix issue with handling AlwaysRandomizeAddress/AddressOverride. Fix issue with handling initial signal level notification. Fix issue with handling sorting of scan requests. Fix issue with handling frame type check in FT. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gperftools: upgrade 2.9.1 -> 2.10wangmy2022-07-022-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | ppc-musl.patch refreshed for new version. Changelog: ========== * Matt T. Proud contributed documentation fix to call Go programming language by it's true name instead of golang. * Robert Scott contributed debugallocator feature to use readable (PROT_READ) fence pages. This is activated by TCMALLOC_PAGE_FENCE_READABLE environment veriable. * User stdpain contributed fix for cmake detection of libunwind. * Natale Patriciello contributed fix for OSX Monterey support. * Volodymyr Nikolaichuk contributed support for returning memory back to OS by using mmap with MAP_FIXED and PROT_NONE. It is off by default and enabled by preprocessor define: FREE_MMAP_PROT_NONE. This should help OSes that don't support Linux-style madvise MADV_DONTNEED or BSD-style MADV_FREE. * Jingyun Hua has contributed basic support for LoongArch. * Github issue #1338 of failing to build on some recent musl versions has been fixed. * Github issue #1321 of failing to ship cmake bits with .tar.gz archive has been fixed. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* googletest: upgrade 1.11.0 -> 1.12.0wangmy2022-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: ========== C++ Language Support ---------------------- This will be the last release to support C++11. Future releases will require at least C++14. Mocking --------- Support for move-only values to Return (5126f71) Matchers -------------- New matchers WhenBase64Unescaped (652ec31) ResultOf() now has a 3-arg overload that takes a description string for better error messages (0e40217) Build & Test ---------------- CMake minimum increased to 3.5 Bazel users that build GoogleTest using the Abseil library as a dependency now also require a dependency on RE2 (e33c2b2) Bazel users that build GoogleTest using the Abseil library now use the Abseil library to parse all command-line flags (25dcdc7) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* proj: Upgrade to 8.2.1Zoltán Böszörményi2022-07-011-3/+4
| | | | | Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* flatbuffers: update to 2.0.6Markus Volk2022-06-302-18/+21
| | | | | | | | | | | | | - fix flatc not found issue - build the python3 module as a separate package to allow proper install - remove fpic CXXFLAG as it seems to be unneeded - use python3-native - remove -DCMAKE_BUILD_TYPE=Release option and its outdated comment. After a long discussion the default behavior was changed: https://github.com/google/flatbuffers/pull/5180 Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gpsd-machine-conf: allow creation of an empty packageFabien Parent2022-06-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | gpsd-machine-conf is an empty recipe that does not ship any files on the rootfs. This recipe is targeted to be extended by a bbappend that will provide the gpsd machine configuration. In the case where gpsd-machine-conf is included into an image, and if no layers is providing the machine configuration, the build fails with the following error: No match for argument: gpsd-machine-conf Error: Unable to find a match: gpsd-machine-conf This error is because no package was created for gpsd-machine-conf since the recipe does not install any files. This commit allows the creation of an empty package in order to avoid the do_rootfs failure when this package is included into an image. Signed-off-by: Fabien Parent <fabien.parent@linaro.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* opencv: Upgrade to version 4.6.0Zoltán Böszörményi2022-06-302-32/+3
| | | | | | | | Re-enable automatic ffmpeg PACKAGECONFIG. Drop an upstream patch. Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* abseil-cpp: do not enforce -mfpu=neon on armJonas Gorski2022-06-304-12/+60
| | | | | | | | | | | | | | | Abseil-cpp assumes that if you are building for ARM, you can use neon instructions. This is of course bogus, since not every ARM platform supports these. This then leaks via pkgconfig into any package using abseil-cpp, e.g. gprc. Fixes application crashes on ARM platforms without neon that use grpc due to use of illegal instructions. Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* dnf-plugin-tui: Added postatinstallwangmy2022-06-301-1/+1
| | | | | | | Added postatinstall. Otherwise defined pkg_postinst could not work. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* iperf: Set CVE_PRODUCT to "iperf_project:iperf"Akash Hadke2022-06-302-0/+4
| | | | | | | | | | | | | | | Set CVE_PRODUCT as 'iperf_project:iperf' for iperf2 and iperf3 recipes, cve-check class is setting default CVE_PRODUCT to 'iperf2' and 'iperf3' respectively which ignores the iperf CVEs from NVD Database. Reference: CVE-2016-4303 Link: https://nvd.nist.gov/vuln/detail/CVE-2016-4303 Signed-off-by: Akash Hadke <akash.hadke@kpit.com> Signed-off-by: Akash Hadke <hadkeakash4@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* tesseract-lang: switch from master branch to mainMartin Jansa2022-06-301-1/+1
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* leveldb: switch from master branch to mainMartin Jansa2022-06-301-1/+1
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* glmark2: fix compatibility with python-3.11Martin Jansa2022-06-302-1/+78
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* polkit-group-rule-udisks2: fix override syntax in RDEPENDSYi Zhao2022-06-301-1/+1
| | | | | | | RDEPENDS_${PN} -> RDEPENDS:${PN} Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* duktape: fix override syntax in RDEPENDSYi Zhao2022-06-301-1/+1
| | | | | | | RDEPENDS_${PN}-ptest -> RDEPENDS:${PN}-ptest Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* syslog-ng: upgrade 3.36.1 -> 3.37.1wangmy2022-06-301-1/+1
| | | | | | | | Changelog: https://github.com/syslog-ng/syslog-ng/releases/tag/syslog-ng-3.37.1 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* pyxdg: upgrade 0.27 -> 0.28wangmy2022-06-301-1/+1
| | | | | | | BaseDirectory: Add support for $XDG_STATE_DIR Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* poco: upgrade 1.11.2 -> 1.11.3wangmy2022-06-301-1/+1
| | | | | | | | | | | | Changelog: =========================== - GH #3567: fix(openssl-initializer): check legacy provider existence for legacy exception - GH #3587: MySQL UUID binding temporary string - GH #3632: Redis - add TLS support - updated a few copyright dates Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* php: upgrade 8.1.6 -> 8.1.7wangmy2022-06-301-1/+1
| | | | | | | | | Changelog: ========== https://www.php.net/ChangeLog-8.php#8.1.7 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* musl-nscd: upgrade 1.0.2 -> 1.1.0wangmy2022-06-303-77/+3
| | | | | | | | | | | License-Update: Copyright year updated to 2021. 0001-Fix-build-under-GCC-fno-common.patch 0001-configure-Check-for-flex-if-lex-is-not-found.patch removed since they're included in 1.1.0 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* irssi: upgrade 1.2.3 -> 1.4.1wangmy2022-06-301-2/+1
| | | | | | | | Changelog: https://github.com/irssi/irssi/releases/tag/1.4.1 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* s-nail: Fix build with gcc-12Mingli Yu2022-06-303-1/+117
| | | | | | | | | | | | | | | Backport 2 patches to fix the below build failure when debug build is enabled. Add DEBUG_BUILD = "1" in conf/local.conf. $ bitbake s-nail | /build/tmp-glibc/work/corei7-64-wrs-linux/s-nail/14.9.24-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/../../libexec/x86_64-wrs-linux/gcc/x86_64-wrs-linux/12.1.0/ld: mx-047.o: in function `a_nm_alias_expand': | /usr/src/debug/s-nail/14.9.24-r0/s-nail-14.9.24/src/mx/names.c:308: undefined reference to `su_cs_dict_lookup' | /build/tmp-glibc/work/corei7-64-wrs-linux/s-nail/14.9.24-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/../../libexec/x86_64-wrs-linux/gcc/x86_64-wrs-linux/12.1.0/ld: mx-028.o: in function `mx_fs_linepool_book': | /usr/src/debug/s-nail/14.9.24-r0/s-nail-14.9.24/src/mx/file-streams.c:1036: undefined reference to `su_mem_get_can_book' collect2: error: ld returned 1 exit status Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* polkit: switch back to mozjs but leave duktape as PACKAGECONFIG optionMikko Rapeli2022-06-303-3/+117
| | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.yoctoproject.org/show_bug.cgi?id=14829 reports that duktape isn't fully compatible with mozjs as the supported javascript features are different. duktape supports ECMAScript standard version 5 while mozjs supports a lot more. See https://kangax.github.io/compat-table/es5/ for the differences. Thus the change from mozjs to duktape may break some rules which rely on javascript features which duktape doesn't support, for example array.includes() function, https://kangax.github.io/compat-table/es6/ https://262.ecma-international.org/7.0/#sec-array.prototype.includes For many embedded systems which care about fast boot times and smaller rootfs using duktape is recommended but rules must be written in reduced set of ECMA script language features. For array.includes() one alternative is "array.indexOf(search) >= 0". [YOCTO #14829] Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openldap: pass correct URANDOM_DEVICE to CPPFLAGSYi Zhao2022-06-301-1/+1
| | | | | | | | | | | | We encountered a runtime error with slappasswd: $ slappasswd -s foo Password generation failed for scheme {SSHA}: This is because the URANDOM_DEVICE is not passed to CPPFLAGS correctly, then the program can not open /dev/urandom. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* inotify-tools: upgrade 3.22.1.0 -> 3.22.6.0wangmy2022-06-301-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* feh: upgrade 3.8 -> 3.9wangmy2022-06-301-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* ctags: upgrade 5.9.20220529.0 -> 5.9.20220605.0wangmy2022-06-301-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* minicoredumper: retry elf parsing as long as neededSakib Sajal2022-06-302-0/+129
| | | | | | | | Maximum number of tries, in rare cases, is insufficient for elf parse. Backport patch that fixes the issue. Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* cryptsetup: Add support for building without SSH tokensPeter Kjellerstedt2022-06-301-2/+10
| | | | | | | | | Cryptsetup SSH tokens is the only feature that has a dependency on libssh. Add a packageconfig to control this dependency. Change-Id: Iac4f91e099ad2e3a79aab183734108f8bfbff57f Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* modemmanager: update to 1.18.8Adrian Freihofer2022-06-063-123/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * A new connection status dispatcher setup is provided, where users can provide custom scripts that will be called on bearer connect/disconnect events. This dispatcher will make the netifd integration in openwrt work much better, as we'll be able to report network-initiated disconnections cleanly to netifd. There are no default connection status dispatcher scripts installed, but it's suggested distributions make sure the following directories exist: - ${sysconfdir}/ModemManager/connection.d/ - ${libdir}/ModemManager/connection.d/ * API: ** Add missing Simple interface definitions in ModemManager-names.h. * Build: ** meson: fix daemon enums dependencies. ** meson: fix port enums includes. ** meson: fix 'export_packages' in GIR setup. ** meson: fix simtech plugin module name. ** systemd: don't run ModemManager in containers. * Core: ** serial: ensure the port object is valid after BUFFER_FULL handling. ** netlink: use unaligned netlink attribute length. ** netlink: only change IFF_UP flag. ** bearer: match unknown auth to chap in loose comparisons. ** charsets: return error if UTF-8 validation fails. ** fcc-unlock: make scripts POSIX shell compatible. ** modem-helpers: consider minimum ID when choosing best profile. ** modem-helpers: fix reading <Act> given in COPS=? responses. ** sms: prevent crash if date is out of range. ** profile-manager: fix copy-paste error on tags for quarks. * QMI: ** Ignore slot status indications until initial status is known. ** Return error when loading capabilities if none is found. * MBIM: ** Default initial EPS bearer's auth to chap when unknown. ** Update default error when network error is out of range. * mmcli: ** Fix key length when printing list of items. * Plugins: ** linktop: new port type hints. ** cinterion: add support for PLSx3w modems ** huawei: disable +CPOL based features in Huawei E226 * Several other minor improvements and fixes. Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* botan: upgrade 2.19.1 -> 2.19.2Wang Mingyu2022-06-061-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* zabbix: upgrade 6.0.4 -> 6.0.5Wang Mingyu2022-06-061-2/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* poppler: upgrade 22.05.0 -> 22.06.0Wang Mingyu2022-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | Changelog: ========== core: * Forms: Fix crash in forms with their own DR * Refactor CairoFontEngine caching * CairoOutputDev: preserve text color when drawing type 3 glyphs * Windows: font code simplification * Minor code improvements cpp: * Add missing header utils: * pdfattach: Assume filename is utf8 encoded * pdftohtml: Fix type 3 font size calculation Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* function2: upgrade 4.2.0 -> 4.2.1Wang Mingyu2022-06-061-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* hwdata: upgrade 0.359 -> 0.360Wang Mingyu2022-06-061-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* htop: upgrade 3.2.0 -> 3.2.1Wang Mingyu2022-06-061-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fbida: remove bash from RDEPENDSWolfgang Meyer2022-06-031-1/+1
| | | | | | | | | | Basically reverts commit e7bd28f1f5e6374dee813e44a5218022367629a0 as the QA issue does not exist anymore. This is presumably the case since the file-rdeps check does not expand RDEPENDS recursively. There is no evidence in the fbida source code for a runtime dependency to bash. Signed-off-by: Wolfgang Meyer <Wolfgang.Meyer@gossenmetrawatt.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* unblock some recipes for waylandMarkus Volk2022-06-011-3/+4
| | | | | Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>