<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/xback/target/sdk, branch master</title>
<subtitle>Staging tree of Koen Vandeputte</subtitle>
<id>https://git.openwrt.org/openwrt/staging/xback/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/xback/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/'/>
<updated>2026-10-30T10:06:08Z</updated>
<entry>
<title>libstd-rust: build and package the Rust standard library</title>
<updated>2026-10-30T10:06:08Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-08T10:21:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=db310ff0fb5db94135f43be4f50536f0d033b476'/>
<id>urn:sha1:db310ff0fb5db94135f43be4f50536f0d033b476</id>
<content type='text'>
Build the sysroot crate with the selected Cargo and rustc, using the
source tarball's vendored crates and shared target CPU flags. Stage the
rlibs and shared library through normal package-owned target staging,
and include that sysroot in the SDK.
Separate Cargo output by ABI identity to keep dependency artefacts from
different configurations in their own build directories.

Name the shared library and package ABI from compiler, source, target
and build configuration inputs, with configuration changes triggering
a rebuild. Declare libgcc as a runtime dependency for libgcc_s.so.1.

Release builds optimise for size, abort on panic and emit no unwind
tables. They also take the size options of unstable rustc, which the
sysroot build permits anyway: panics carry no location
(-Zlocation-detail=none) and derived Debug output is reduced to type
names (-Zfmt-debug=shallow). RUST_PANIC_IMMEDIATE_ABORT, on by default,
builds with -Cpanic=immediate-abort and without the panic-unwind
feature: a panic stops the program at once, without formatting a
message. rustc requires the same panic strategy for all crates of a
program, the standard library included, so this is a build-wide option.
Debug builds retain unwinding, panic messages and full Debug output.

Build paths are mapped out of the library as iremap in rules.mk does
for C, unless CONFIG_DEBUG is set without
CONFIG_REPRODUCIBLE_DEBUG_INFO. The map stays out of the inputs of the
ABI identity, which would otherwise depend on the build path.

rust-values.mk maps the OpenWrt target to its Rust target triple and CPU
flags; the mapping is derived from lang/rust in the packages feed by
Luca Barbato and Donald Hoskins. The mips64 ABI comes from
CONFIG_MIPS64_ABI, which every mips64 configuration sets, and n64 maps
to the muslabi64 and gnuabi64 triples. These are hard-float, so
soft-float mips64 with musl uses mips64-openwrt-linux-musl, the
soft-float n64 target of rustc, and the other soft-float mips64 and
mips64el configurations, which have no Rust target, get no Rust
packages. The e500v2 of mpc85xx has no FPU but shares the hard-float
powerpc triple, whose hard-float feature is turned off with
CONFIG_SOFT_FLOAT. When the target triple is the build host's, as for
x86_64 and aarch64 glibc targets, Cargo links build scripts with the
target linker as well but keeps target rustflags off them, so the target
linker is passed as a rustflag in that case.

include/scan.mk rescans the package metadata when an include/rust-*.mk
file changes, as for include/package*.mk.

Co-developed-by: Brian Redbeard &lt;redbeard@dead-city.org&gt;
Signed-off-by: Brian Redbeard &lt;redbeard@dead-city.org&gt;
Co-developed-by: Aditya Nugraha &lt;vortexilation@gmail.com&gt;
Signed-off-by: Aditya Nugraha &lt;vortexilation@gmail.com&gt;
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>sdk: add support to sign each .apk package by sdk</title>
<updated>2026-04-29T10:43:54Z</updated>
<author>
<name>Hannu Nyman</name>
</author>
<published>2026-04-26T18:16:48Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=9a6c754d7d844953a6216c71ab9af2341191ac3e'/>
<id>urn:sha1:9a6c754d7d844953a6216c71ab9af2341191ac3e</id>
<content type='text'>
Add support to signing each package's .apk file into SDK.
This adds into SDK the feature added by f20794a to the normal builds.

Currently SDK does not sign the compiled packages, causing untrusted
package errors at package installation. The reason is the logic of
defaulting to 'n' in BUILDBOT and 'y' elsewhere. As downloadable SDKs
are compiled by the buildbot, the option gets 'n' set as the default.
And the option is not among the few build options exposed in the SDK
menuconfig, so the user can't easily change it.

Enable the feature by default:

* Exclude the SIGN_EACH_PACKAGE option from sdk/convert-config.pl
* Default to 'y' and expose the option in the SDK config menu.

(Avoiding untrusted errors naturally requires the user to copy the
public key into the router, quite similar as with full builds.)

Signed-off-by: Hannu Nyman &lt;hannu.nyman@iki.fi&gt;
Link: https://github.com/openwrt/openwrt/pull/23104
Signed-off-by: Robert Marko &lt;robert.marko@sartura.hr&gt;
</content>
</entry>
<entry>
<title>sdk: use TOOLCHAIN_DIR_NAME for STAGING_SUBDIR_TOOLCHAIN</title>
<updated>2026-03-10T12:34:31Z</updated>
<author>
<name>Nikita Ostrenkov</name>
</author>
<published>2026-03-07T13:10:34Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=d50b20b2e350b385d686181e85d23f23c430b5c4'/>
<id>urn:sha1:d50b20b2e350b385d686181e85d23f23c430b5c4</id>
<content type='text'>
Like a STAGING_SUBDIR_TARGET which uses TARGET_DIR_NAME, we can use TOOLCHAIN_DIR_NAME for STAGING_SUBDIR_TOOLCHAIN to avoid code duplication.

Signed-off-by: Nikita Ostrenkov &lt;ownik.dev@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/22315
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain: sdk: ib: allow external toolchain override</title>
<updated>2026-02-20T21:54:26Z</updated>
<author>
<name>Daniel Dickinson</name>
</author>
<published>2016-01-03T06:02:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=8f0b2b7d78404fc18d2b641686bc6d9af1d694f1'/>
<id>urn:sha1:8f0b2b7d78404fc18d2b641686bc6d9af1d694f1</id>
<content type='text'>
Allow building imagebuilder and/or sdk with dependency on the same
external toolchain as used to build the imagebuilder or sdk (so that ib
and sdk may be built using an external toolchain).

Signed-off-by: Daniel Dickinson &lt;openwrt@daniel.thecshore.com&gt;
Original patch:
https://lists.openwrt.org/pipermail/openwrt-devel/2016-January/012552.html
[rebased to current main, impvove commit title]
Signed-off-by: Pawel Dembicki &lt;paweldembicki@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/22089
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>treewide: drop CVS support</title>
<updated>2026-02-13T14:40:13Z</updated>
<author>
<name>Yanase Yuki</name>
</author>
<published>2025-12-31T09:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=2c099e5623089522d843ccd334e15e6b58874c6e'/>
<id>urn:sha1:2c099e5623089522d843ccd334e15e6b58874c6e</id>
<content type='text'>
We have no CVS-managed package in official repositories.
This commit drops obsolete SCM system support.

Signed-off-by: Yanase Yuki &lt;dev@zpc.st&gt;
Link: https://github.com/openwrt/openwrt/pull/21340
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>sdk: use GIT_COMMIT for buildbot SDK</title>
<updated>2025-12-04T18:20:55Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2025-12-04T18:20:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=6c94b53f110da02e2972a8023ad8622931373b04'/>
<id>urn:sha1:6c94b53f110da02e2972a8023ad8622931373b04</id>
<content type='text'>
Instead of using tag name, directly use git commit for the base feed
string if we detect we are generating an SDK from a buildbot (using
CONFIG_BUILDBOT)

This improve security and generates consistent feed.conf.default files
following the pattern used by feeds repository.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>sdk: invert logic for GIT_BRANCH and GIT_TAGNAME</title>
<updated>2025-12-04T18:20:38Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2025-12-04T18:11:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=289172b00e7193df8a2afa1eee54b43148470698'/>
<id>urn:sha1:289172b00e7193df8a2afa1eee54b43148470698</id>
<content type='text'>
There is currently a logic error with generating the base feed string.

In the scenario where the commit of a Tag match the latest commit of a
stable branch, the stable branch have priority over the tag name.

This results in generating SDK that actually target the branch instead
of the specific tag.

To fix this invert the logic and give priority to the tag name.

Fixes: #18583
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>sdk: filter out main on GIT_BRANCH parsing</title>
<updated>2025-12-04T18:08:08Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2025-12-04T18:08:08Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=0338dd44d5755fdd9bd38ce18e823cc024979240'/>
<id>urn:sha1:0338dd44d5755fdd9bd38ce18e823cc024979240</id>
<content type='text'>
Branch named main was never filter out on parsing the GIT_BRANCH define.

Add main to the name of branch that should be filtered.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>Revert "sdk: use git-src-full to allow Git versioning"</title>
<updated>2025-10-29T20:09:57Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2025-10-29T11:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=b915eba9a9956cbfaa9db6193aa49ce744dffcf3'/>
<id>urn:sha1:b915eba9a9956cbfaa9db6193aa49ce744dffcf3</id>
<content type='text'>
This reverts commit f795ecc0ddb40a3d796e6faaa177b545923efc70.

Now that AUTORELEASE has been dropped from main, we can go back on
shallow clone it for faster SDK usage.

Link: https://github.com/openwrt/openwrt/pull/20586
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>sdk: set package as the root directory for base feed</title>
<updated>2025-10-13T09:47:08Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2025-10-13T00:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=297057f0f2ff961f2ec9e3634a55423368aff172'/>
<id>urn:sha1:297057f0f2ff961f2ec9e3634a55423368aff172</id>
<content type='text'>
To produce consistent source entry for package compiled from non-SDK and
SDK build, set the "--root=package" flag for the base feed.

This will set the root directory for the base feed to the OpenWrt
core repository "package" directory.

This fix the reproducible problem of package build from SDK that have
the source entry set to "feeds/base/package/..." for every package
coming from the base feed.

Link: https://github.com/openwrt/openwrt/pull/20396
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
</feed>
