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

runtime/perl-534/modules/sun-solaris: new FMRI for sun-solaris for perl 5.34 #7640

Closed

Conversation

timmooney
Copy link
Contributor

@timmooney timmooney commented Jan 20, 2022

The changes here are far more complicated than any of the other perl module rebuilds done for perl 5.34. This should be tagged "needs review", and it should be very carefully considered before merging.

This PR should not be merged. As discussed in the comments below, the copy of sun-solaris that's in oi-userland is effectively a decoy. It's not what's used to build runtime/perl-522/module/sun-solaris. That module is built as part of our build process of illumos-gate, so the appropriate place to change what version of perl is involved is in oi-userland/components/openindiana/illumos-gate, specifically by adjusting what environment is set via the Makefile.

I'll be closing this PR, but the comments from Alexander may be useful reference for the actual PR #7733

@pyhalov
Copy link
Contributor

pyhalov commented Jan 20, 2022

The source of truth for these parts is illumos-gate. Perhaps, correct option here is just to teach gate build perl modules for several perl versions. On other side, it seems nothing besides scripts in base system (and intrd) requires them.

@timmooney
Copy link
Contributor Author

timmooney commented Jan 20, 2022

The source of truth for these parts is illumos-gate.

Thanks Alexander! I knew you would know the answer to some of these mysteries. I really appreciate you taking the time to reply here.

With your hint, I found at least the manifest for it in illumos-gate:

illumos-gate runtime/perl-###/module/sun-solaris

So why do we have a component for it in oi-userland then? Even if we keep (a copy of) the source code for the various modules (Exacct, Ucred, Kstat, etc.), wouldn't we be better off deleting our Makefile and manifest, so they don't cause confusion for future contributors?

Also, how do I go about getting the component from illumos-gate to update to our perl 5.34 then? Is the first step to update the illumos.sh script, or do I need to start elsewhere? I still have your email from several years ago from oi-discuss where you outlined many of the (unrelated) steps to getting a new perl into OI, but some of those steps were waiting on patches and things that (I'm guessing) have now almost certainly been incorporated.

@pyhalov
Copy link
Contributor

pyhalov commented Jan 21, 2022

illumos-gate builds perl modules only for one version, specified as PERL_VERSION in illumos.sh. It doesn't have rules to build and deliver several versions. So if you want to deliver these modules for some other perl version, you should either teach illumos-gate to build them or do it in some external way, for example, as done here.
Updating illumos-gate perl, IIRC, was a chicken-and-egg problem at least some time ago. You should build illumos-gate with new perl. It will build perl modules, but will likely fail on later stages. But you'll be able to copy these module to build system. After performing this operation, illumos-gate can be built as usual.

@timmooney
Copy link
Contributor Author

My personal opinion is that we only need it for one version of perl, not all of them. If it were up to just me, I don't think it's needed to teach illumos-gate how to build for all perl versions.

I just want to be able to get to the point where we can switch it to depend upon perl 5.34, and then obsolete perl 5.22 and perl 5.24.

Thanks for the info about the chicken-and-egg problem with illumos gate. I've never built all of illumos-gate before, but I may give that a try this weekend to see what happens.

@stale
Copy link

stale bot commented Apr 16, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Apr 16, 2022
@stale stale bot closed this Apr 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants