fyne-io / fyne

Cross platform GUI toolkit in Go inspired by Material Design
https://fyne.io/
Other
25.25k stars 1.4k forks source link

Package command fails on OpenBSD #5195

Closed sdassow closed 1 week ago

sdassow commented 1 month ago

Checklist

Describe the bug

OpenBSD tar does not support the -J flag and fails during fyne package.

How to reproduce

Run fyne package --os openbsd --release on OpenBSD.

Screenshots

No response

Example code

Any code.

Fyne version

any

Go compiler version

any

Operating system and version

OpenBSD any version

Additional Information

No response

andydotxyz commented 1 month ago

Ah shoot. When we moved to .xz checks were made to ensure it was supported everywhere. we missed this.

Can it be enabled through an external plugin or will we need to revert to .tar.gz for BSD usages?

sdassow commented 1 month ago

We could use gtar (GNU tar) instead, which can be installed from packages/ports.

sdassow commented 1 month ago

First off, this is on OpenBSD only, the others I checked (NetBSD, FreeBSD, DragonflyBSD) support it.

Other than that, using gtar wouldn't be the best user experience since it means installing something else first.

andydotxyz commented 1 month ago

Other than that, using gtar wouldn't be the best user experience since it means installing something else first.

Unusual for someone to reply to their own suggestion going against it ;).

It sounds like we have no choice - should we just create .gz when run on OpenBSD? I'm not sure it matters too much. It may also mean we have to use that when packaging /for/ openBSD as well, or you won't be able to open the archives.

sdassow commented 1 month ago

Other than that, using gtar wouldn't be the best user experience since it means installing something else first.

Unusual for someone to reply to their own suggestion going against it ;).

Just thinking out loud ;).

It sounds like we have no choice - should we just create .gz when run on OpenBSD? I'm not sure it matters too much.

I'll have a look and brew something up. When I found this I just created an issue for later.

It may also mean we have to use that when packaging /for/ openBSD as well, or you won't be able to open the archives.

For distribution it doesn't matter as much. For source distribution not at all since that's usually handled in the ports tree for proper OpenBSD packaging as a build dependency. For binary distribution it means a small inconvenience having to manually install GNU tar and/or xz first.

andydotxyz commented 1 month ago

For binary distribution it means a small inconvenience having to manually install GNU tar and/or xz first.

Sorry I missed this before commenting on the PR. Typically we want to put the package install / additional dependency on the developer not the end user. Is it a bad thing to adapt the fix so it avoids that compression for both developer and user?

sdassow commented 1 week ago

Solved in the PR by using the target OS to switch format for OpenBSD.