<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/robimarko/package/Makefile, branch master</title>
<subtitle>Staging tree of Robert Marko</subtitle>
<id>https://git.openwrt.org/openwrt/staging/robimarko/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/robimarko/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/'/>
<updated>2023-11-01T11:14:41Z</updated>
<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.openwrt.org/openwrt/staging/robimarko/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>build: generate index.json</title>
<updated>2023-05-09T21:56:49Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2023-05-09T19:39:58Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=218ce40cd738f3373438aab82467807a8707fb9c'/>
<id>urn:sha1:218ce40cd738f3373438aab82467807a8707fb9c</id>
<content type='text'>
The index.json file lies next to Packages index files and contains a
json dict with the package architecture and a dict of package names and
versions.

This can be used for downstream project to know what packages in which
versions are available.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: fix opkg install step for large package selection</title>
<updated>2021-05-12T09:13:53Z</updated>
<author>
<name>Alexander Egorenkov</name>
</author>
<published>2021-04-09T23:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=1854aeec4d37079690309dec3171d0864339f73a'/>
<id>urn:sha1:1854aeec4d37079690309dec3171d0864339f73a</id>
<content type='text'>
When the list of packages to be installed in a built image exceeds a certain
number, then 'opkg install' executed for target '$(curdir)/install' in
package/Makefile fails with: /usr/bin/env: Argument list too long.

On Linux, the length of a command-line parameter is limited by
MAX_ARG_STRLEN to max 128 kB.

* https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/binfmts.h#L15
* https://www.in-ulm.de/~mascheck/various/argmax/

To solve the problem, store the package list being passed to 'opkg install'
in a temporary file and use the shell command substitution to pass the
content of the file to 'opkg install'. This guarantees that the length of
the command-line parameters passed to the bash shell is short.

The following bash script demonstrates the problem:
----------------------------------------------------------------------------
count=${1:-1000}

FILES=""
a_file="/home/egorenar/Repositories/openwrt-rel/bin/targets/alpine/generic/packages/base-files_1414-r16464+19-e887049fbb_arm_cortex-a15_neon-vfpv4.ipk"

for i in $(seq 1 $count); do
	FILES="$FILES $a_file"
done

env bash -c "echo $FILES &gt;/dev/null"
echo "$FILES" | wc -c
----------------------------------------------------------------------------

Test run:
----------------------------------------------------------------------------
$ ./test.sh 916
130989
$ ./test.sh 917
./test.sh: line 14: /bin/env: Argument list too long
131132
----------------------------------------------------------------------------

Signed-off-by: Alexander Egorenkov &lt;egorenar-dev@posteo.net&gt;
[reword commit subject]
Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: always build package/kernel/linux</title>
<updated>2020-10-15T11:25:58Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2020-10-15T08:17:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=953435795d176a95b58ca78ee5fb54490c8b40c5'/>
<id>urn:sha1:953435795d176a95b58ca78ee5fb54490c8b40c5</id>
<content type='text'>
build: always build package/kernel/linux

If no in-tree module packages are selected, the build system does not process
package/kernel/linux. This package is required for building the virtual
'kernel' package, which is specified as a dependency for all kernel packages.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: store SourceDateEpoch in manifest</title>
<updated>2020-08-31T10:18:06Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-08-15T20:57:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=62d5ec7306f9664aeba64bc64c0dee1d93978bb4'/>
<id>urn:sha1:62d5ec7306f9664aeba64bc64c0dee1d93978bb4</id>
<content type='text'>
The usage of granular `SOURCE_DATE_EPOCH` for packages is an
incrementing integer which could be useful for downstream tooling,
therefore add it to the packages manifest.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>packages: apply usign padding workarounds to package indexes if needed</title>
<updated>2019-08-07T05:15:07Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2019-08-07T05:15:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=e1f588e446c7ceb696b644b37aeab9b3476e2a57'/>
<id>urn:sha1:e1f588e446c7ceb696b644b37aeab9b3476e2a57</id>
<content type='text'>
Since usign miscalculates SHA-512 digests for input sizes of exactly
64 + N * 128 + 110 or 64 + N * 128 + 111 bytes, we need to apply some
white space padding to avoid triggering the hashing edge case.

While usign itself has been fixed already, there is still many firmwares
in the wild which use broken usign versions to verify current package
indexes so we'll need to carry this workaround in the forseeable future.

Ref: https://forum.openwrt.org/t/signature-check-failed/41945
Ref: https://git.openwrt.org/5a52b379902471cef495687547c7b568142f66d2
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>build: add ABI_VERSION to binary package names</title>
<updated>2019-01-19T13:32:12Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2019-01-17T16:31:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=e6bcf1e4acc4901c1803cdccc4b9fabfd6d84c90'/>
<id>urn:sha1:e6bcf1e4acc4901c1803cdccc4b9fabfd6d84c90</id>
<content type='text'>
Add the ABI_VERSION source makefile variable to the binary package basename
and resolve source dependencies on packages with ABI_VERSION set to such
expanded names.

If for example a package specifies DEPENDS:=libopenssl while the OpenSSL
Makefile specifies ABI_VERSION:=1.0.0, the resulting ipk control data
dependency will be "Depends: libopenssl1.0.0" and the libopenssl ipk file
will be called "libopenssl1.0.0_&lt;version&gt;_&lt;arch&gt;.ipk".

The next time a library such as OpenSSL is updated to an incompatible
version, the ABI_VERSION shall be changed accordingly to prevent opkg from
simply upgrading to an incompatible library without considering the
dependencies of already installed packages.

Also introduce another "SourceName" control field which is required by
the newly introduced "scritps/ipkg-remove" to determine the proper related
.ipk files to delete upon buildroot package clean operations.

Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>imagebuilder: reuse rootfs preparation from rootfs.mk</title>
<updated>2018-03-07T08:59:08Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2018-03-06T08:38:29Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=2fbf669730bfa7342b36711d275bfe4c7951ac1b'/>
<id>urn:sha1:2fbf669730bfa7342b36711d275bfe4c7951ac1b</id>
<content type='text'>
In addition to removing redundant code, this fixes various issues in
IB-generated images that have been fixed in prepare_rootfs before,
including better handling of CONFIG_CLEAN_IPKG and enabling of initscripts
from FILES.

We also reuse the opkg macro and remove --force-... flags that have been
removed from rootfs.mk as well.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>include/rootfs.mk: pass additional files dir to prepare_rootfs as an argument</title>
<updated>2018-03-07T08:59:07Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2018-03-06T20:06:30Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=cf1c7c0f17a45bba3e7ce1a3cd3f8f7efa7196c4'/>
<id>urn:sha1:cf1c7c0f17a45bba3e7ce1a3cd3f8f7efa7196c4</id>
<content type='text'>
Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>build: remove package preconfig feature</title>
<updated>2018-01-13T18:54:44Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2018-01-07T12:05:23Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/robimarko/commit/?id=3abf663c22e32636306cfcdfd5fb29402a1c1a7f'/>
<id>urn:sha1:3abf663c22e32636306cfcdfd5fb29402a1c1a7f</id>
<content type='text'>
This feature has been unused for years, and its scope is too limited to be
actually useful.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
</feed>
