On Mon, Feb 26, 2024 at 04:25:02PM -0500, Steve Grubb wrote:
> Hello,
> 
> I've run across a strange problem building a package that has some rust files 
> in it. The build goes fine until the end when it starts to check for 
> shebangs. 
> It ends like this:
> 
> /usr/src/debug/suricata-7.0.3-1.fc41.x86_64/rust/vendor/alloc-no-stdlib/src/
> lib.rs has shebang which doesn't start with '/' ([no_std])
> 
> When I check the file, I find this:
> #![no_std]
> 
> #[macro_use]
> mod allocated_memory;
> mod stack_allocator;
> mod allocated_stack_memory;
> 
> Not being a rust programmer, I have no good idea what the code is doing. I 
> can't patch this code to move it off the first line because it's vendored 
> code.

The code is correct (for Rust) as it indicates that the standard
library shouldn't be used:

https://docs.rust-embedded.org/book/intro/no-std.html

It's a bit unfortunate that Rust used the shebang syntax here,
although in practice they couldn't be confused as these files
shouldn't ever be executable.

It's also correct that RPM worries about this file since it is
installed (in debuginfo) and appears to contain a shebang.

> Is there a way to tell rpmbuild not to worry about this?

rust.spec has this in %prep, and /usr/lib/rpm/redhat/brp-mangle-shebangs
only seems to care about executable files, so this should help:

  # Sometimes Rust sources start with #![...] attributes, and "smart" editors 
think
  # it's a shebang and make them executable. Then brp-mangle-shebangs gets 
upset...
  find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+'

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to