<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/rust/rust-cross-canadian.inc, branch 5.2_M2</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=5.2_M2</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=5.2_M2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2025-01-21T23:09:33+00:00</updated>
<entry>
<title>classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)</title>
<updated>2025-01-21T23:09:33+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-01-10T14:45:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=90e0a0f7f4536e1aeb311ab2b061be71b4129e4e'/>
<id>urn:sha1:90e0a0f7f4536e1aeb311ab2b061be71b4129e4e</id>
<content type='text'>
The idea of the base class dependency is to say "yes, I need a C cross compiler"
and this was never meant to be gcc specific. Looking at the codebase, whilst we
code triplets into this, it does overcomplicate things as there are only ever
limited, "target", "sdk" and the class extended versions like mutlilib.

After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc.

This lets us remove the "gcc" specific element as well as removing the over
complicated triplet usage.

At the same time, change the much less widely used "g++" variant to "c++" for
similar reasons and remove the triplet from virtual/XXX-binutils too.

Backwards compatibility mappings could be left but are just going to confuse
things in future so we'll just require users to update.

This simplification, whilst disruptive for any toolchain focused layers, will
make improved toolchain selection in the future much easier.

Since we no longer have overlapping variables, some code for that can just
be removed. The class extension code does need to start remapping some variables
but not the crosssdk target recipe names.

This patch is in two pieces, this one handles the renaming with the functional
changes separate in a second for easier review even if this breaks bisection.

(From OE-Core rev: 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>libstd-rs,rust-cross-canadian: set CVE_PRODUCT to rust</title>
<updated>2024-07-16T10:56:53+00:00</updated>
<author>
<name>Peter Marko</name>
<email>peter.marko@siemens.com</email>
</author>
<published>2024-07-14T09:36:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=49497a9e469c22dd0a7ba1f8c1a0b6856e67ef3f'/>
<id>urn:sha1:49497a9e469c22dd0a7ba1f8c1a0b6856e67ef3f</id>
<content type='text'>
These recipes come from rust sources and CVEs are reported for them
under rust-lang:rust vendor:product touple.
Especially libstd-rs needs correct CVE_PRODUCT as is it installed on
target devices (being statically linked to rust compiled binaries).

before:
cargo: CVE_PRODUCT="cargo"
cargo-c-native: CVE_PRODUCT="cargo-c"
libstd-rs: CVE_PRODUCT="libstd-rs"
rust: CVE_PRODUCT="rust"
rust-cross-canadian: CVE_PRODUCT="rust-cross-canadian-&lt;arch&gt;"
rust-llvm: CVE_PRODUCT="rust-llvm"

after:
cargo: CVE_PRODUCT="cargo"
cargo-c-native: CVE_PRODUCT="cargo-c"
libstd-rs: CVE_PRODUCT="rust"
rust: CVE_PRODUCT="rust"
rust-cross-canadian-x86-64: CVE_PRODUCT="rust"
rust-llvm: CVE_PRODUCT="rust-llvm"

Product for rust-llvm is uncertain and, should be handled in another
commit if it is desired to align it, too.

sqlite&gt; select vendor, product, count(product) from products where vendor="rust-lang" group by product;
rust-lang|async-h1|2
rust-lang|cargo|5
rust-lang|future-utils|2
rust-lang|futures-task|2
rust-lang|mdbook|1
rust-lang|regex|2
rust-lang|rsa|2
rust-lang|rust|45
rust-lang|socket2|1

(From OE-Core rev: e8cf1df16a6ec2785cacaf608bec5cd8496103af)

Signed-off-by: Peter Marko &lt;peter.marko@siemens.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>recipes: Switch away from S = WORKDIR</title>
<updated>2024-05-21T11:08:04+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2024-05-01T21:52:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d6ae8d2004f8ac3aab4571e0077d406b2d19b542'/>
<id>urn:sha1:d6ae8d2004f8ac3aab4571e0077d406b2d19b542</id>
<content type='text'>
Where recipes use S = ${WORKDIR}, change them to set UNPACKDIR to
a subdir of WORKDIR and make S point at this instead.

I've chosen not to force S into any standard UNPACKDIR we may pick in
future just so the S = UNPACKDIR case is clearly visible by the
directory naming under WORKDIR as that should aid usability.

(From OE-Core rev: d9328e3b0b062f0621de3d114584b44f384a1c02)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>recipes: Update S = WORKDIR recipes to use ${S} correctly</title>
<updated>2024-05-02T14:15:51+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2024-05-01T21:50:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3288587aeb009fb65652776242c0a526b90771e2'/>
<id>urn:sha1:3288587aeb009fb65652776242c0a526b90771e2</id>
<content type='text'>
Where recipes use S = ${WORKDIR}, ensure they are referencing ${S} correctly
to access files as soon we want to stop doing this in WORKDIR at which point
they would break unless corrected.

(From OE-Core rev: f25dd633fffe6560f191526d1869e657e129bad9)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>rust-cross-canadian: Add riscv64 to cross-canadian hosts</title>
<updated>2023-11-05T11:28:34+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2023-11-02T19:02:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=769abe5702021ee477adc361e230a438f7a6810b'/>
<id>urn:sha1:769abe5702021ee477adc361e230a438f7a6810b</id>
<content type='text'>
(From OE-Core rev: c0bf5dd2f3ef11df35130283853017ba69d0e9c1)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>rust-cross-canadian: set CARGO_TARGET_&lt;triple&gt;_RUNNER for nativesdk</title>
<updated>2023-10-19T12:38:56+00:00</updated>
<author>
<name>Sean Nyekjaer</name>
<email>sean@geanix.com</email>
</author>
<published>2023-10-09T10:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1a44c1ad599385be2d503897add9480c29f32e05'/>
<id>urn:sha1:1a44c1ad599385be2d503897add9480c29f32e05</id>
<content type='text'>
This will enable us to build and run rust programs on the sdk host.

% cargo run --target x86_64-oesdk-linux-gnu -vv
       Fresh hello v0.1.0 (~/development/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
     Running `/usr/local/sdk/sysroots/x86_64-oesdk-linux/lib/ld-linux-x86-64.so.2 target/x86_64-oesdk-linux-gnu/debug/hello`
Hello, world

(From OE-Core rev: 0dc848e0b560947f93a780f4bf7b6d1926a570eb)

Signed-off-by: Sean Nyekjaer &lt;sean@geanix.com&gt;
Signed-off-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>rust-cross-canadian: set CARGO_TARGET_&lt;triple&gt;_RUSTFLAGS</title>
<updated>2023-10-19T12:38:56+00:00</updated>
<author>
<name>Sean Nyekjaer</name>
<email>sean@geanix.com</email>
</author>
<published>2023-10-09T10:51:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=791468b7abdf5b5fdb8537a988838d233ffc32da'/>
<id>urn:sha1:791468b7abdf5b5fdb8537a988838d233ffc32da</id>
<content type='text'>
Avoid setting sdk-wide RUSTFLAGS as these flags only are valid when
building for target.
This will enable building for different targets with different
RUSTFLAGS.

(From OE-Core rev: 25627606aadacae3a2ab805a6098c81fed154b27)

Signed-off-by: Sean Nyekjaer &lt;sean@geanix.com&gt;
Signed-off-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc/go: Drop crosssdk suffix from virtual provides to improve dependency handling</title>
<updated>2023-05-02T09:24:50+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-05-01T11:01:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=768c89e306d0486acf8bc76cecef90436f6551b3'/>
<id>urn:sha1:768c89e306d0486acf8bc76cecef90436f6551b3</id>
<content type='text'>
There is little point in having "crosssdk" suffex added to the virtual provider within
gcc/go since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it
allowing some of the special case overriding to be removed.

This also allows removal of some of the MLPREFIX usage since again, the triplet
also covers this.

(From OE-Core rev: fe0206ba482d209b24e636d578aa68ba5e67ba1b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>meta/recipes: ensure all recipes have a SUMMARY</title>
<updated>2023-04-13T12:53:44+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex.kanavin@gmail.com</email>
</author>
<published>2023-03-31T05:26:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9f96e494687f513509e52c645bbcb86dfdf2c4f9'/>
<id>urn:sha1:9f96e494687f513509e52c645bbcb86dfdf2c4f9</id>
<content type='text'>
DESCRIPTION is optional for now; writing good component descriptions
is not easy (but appreciated).

(From OE-Core rev: 9ce4f9248db3db70732d886a18ea355f321bd49d)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>rust-cross-canadian: Fix for the issue caused by using sdk shell</title>
<updated>2022-09-07T07:53:50+00:00</updated>
<author>
<name>Sundeep KOKKONDA</name>
<email>sundeep.kokkonda@gmail.com</email>
</author>
<published>2022-09-07T02:18:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dd8fd17a1ba1dee2900ee6efd1d658d56802972b'/>
<id>urn:sha1:dd8fd17a1ba1dee2900ee6efd1d658d56802972b</id>
<content type='text'>
This is a fix for the fix in YOCTO #14878. When the shebang is more than
128 characters the default shell /bin/sh is used instead of SDK shell as
a fallback, which causes problems with LD_LIBRARY_PATH. With this patch
shell usage is avoided as we use a C wrapper and unset LD_LIBRARY_PATH
that way.

[YOCTO #14892]

(From OE-Core rev: 7cd6faf4e0147eef557f83fb266a25935e26efff)

Signed-off-by: Sundeep KOKKONDA &lt;sundeep.kokkonda@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
