Skip to content

Proposal: Change LinuxPackageObjectType Architecture Field To ControlledVocabularyStringType

Ivan Kirillov edited this page Dec 10, 2013 · 4 revisions

Status: CLOSED
Comment Period Closes: 12/09/2013
Affects Backwards Compatibility: No
Relevant Issue: https://github.com/CybOXProject/schemas/issues/49

Background Information

This proposal concerns the Architecture field found under the LinuxPackageObjectType as well as the ArchitectureType and ArchitectureTypeEnum datatypes found within the Linux Package Object schema. The Architecture field is currently of type, ArchitectureType which represents a limited list of CPU architectures (e.g., i386, SPARC, noarch, etc.) that Linux package managers support.

The current enumeration does not express the full set of CPU architecture vocabulary terms used by all Linux package managers (e.g., amd64, alpha, alphaev5, armel, armhf, armv4l, armv8, i486, i586, mips, ppc64, sun4c, sparc64, etc.). These terms are not universally understood by all package managers and some package managers use different terms to denote the same architecture (e.g., armv7hl on Fedora RPM setups and armhf on Debian DPKG setups refer to ARMv7 hardware floating point architectures).

Proposal

Change the datatype of the Architecture field to ControlledVocabularyStringType, thereby opening the field to any user input. The ArchitectureType and ArchitectureTypeEnum types would be removed as they would no longer be used.

By opening the field to any user input, the Linux Package Object can support future CPU architectures (e.g., aarch64), or other current architectures without the needing to alter or extend an enumeration.

Using ControlledVocabularyStringType allows CybOX authors to define and refer to a controlled vocabulary should they wish or need to.

The schema changes would look like this:

<xs:element name="Architecture" type="cyboxCommon:ControlledVocabularyStringType" minOccurs="0">
    <!-- Annotations -->
</xs:element>

Impact

No other datatypes are effected by this change and there are no foreseen backwards compatibility issues.

Requested Feedback

  1. Does opening this field negatively impact CybOX authors/consumers?
Clone this wiki locally