[edk2-devel] [PATCH v1 1/2] SignedCapsulePkg: Add package CI YAML file

Michael Kubacki posted 2 patches 3 years, 5 months ago
[edk2-devel] [PATCH v1 1/2] SignedCapsulePkg: Add package CI YAML file
Posted by Michael Kubacki 3 years, 5 months ago
From: Michael Kubacki <michael.kubacki@microsoft.com>

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4050

Adds the package as a supported package to .pytool/CISettings.py
and adds a CI YAML for the package so it can be run in CI.

Cc: Jian J Wang <jian.j.wang@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
 .pytool/CISettings.py                     |  1 +
 SignedCapsulePkg/SignedCapsulePkg.ci.yaml | 90 ++++++++++++++++++++
 2 files changed, 91 insertions(+)

diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py
index cf9e0d77b19b..306e27893e58 100644
--- a/.pytool/CISettings.py
+++ b/.pytool/CISettings.py
@@ -62,6 +62,7 @@ class Settings(CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManag
                 "UefiCpuPkg",
                 "FmpDevicePkg",
                 "ShellPkg",
+                "SignedCapsulePkg",
                 "StandaloneMmPkg",
                 "FatPkg",
                 "CryptoPkg",
diff --git a/SignedCapsulePkg/SignedCapsulePkg.ci.yaml b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
new file mode 100644
index 000000000000..5f48613bd79f
--- /dev/null
+++ b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
@@ -0,0 +1,90 @@
+## @file
+# Core CI configuration for SignedCapsulePkg
+#
+# Copyright (c) Microsoft Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+    ## options defined .pytool/Plugin/LicenseCheck
+    "LicenseCheck": {
+        "IgnoreFiles": []
+    },
+
+    "EccCheck": {
+        ## Exception sample looks like below:
+        ## "ExceptionList": [
+        ##     "<ErrorID>", "<KeyWord>"
+        ## ]
+        "ExceptionList": [
+        ],
+        ## Both file path and directory path are accepted.
+        "IgnoreFiles": []
+    },
+
+    ## options defined .pytool/Plugin/CompilerPlugin
+    "CompilerPlugin": {
+        "DscPath": "SignedCapsulePkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
+    "HostUnitTestCompilerPlugin": {
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/CharEncodingCheck
+    "CharEncodingCheck": {
+        "IgnoreFiles": []
+    },
+
+    ## options defined .pytool/Plugin/DependencyCheck
+    "DependencyCheck": {
+        "AcceptableDependencies": [
+          "MdeModulePkg/MdeModulePkg.dec",
+          "MdePkg/MdePkg.dec",
+          "SecurityPkg/SecurityPkg.dec",
+          "SignedCapsulePkg/SignedCapsulePkg.dec"
+        ],
+        # For host based unit tests
+        "AcceptableDependencies-HOST_APPLICATION":[
+          "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
+        ],
+        # For UEFI shell based apps
+        "AcceptableDependencies-UEFI_APPLICATION":[],
+        "IgnoreInf": []
+    },
+
+    ## options defined .pytool/Plugin/DscCompleteCheck
+    "DscCompleteCheck": {
+        "IgnoreInf": [""],
+        "DscPath": "SignedCapsulePkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
+    "HostUnitTestDscCompleteCheck": {
+        "IgnoreInf": [""],
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/GuidCheck
+    "GuidCheck": {
+        "IgnoreGuidName": [],
+        "IgnoreGuidValue": [],
+        "IgnoreFoldersAndFiles": [],
+        "IgnoreDuplicates": [],
+    },
+
+    ## options defined .pytool/Plugin/LibraryClassCheck
+    "LibraryClassCheck": {
+        "IgnoreHeaderFile": []
+    },
+
+    ## options defined .pytool/Plugin/SpellCheck
+    "SpellCheck": {
+        "AuditOnly": True,           # Failures need to be reviewed and resolved in the future
+        "IgnoreFiles": [],           # use gitignore syntax to ignore errors in matching files
+        "ExtendWords": [],           # words to extend to the dictionary for this package
+        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that should be ignore
+        "AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported)
+    }
+}
-- 
2.28.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#93337): https://edk2.groups.io/g/devel/message/93337
Mute This Topic: https://groups.io/mt/93519142/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1 1/2] SignedCapsulePkg: Add package CI YAML file
Posted by Michael Kubacki 3 years, 4 months ago
Hi Jian,

Can you please provide a review for this patch?

Mike Kinney has already given an R-b for [PATCH v1 2/2] so the series 
will be ready once this patch is reviewed.

Thanks,
Michael

On 9/7/2022 1:05 AM, Michael Kubacki wrote:
> From: Michael Kubacki <michael.kubacki@microsoft.com>
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4050
> 
> Adds the package as a supported package to .pytool/CISettings.py
> and adds a CI YAML for the package so it can be run in CI.
> 
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
> ---
>   .pytool/CISettings.py                     |  1 +
>   SignedCapsulePkg/SignedCapsulePkg.ci.yaml | 90 ++++++++++++++++++++
>   2 files changed, 91 insertions(+)
> 
> diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py
> index cf9e0d77b19b..306e27893e58 100644
> --- a/.pytool/CISettings.py
> +++ b/.pytool/CISettings.py
> @@ -62,6 +62,7 @@ class Settings(CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManag
>                   "UefiCpuPkg",
>                   "FmpDevicePkg",
>                   "ShellPkg",
> +                "SignedCapsulePkg",
>                   "StandaloneMmPkg",
>                   "FatPkg",
>                   "CryptoPkg",
> diff --git a/SignedCapsulePkg/SignedCapsulePkg.ci.yaml b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
> new file mode 100644
> index 000000000000..5f48613bd79f
> --- /dev/null
> +++ b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
> @@ -0,0 +1,90 @@
> +## @file
> +# Core CI configuration for SignedCapsulePkg
> +#
> +# Copyright (c) Microsoft Corporation
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +##
> +{
> +    ## options defined .pytool/Plugin/LicenseCheck
> +    "LicenseCheck": {
> +        "IgnoreFiles": []
> +    },
> +
> +    "EccCheck": {
> +        ## Exception sample looks like below:
> +        ## "ExceptionList": [
> +        ##     "<ErrorID>", "<KeyWord>"
> +        ## ]
> +        "ExceptionList": [
> +        ],
> +        ## Both file path and directory path are accepted.
> +        "IgnoreFiles": []
> +    },
> +
> +    ## options defined .pytool/Plugin/CompilerPlugin
> +    "CompilerPlugin": {
> +        "DscPath": "SignedCapsulePkg.dsc"
> +    },
> +
> +    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
> +    "HostUnitTestCompilerPlugin": {
> +        "DscPath": "" # Don't support this test
> +    },
> +
> +    ## options defined .pytool/Plugin/CharEncodingCheck
> +    "CharEncodingCheck": {
> +        "IgnoreFiles": []
> +    },
> +
> +    ## options defined .pytool/Plugin/DependencyCheck
> +    "DependencyCheck": {
> +        "AcceptableDependencies": [
> +          "MdeModulePkg/MdeModulePkg.dec",
> +          "MdePkg/MdePkg.dec",
> +          "SecurityPkg/SecurityPkg.dec",
> +          "SignedCapsulePkg/SignedCapsulePkg.dec"
> +        ],
> +        # For host based unit tests
> +        "AcceptableDependencies-HOST_APPLICATION":[
> +          "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
> +        ],
> +        # For UEFI shell based apps
> +        "AcceptableDependencies-UEFI_APPLICATION":[],
> +        "IgnoreInf": []
> +    },
> +
> +    ## options defined .pytool/Plugin/DscCompleteCheck
> +    "DscCompleteCheck": {
> +        "IgnoreInf": [""],
> +        "DscPath": "SignedCapsulePkg.dsc"
> +    },
> +
> +    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
> +    "HostUnitTestDscCompleteCheck": {
> +        "IgnoreInf": [""],
> +        "DscPath": "" # Don't support this test
> +    },
> +
> +    ## options defined .pytool/Plugin/GuidCheck
> +    "GuidCheck": {
> +        "IgnoreGuidName": [],
> +        "IgnoreGuidValue": [],
> +        "IgnoreFoldersAndFiles": [],
> +        "IgnoreDuplicates": [],
> +    },
> +
> +    ## options defined .pytool/Plugin/LibraryClassCheck
> +    "LibraryClassCheck": {
> +        "IgnoreHeaderFile": []
> +    },
> +
> +    ## options defined .pytool/Plugin/SpellCheck
> +    "SpellCheck": {
> +        "AuditOnly": True,           # Failures need to be reviewed and resolved in the future
> +        "IgnoreFiles": [],           # use gitignore syntax to ignore errors in matching files
> +        "ExtendWords": [],           # words to extend to the dictionary for this package
> +        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that should be ignore
> +        "AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported)
> +    }
> +}


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#93866): https://edk2.groups.io/g/devel/message/93866
Mute This Topic: https://groups.io/mt/93519142/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1 1/2] SignedCapsulePkg: Add package CI YAML file
Posted by Michael Kubacki 3 years, 4 months ago
Review reminder

On 9/15/2022 3:36 PM, Michael Kubacki wrote:
> Hi Jian,
> 
> Can you please provide a review for this patch?
> 
> Mike Kinney has already given an R-b for [PATCH v1 2/2] so the series 
> will be ready once this patch is reviewed.
> 
> Thanks,
> Michael
> 
> On 9/7/2022 1:05 AM, Michael Kubacki wrote:
>> From: Michael Kubacki <michael.kubacki@microsoft.com>
>>
>> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4050
>>
>> Adds the package as a supported package to .pytool/CISettings.py
>> and adds a CI YAML for the package so it can be run in CI.
>>
>> Cc: Jian J Wang <jian.j.wang@intel.com>
>> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
>> ---
>>   .pytool/CISettings.py                     |  1 +
>>   SignedCapsulePkg/SignedCapsulePkg.ci.yaml | 90 ++++++++++++++++++++
>>   2 files changed, 91 insertions(+)
>>
>> diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py
>> index cf9e0d77b19b..306e27893e58 100644
>> --- a/.pytool/CISettings.py
>> +++ b/.pytool/CISettings.py
>> @@ -62,6 +62,7 @@ class Settings(CiBuildSettingsManager, 
>> UpdateSettingsManager, SetupSettingsManag
>>                   "UefiCpuPkg",
>>                   "FmpDevicePkg",
>>                   "ShellPkg",
>> +                "SignedCapsulePkg",
>>                   "StandaloneMmPkg",
>>                   "FatPkg",
>>                   "CryptoPkg",
>> diff --git a/SignedCapsulePkg/SignedCapsulePkg.ci.yaml 
>> b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
>> new file mode 100644
>> index 000000000000..5f48613bd79f
>> --- /dev/null
>> +++ b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
>> @@ -0,0 +1,90 @@
>> +## @file
>> +# Core CI configuration for SignedCapsulePkg
>> +#
>> +# Copyright (c) Microsoft Corporation
>> +#
>> +# SPDX-License-Identifier: BSD-2-Clause-Patent
>> +##
>> +{
>> +    ## options defined .pytool/Plugin/LicenseCheck
>> +    "LicenseCheck": {
>> +        "IgnoreFiles": []
>> +    },
>> +
>> +    "EccCheck": {
>> +        ## Exception sample looks like below:
>> +        ## "ExceptionList": [
>> +        ##     "<ErrorID>", "<KeyWord>"
>> +        ## ]
>> +        "ExceptionList": [
>> +        ],
>> +        ## Both file path and directory path are accepted.
>> +        "IgnoreFiles": []
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/CompilerPlugin
>> +    "CompilerPlugin": {
>> +        "DscPath": "SignedCapsulePkg.dsc"
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
>> +    "HostUnitTestCompilerPlugin": {
>> +        "DscPath": "" # Don't support this test
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/CharEncodingCheck
>> +    "CharEncodingCheck": {
>> +        "IgnoreFiles": []
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/DependencyCheck
>> +    "DependencyCheck": {
>> +        "AcceptableDependencies": [
>> +          "MdeModulePkg/MdeModulePkg.dec",
>> +          "MdePkg/MdePkg.dec",
>> +          "SecurityPkg/SecurityPkg.dec",
>> +          "SignedCapsulePkg/SignedCapsulePkg.dec"
>> +        ],
>> +        # For host based unit tests
>> +        "AcceptableDependencies-HOST_APPLICATION":[
>> +          "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
>> +        ],
>> +        # For UEFI shell based apps
>> +        "AcceptableDependencies-UEFI_APPLICATION":[],
>> +        "IgnoreInf": []
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/DscCompleteCheck
>> +    "DscCompleteCheck": {
>> +        "IgnoreInf": [""],
>> +        "DscPath": "SignedCapsulePkg.dsc"
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
>> +    "HostUnitTestDscCompleteCheck": {
>> +        "IgnoreInf": [""],
>> +        "DscPath": "" # Don't support this test
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/GuidCheck
>> +    "GuidCheck": {
>> +        "IgnoreGuidName": [],
>> +        "IgnoreGuidValue": [],
>> +        "IgnoreFoldersAndFiles": [],
>> +        "IgnoreDuplicates": [],
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/LibraryClassCheck
>> +    "LibraryClassCheck": {
>> +        "IgnoreHeaderFile": []
>> +    },
>> +
>> +    ## options defined .pytool/Plugin/SpellCheck
>> +    "SpellCheck": {
>> +        "AuditOnly": True,           # Failures need to be reviewed 
>> and resolved in the future
>> +        "IgnoreFiles": [],           # use gitignore syntax to ignore 
>> errors in matching files
>> +        "ExtendWords": [],           # words to extend to the 
>> dictionary for this package
>> +        "IgnoreStandardPaths": [],   # Standard Plugin defined paths 
>> that should be ignore
>> +        "AdditionalIncludePaths": [] # Additional paths to spell 
>> check (wildcards supported)
>> +    }
>> +}


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94149): https://edk2.groups.io/g/devel/message/94149
Mute This Topic: https://groups.io/mt/93519142/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1 1/2] SignedCapsulePkg: Add package CI YAML file
Posted by Michael Kubacki 3 years, 4 months ago
Another reminder.

On 9/22/2022 9:06 PM, Michael Kubacki wrote:
> Review reminder
> 
> On 9/15/2022 3:36 PM, Michael Kubacki wrote:
>> Hi Jian,
>>
>> Can you please provide a review for this patch?
>>
>> Mike Kinney has already given an R-b for [PATCH v1 2/2] so the series 
>> will be ready once this patch is reviewed.
>>
>> Thanks,
>> Michael
>>
>> On 9/7/2022 1:05 AM, Michael Kubacki wrote:
>>> From: Michael Kubacki <michael.kubacki@microsoft.com>
>>>
>>> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4050
>>>
>>> Adds the package as a supported package to .pytool/CISettings.py
>>> and adds a CI YAML for the package so it can be run in CI.
>>>
>>> Cc: Jian J Wang <jian.j.wang@intel.com>
>>> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
>>> ---
>>>   .pytool/CISettings.py                     |  1 +
>>>   SignedCapsulePkg/SignedCapsulePkg.ci.yaml | 90 ++++++++++++++++++++
>>>   2 files changed, 91 insertions(+)
>>>
>>> diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py
>>> index cf9e0d77b19b..306e27893e58 100644
>>> --- a/.pytool/CISettings.py
>>> +++ b/.pytool/CISettings.py
>>> @@ -62,6 +62,7 @@ class Settings(CiBuildSettingsManager, 
>>> UpdateSettingsManager, SetupSettingsManag
>>>                   "UefiCpuPkg",
>>>                   "FmpDevicePkg",
>>>                   "ShellPkg",
>>> +                "SignedCapsulePkg",
>>>                   "StandaloneMmPkg",
>>>                   "FatPkg",
>>>                   "CryptoPkg",
>>> diff --git a/SignedCapsulePkg/SignedCapsulePkg.ci.yaml 
>>> b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
>>> new file mode 100644
>>> index 000000000000..5f48613bd79f
>>> --- /dev/null
>>> +++ b/SignedCapsulePkg/SignedCapsulePkg.ci.yaml
>>> @@ -0,0 +1,90 @@
>>> +## @file
>>> +# Core CI configuration for SignedCapsulePkg
>>> +#
>>> +# Copyright (c) Microsoft Corporation
>>> +#
>>> +# SPDX-License-Identifier: BSD-2-Clause-Patent
>>> +##
>>> +{
>>> +    ## options defined .pytool/Plugin/LicenseCheck
>>> +    "LicenseCheck": {
>>> +        "IgnoreFiles": []
>>> +    },
>>> +
>>> +    "EccCheck": {
>>> +        ## Exception sample looks like below:
>>> +        ## "ExceptionList": [
>>> +        ##     "<ErrorID>", "<KeyWord>"
>>> +        ## ]
>>> +        "ExceptionList": [
>>> +        ],
>>> +        ## Both file path and directory path are accepted.
>>> +        "IgnoreFiles": []
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/CompilerPlugin
>>> +    "CompilerPlugin": {
>>> +        "DscPath": "SignedCapsulePkg.dsc"
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
>>> +    "HostUnitTestCompilerPlugin": {
>>> +        "DscPath": "" # Don't support this test
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/CharEncodingCheck
>>> +    "CharEncodingCheck": {
>>> +        "IgnoreFiles": []
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/DependencyCheck
>>> +    "DependencyCheck": {
>>> +        "AcceptableDependencies": [
>>> +          "MdeModulePkg/MdeModulePkg.dec",
>>> +          "MdePkg/MdePkg.dec",
>>> +          "SecurityPkg/SecurityPkg.dec",
>>> +          "SignedCapsulePkg/SignedCapsulePkg.dec"
>>> +        ],
>>> +        # For host based unit tests
>>> +        "AcceptableDependencies-HOST_APPLICATION":[
>>> +          "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
>>> +        ],
>>> +        # For UEFI shell based apps
>>> +        "AcceptableDependencies-UEFI_APPLICATION":[],
>>> +        "IgnoreInf": []
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/DscCompleteCheck
>>> +    "DscCompleteCheck": {
>>> +        "IgnoreInf": [""],
>>> +        "DscPath": "SignedCapsulePkg.dsc"
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
>>> +    "HostUnitTestDscCompleteCheck": {
>>> +        "IgnoreInf": [""],
>>> +        "DscPath": "" # Don't support this test
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/GuidCheck
>>> +    "GuidCheck": {
>>> +        "IgnoreGuidName": [],
>>> +        "IgnoreGuidValue": [],
>>> +        "IgnoreFoldersAndFiles": [],
>>> +        "IgnoreDuplicates": [],
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/LibraryClassCheck
>>> +    "LibraryClassCheck": {
>>> +        "IgnoreHeaderFile": []
>>> +    },
>>> +
>>> +    ## options defined .pytool/Plugin/SpellCheck
>>> +    "SpellCheck": {
>>> +        "AuditOnly": True,           # Failures need to be reviewed 
>>> and resolved in the future
>>> +        "IgnoreFiles": [],           # use gitignore syntax to 
>>> ignore errors in matching files
>>> +        "ExtendWords": [],           # words to extend to the 
>>> dictionary for this package
>>> +        "IgnoreStandardPaths": [],   # Standard Plugin defined paths 
>>> that should be ignore
>>> +        "AdditionalIncludePaths": [] # Additional paths to spell 
>>> check (wildcards supported)
>>> +    }
>>> +}


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94672): https://edk2.groups.io/g/devel/message/94672
Mute This Topic: https://groups.io/mt/93519142/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-