<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/stintel/package/Makefile, 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-02-13T20:17:21Z</updated>
<entry>
<title>build: propagate errors when generating apk indexes</title>
<updated>2026-02-13T20:17:21Z</updated>
<author>
<name>Matt Merhar</name>
</author>
<published>2026-02-11T19:33:15Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=fcb07b00ec22b90fc0cd790701982018ee345366'/>
<id>urn:sha1:fcb07b00ec22b90fc0cd790701982018ee345366</id>
<content type='text'>
The build would continue even if the some of the intermediate commands
failed, as long as the last command in the final iteration of the loop
was successful.

Add 'set -e' to the subshell so that we immediately exit. Previously,
only the exit status of the final make-index-json.py mattered.

Fixes: https://github.com/openwrt/openwrt/issues/21981
Signed-off-by: Matt Merhar &lt;mattmerhar@protonmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/21993
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: use STAGING_DIR for special APK package versions</title>
<updated>2026-02-01T10:16:54Z</updated>
<author>
<name>Jonas Gorski</name>
</author>
<published>2026-01-14T19:19:30Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=a4e92f0484f365565072162dad3eeaca0e38b709'/>
<id>urn:sha1:a4e92f0484f365565072162dad3eeaca0e38b709</id>
<content type='text'>
Removing tmp/ after having built base-files or toolchain currently
breaks rootfs generation:

$ rm -rf tmp
$ make V=w
...
 make[2] package/install
cat: .../openwrt/tmp/base-files.version: No such file or directory
cat: .../openwrt/openwrt/tmp/libc.version: No such file or directory
ERROR: 'base-files=' is not a valid world dependency, format is name(@tag)([&lt;&gt;~=]version)
make[2]: *** [package/Makefile:100: package/install] Error 99

The only way to recover from here is to clean toolchain and base-files via

$ make package/{base-files,toolchain}/clean

tmp is supposed to be ephemeral, so clearing it is an expected action,
which normally just triggers a regeneration of all files there.

Fix this by moving the version files to $(STAGING_DIR).

Fixes: 63e178f067 ("build: lock versions for special APK packages")
Signed-off-by: Jonas Gorski &lt;jonas.gorski@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/21803
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: avoid errors during release candidate kernel packaging</title>
<updated>2025-12-20T10:06:47Z</updated>
<author>
<name>Markus Stockhausen</name>
</author>
<published>2025-12-19T06:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=d34cef823e103240516f01a54a3f01a09d9f36ed'/>
<id>urn:sha1:d34cef823e103240516f01a54a3f01a09d9f36ed</id>
<content type='text'>
The build system allows to use Linux release candidate kernels (-rcX).
For this a target/linux/generic/kernel-6.XY as follows is needed:

LINUX_VERSION-6.XY = -rc1
LINUX_KERNEL_HASH-6.XY-rc1 = 18ba6ebd72f46b881e0d73e390b2888b7b43...

Sadly the builds fail with a packaging error.

fakeroot /home/openwrt/openwrt/openwrt/staging_dir/host/bin/apk
mkpkg --info "name:kernel" --info "version:6.15-rc1~c4bf...1f6-r1"
ERROR: info field 'version' has invalid value: package version is invalid

The apk metadata specification reads:

"... Currently the APK version specification is as follows:
number{.number}...{letter}{_suffix{number}}...{~hash}{-r#} ...
Optionally one or more _suffix{number} components can follow.
The list of valid suffixes (and their sorting order) is: alpha,
beta, pre, rc, &lt;no suffix&gt;, cvs, svn, git, hg, p."

Given that the kernel uses "-rcX" naming scheme and apk requires
"_rcX" instead, simply translate the dash to an underscore for
these builds.

Signed-off-by: Markus Stockhausen &lt;markus.stockhausen@gmx.de&gt;
Link: https://github.com/openwrt/openwrt/pull/21214
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>package: do not sign individual APK packages</title>
<updated>2025-10-09T10:52:43Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2025-10-08T09:42:51Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=084697eb62f8fae6185af285e12f5cd0268114de'/>
<id>urn:sha1:084697eb62f8fae6185af285e12f5cd0268114de</id>
<content type='text'>
APK, unlike OPKG, can sign individual packages and not just indexes.
Since OpenWrt uses a distributed build infrastructure and only the build
master owns the private keys, signing of individual buildworkers doesn't
work. Right now, each buildworker creates a temporary build key to sign
packages, then transmits the package index to the buildmaster for a
signature.

As a result, all individual packages contain a nonsensical signature,
making them harder to reproduce. This commit removes the individual
package signing.

Since APK requires signatures per default, explicitly allow installation
of unsigned packages during the build process.

The config option here is for historical reasons misleading,
SIGNED_PACKAGES refers to the package index, not the individual
packages.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>package: generate sha256sums by default</title>
<updated>2025-10-03T09:00:23Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2025-10-01T13:22:38Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=06be7f59285b57f3401a8891ebe857d25806d16c'/>
<id>urn:sha1:06be7f59285b57f3401a8891ebe857d25806d16c</id>
<content type='text'>
Right now the sha256sums are only created for the targets/ folder (i.e.
firmware images) and only the buildbot generates those sha256sums. Instead, let
the build system create the sha256sums directly.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>package: rework contents of package index.json</title>
<updated>2025-06-11T14:55:31Z</updated>
<author>
<name>Eric Fahlgren</name>
</author>
<published>2025-06-06T23:43:27Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=2b0b16f1d1571b23425b2d7ab5dc3816e2ceec12'/>
<id>urn:sha1:2b0b16f1d1571b23425b2d7ab5dc3816e2ceec12</id>
<content type='text'>
Rework the generation of the index.json version of the package
indexes to match the original intent (i.e., for use by the ASU
server and other downstream projects).  The current file contains
package names that have ABI versioning, making them unusable by ASU,
so we now remove the ABI suffixes.

Also adds a 'version' field to the json, so downstream utilities
can detect the new semantics of the package name fields.

Links: https://github.com/openwrt/openwrt/commit/218ce40cd738f3373438aab82467807a8707fb9c
Signed-off-by: Eric Fahlgren &lt;ericfahlgren@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/19051
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: lock versions for special APK packages</title>
<updated>2025-02-04T13:48:59Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2025-02-01T23:01:58Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=63e178f06740c473e4347dc195f03e7f57ce59a2'/>
<id>urn:sha1:63e178f06740c473e4347dc195f03e7f57ce59a2</id>
<content type='text'>
The three packages base-files, libc and kernel are special, the former
can't be upgraded in place since it's content are modified on startup,
the latter two are virtual packages only used as constraints for the
package manager.

Historically base-files was "locked" via a special OPKG function, the
latter two were hidden from the package index and thereby never picked
as possible upgrade.

Time moved forward and we now have APK and tools like OWUT. The latter
compares available packages with installed packages and generates user
readable output, requiring versions for libc and kernel, too. At the
same time, APK uses a different looking mechanism, which is set during
installation instead of part of the package metadata.

In short, this patch adds version constraints to the three packages,
allowing them to be part of the package index.

Fixes: #17774
Fixes: #17775
Fixes: efahl/owut#31

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: fix filtering of non-upgradable packages</title>
<updated>2024-11-21T16:55:45Z</updated>
<author>
<name>Eric Fahlgren</name>
</author>
<published>2024-11-21T13:50:21Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=2784f78c6c22c0731ef551e4fcd42295f08a07a5'/>
<id>urn:sha1:2784f78c6c22c0731ef551e4fcd42295f08a07a5</id>
<content type='text'>
Add anchor to name search so that we don't inadvertently filter out
packages containing, say, "kernel-" as part of their name.

Fixes: openwrt/packages#25372
Signed-off-by: Eric Fahlgren &lt;ericfahlgren@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/17032
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: apk: Remove /run/apk/db.lock</title>
<updated>2024-11-16T13:22:22Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2024-11-14T21:57:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=71c14cbee5aa5f1924191252c07a69b7e6aabd29'/>
<id>urn:sha1:71c14cbee5aa5f1924191252c07a69b7e6aabd29</id>
<content type='text'>
Do not add the file /run/apk/db.lock to the root file system. The /run
folder should be on a tmpfs.

At runtime we should make /run point to a tmpfs. At build time we should
just remove the folder.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
Link: https://github.com/openwrt/openwrt/pull/16961
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>package: use /dev/null for apk --repositories-file</title>
<updated>2024-11-15T11:27:44Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2024-11-15T11:27:44Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/stintel/commit/?id=8c018dcb5601150f26a01babd297e6b416895eba'/>
<id>urn:sha1:8c018dcb5601150f26a01babd297e6b416895eba</id>
<content type='text'>
In preparation for APK version bump, use /dev/null instead of /dev/zero
for --repositories-file to mute an error in recent APK files.

New APK version use modern istream logic that are more sensible to the
kind of file passed and /dev/null is required to correctly handle an
empty repository file.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
</feed>
