summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-kernel
Commit message (Collapse)AuthorAgeFilesLines
* pm-graph: upgrade 5.5 -> 5.13Yi Zhao2024-10-125-203/+47
| | | | | | | | | | | | | | ChangeLog: https://github.com/intel/pm-graph/releases/tag/5.13 * Refresh 0001-Makefile-fix-multilib-build-failure.patch * Drop the following patches as the issues have been fixed upstream: 0001-sleepgraph.py-use-python3.patch 0001-sleepgraph-add-support-for-RT-kernel-ftrace-flags.patch 0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Update to allow for turning on all testsRyan Eatmon2024-10-111-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | In testing adding in more kernel-selftests there were a number of issues that arose that require changes that are more appropriate for the main recipe and not a bbappend. 1) Stop looping over TEST_LIST ourselves and use the TARGETS="" provided by the kernel-sefltest Makefiles. This correctly sets up various variables that the selftest Makefiles all need. Also, do_install becomes cleaner because the main Makefile already installs the list of tests and the top level script. 2) Add DEBUG_PREFIX_MAP to the CC setting to avoid some "buildpaths" QA errors. 3) Add two INSANE_SKIPS for "already-stripped" and "ldflags". Some of the selftest Makefiles are adding flags to their compiles that basically break the above checks. Since these compiles are not really meant as user level tools and instead testing, it should be ok to just always set INSANE_SKIP for these two. Signed-off-by: Ryan Eatmon <reatmon@ti.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* externalsrc: fix support in various componentsAndrej Valek2024-10-093-3/+3
| | | | | | | | | | | | | | Affected components: - cpupower - intel-speed-select - spidev-test When the externalsrc class is used the tasks listed in SRCTREECOVEREDTASKS are deleted to prevent them being executed. If externalsrc is used for the kernel then this will include virtual/kernel:do_patch. Signed-off-by: Andrej Valek <andrej.v@skyrain.eu> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* ipmtool: add UPSTREAM_CHECK_GITTAGREGEXYi Zhao2024-09-281-0/+3
| | | | | | | | | | | | | | | | | | | | Add UPSTREAM_CHECK_GITTAGREGEX to check the correct latest stable verison. Before the patch: $ devtool latest-version ipmitool INFO: Current version: 1.8.19 INFO: Latest version: 10. INFO: Latest version's commit: 990f9672c9581ab5fcb6bfed98f5da12edd29411 After the patch: $ devtool latest-version ipmitool INFO: Current version: 1.8.19 INFO: Latest version: 1.8.19 INFO: Latest version's commit: 19d78782d795d0cf4ceefe655f616210c9143e62 Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Fix build on 32bit arches with 64bit time_tKhem Raj2024-09-172-0/+37
| | | | | | Fix warning where S is expected to exist before do_configure Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bpftool: Add support for riscv64Harish Sadineni2024-09-121-1/+1
| | | | | | | bpftool is supported for riscv64 and tested on qemuriscv64. Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* crash: upgrade 8.0.4 -> 8.0.5Yi Zhao2024-09-113-1/+1
| | | | | | | | ChangeLog: https://crash-utility.github.io/changelog/ChangeLog-8.0.5.txt Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: upgrade 1.4.5 -> 1.4.6Wang Mingyu2024-09-101-2/+2
| | | | | | | | | | Changelog: =========== - BPF skeleton forward compatibility fix - BTF endianness inheritance bug fix Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* drgn: add new recipeJamin Lin2024-08-221-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | drgn is a debugger with an emphasis on programmability drgn exposes the types and variables in a program for easy, expressive scripting in Python. Drgn depends on: 1. python3 2. elfutils 3. openmp a. clang toolchain should use libomp(openmp) from meta-clang b. gnu gcc toolchain should use libgomp(gcc-runtime) from openembedded-core The build requires: 1. setuptools 2. automake 3. autoconf 4. libtool 5. pkgconf Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* turbostat: Add band-aid to build from 6.10+ kernelKhem Raj2024-08-101-1/+17
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
* libtracefs: upgrade 1.8.0 -> 1.8.1Wang Mingyu2024-08-091-1/+1
| | | | | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: upgrade 1.4.3 -> 1.4.5Wang Mingyu2024-07-151-2/+2
| | | | | | | | | | Changelog: ============ - fix BPF skeleton forward/backward compat handling - detect broken PID filtering logic for multi-uprobe Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes: ignore various issues fatal with gcc-14Martin Jansa2024-07-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | work arounds for: meta-oe/meta-oe/recipes-devtools/nodejs/nodejs_20.12.2.bb:do_compile meta-oe/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb:do_compile meta-oe/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb:do_compile meta-oe/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb:do_compile meta-oe/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.4.bb:do_compile meta-oe/meta-python/recipes-devtools/python/python3-gevent_24.2.1.bb:do_compile meta-oe/meta-oe/recipes-support/avro/avro-c++_1.11.3.bb:do_compile meta-oe/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb:do_compile meta-oe/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb:do_compile meta-oe/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb:do_compile meta-oe/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb:do_configure meta-oe/meta-oe/recipes-support/avro/avro-c_1.11.3.bb:do_compile meta-oe/meta-oe/recipes-core/usleep/usleep_1.2.bb:do_compile meta-oe/meta-networking/recipes-protocols/openflow/openflow_git.bb:do_compile meta-oe/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb:do_compile meta-oe/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb:do_compile meta-oe/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb:do_compile meta-oe/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb:do_compile meta-oe/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb:do_compile meta-oe/meta-oe/recipes-extended/zsync/zsync-curl_git.bb:do_compile meta-oe/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb:do_compile meta-oe/meta-oe/recipes-support/openct/openct_0.6.20.bb:do_compile meta-oe/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb:do_compile meta-oe/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb:do_compile meta-oe/meta-oe/recipes-support/daemontools/daemontools_0.76.bb:do_compile meta-oe/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb:do_compile meta-oe/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb:do_compile meta-oe/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb:do_compile meta-oe/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb:do_compile meta-oe/meta-oe/recipes-devtools/glade/glade_3.22.2.bb:do_compile http://errors.yoctoproject.org/Errors/Build/183124/ Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: upgrade 1.4.2 -> 1.4.3Wang Mingyu2024-06-271-2/+2
| | | | | | | | Changelog: Fix libbpf unintentionally dropping FD_CLOEXEC flag when (internally) duping FDs. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes: set S to fix the QA warningalperak2024-06-211-1/+3
| | | | | | | Fix the warning by pointing S to ${WORKDIR}/sources and UNPACKDIR to ${S}. Since recent UNPACKDIR work, default S directory is not created anymore. By setting UNPACKDIR to S, S in indirectly created in do_unpack. Signed-off-by: alperak <alperyasinak1@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libtracefs: upgrade 1.7.0 -> 1.8.0Wang Mingyu2024-06-073-39/+4
| | | | | | | | | | | 0001-makefile-Do-not-preserve-ownership-in-cp-command.patch refreshed for 1.8.0 0001-tracefs-perf-Add-missing-headers-for-syscall-and-SYS.patch removed since it's included in 1.8.0 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes: Start WORKDIR -> UNPACKDIR transitionKhem Raj2024-05-236-11/+11
| | | | | | | Replace references of WORKDIR with UNPACKDIR where it makes sense to do so in preparation for changing the default value of UNPACKDIR. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: upgrade 1.4.0 -> 1.4.2Wang Mingyu2024-05-191-2/+2
| | | | | | | | | | | | Changelog: =========== - remove unnecessary struct_ops prog validity check - handle yet another corner case of nulling out struct_ops program - fix libbpf_strerror_r() handling unknown errors - libbpf: improve early detection of doomed-to-fail BPF program loading Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* oprofile: Fix file_manip_tests ptestKhem Raj2024-05-092-0/+48
| | | | | | Remove assumptions around absolute paths which used __FILE__ macro Signed-off-by: Khem Raj <raj.khem@gmail.com>
* makedumpfile: upgrade 1.7.4 -> 1.7.5Wang Mingyu2024-04-172-5/+7
| | | | | | | | | | | | | | | | | | 0001-makedumpfile-replace-hardcode-CFLAGS.patch refreshed for 1.7.5 Changelog: ============ -Support for kernels up to v6.8 (x86_64) -Support for printk caller_id by --dump-dmesg option -ppc64: get vmalloc start address from vmcoreinfo -ppc64: read cur_mmu_type from vmcoreinfo -add PRINTK_CALLER id support to --dump-dmesg option -s390x: uncouple virtual and physical address spaces -s390x: fix virtual vs physical address confusion Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: upgrade 1.3.0 -> 1.4.0Wang Mingyu2024-04-171-1/+1
| | | | | | | | Changelog: https://github.com/libbpf/libbpf/releases/tag/v1.4.0 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* oprofile: Fix failing ptestsKhem Raj2024-04-111-3/+6
| | | | | | Files need to be in right directory structure Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes: Drop remaining PR values from recipesMartin Jansa2024-03-172-2/+0
| | | | | | | | | | | | * as oe-core did in: https://git.openembedded.org/openembedded-core/commit/?id=d4c346e8ab * when people are have to maintain own PRs for recipes in oe-core, they might add them for meta-oe recipes at the same time when upgrading to next LTS Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: no longer skip ldflags QAThomas Perrot2024-02-101-2/+2
| | | | | | | Because there is no longer the error. Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bpftool: Add missing dep on elfutils-nativeKhem Raj2024-01-311-1/+2
| | | | | | Point host CC to OE defined BUILD_CC Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Add few more testcasesChirag Shilwant2024-01-271-0/+2
| | | | | | | | | This commit will build and install following testcases under /usr/kernel-selftest of filesystem, * ptp * timers Signed-off-by: Chirag Shilwant <c-shilwant@ti.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* minicoredumper: Fix build with clangKhem Raj2024-01-272-0/+54
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* minicoredumper: upgrade 2.0.6 -> 2.0.7Wang Mingyu2024-01-271-1/+1
| | | | | | | | | | | | Changelog: =========== * Fix robust mutex list dumping if a robust mutex uses the PTHREAD_PRIO_INHERIT attribute. * Avoid bogus error messages when dumping registered data for non-crashing processes. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: remove Wno-alloc-size-larger-than from ↵Khem Raj2024-01-111-0/+1
| | | | | | | | | | scripts/Makefile.extrawarn 6.6+ kernel has the warning options moved to dedicated include file under scripts called Makefile.extrawarn, therefore search for this file as well to remove this unrecognized option by clang Signed-off-by: Khem Raj <raj.khem@gmail.com>
* ipmitool: Make the version consistentMingli Yu2024-01-092-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The git revison info is added [1] to make the version more descriptive to produce an incremental revision number like 1.8.18.13 or 1.8.18.14 and etc and more clear in terms of "what codebase was used" like `1.8.18.13.gee01aa5`. But it also introduces the version inconsistence. Note as stated in [1] For cases when .git directory is missing (Release compilation?) the suffix part will be omitted completely yielding a version like `1.8.18`. Considering the version we acutally used in oe is a release version, the git revision info as [1] is meaningness. So drop the git revsion info to make the version consistent. Before the patch: root@qemux86-64:~# ipmitool -V ipmitool version 1.8.19.19.gab5ce5b root@qemux86-64:~# rpm -qa | grep ipmitool ipmitool-1.8.19-r0.core2_64 After the patch: root@qemux86-64:~# ipmitool -V ipmitool version 1.8.19 root@qemux86-64:~# rpm -qa | grep ipmitool ipmitool-1.8.19-r0.core2_64 [1] https://github.com/ipmitool/ipmitool/commit/ba01dc84b4e225c86eac3f562e629662d752040f Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* crash: update to 8.0.4Frederic Martinsons2023-12-184-71/+1
| | | | | | | Remove backported commit. Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* crash: add cross canadian versionFrederic Martinsons2023-12-181-0/+53
| | | | | Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* crash: factorize recipe with inc file to prepare cross-canadian versionFrederic Martinsons2023-12-183-88/+94
| | | | | | | Suppress unused config-site.crash-7.0.9 Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: upgrade 1.2.2 -> 1.3.0Wang Mingyu2023-11-281-2/+2
| | | | | | | | | Changelog: ============ https://github.com/libbpf/libbpf/releases/tag/v1.3.0 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* makedumpfile: Change COMPATIBLE_HOST check to exclude unsupported archesKhem Raj2023-11-081-2/+3
| | | | | | Right now riscv32 and mips architecture support is missing. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* makedumpfile: upgrade 1.7.3 -> 1.7.4Wang Mingyu2023-11-081-1/+1
| | | | | | | | | | Changelog: =========== - Support for kernels up to v6.6 - Support for riscv64 architecture Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: upgrade 1.2.0 -> 1.2.2Khem Raj2023-11-061-2/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* ipmitool: Update and eliminate unneeded patchJohnathan Mantey2023-11-022-45/+8
| | | | | | | | | | | | | | | | | | | | | | | The upstream ipmitool code has implemented an autoconfig control to enable and disable dynamic fetching of the IANA numbers file. As a result the patch removing the code that blocks fetching the IANA numbers is no longer relevant. The patch being removed explicitlly blocks downloading the IANA numbers file. Maintain this behavior at this level by using the --disable-registry-download feature. In order for that autoconfig switch to work, the recipe must inherit the pkgconfig feature. Without the pkgconfig dependency the code in the configure.ac file causes a compile time error. Tested: IANA numbers file isn't downloaded. Manually downloaded IANA file is installed in /usr/share/misc Enabling registry download enables dynamic download of IANA numbers Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Use clang options when clang is availableKhem Raj2023-10-101-8/+8
| | | | | | Enable bpf only with clang Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Copy the .config from kernel buildKhem Raj2023-10-101-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Build bpf tests againKhem Raj2023-10-092-17/+31
| | | | | | | | | Fix run-ptest script to run all compiled selftests disable bpf on riscv for now Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libbpf: add arm, powerpc and mips64 to COMPATIBLE_HOSTDenys Zagorui2023-10-071-1/+1
| | | | | | | | There is is no build time issues with libbpf for these architectures so we can add them to COMPATIBLE_HOST Signed-off-by: Denys Zagorui <dzagorui@cisco.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* minicoredumber: Fix ptest reportingKhem Raj2023-10-041-2/+2
| | | | | | | | | Fixes AssertionError:- ptests which had no test results: ['minicoredumper'] Signed-off-by: Khem Raj <raj.khem@gmail.com>
* kernel-selftest: Build headers before compiling testsKhem Raj2023-10-021-1/+1
| | | | | | This fixes build failure with kernel 6.5 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bpftool: add native and nativesdk supportDenys Zagorui2023-09-071-0/+5
| | | | | | | | | | | | | | | | | | | | There are issues with nativesdk variant ... ERROR: nativesdk-bpftool-1.0-r0 do_package: QA Issue: nativesdk-bpftool: Files/directories were installed but not shipped in any package: /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-xesdk-linux/usr/sbin/bpftool /usr/share/bash-completion/completions/bpftool ... nativesdk.bbclass sets sbindir = "${bindir}" but bpftool is installed under sbin to fix that add sbin to FILES for bpftool completions {prefix} is not used but it seems that bitbake expects that installed files should be perfixed with "${SDKPATHNATIVE}${prefix_nativesdk}" to fix that override bash_compdir Signed-off-by: Denys Zagorui <dzagorui@cisco.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* crash: Fix build with glibc 2.38+Khem Raj2023-07-132-0/+70
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* minicoredumper: upgrade 2.0.3 -> 2.0.6Wang Mingyu2023-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Changelog: =========== * Support comm names with spaces. * Also dump write-only memory segments. * Abort memory read if the crashed program is killed while the minicoredumper is actively reading memory. This fixes a possible endless loop in said scenario. * Known problems: - If tar is active, core files larger than 8GB will be truncated. If it is known that the core files will be >8GB and the full core file is needed, tar must be disabled. - If tar is active, core files larger than 8GB will be truncated. If it is known that the core files will be >8GB and the full core file is needed, tar must be disabled. - If tar is active, core files larger than 8GB will be truncated. If it is known that the core files will be >8GB and the full core file is needed, tar must be disabled. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* *.patch: add Upstream-Status to all patchesMartin Jansa2023-06-214-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is new patch-status QA check in oe-core: https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a This is temporary work around just to hide _many_ warnings from optional patch-status (if you add it to WARN_QA). This just added Upstream-Status: Pending everywhere without actually investigating what's the proper status. This is just to hide current QA warnings and to catch new .patch files being added without Upstream-Status, but the number of Pending patches is now terrible: 5 (26%) meta-xfce 6 (50%) meta-perl 15 (42%) meta-webserver 21 (36%) meta-gnome 25 (57%) meta-filesystems 26 (43%) meta-initramfs 45 (45%) meta-python 47 (55%) meta-multimedia 312 (63%) meta-networking 756 (61%) meta-oe Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libtracefs: Fix build with clang+muslKhem Raj2023-06-142-0/+32
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Wang Mingyu <wangmy@fujitsu.com>
* libtracefs: upgrade 1.6.4 -> 1.7.0Wang Mingyu2023-06-141-1/+1
| | | | | | | | | | Changelog: ========== - Fixes to the tests. - Added meson build support (but it is not the default). Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>