Bug#1070727: reportbug: podman does not run wasm/wasi images because of missing crun-wasm - easy fix

2024-05-16 Thread Reinhard Tartler
On Thu, May 16, 2024 at 7:50 AM Faidon Liambotis 
wrote:

> Control: reassign -1 crun
> Control: retitle -1 Ship the crun-wasm runtime
> Control: severity -1 wishlist
> Control: forwarded -1 https://github.com/containers/crun/issues/1468
>
> On Sun, May 12, 2024 at 03:34:42PM +0300, Faidon Liambotis wrote:
> > Perhaps it's worth bringing it up with both crun and podman upstreams, I
> > don't think we're going to be the only distro dealing with this.  (I can
> > take care of that.)
>
> We have a little more clarity from Giuseppe. I'll work on shipping
> crun-wasm on the next crun upload. (Still debating whether I should ship
> it in a different package or not.)
>
>
That's awesome, thanks for reaching out to upstream and getting input!

As for what package should ship the symlink: I don't see a reason
why you wouldn't have it in the same package. It could make sense
if crun-wasm required additional dependencies that wouldn't be required
otherwise. Or if its presence somehow degraded / limited the wasm
functionality.

It might make sense to ship the symlink in the crun-package and have a
Provides: crun-wasm relationship.


-- 
regards,
Reinhard


Bug#1070727: reportbug: podman does not run wasm/wasi images because of missing crun-wasm - easy fix

2024-05-16 Thread Faidon Liambotis
Control: reassign -1 crun
Control: retitle -1 Ship the crun-wasm runtime
Control: severity -1 wishlist
Control: forwarded -1 https://github.com/containers/crun/issues/1468

On Sun, May 12, 2024 at 03:34:42PM +0300, Faidon Liambotis wrote:
> Perhaps it's worth bringing it up with both crun and podman upstreams, I
> don't think we're going to be the only distro dealing with this.  (I can
> take care of that.)

We have a little more clarity from Giuseppe. I'll work on shipping
crun-wasm on the next crun upload. (Still debating whether I should ship
it in a different package or not.)

Faidon



Bug#1070727: reportbug: podman does not run wasm/wasi images because of missing crun-wasm - easy fix

2024-05-12 Thread Faidon Liambotis
On Sat, May 11, 2024 at 11:16:00AM -0400, Reinhard Tartler wrote:
> > I see three paths forward:
> > 1) We do the same, creating a new (almost) empty package.
> > 2) We ship a /usr/bin/crun-wasm symlink in the crun package.
> > 3) We patch podman to use /usr/bin/crun instead of, or in addition to,
> > /usr/bin/crun-wasm.
> >
> I think we should do either 1 or 2 to minimize divergence with upstream. My
> preference would be 2 to enable an out-of-the box experience.

Well... divergence with _which_ upstream? I think that's basically the
question here.

Upstream crun has no notion of "crun-wasm", AFAIK. There is one "crun"
binary that just dynamically loads libwasmedge with dlopen(), among a
few other libraries we don't have in Debian yet, e.g. criu or krun.
There is nothing in its autoconf/Makefiles to install a symlink, either.
The RPM spec does that.

Hence, the existence of "crun-wasm" is an RPM packaging detail that *is*
a divergence by itself, I think. However, that detail is now encoded
into podman upstream. (It's also unclear to me why they decided to
generate and ship a symlink, rather than just a metapackage.  Is it just
for changing podman's error messages?)

Perhaps it's worth bringing it up with both crun and podman upstreams, I
don't think we're going to be the only distro dealing with this.  (I can
take care of that.)

> Is there any reason to not have that symlink installed by default in the
> `crun` package?

Technically, not, that's not hard. It just feels... icky to ship a
symlink just to cover a packaging decision made in a different package,
by another distro, no?

Faidon



Bug#1070727: reportbug: podman does not run wasm/wasi images because of missing crun-wasm - easy fix

2024-05-11 Thread Reinhard Tartler
Thanks for looking into this,

On Sat, May 11, 2024 at 6:00 AM Faidon Liambotis 
wrote:

> Control: tags -1 confirmed
>
> On Wed, May 08, 2024 at 03:10:40AM +0300, Eugen Stan wrote:
> > I followed the guide to run wasm images on my system and it failed with
> > errors.
> >
> > I believe the issue is that podman looks for crun-wasm binary by default.
> > I failed to configure podman to use crun instead of crun-wasm.
> > I created a simbolic link named crun-wasm:
> >
> > sudo ln -s /usr/bin/crun /usr/local/bin/crun-wasm
>
> Ouch! You're right. This worked when I enabled WasmEdge in crun, but
> was changed upstream at some point since.
>
> Apparently Fedora/RedHat ship a "crun-wasm" package, which contains a) this
> symlink, b) a dependency on WasmEdge.
>
> In Debian, the main "crun" package has a Suggests on libwasmedge0.
>
> I see three paths forward:
> 1) We do the same, creating a new (almost) empty package.
> 2) We ship a /usr/bin/crun-wasm symlink in the crun package.
> 3) We patch podman to use /usr/bin/crun instead of, or in addition to,
> /usr/bin/crun-wasm.
>
> I don't particularly love option (1). I'm split between options (2) and
> (3), not loving either.
>
> Thoughts?
>

I think we should do either 1 or 2 to minimize divergence with upstream. My
preference would be 2 to enable an out-of-the box experience.

Is there any reason to not have that symlink installed by default in the
`crun` package?


-- 
regards,
Reinhard


Bug#1070727: reportbug: podman does not run wasm/wasi images because of missing crun-wasm - easy fix

2024-05-11 Thread Eugen Stan

Hi,

I tried to configure podman to use crun-wasm and failed.

There seems to be 11 references in the org 
https://github.com/search?q=org%3Acontainers%20crun-wasm=code .


So the safer option would be to package crun-wasm IMO.

Asked for more information in the issue 
https://github.com/containers/crun/issues/1468 .


I would add the symlink. Other programs might look for the binary.
Looking at the references to crun-wasm I think having a crun-wasm 
package that:

- depends on crun and wasmedge
- creates a symlink to crun

does not sond so bad.
On the other hand, maintaining an extra package does not sound that nice 
either.



Regards,
Eugen

La 11.05.2024 12:55, Faidon Liambotis a scris:

Control: tags -1 confirmed

On Wed, May 08, 2024 at 03:10:40AM +0300, Eugen Stan wrote:

I followed the guide to run wasm images on my system and it failed with
errors.

I believe the issue is that podman looks for crun-wasm binary by default.
I failed to configure podman to use crun instead of crun-wasm.
I created a simbolic link named crun-wasm:

sudo ln -s /usr/bin/crun /usr/local/bin/crun-wasm


Ouch! You're right. This worked when I enabled WasmEdge in crun, but
was changed upstream at some point since.

Apparently Fedora/RedHat ship a "crun-wasm" package, which contains a) this
symlink, b) a dependency on WasmEdge.

In Debian, the main "crun" package has a Suggests on libwasmedge0.

I see three paths forward:
1) We do the same, creating a new (almost) empty package.
2) We ship a /usr/bin/crun-wasm symlink in the crun package.
3) We patch podman to use /usr/bin/crun instead of, or in addition to,
/usr/bin/crun-wasm.

I don't particularly love option (1). I'm split between options (2) and
(3), not loving either.

Thoughts?

Faidon


--
Eugen Stan

+40770 941 271  / https://www.netdava.com



Bug#1070727: reportbug: podman does not run wasm/wasi images because of missing crun-wasm - easy fix

2024-05-11 Thread Faidon Liambotis
Control: tags -1 confirmed

On Wed, May 08, 2024 at 03:10:40AM +0300, Eugen Stan wrote:
> I followed the guide to run wasm images on my system and it failed with
> errors.
> 
> I believe the issue is that podman looks for crun-wasm binary by default.
> I failed to configure podman to use crun instead of crun-wasm.
> I created a simbolic link named crun-wasm:
> 
> sudo ln -s /usr/bin/crun /usr/local/bin/crun-wasm

Ouch! You're right. This worked when I enabled WasmEdge in crun, but
was changed upstream at some point since.

Apparently Fedora/RedHat ship a "crun-wasm" package, which contains a) this
symlink, b) a dependency on WasmEdge.

In Debian, the main "crun" package has a Suggests on libwasmedge0.

I see three paths forward:
1) We do the same, creating a new (almost) empty package.
2) We ship a /usr/bin/crun-wasm symlink in the crun package.
3) We patch podman to use /usr/bin/crun instead of, or in addition to,
/usr/bin/crun-wasm.

I don't particularly love option (1). I'm split between options (2) and
(3), not loving either.

Thoughts?

Faidon



Bug#1070727: reportbug: podman does not run wasm/wasi images because of missing crun-wasm - easy fix

2024-05-07 Thread Eugen Stan

Package: podman
Version: 4.9.4+ds1-1
Severity: important

Dear Maintainer,

I followed the guide to run wasm images on my system and it failed with 
errors.


I believe the issue is that podman looks for crun-wasm binary by default.
I failed to configure podman to use crun instead of crun-wasm.
I created a simbolic link named crun-wasm:

sudo ln -s /usr/bin/crun /usr/local/bin/crun-wasm

More details bellow to reproduce:

This is the guide I followed 
https://news.opensuse.org/2024/01/19/podman-wasm-

support/

I installed podman, crun and wasmedge packages.
Created a rust package and image with this Containerfile

FROM scratch
COPY target/wasm32-wasi/debug/hello.wasm /
CMD ["/hello.wasm"]

When I ran the image I got this error

podman run --rm hello-wasm
WARNING: image platform (wasi/wasm) does not match the expected platform
(linux/amd64)
Error: requested OCI runtime crun-wasm is not available: invalid argument

After creating the crun-wasm symbolic link I got it working:

podman run --platform wasi/wasm --rm hello-wasm
Hello, world din wasm!

It might be that this bu is fixed by patching crun but I believe the 
issue is

happening with podman.

Thanks,
Eugen




-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.7.12-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=ro_RO.UTF8, LC_CTYPE=ro_RO.UTF8 (charmap=UTF-8), LANGUAGE 
not set

Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages podman depends on:
ii  conmon   2.1.10+ds1-1+b1
ii  containerd.io [runc] 1.6.31-1
ii  crun 1.14.4-1
ii  golang-github-containers-common  0.57.4+ds1-2
ii  libc62.38-7
ii  libdevmapper1.02.1   2:1.02.196-1+b1
ii  libgpgme11t641.18.0-4.1+b1
ii  libseccomp2  2.5.5-1
ii  libsqlite3-0 3.45.3-1
ii  libsubid41:4.13+dfsg1-4

Versions of packages podman recommends:
ii  buildah1.33.7+ds1-1
ii  catatonit  0.1.7-1+b1
ii  dbus-user-session  1.14.10-4+b1
ii  passt  0.0~git20240426.d03c4e2-1
ii  slirp4netns1.2.1-1+b1
ii  uidmap 1:4.13+dfsg1-4

Versions of packages podman suggests:
ii  containers-storage  1.51.0+ds1-2
pn  docker-compose  
ii  iptables1.8.10-3

-- no debconf information

--
Eugen Stan

+40770 941 271  / https://www.netdava.com