Integrate seco-base/scarthgap_kickoff
Commit: seco-base@b8c41995
[LICENSE] Add license dislaimers to the project
The license is mentioned in the README.md file where the ownership of this repo to the Clea OS project has been highlighted.
Signed-off-by: Davide Cardillo davide.cardillo@seco.com
--
Commit: seco-base@f183c0ef
[NO-FUNCTIONCAL] Fix typo in seco-setup.sh
Signed-off-by: Davide Cardillo davide.cardillo@seco.com
--
Commit: seco-base@ad0c7fa2
[DEFCONFIG] Remove defconfig for not available machines
Some defconfigs refere to machines that are not available in the current release. This commit removes those defconfigs to avoid confusion.
Signed-off-by: Davide Cardillo davide.cardillo@seco.com
--
Commit: seco-base@70188277
[NO-FUNCTIONCAL] Improve defconfig's labels and descriptions
Signed-off-by: Davide Cardillo davide.cardillo@seco.com
--
Commit: seco-base@e5eddb44
[NO-FUNCTIONCAL] Improve Yconfig labels and descriptions
Signed-off-by: Davide Cardillo davide.cardillo@seco.com
--
Commit: seco-base@821a0d15
[YCONFIG] Rename YS-APPEND with YS-ADD
Due to configurator clusters change, the cluster that adds variable to
local.conf with += has been renamed with YS-ADD.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@39b4ee37
Integrate seco-build-configurator/nspa/add-append and 1 more
--
Commit: clea-os/tools/seco-build-configurator@509339f7
[CLUSTER][CORE][TESTS] Add cluster adding variables with :append
This commit introduces a new clusters to the configuration to add
variables with :append.
For better readability, this change changes the name of the clusters
that were previously adding variables with +=. Now, those clusters
have been renamed replacind the string APPEND with ADD.
This change involves renaming of the former clusters:
- CONFIG_FEATURE-APPEND to CONFIG_FEATURE-ADD
- CONFIG_YS-APPEND to CONFIG_YS-ADD
A new cluster has been added to be associated with the :append:
- CONFIG_FEATURE-APPEND
The actions related to the above-mentioned clusters have been renamed too.
The function local_conf_merge_variables has been modified to handle
differently the duplicates:
Case 1: all operators are the same
- multiple
=-> merge with=raising a warning - multiple
+=-> merge with+= - multiple
:append-> merge with:append
Case 2: different operators
- with one
=and multiple+=--> merge with= - otherwise raise an error and stop the execution
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@6f73b464
Bump to version 1.4.1
Changelog:
- [CORE] Generalize folder search function (ref: e55a6b5)
- [FIX] fix function for path (ref: 2d2279c) --
Commit: seco-base@66c4e87b
Integrate seco-build-configurator/cf/chromium and 2 more
--
Commit: clea-os/tools/seco-build-configurator@e55a6b5c
[CORE] Generalize folder search function
Generalize the folder search function to allow searching for a folder name or a sub-path. For both cases loop thorugh the starting directory.
Add unit tests to test this function update.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@2d2279cf
[FIX] fix function for path
The function find_directory_in_children has been modified to set correctly the path if more directory is given as reference (e.g. meta-browser/meta-chromium -> layers/meta-browser/meta-chromium). The function still work if the only given path is the meta-layer executing a child finding process which take to the same solution (e.g. meta-chromium -> layers/meta-browser/meta-chromium). To make all work correctly use meta-layers after layers (e.g. if the layer can be found in layers/meta-browser/meta-chromium -> use only meta-browser/meta-chromiumwq).
Signed-off-by: carlo carlo.ferriolo@seco.com
--
Commit: clea-os/tools/seco-build-configurator@a28e2d64
Bump to version 1.4.0
Changelog:
- [CLUSTER] Add
FEATURE-APPEND(ref: 74a563e) - [CORE] Add variable merge in
local.conf(ref: 23bbd2e) --
Commit: seco-base@3f265a66
[SECO-SETUP] Remove empty variable assignments from seco-setup.sh
Previously, seco-setup.sh initialized certain environment variables with empty values before conditionally assigning them. The updated logic no longer assigns new values to these variables. Retaining the initial empty assignments now unintentionally overrides valid existing values.
This change removes those initializations to preserve existing environment state.
--
Commit: seco-base@3e1d1b3c
[TOOLS] Add seco-layer-manager
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@3b70bd9c
[DEFCONFIG] Rename D18 defconfig
--
Commit: seco-base@7b09c3bb
[DEFCONFIG] Rename MTK Genio700 EVK config
--
Commit: seco-base@ab6857e7
[DEFCONFIG] Rename E58 configs
--
Commit: seco-base@aac2b751
non-functional: remove list of supported Qualcomm boards
The presence of that list requires you to update the file every time a new platform is added, and this could lead to inconsistencies.
Signed-off-by: Alessandro Pecugi alessandro.pecugi@seco.com
--
Commit: seco-base@e945f102
[QCOM][QCS615] add support for 6155 ADP Air and qcom settings
Add Yconfig support for machine qcs615-adp-air and Qualcomm-specific settings.
Signed-off-by: Alessandro Pecugi alessandro.pecugi@seco.com
--
Commit: seco-base@56b48adc
[YCONFIG][DEFCONFIG][QCOM] add qcom and qcs6490
Add Qualcomm architecture to Yconfig and qcs6490 vision kit to defconfigs
Signed-off-by: Alessandro Pecugi alessandro.pecugi@seco.com
--
Commit: seco-base@1a95ace4
[D18][MENUCONFIG] Added choice of D18 board
--
Commit: seco-base@09671cf1
[YCONFIG] Add debug flag for 'wic create'
Add CONFIG to increase the verbosity in log.do_image_wic and keep
temporary files in tmp-wic folder. The temporary files are useful as it's possible to see
what files are placed into the boot partitions. For example:
build_corei7/tmp/work/seco_corei7_64-poky-linux/seco-clea-os-image/1.0/tmp-wic
├── boot.3
│ ├── bzImage
│ ├── EFI
│ │ └── BOOT
│ │ ├── bootx64.efi
│ │ └── grub.cfg
│ ├── GRUB
│ │ └── grubenv
│ ├── microcode.cpio
│ ├── ramfs.img
│ └── rootfs.img
└── hdd
└── boot
├── bzImage
├── core-image-minimal-initramfs-seco-corei7-64.cpio.gz
├── EFI
│ └── BOOT
│ ├── bootx64.efi
│ ├── grub-bootscript.cfg
│ └── grub.cfg
├── GRUB
│ └── grubenv
├── microcode.cpio
└── ramfs.img
10 directories, 15 files
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@2cfc7ac0
Integrate seco-build-configurator/nspa/multiline and 2 more
--
Commit: clea-os/tools/seco-build-configurator@74a563ee
[CLUSTER] Add FEATURE-APPEND
This cluster adds to local.conf a variable with += assignment.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@23bbd2ee
[CORE] Add variable merge in local.conf
Added a function that unifies multiple assignments of a single variable into a single assignment. For example:
VAR = "test"
VAR += "second-test
ends up with:
VAR += " \
test \
second-test \
"
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@819b8f0a
Bump to version 1.3.0
Changelog:
- [LOCALCONF] Add structure normalization for local.conf (ref: 6235d93)
- [ACTIONS] add add_include_to_local_conf (ref: 66e7744) --
Commit: seco-base@ebd2465f
[YCONFIG] Add help texts and update YS-INCLUDE configuration section
--
Commit: seco-base@4782020d
[YCONFIG] Add SECO packages mirror
Add Yconfig option for enabling SECO packages mirror. Enabled by default.
--
Commit: seco-base@2aa0e9a0
Integrate seco-build-configurator/cleaos-677-implement-include-action and 2 more
--
Commit: clea-os/tools/seco-build-configurator@6235d931
[LOCALCONF] Add structure normalization for local.conf
After creating a local.conf file, it's beneficial to rearrange its contents into logical sections for better readability and maintenance.
This commit introduces the local_conf_normalize_structure function,
which currently moves all include statements to the beginning of the file.
--
Commit: clea-os/tools/seco-build-configurator@66e77443
[ACTIONS] add add_include_to_local_conf
Add action add_include_to_local_conf_opt, which appends "include value" to local.conf. Doesn't append anything to local.conf if the value set is empty.
--
Commit: clea-os/tools/seco-build-configurator@8988bb97
Bump to version 1.2.5
Changelog:
- [FIX] Fix f-strings with backslashes (ref: 3ac7ead) --
Commit: seco-base@42d485a3
[YCONFIG] Add Yconfig_bsp
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@6191b186
Integrate seco-build-configurator/nspa/fix-fstrings and 1 more
--
Commit: clea-os/tools/seco-build-configurator@3ac7eadd
[FIX] Fix f-strings with backslashes
Starting from Python3.10 it's raised an error when f-strings have backslashes. Handled to add compatibility to that Python version.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@3429dfc0
Bump to version 1.2.4
Changelog:
- [FIX] Fix bblayers.conf duplicates detection (ref: 703ac88) --
Commit: seco-base@8149f3bc
[YCONFIG] Add vendor-specific configurations
Add imx and rpi specific Yconfig.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@0a954492
Integrate seco-build-configurator/nspa/bblayers-duplicates-fix and 1 more
--
Commit: clea-os/tools/seco-build-configurator@703ac883
[FIX] Fix bblayers.conf duplicates detection
The duplicates detection is now based on the path relative to "layers" while before it was based on the layer's name only.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@b8a2e879
Bump to version 1.2.3
Changelog:
- [CICD] Include 'gitlab-ci' repo jobs to the automation steps (ref: e68ac7f) --
Commit: seco-base@cbeda88d
Integrate seco-build-configurator/lpag/seco-base_integration and 5 more
--
Commit: clea-os/tools/seco-build-configurator@e68ac7fc
[CICD] Include 'gitlab-ci' repo jobs to the automation steps
Every time a MR is opened in this repo, the corresponding SHA of the submodule in the ‘seco-base’ repository must be updated. For this reason, additional stages and jobs are added to the pipeline from the main repository of ‘gitlab-ci’ which enable this automatism. Already existing ‘update version’ and ‘pages’ jobs are added to those already defined within the ‘gitlab-ci’ repository. Other significant changes made to existing jobs:
- Renamed variable ‘TARGET_BRANCH’ to ‘MAIN_BRANCH’ to avoid conflicts with jobs within ‘gitlab-ci’.
- Replaced ‘only’ with ‘rules’ as it is no longer supported in the current version of GitLab (17.5.1).
--
Commit: clea-os/tools/seco-build-configurator@70ca497a
Bump to version 1.2.2
Changelog:
- [VERSION] Add --version option returning tool's version (ref: b983487) --
Commit: clea-os/tools/seco-build-configurator@b9834871
[VERSION] Add --version option returning tool's version
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@067f1e3d
Bump to version 1.2.1
Changelog:
- [POST-SCRIPTS] Remove configuration warnings (ref: 9b6df6b)
- [CORE] Update script sourcing to print stderr to console (ref: bd0c923) --
Commit: clea-os/tools/seco-build-configurator@9b6df6bd
[POST-SCRIPTS] Remove configuration warnings
Remove the warnings as they are already shown during the creation of the environment.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: clea-os/tools/seco-build-configurator@bd0c9239
[CORE] Update script sourcing to print stderr to console
The function source_script that runs scripts in source mode, has the
method subprocess.run that now:
- redirects the stdout to python in order to process the output
- regularly print to terminal stderr (it can be expoited in post-scripts to print to the user).
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@daabaa1e
[DEFCONFIG][MTK] Added Mediatek support
--
Commit: seco-base@b46255be
[YCONFIG] General Yconfigs rework
- Moved the former
Yconfig_distrointometa-seco-clea-osasYconfig_backends - Added
Yconfig_distro_featuresthat sources all the features
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@4dafc494
[YCONFIG] Include flavours' distro in Yconfig_distro
Source embedded and things flavours distros Yconfig. Add the choice
selection directly in base's Yconfig_distro so that the distros are
gathered from the layers and selected (only one at a time).
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@2aae010f
[POST-SCRIPTS] Enable post-scripts execution
When creating or reconfiguring a build environment (respectively with ./seco-setup.sh -c and ./seco-setup.sh -r) the post-scripts found in the hardware-related and flavour-related layers are executed.
The scripts are executed in source mode so they can modify the environment.
The scripts are searched with the pattern
*-seco-<flavour>-post-script.sh for flavour and
*-seco-<arch>-post.script.sh for Seco's SOC layer.
The scripts are execute in alphabetical order: to guarantee the correct
execution order it is possible to name the scripts as follow assuming
the flavour is clea-os-things:
0001-seco-clea-os-things-post-script.sh, 0002-seco-clea-os-things-post-script.sh, etc..
For the hardware layer, assuming a build for Rockchip-base boards:
0001-seco-rk-post-script.sh, 0002-seco-rk-post-script.sh, etc..
The scripts can be placed wherever in the layer as the configurator will scan the full directory but it's suggested to place them in the "conf" folder to keep the layers clean.
Bump seco-build-configurator to version v1.2.0.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@95655e85
[YCONFIG] Add flavours menu
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@9b79836f
[FIX] Fix custom layer detection
In CleaOS 2.0 the custom layers will be in meta-seco.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@ee9da470
[YCONFIG][QEMU] add QEMU runtime configuration
Source Yconfig_qemu from meta-seco-bsp which contains the QEMU runtime configuration menu for .qemuboot.conf.
Also, fix help in Yconfig_architecture for bsp architecture.
Signed-off-by: Alessandro Pecugi alessandro.pecugi@seco.com
--
Commit: seco-base@8356b73b
[YCONFIG][DEFCONFIG][IMX-EVK] add support for i.MX EVKs
Add Yconfig files for i.MX EVK boards, specifically:
- i.MX8M Plus
- i.MX93
- i.MX95
Signed-off-by: Alessandro Pecugi alessandro.pecugi@seco.com
--
Commit: seco-base@f574ccfa
[BUILD-CONFIGURATOR] Update launcher improving build directory reconfiguration
Change the way the configuration is backed-up: instead of copying the whole build directory only the configuration folder is backed-up (and compressed into a tar.gz).
Minor improvements on prints and fix on the creation of the launcher symlink when the file already exists.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@27454beb
[BUILD-CONFIGURATOR][DEFCONFIGS][YCONFIG] Renamed cluster CONFIG_CLEAOS with CONFIG_FLAVOUR
Updated build configurator renaming the cluster CONFIG_CLEAOS with CONFIG_FLAVOUR. The defconfigs and the Yconfig have been updated accordingly.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@9c241666
[BUILD-CONFIGURATOR][DEFCONFIGS] Renamed cluster CONFIG_DISTRO with CONFIG_OS-DISTRO
Updated build configurator renaming the cluster CONFIG_DISTRO to remove redundancy in the string. The defconfigs have been updated accordingly.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@fab95b55
[YCONFIG][DEFCONFIG][QEMU] Add support to QEMU
Added the Yconfig related to QEMU.
Added defconfigs for:
- QEMU ARM
- QEMU ARM 64
- QEMU x86
- QEMU x86-64.
Note: there is no Seco specific meta-layer for QEMU, the machines are
implemented in poky. For that, to follow the build-configurator flow,
the CONFIG_ARCH_ARCHITECTURE_bsp is used as a dummy flag (the
configurator adds to bblayers.conf the layer meta-seco-<layer> based on
CONFIG_ARCH_ARCHITECTURE_<layer>).
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@a7f2cbed
[SUBMODULE][BUILD-CONFIGURATOR] Update configurator submodule
Update the reference to the build configurator submodule that
improves bblayers.conf sanity check avoiding layer duplicates.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@53b2ac70
[YCONFIG][DEFCONFIG][RASPBERRY] Add support to Raspberry Pi boards
Added the Yconfig related to Raspberry Pi architecture.
Added defconfigs for the boards: Raspberry Pi 4 and Raspberry Pi 5.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@2383f36e
[SUBMODULE][BUILD-CONFIGURATOR] Update configurator submodule
Update the reference to the build configurator submodule that handles non-Seco machines (such as Raspberry Pi case).
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@1b34c9f0
[YCONFIG][DEFCONFIG][ROCKCHIP] Add support to Rockchip boards
Added the Yconfig related to Rockchip architecture.
Added defconfigs for the boards: C31, D23, E09.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@3b8d6244
[YCONFIG] Add CONFIGs to enable INHERIT += "rm_work"
Added CONFIGs to enable the option to save space on the building system
storage. Enabling the boolean YS-APPEND_INHERIT_rm_work activate the
flag YS-APPEND_RM-WORK-EXCLUDE to exclude some packages from
rm_work.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@fc9bf3fe
[SUBMODULE][BUILD-CONFIGURATOR] Update configurator submodule
Update the link to the build configurator submodule that adds the support to CONFIG_YS-APPEND. This cluster adds variables to the local.conf with the += assignment.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@b72239c6
[DEFCONFIG][INTEL] Add Intel-based boards defconfig
Explaination of the defconfig and the syntax of the build configurator:
CONFIG_HW_INTEL=y It's only related to Yconfig handling to enable the available distributions.
CONFIG_ARCH_ARCHITECTURE_intel=y
It's used by the configurator to look for the layer meta-seco-intel. For
example with CONFIG_ARCH_ARCHITECTURE_example-arch the configurator looks
for a layer called meta-seco-example-arch.
CONFIG_MACH_MACHINE_seco-corei7-64=y
It's used by the configurator to replace the value of the variable MACHINE
in the local.conf. For example, with CONFIG_MACH_MACHINE_example-machine
will update the local.conf with MACHINE ??= "example-machine"
CONFIG_CLEAOS_CLEA-OS_clea-os=y
It's used by the configurator to look for the layer meta-seco-clea-os. If
in the future there will be a different layer to include, for example
meta-seco-clea-os-new-type the configuration should be replaced with
CONFIG_CLEAOS_CLEA-OS_clea-os-new-type=y.
CONFIG_DISTRO_DISTRO_clea-os-fb=y
It's used by the configuator to replace the value of the variable DISTRO in
the local.conf. For example, with CONFIG_DISTRO_DISTRO_example-distro
will update the local.conf with MACHINE ??= "example-distro"
CONFIG_ES_BUILD-DIR="build_corei7" It's used by the configurator to create the building folder with the name passed to the configurator flag.
CONFIG_YS_PACKAGE-CLASSES="package_rpm"
Adds to the local.conf the variable-value pair
PACKAGE_CLASSES = "package_rpm".
**CONFIG_YS_SSTATE-DIR="{TOPDIR}/sstate-cache"** Adds to the `local.conf` the variable-value pair `SSTATE_DIR = "{TOPDIR}/sstate-cache"`.
**CONFIG_YS_DL-DIR="{BSPDIR}/downloads/"** Adds to the `local.conf` the variable-value pair `DL_DIR = "{BSPDIR}/downloads/"`.
CONFIG_YS_BB-NICE-LEVEL=1
Adds to the local.conf the variable-value pair BB_NICE_LEVEL = "1".
For more information on the syntax refer to: https://git.seco.com/clea-os/tools/seco-build-configurator
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@c4fc3030
[SUBMODULE][BUILD-CONFIGURATOR] Update submodule reference
Update seco-build-configurator submodule reference.
--
Commit: seco-base@a9d959cf
[YCONFIG] Update Yconfigs to work with new configurator syntax
Major changes:
- added to
Yconfig_project_settingsthe default values for variables BUILD_DIR, PACKAGE_CLASSES, SSTATE_DIR, DL_DIR and BB_NICE_LEVEL. The value empty is no more accepted. - renamed in
Yconfig_environmentthe CONFIG selecting CLEA OS to correctly work with the new configurator. Considering that there is no distiction betweenthingsandembedded, this flag may be removed in the future and consider it as always selected by the configurator. NOTE: the small-case part of the flag is the string used to look for the meta-layer (i.e. CLEAOS_CLEA-OS_clea-os will look for meta-seco-clea-os). - renamed in
Yconfig_architecturethe CONFIGs matching the new syntax. NOTE: the small-case part of the ARCH_ARCHITECTURE flag is the string used to look for the meta-layer (i.e. ARCH_ARCHITECTURE_intel will look for meta-seco-intel).
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@35685432
[BBLAYERS] Add bblayers.conf
Ported bblayers.conf from kirkstone. Added to kirkstone's version the
dependency from meta-seco-bsp.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@668e77c3
[YCONFIG] Remove distinction between CleaOS embedded and things
Adapts to the new structure that unifies CleaOS embedded and things.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@69158d6c
[YCONFIG] Remove all architectures but Intel
Remove all the architectures but Intel. Every architecture will be added as soon as the porting to scarthgap is completed.
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@4756edef
[YCONFIG] Port Yconfigs from kirkstone
Ported integrally the Yconfigs from kirkstone as starting point.
The menuconfig is not working due to missing files (many architectures have not been ported yet).
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com
--
Commit: seco-base@7d2b1b3c
[SUBMODULE][BUILD-CONFIGURATOR] Add seco-build-configurator submodule
Add the new version of the seco-build-configurator.
Reference & documentation: https://git.seco.com/clea-os/tools/seco-build-configurator
Signed-off-by: Nicola Sparnacci nicola.sparnacci@seco.com