Bug 2166379 - Review Request: wasi-libc - C library for WebAssembly System Interface
Summary: Review Request: wasi-libc - C library for WebAssembly System Interface
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Josh Stone
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/WebAssembly/wasi-l...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-02-01 16:35 UTC by Jan Staněk
Modified: 2023-06-14 10:09 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-06-14 10:09:03 UTC
Type: ---
Embargoed:
jistone: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 5390883 to 5521865 (1.77 KB, patch)
2023-02-13 13:50 UTC, Jakub Kadlčík
no flags Details | Diff
The .spec file difference from Copr build 5521865 to 5560672 (1.80 KB, patch)
2023-02-23 14:39 UTC, Jakub Kadlčík
no flags Details | Diff
The .spec file difference from Copr build 5560672 to 5925142 (1.41 KB, patch)
2023-05-16 16:59 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 5925142 to 5942243 (1.48 KB, patch)
2023-05-22 14:34 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 5942243 to 5960971 (2.91 KB, patch)
2023-05-26 12:01 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 5960971 to 6063803 (1.83 KB, patch)
2023-06-12 13:21 UTC, Fedora Review Service
no flags Details | Diff

Description Jan Staněk 2023-02-01 16:35:29 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/05390840-wasi-libc/wasi-libc.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/05390840-wasi-libc/wasi-libc-19-1.fc38.src.rpm
Description: WASI Libc is a libc for WebAssembly programs built on top of WASI system calls. It provides a wide array of POSIX-compatible C APIs, including support for standard I/O, file I/O, filesystem manipulation, memory management, time, string, environment variables, program startup, and many other APIs.
Fedora Account System Username: jstanek

Comment 2 Jan Staněk 2023-02-01 16:43:45 UTC
This is kind-of work in progress – it builds, installs and I can use it to compile things; but I have no good idea on how packaging of this kind of library should look.
Any comments and pointers greatly appreciated.

Known deviations from standard Fedora packaging guidelines:
- Header files in main package: Not sure if this is applicable even to standard C library.
- Static libs (.a) files in main package: Ditto above; but perhaps adding Provides: wasi-libc-static would be appropriate.

---

Note: I'll be on a trip for the following week, expect delays in reactions.

Comment 3 Jakub Kadlčík 2023-02-01 16:45:12 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5390883
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2166379-wasi-libc/fedora-rawhide-x86_64/05390883-wasi-libc/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

Comment 5 Jakub Kadlčík 2023-02-13 13:50:56 UTC
Created attachment 1943857 [details]
The .spec file difference from Copr build 5390883 to 5521865

Comment 6 Jakub Kadlčík 2023-02-13 13:50:58 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5521865
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2166379-wasi-libc/fedora-rawhide-x86_64/05521865-wasi-libc/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 7 Tom Stellard 2023-02-15 00:10:22 UTC
The spec file looks OK to me.  The only part I'm not sure about is completely overriding the build_cflags.  Normally, I would object to this, but I don't know which of the flags in build_cflags are supported or even relevant for wasm.  Have you checked to see which flags the upstream uses ?

Comment 8 Josh Stone 2023-02-20 21:35:10 UTC
Hi! Thanks for working on this -- I do have notes. :)

> Requires: %{name}%{?_isa} = %{version}-%{release}

This is problematic, requiring something like "wasi-libc(x86-64) = 19-2.fc37". There's no resulting %{name} package at all, and especially not for the particular build isa.

> Provides: %{name}-static  = %{version}-%{release}

This is okay, but for Rust it would be a little nicer to have -static on its own with just %{wasi_libdir}, as I don't need any headers. Then -devel can Require -static. Really all rustc needs is crt1-command.o, crt1-reactor.o, and libc.a, but it's probably not worth breaking it down that far.

I tried to use your package with rustc (forcing past the isa problem above), and got this error:

    .../libc.a: archive has no index; run ranlib to add one

I've faced that with Rust wasm libraries too, like bug 2002612. My current solution is to run llvm-ranlib in post:
https://src.fedoraproject.org/rpms/rust/blob/752fe3bcd2d1df989986fc5829445ec937311e74/f/rust.spec#_317

After that, it works! At least, I got a Rust "Hello, World!" running in wasmtime; I didn't try anything more thorough yet.

Comment 9 Jan Staněk 2023-02-23 13:45:41 UTC
(In reply to Tom Stellard from comment #7)
> The spec file looks OK to me.  The only part I'm not sure about is
> completely overriding the build_cflags.  Normally, I would object to this,
> but I don't know which of the flags in build_cflags are supported or even
> relevant for wasm.  Have you checked to see which flags the upstream uses ?

In upstream, the CFLAGS originally contain `-O2 -DNDEBUG`, and then a bunch of other flags are appended:

> CFLAGS += --target=$(TARGET_TRIPLE)
> CFLAGS += -fno-trapping-math
> CFLAGS += -Wall -Wextra -Werror \
>   -Wno-null-pointer-arithmetic \
>   -Wno-unused-parameter \
>   -Wno-sign-compare \
>   -Wno-unused-variable \
>   -Wno-unused-function \
>   -Wno-ignored-attributes \
>   -Wno-missing-braces \
>   -Wno-ignored-pragmas \
>   -Wno-unused-but-set-variable \
>   -Wno-unknown-warning-option
... and also flags specific for threading model, etc.

Originally, I tried to just patch/adjust the build_cflags as set by distribution, but that throws off testing – during build, the compiler emits definitions and values of a list of macros (`#define __SIZE_MAX__ 4294967295UL` and similar) and these are checked against expected values. Using the distribution flags, the expected files had to be patched. Some of the values I know to be pretty much just informational, however, most of them are not familiar to me, so I prefer not to touch them unless necessary.

In other words, I'm not against just adjusting/specifying different %build_cflags, but someone has to tell me what the correct value is :)

Comment 10 Jan Staněk 2023-02-23 14:30:50 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/05560607-wasi-libc/wasi-libc.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/05560607-wasi-libc/wasi-libc-19-3.fc39.src.rpm

(In reply to Josh Stone from comment #8)
> > Requires: %{name}%{?_isa} = %{version}-%{release}
> 
> This is problematic, requiring something like "wasi-libc(x86-64) =
> 19-2.fc37". There's no resulting %{name} package at all, and especially not
> for the particular build isa.

Good catch, copied from guidelines without thinking twice. Removed.

> > Provides: %{name}-static  = %{version}-%{release}
> 
> This is okay, but for Rust it would be a little nicer to have -static on its
> own with just %{wasi_libdir}, as I don't need any headers. Then -devel can
> Require -static. Really all rustc needs is crt1-command.o, crt1-reactor.o,
> and libc.a, but it's probably not worth breaking it down that far.

Split to -static and -devel as suggested. I would avoid any further lang-specific adjustments; one of the goals is for this to be usable across various language runtimes.

> I tried to use your package with rustc (forcing past the isa problem above),
> and got this error:
> 
>     .../libc.a: archive has no index; run ranlib to add one
> 
> I've faced that with Rust wasm libraries too, like bug 2002612. My current
> solution is to run llvm-ranlib in post:
> https://src.fedoraproject.org/rpms/rust/blob/
> 752fe3bcd2d1df989986fc5829445ec937311e74/f/rust.spec#_317

Now included in the package :)

Thanks for the notes, let me know how the current version works for you.

Comment 11 Jakub Kadlčík 2023-02-23 14:39:55 UTC
Created attachment 1945918 [details]
The .spec file difference from Copr build 5521865 to 5560672

Comment 12 Jakub Kadlčík 2023-02-23 14:39:57 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5560672
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2166379-wasi-libc/fedora-rawhide-x86_64/05560672-wasi-libc/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 13 Jan Staněk 2023-04-05 12:21:00 UTC
@jistone @tstellar Any comments (and/or review takers) on the new build? I tried to address your points and would like to move forward with it.

Setting needinfo so that bugzilla nags you, but feel free to just drop it if you don't want to add anything :)

Comment 14 Tom Stellard 2023-04-05 14:27:17 UTC
This new updates looks fine to me, let's give @jistone a chance to comment too.

Comment 15 Jan Staněk 2023-04-20 10:41:05 UTC
Two weeks without comment, I assume this is fine ;-) I would like to ask for a formal fedora review, then. Tom, Josh, any takers?

Comment 16 Zbigniew Jędrzejewski-Szmek 2023-05-13 22:04:22 UTC
Why not %autorelease and %autochangelog?
It is the recommended default now.

> BuildRequires:  git
You could use just 'git-core' to save a few bytes. But actually, git is not
needed at all. Drop this line and '-S git_am' below.

Hmm, build fails here:
diff -wur /builddir/build/BUILD/wasi-libc-wasi-sdk-19/expected/wasm32-wasi/predefined-macros.txt /builddir/build/BUILD/sysroot/share/wasm32-wasi/predefined-macros.txt
--- /builddir/build/BUILD/wasi-libc-wasi-sdk-19/expected/wasm32-wasi/predefined-macros.txt      2023-01-09 17:33:58.000000000 +0100
+++ /builddir/build/BUILD/sysroot/share/wasm32-wasi/predefined-macros.txt       2023-05-13 23:56:33.729836312 +0200
@@ -2480,6 +2480,10 @@
 #define __compiler_ATOMIC_SHORT_LOCK_FREE 2
 #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
 #define __compiler_ATOMIC_WCHAR_T_LOCK_FREE 2
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
 #define __GNUC_STDC_INLINE__ 1
 #define __GNUC_VA_LIST 1
 #define __GXX_ABI_VERSION 1002
make: *** [Makefile:674: check-symbols] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.LaaCtr (%build)
    Bad exit status from /var/tmp/rpm-tmp.LaaCtr (%build)

Comment 17 Jan Staněk 2023-05-16 16:51:57 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #16)
> Why not %autorelease and %autochangelog?
> It is the recommended default now.

Because it does not really work without proper dist-git repository setup. I currently have the package in a plain git repo and build it using local mock; the release is reset to 1 and the changelog just reads 'Local build' when I try to convert to rpmautospec.

But good point, I will make (hopefully) one final SRPM for the review which will use rpmautospec; this I can then just import into Fedora and start with a fresh history.

> > BuildRequires:  git
> You could use just 'git-core' to save a few bytes. But actually, git is not
> needed at all. Drop this line and '-S git_am' below.

That's by design, I prefer to let git manage application of my patches (and having it properly setup if I need to adjust them in the future). Switching to git-core though to save the build system some space.

> Hmm, build fails here:
> diff -wur
> /builddir/build/BUILD/wasi-libc-wasi-sdk-19/expected/wasm32-wasi/predefined-
> macros.txt
> /builddir/build/BUILD/sysroot/share/wasm32-wasi/predefined-macros.txt
> ---
> /builddir/build/BUILD/wasi-libc-wasi-sdk-19/expected/wasm32-wasi/predefined-
> macros.txt      2023-01-09 17:33:58.000000000 +0100
> +++ /builddir/build/BUILD/sysroot/share/wasm32-wasi/predefined-macros.txt   
> 2023-05-13 23:56:33.729836312 +0200
> @@ -2480,6 +2480,10 @@
>  #define __compiler_ATOMIC_SHORT_LOCK_FREE 2
>  #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
>  #define __compiler_ATOMIC_WCHAR_T_LOCK_FREE 2
> +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
> +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
> +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
> +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
>  #define __GNUC_STDC_INLINE__ 1
>  #define __GNUC_VA_LIST 1
>  #define __GXX_ABI_VERSION 1002
> make: *** [Makefile:674: check-symbols] Error 1
> error: Bad exit status from /var/tmp/rpm-tmp.LaaCtr (%build)
>     Bad exit status from /var/tmp/rpm-tmp.LaaCtr (%build)

Those are new definitions from clang 16; upstream patch that addresses that has been applied.

The hopefully final files for the review should thus be these:
Spec file: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/05923687-wasi-libc/wasi-libc.spec
SRPM: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/05923687-wasi-libc/wasi-libc-19-1.fc39.src.rpm

Comment 18 Fedora Review Service 2023-05-16 16:59:30 UTC
Created attachment 1964937 [details]
The .spec file difference from Copr build 5560672 to 5925142

Comment 19 Fedora Review Service 2023-05-16 16:59:33 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5925142
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2166379-wasi-libc/fedora-rawhide-x86_64/05925142-wasi-libc/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 21 Fedora Review Service 2023-05-22 14:34:08 UTC
Created attachment 1966205 [details]
The .spec file difference from Copr build 5925142 to 5942243

Comment 22 Fedora Review Service 2023-05-22 14:34:11 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5942243
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2166379-wasi-libc/fedora-rawhide-x86_64/05942243-wasi-libc/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 23 Josh Stone 2023-05-25 18:34:31 UTC
FYI, there's now a wasi-sdk-20 tag that includes the clang-16 patches.
(https://github.com/WebAssembly/wasi-libc/issues/416)

I finally got back to trying this again with the Rust package, replacing its "self-contained" with a link to the lib dir from wasi-libc-static, and it appears to work perfectly!

Let me take on the formal review as well... One quick note is that the "Provides: bundled(musl)" isn't going anywhere right now, since this doesn't ship a root package. It should probably go under the -static subpackage, and maybe -devel if that also contains musl headers.

Comment 25 Fedora Review Service 2023-05-26 12:01:54 UTC
Created attachment 1967100 [details]
The .spec file difference from Copr build 5942243 to 5960971

Comment 26 Fedora Review Service 2023-05-26 12:01:56 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5960971
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2166379-wasi-libc/fedora-rawhide-x86_64/05960971-wasi-libc/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 27 Jan Staněk 2023-05-31 10:23:03 UTC
@jistone Any idea when you plan to do the review?

Comment 28 Josh Stone 2023-06-03 00:09:15 UTC
I haven't done a formal review in a while, hope I'm doing this right...

Only two easy things that I see to fix, otherwise LGTM!

Package Review
==============

Summary:
* MUST: install cloudlibc/LICENSE
* SHOULD: justify the patch

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated

===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[!]: License file installed when any subpackage combination is installed.
     jistone: Missing an installed libc-bottom-half/cloudlibc/LICENSE
     (will need a rename on install to not clobber the root LICENSE)
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[-]: Package contains no bundled libraries without FPC exception.
     Note: considering N/A because system libraries don't apply to WASI.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
     jistone: these look fine to me
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Static libraries in -static or -devel subpackage, providing -devel if
     present.
     Note: Package has .a files: wasi-libc-static.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in wasi-
     libc-static , wasi-libc-devel
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
     jistone: only one patch, but has no comments
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[-]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define autorelease(e:s:pb:n)
     %{?-p:0.}%{lua:
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: wasi-libc-static-20-1.fc39.noarch.rpm
          wasi-libc-devel-20-1.fc39.noarch.rpm
          wasi-libc-20-1.fc39.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpk8zfks_o')]
checks: 31, packages: 3

wasi-libc-devel.noarch: E: zero-length /usr/wasm32-wasi/include/bits/hwcap.h
wasi-libc-devel.noarch: E: zero-length /usr/wasm32-wasi/include/bits/io.h
wasi-libc-devel.noarch: E: zero-length /usr/wasm32-wasi/include/bits/ioctl_fix.h
wasi-libc-devel.noarch: E: zero-length /usr/wasm32-wasi/include/bits/mman.h
wasi-libc-devel.noarch: E: zero-length /usr/wasm32-wasi/include/bits/poll.h
wasi-libc-devel.noarch: E: zero-length /usr/wasm32-wasi/include/bits/resource.h
wasi-libc-devel.noarch: E: zero-length /usr/wasm32-wasi/include/bits/socket.h
wasi-libc-static.noarch: W: files-duplicate /usr/wasm32-wasi/lib/wasm32-wasi/crt1.o /usr/wasm32-wasi/lib/wasm32-wasi/crt1-command.o
wasi-libc-static.noarch: W: files-duplicate /usr/wasm32-wasi/lib/wasm32-wasi/libxnet.a /usr/wasm32-wasi/lib/wasm32-wasi/libcrypt.a:/usr/wasm32-wasi/lib/wasm32-wasi/libdl.a:/usr/wasm32-wasi/lib/wasm32-wasi/libm.a:/usr/wasm32-wasi/lib/wasm32-wasi/libpthread.a:/usr/wasm32-wasi/lib/wasm32-wasi/libresolv.a:/usr/wasm32-wasi/lib/wasm32-wasi/librt.a:/usr/wasm32-wasi/lib/wasm32-wasi/libutil.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libc-printscan-long-double.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libc-printscan-no-floating-point.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libc.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libcrypt.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libdl.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libm.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libpthread.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libresolv.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/librt.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libutil.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libwasi-emulated-getpid.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libwasi-emulated-mman.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libwasi-emulated-process-clocks.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libwasi-emulated-signal.a
wasi-libc-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/wasm32-wasi/lib/wasm32-wasi/libxnet.a
 3 packages and 0 specfiles checked; 22 errors, 2 warnings, 22 badness; has taken 0.3 s 




Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Source checksums
----------------
https://github.com/WebAssembly/wasi-libc//archive/refs/tags/wasi-sdk-20.tar.gz#/wasi-libc-wasi-sdk-20.tar.gz :
  CHECKSUM(SHA256) this package     : 0a1c09c8c1da62a1ba214254ff4c9db6b60979c00f648a5eae33831d6ee2840e
  CHECKSUM(SHA256) upstream package : 0a1c09c8c1da62a1ba214254ff4c9db6b60979c00f648a5eae33831d6ee2840e


Requires
--------
wasi-libc-static (rpmlib, GLIBC filtered):

wasi-libc-devel (rpmlib, GLIBC filtered):
    wasi-libc-static



Provides
--------
wasi-libc-static:
    bundled(musl)
    wasi-libc-static

wasi-libc-devel:
    bundled(musl)
    wasi-libc-devel



Generated by fedora-review 0.9.0 (6761b6c) last change: 2022-08-23
Command line :/usr/bin/fedora-review --no-colors --prebuilt --rpm-spec --name wasi-libc --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg
Buildroot used: fedora-rawhide-x86_64
Active plugins: Shell-api, Generic
Disabled plugins: Java, PHP, Ocaml, R, C/C++, Python, SugarActivity, fonts, Perl, Haskell
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comment 29 Jan Staněk 2023-06-12 13:13:00 UTC
(In reply to Josh Stone from comment #28)
> * MUST: install cloudlibc/LICENSE
Installed as LICENSE-cloudlibc in the expected place(s).

> * SHOULD: justify the patch
I have expanded the commit message in the patch including link to the Debian equivalent, and add a comment to the specfile.

SPEC: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/06063678-wasi-libc/wasi-libc.spec
SRPM: https://download.copr.fedorainfracloud.org/results/jstanek/wasi-libc/fedora-rawhide-x86_64/06063678-wasi-libc/wasi-libc-20-3.fc39.src.rpm

Comment 30 Fedora Review Service 2023-06-12 13:21:30 UTC
Created attachment 1970427 [details]
The .spec file difference from Copr build 5960971 to 6063803

Comment 31 Fedora Review Service 2023-06-12 13:21:33 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6063803
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2166379-wasi-libc/fedora-rawhide-x86_64/06063803-wasi-libc/fedora-review/review.txt

Please take a look if any issues were found.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 32 Josh Stone 2023-06-12 23:36:04 UTC
Thanks!

(BTW, I'm happy to be a co-maintainer if you like...)

Comment 33 Fedora Admin user for bugzilla script actions 2023-06-14 09:48:26 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/wasi-libc

Comment 34 Jan Staněk 2023-06-14 10:05:34 UTC
(In reply to Josh Stone from comment #32)
> (BTW, I'm happy to be a co-maintainer if you like...)

Thanks for the review! I have added you as a co-maintainer in pagure.

Comment 35 Fedora Update System 2023-06-14 10:07:23 UTC
FEDORA-2023-0840368fe6 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-0840368fe6

Comment 36 Fedora Update System 2023-06-14 10:09:03 UTC
FEDORA-2023-0840368fe6 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.