<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/stintel/scripts/package-metadata.pl, branch master</title>
<subtitle>Staging tree of Stijn Tintel</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/stintel/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/'/>
<updated>2026-01-22T10:20:17Z</updated>
<entry>
<title>build: auto-generate CONFLICTS for package variants sharing PROVIDES</title>
<updated>2026-01-22T10:20:17Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2026-01-13T09:31:22Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=6d5c71f7485da47e5c2a0318dafd47ba50311dd4'/>
<id>urn:sha1:6d5c71f7485da47e5c2a0318dafd47ba50311dd4</id>
<content type='text'>
Packages using PROVIDES to declare virtual package alternatives (like
tc-tiny, tc-bpf, tc-full all providing 'tc') could be simultaneously
selected as =y, causing installation conflicts. The PROVIDES mechanism
only handles dependency resolution, not mutual exclusion.

Add add_implicit_provides_conflicts() to automatically generate CONFLICTS
from default variants to non-default variants sharing the same PROVIDES.
This ensures only one variant can be built-in (=y) at a time.

Skip generating implicit conflicts when the non-default already has
explicit CONFLICTS with the default, to avoid Kconfig dependency cycles
with the select-based dependency resolution.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: add explicit timezone in CycloneDX SBOM</title>
<updated>2024-06-07T10:05:49Z</updated>
<author>
<name>Roman Azarenko</name>
</author>
<published>2024-06-04T16:00:03Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=2ded629864de779df8ddd0224a875edf17f9fea5'/>
<id>urn:sha1:2ded629864de779df8ddd0224a875edf17f9fea5</id>
<content type='text'>
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.
Per the CycloneDX 1.4 spec, the `metadata.timestamp` field contains
the date/time when the BOM was created [1].

Before the change, the value generated by the package-metadata.pl
script would look like this:

	2024-06-03T15:51:10

CycloneDX 1.4 relies on the JSON Schema specification version draft-07,
which defines the `date-time` format [2] as derived from RFC 3339,
section 5.6 [3]. In this format, the `time-offset` component is required,
however in the original version of package-metadata.pl it is omitted.

This is causing problems with OWASP Dependency-Track version 4.11.0 or
newer, where it now validates submitted SBOMs against the JSON schema
by default [4]. SBOMs with incorrect timestamp values are rejected with
the following error:

	{
	    "detail": "Schema validation failed",
	    "errors": [
	        "$.metadata.timestamp: 2024-06-03T15:51:10 is an invalid date-time"
	    ],
	    "status": 400,
	    "title": "The uploaded BOM is invalid"
	}

Add explicit `Z` (UTC) timezone offset in the `timestamp` field
to satisfy the CycloneDX schema.

[1]: https://github.com/CycloneDX/specification/blob/1.4/schema/bom-1.4.schema.json#L116-L121
[2]: https://json-schema.org/draft-07/draft-handrews-json-schema-validation-01#rfc.section.7.3.1
[3]: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
[4]: https://github.com/DependencyTrack/dependency-track/pull/3522

Signed-off-by: Roman Azarenko &lt;roman.azarenko@iopsys.eu&gt;
</content>
</entry>
<entry>
<title>build: fix version info in cyclonedx sbom</title>
<updated>2024-05-25T17:27:06Z</updated>
<author>
<name>Akshay Bhat</name>
</author>
<published>2024-04-19T18:26:45Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=d8939ff2d5daac4eb3ff932f38ea9d63e091697a'/>
<id>urn:sha1:d8939ff2d5daac4eb3ff932f38ea9d63e091697a</id>
<content type='text'>
Prior e8725a932e16eaf6ec51add8c084d959cbe32ff2, version used to be
VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
After e8725a932e16eaf6ec51add8c084d959cbe32ff2, the version is:
VERSION:=$(PKG_VERSION)-r$(PKG_RELEASE)

Hence the gen_*_cyclonedxsbom functions need to be updated to remove
the trailing -r prefix in the version in order to generate correct
version info in the SBOM.

Signed-off-by: Akshay Bhat &lt;nodeax@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: add APK package build capabilities</title>
<updated>2024-05-17T20:21:26Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2024-05-14T10:36:59Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=d788ab376f859164df84e2054cbbbb0921943c5b'/>
<id>urn:sha1:d788ab376f859164df84e2054cbbbb0921943c5b</id>
<content type='text'>
A new option called `USE_APK` is added which generated APK packages
(.apk) instead of OPKG packages (.ipk).

Some features like fstools `snapshot` command are not yet ported

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: fix kernel component in CycloneDX SBOM</title>
<updated>2024-03-01T15:42:34Z</updated>
<author>
<name>Cedric DOURLENT</name>
</author>
<published>2024-03-01T15:42:34Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=84331215e57090a9cdae4af75af2539c39cd7de7'/>
<id>urn:sha1:84331215e57090a9cdae4af75af2539c39cd7de7</id>
<content type='text'>
As stated in the cycloneDX documentation, the field "type" is mandatory for all components.

More details here (https://cyclonedx.org/docs/1.5/json/#components_items_type)

Signed-off-by: Cedric DOURLENT &lt;cedric.dourlent@softathome.com&gt;
</content>
</entry>
<entry>
<title>build: add CycloneDX SBOM JSON support</title>
<updated>2023-11-01T11:14:41Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2023-10-24T08:27:13Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=d604a07225c5c82b942cd3374cc113ad676a2519'/>
<id>urn:sha1:d604a07225c5c82b942cd3374cc113ad676a2519</id>
<content type='text'>
CycloneDX is an open source standard developed by the OWASP foundation.
It supports a wide range of development ecosystems, a comprehensive set
of use cases, and focuses on automation, ease of adoption, and
progressive enhancement of SBOMs (Software Bill Of Materials) throughout
build pipelines.

So lets add support for CycloneDX SBOM for packages and images
manifests.

Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
<entry>
<title>package-metadata: add CPE information to JSON package manifests</title>
<updated>2023-11-01T11:14:39Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2022-10-19T13:46:45Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=8562c65ff8aae3899cdb190319709500b7651492'/>
<id>urn:sha1:8562c65ff8aae3899cdb190319709500b7651492</id>
<content type='text'>
Common Platform Enumeration (CPE) is a structured naming scheme for
information technology systems, software, and packages.

In order for the information to be processed further, it should also be
available in JSON package manifests.

Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
<entry>
<title>scripts/package-metadata.pl: strip already selected conditions from dependencies</title>
<updated>2023-09-01T17:30:32Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2023-09-01T17:26:29Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=ae88f00357c8d9b616bc034b1f266340f6bef3e3'/>
<id>urn:sha1:ae88f00357c8d9b616bc034b1f266340f6bef3e3</id>
<content type='text'>
When a dependency is pulled in via conditional depends, and the condition
is already selected earlier in the chain, drop the condition.
This avoids some corner cases that trigger recursive dependencies.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>Revert "scripts/package-metadata.pl: fix handling transitive conditional dependencies"</title>
<updated>2023-09-01T16:34:58Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2023-09-01T16:34:36Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=6252c18d1cae2a0f94e6a4bd706b98b210cf8063'/>
<id>urn:sha1:6252c18d1cae2a0f94e6a4bd706b98b210cf8063</id>
<content type='text'>
This reverts commit 6c3eff9dd8bb8d0f268e8a0dbedbc6a33bdac796.
This appears to cause some regressions in generated config.
Will be replaced with a fixed version later

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>scripts/package-metadata.pl: sort dependency keys</title>
<updated>2023-09-01T16:34:20Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2023-09-01T16:15:30Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=33303b5cece071b13aafb689eed9faa7ca79efcd'/>
<id>urn:sha1:33303b5cece071b13aafb689eed9faa7ca79efcd</id>
<content type='text'>
This makes it easier to keep track of changes in the generated output,
when the script is modified

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
</feed>
