Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accidentally dropped support for Solaris and Illumos? #737

Closed
twpayne opened this issue May 11, 2023 · 9 comments
Closed

Accidentally dropped support for Solaris and Illumos? #737

twpayne opened this issue May 11, 2023 · 9 comments
Labels
bug Something isn't working dependencies Upstream deps

Comments

@twpayne
Copy link
Contributor

twpayne commented May 11, 2023

Describe the bug

Prior to 35c31f2, bubbletea supported GOOS=solaris and GOOS=illumos.

35c31f2 bumped the version of github.com/containerd/console from v1.0.3 to the unreleased v1.0.4-0.20230313162750-1ae8d489ac81. This version of containerd/console includes containerd/console@fa15abf, which drops support for Solaris and Illumos.

Is there any reason to drop support for Solaris and Illumos?

To Reproduce

$ git clone https://github.com/charmbracelet/bubbletea.git
...
$ cd bubbletea
$ git checkout v0.24.0
...
$ GOOS=solaris GOARCH=amd64 go build .
# github.com/containerd/console
/Users/twp/pkg/mod/github.com/containerd/console@v1.0.4-0.20230313162750-1ae8d489ac81/console.go:83:12: undefined: checkConsole
/Users/twp/pkg/mod/github.com/containerd/console@v1.0.4-0.20230313162750-1ae8d489ac81/console.go:86:9: undefined: newMaster

Source Code
n/a

Expected behavior
bubbletea builds with GOOS=solaris and GOOS=illumos.

Screenshots
n/a

Additional context
n/a

@twpayne
Copy link
Contributor Author

twpayne commented May 11, 2023

I opened containerd/console#76 to restore Solaris support to containerd/console.

@muesli
Copy link
Member

muesli commented May 11, 2023

That was indeed unintentional. I bumped to that particular console revision for unrelated Windows fixes. Thanks for opening a PR over there, @twpayne!

@twpayne
Copy link
Contributor Author

twpayne commented Jun 7, 2023

So, there's not been much interest from the containerd/console developers in restoring Solaris support. See containerd/console#75 and containerd/console#76.

As I want to support these OSes, I am currently blacklisting charmbracelet repos that require the versions of containerd/console that drop Solaris and Illumos support. I also have a user request to run on AIX (twpayne/chezmoi#2787), and if containerd/console is dropping support for Solaris and Illumos then it is extremely unlikely that they would want to support AIX.

Where do we go from here?

As the current versions I could continue to blacklist charmbracelet repos. I don't need the new charmbracelet functionality yet, but this creates extra maintenance effort for me as I have to blacklist each new version and is a poor long term strategy as at some point I will want to use some feature or bug fix that is only available in a more recent charmbracelet repo.

I would be happy to co-maintain a friendly fork of containerd/console that supports a full range of OSes. As I argue in containerd/console#75 (comment), I believe that the underlying APIs are stable and so maintaining such a repo would not be a significant burden. Given that charmbracelet is focused on console-based tools, to me it makes more sense to fork containerd/console to charmbracelet/console rather than twpayne/console.

Thoughts?

@muesli
Copy link
Member

muesli commented Jun 7, 2023

I agree, a friendly fork is probably the easiest way forward here. We actually require only very little functionality from containerd/console, which could also eventually be extracted.

@bashbunni bashbunni added bug Something isn't working dependencies Upstream deps labels Jun 7, 2023
@twpayne
Copy link
Contributor Author

twpayne commented Jun 7, 2023

OK. If you want to fork containerd/console to charmbracelet/console then I'll open a PR to restore Solaris support and optionally strip out the unused functionality.

@muesli
Copy link
Member

muesli commented Jun 9, 2023

@twpayne
Copy link
Contributor Author

twpayne commented Jun 9, 2023

Thanks! I've opened charmbracelet/console#1.

It looks like Github Actions need to be enabled on the repo.

@bashbunni
Copy link
Member

Next step: switch the dependency in Bubble Tea + other Charm apps that use console.

@twpayne
Copy link
Contributor Author

twpayne commented Jun 30, 2023

Closing in favor of twpayne/chezmoi#3060.

@twpayne twpayne closed this as completed Jun 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working dependencies Upstream deps
Projects
None yet
Development

No branches or pull requests

3 participants