-
Notifications
You must be signed in to change notification settings - Fork 5
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
Distros don't offer zef/Star/packaged modules #23
Comments
Is it expected for distros to include Star? Or should Star be a metapackage? In other words, what exactly do we want? |
I want zef and p6doc packaged. |
I don't see the point of Star in distributions. They will:
|
Right, maybe not star, but the other two. But we are talking about good newb experience, and finding star is a good thing, even if they don't really need it. |
@rafaelschipiura |
@nxadm I'm using 2018.05 from Debian. |
regarding debian: this is very much work in progress, the current situation is certainly not what we are after in the long run. At the moment we really only have a "bare" perl6, no zef or any modules packaged. |
On Donnerstag, 14. Juni 2018 00:21:01 CEST nxadm wrote:
I keep a list of Rakudo on distros here:
https://github.com/nxadm/rakudo-pkg#what-about-packages-provided-by-operati
ng-systems
The list is a bit incomplete. Rakudo, Inline::Perl5 and packages for cro and
its dependencies are available for openSUSE Leap 42.2, 42.3, 15.0 and
Tumbleweed: https://software.opensuse.org/package/rakudo
Tumbleweed includes them in the default repository.
They are usually at most one release behind.
|
So with Zef and Rakudo available and nothing else it used to be quite easy to bootstrap to having something like Star using Task::Star (https://github.com/tadzik/Task-Star). But this is no longer maintained /or/ part of the ecosystem. Perhaps the way Rakudo Star is actually built could be through a versioned meta package? That way the only thing that needs to be packaged is zef alongside the compiler. Personally I freaking hate how Perl 5 has all this hideous melange of OS level packages and then the inevitable CPAN packages. None of which necessarily work well together. The only real claim for why you'd want OS level are for things like libssl and other way more annoying builds where you want better OS compatibility. |
The list was intended to show the OS-supplied versions for the distributions that rakudo-pkg supports. And also which releases were OK to use. It may be a good idea to extend it and make it more generic. There is PR now in the queue (@MasterDuke17 ++) for adding information for Arch. Maybe the information could be added for openSUSE tumbleweed as well (and Debian testing and unstable. |
That is wonderful news. Your work is appreciated. I was under the impression that zef wouldn't be package and I am happy to hear this is the case when the problems you mentioned are solved. |
I don't see the use case for a Star metapackage in a distro because the modules are unrelated to a specific task. The idea of Star is to provide an easy way to get started with Rakudo. If the distribution does the packaging job, I don't see what it brings to the table than a collection of unrelated modules. |
@robertlemmen @MattOates Thanks guys for the wonderful job, really appreciated. I'm glad to know it will be solved soon. @MattOates Many sysadmins won't bother to learn language-specific packaging. If it's not available in distro repos, it might as well not exist. But in this first moment Perl 6 is more for developers, so I agree it doesn't make sense to package modules for distros just yet. |
There are a number of issues mentioned here. Many of these have been discussed before without much agreement. Generally distributions have had problems with packaging perl 6 in general (with a few exceptions like OpenSUSE, Debian etc.) See https://perl6.org/downloads/others.html I don't think this is the right place to discuss what distros should or shouldn't do. We should try and help them (maybe even join them) but its the responsibility of the distro maintainers to package. We are upstream. To be frank I currently think any advice to use any packaged distro version of rakudo perl 6 is Bad Advice (unless perhaps for OpenSUSE). Perl 5 had a lot of problems with distro packaged versions and the Perl 6 situation is likely to be worse. The usual Perl 5 advice was to install in parallel with "system perl". We release perl 6 monthly whereas the average lifespan of a distro perl 6 version is likely to be three years. Although 6.c is feature frozen there are a lot of bug fixes going in which will break code (as shown by toaster runs) and anyone using a version of perl 6 which is more than a few months old is likely to run into those problems. Neither can IRC really support random versions from many months ago and the usual response is going to be "upgrade maybe its fixed". Until there is a more stable (in terms of changes) version of Perl 6 something like a Medium Term Support branch its going to be very hard to package anything useful. |
@stmuk All true, but it's also true the Perl 6 experience is harmed by that, so the bug should stay open until it's fixed. People are working on it anyway. |
@stmuk generally I agree, but here are some corrections:
That's not exactly the case. Toaster shows regressions that we have to fix before the next release, so the failures that you'd typically see are non-existent on monthly releases. If the module actually relied on buggy or experimental behavior, a PR to this module is submitted with a backwards-compatible fix. I do agree that given the pace of rakudo development, there are many fixes coming in that can potentially break existing code, but you can't use toaster as an argument for that. Toaster is by definition a tool that allows us not to do such changes. EDIT: OK I'll try to fix that before the next release: http://colabti.org/irclogger/irclogger_log/perl6-dev?date=2018-06-14#l178
Committable allows to run code on any revision (including monthly releases), so we don't have to recommend upgrading. But it's true that at this point in time the usual response actually works in many cases, yeah… |
to me it seems the perceived problems with distributions and perl packages fall into two categories:
so I personally think that distribution packaging of perl6 modules can work, and it would be fab if we succeed. but it's not going to be trivial and without work. I would also not be surprised if it will be a while until distro packages become preferred over direct installation. One thing that is interesting in this regard is the granularity of packaging: in some ecosystems (e.g. node), packages tend to be infinitesimally small. that seems to be a deliberate decision and I can of course see good reasons for it. But at the same time such fine-grained packaging has tremendous problems, not only for distributions but also for humans that want to install packages. It seems that some middle ground in terms of package granularity would be an excellent thing to establish culturally... |
This is only true for a new rakudo build only -- upgraded rakudos that have modules already installed are still busted after a breaking change. Many times those changes are worth some measure of breakage, but it should really be more of a "fix in ecosystem to seed users with fixed module as prereq to breaking changes" instead of "fix everything in the ecosystem before the next release breaks new installs". |
Not only new installs, sometimes existing installs will have Rakudo upgraded but not modules. Those would break. Any breaking changes should wait for 6.d. |
That's a good point. That being said, I've looked through the list of PRs I did to modules during the last few months, and I'm fairly sure that this is not an issue in practice. For example, hash randomization and num precision fixes shouldn't brick installed modules. Even the upcoming change that turns the use of So let's not blow things out of proportion. I've been putting consistent effort into making sure that we don't break modules willy-nilly (even when the module itself is in the wrong). |
Yes, that's true, but sometimes we do hear devs talking about it. Which does cause some concern, but we will keep it under perspective. |
I think they need to include at least zef and p6doc.
Many users will be trying to use Perl6 from distro packages, it's way easier to get a good experience if it's improved.
The text was updated successfully, but these errors were encountered: