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

We should start recommending distro packages (when possible) #29

Open
AlexDaniel opened this issue Aug 15, 2018 · 15 comments
Open

We should start recommending distro packages (when possible) #29

AlexDaniel opened this issue Aug 15, 2018 · 15 comments

Comments

@AlexDaniel
Copy link
Member

AlexDaniel commented Aug 15, 2018

(sparked by this conversation)

Some examples:

Ubuntu

  • cosmic 2018.06-1 👍
  • bionic 2018.03-1 👍
  • artful 2017.06-1 🤷

but no zef

Debian

  • testing/unstable perl6 2018.06-1 👍
  • stable 2016.12-1 🤷

Zef is available in perl6-zef package that is installed automatically when you apt install perl6 (on testing/unstable only).

Fedora

  • f28 updates 0.2018.04-1.fc28 👍
  • f28 base 0.2018.02.1-1.fc28  👍
  • f27 updates 0.2018.04-1.fc27 👍
  • f27 base 0.2017.08-2.fc27 🤷
  • f26 updates 0.2017.08-1.fc26 🤷
  • f26 base 0.2017.06-1.fc26 🤷
  • f25 updates 0.2017.08-1.fc25 🤷

Also I found this, are modules already packaged? 😲👍

Arch

  • rakudo 2018.06-1 👍

Zef seems to be available

Gentoo

  • testing 2018.06 👍 (fixme: don't really remember if zef included)

Void

  • rakudo 2018.06 👍 (no package for Zef, so must be cloned from github and installed by instructions)



… and so on! These are just a few I looked at.

I'm convinced that on many distros installing from repository is the main and preferred way of installing things. If this is already possible for some people, we can start recommending it.

@Altai-man
Copy link
Member

Added some not so widely used distros, based on my experience.

@zoffixznet
Copy link
Contributor

zoffixznet commented Aug 15, 2018

Reading that person's comments, its seems obvious to me we should be reducing the amount of stuff we offer.

  • Rakudo compiler-only from github checkout
  • Rakudo compiler-only from bash alias
  • Rakudo compiler-only from rakudup
  • Rakudo compiler-only from tyil's thing whose name I forget
  • Rakudo compiler-only from a tarball
  • Rakudo compiler-only from a distro repo
  • Rakudo compiler-only + zef distro package from a distro repo
  • Rakudo compiler-only + zef distro package from nxadm's repo
  • Rakudo Star from prebuilt Windows/MacOS binaries
  • Rakudo Star from a tarball
  • Rakudo Star from docker
  • Rakudo Star from chocolatey/homebrew
  • Separate NQP/MoarVM releases (or at least rakudo.org lists NQP releases)

With only 25% of our users using Rakudo Star and with apparent predilection of compiler-only releasers to include zef, I think we should discontinue Rakudo Star by the end of the year and switch to making compiler releases include zef and build Win/macOS binaries. Then, instead of advertising @nxadm repo as a resource of its own, we instead make it a point to ensure that the official™ repos of various distros contain recent-enough packages.

So then we get:

  • Rakudo compiler-only + zef distro package from a distro repo
  • Rakudo compiler-only + zef prebuilt Windows/MacOS binaries
  • For packagers/advanced options:
    • Rakudo compiler + zef from a github checkout / tarball
    • Separate NQP/MoarVM releases (or at least rakudo.org lists NQP releases)

Perhaps we should also dial down the frequency of Rakudo releases to once every two months, to offset the extra added work in having to include zef and build binaries.

@zoffixznet
Copy link
Contributor

zoffixznet commented Aug 15, 2018

reducing the amount of stuff we offer

And make it a more evidence-based decision, by doing another survey, say, on 1st of October (let it last for a month instead of just a week to gather more responses).

@zaucker
Copy link

zaucker commented Aug 15, 2018 via email

@zoffixznet
Copy link
Contributor

a monthly release

Responded elsewhere, so we don't stray from the main topic of this Issue.

@nxadm
Copy link

nxadm commented Aug 16, 2018

My Linux packages are the result of regular users using rakudobrew while the devs on the channels felt that, while flexible, it's a dev tool with its own set of problems not intended for end users. Package repository accessible for apt-get and yum are something that people expect nowadays. Personally, I am no longer in a compile-everything-\o/-phase.

I would love that the passage of time would render rakudo-pkg obsolete (I am not discussing alternatives in this post), but I see these use cases where the solution above is not a good fit:

  • people that don't want to compile from source, e.g. because it cumbersome (this is important: higher threshold for trying out Rakudo) or because they don't want to run a packaging infrastructure themselves (e.g. for using rpms within Docker containers).
  • releases for distributions with a more LTS-like release schedule: Debian Stable, Ubuntu LTS, CentOS, RHEL. They will always be out-of-date and will be in dire need of a recent Rakudo binary. Be aware that the distributions above is what people run on production (good admins don't compile stuff on production machines). This is the same use case for people that don't upgrade their OS to the latest release. We often declare new baseline release because of changes in Rakudo (some of those even broke zef+ecosystem for older rakudo releases). It's not because 2018.03 is fine today it will be in 5 years.
  • people that want to automatically track the monthly enhancements in Rakudo. This is certainly the case for a young language like Perl 6.

The most user friendly scenario in my eyes is providing official rakudo+zef packages like many projects do. If they are self-contained they would not interfere with OS rakudo packages so people would use those if they are recent enough (or for applications packaged by the OS). Once the automation is done, this is not a lot of work.

Also, I would warn against putting to much weight on the survey. It's certainly useful, but we have no idea what so ever how representative it is for our user base. Does the participation of core people (or even #perl6 regulars) screws the result? Does a decision we implement for our present user base align with the one in the future?

@AlexDaniel
Copy link
Member Author

@nxadm what do you think about appimage and its alternatives?

@benjif
Copy link

benjif commented Aug 16, 2018

And make it a more evidence-based decision, by doing another survey, say, on 1st of October (let it last for a month instead of just a week to gather more responses).
Also, I would warn against putting to much weight on the survey. It's certainly useful, but we have no idea what so ever how representative it is for our user base. Does the participation of core people (or even #perl6 regulars) screws the result? Does a decision we implement for our present user base align with the one in the future?

The current participation rate in our surveys doesn't cover everyone, for sure, but it's still the largest piece of aggregated community responses we've got to work with. We should definitely use it to get a feel for what the surveyed users want.

@Scimon
Copy link

Scimon commented Aug 16, 2018 via email

@benjif
Copy link

benjif commented Aug 16, 2018

@nxadm what do you think about appimage and its alternatives?

"a self-mounting, compressed filesystem image that contains the application and the auxiliary files it needs to run"

Sounds nifty for some things — portability and whatnot, but I don't think it solves our problem. Rakudo+Zef being available on the centralized all-around-used repositories for each distribution would make more sense to the user in most cases, I'd assume.

@zoffixznet
Copy link
Contributor

the solution above is not a good fit [...] people that want to automatically track the monthly enhancements in Rakudo. This is certainly the case for a young language like Perl 6.

My proposal was under the assumption that distro binaries would have the latest and greatest rakudo + zef package, rendering nxadm's packages obsolete. If distro binaries aren't kept up-to-date, then yeah, there should be the latest-and-greatest distro packages available somewhere.

@nxadm
Copy link

nxadm commented Aug 16, 2018

@AlexDaniel: @samcv experimented with a rakudo appimage. It appeared briefly on Rakudo Star, but it was removed.

My view on the portable container packages is that they may be handy for some users, but none of these solutions are used very widely. I also fear that without a relocatable rakudo they are technically not really an option.

Furthermore:

  • appimage has been considerably overshadowed by the two alternatives supported by big Linux names. Furthermore, it looks to be application centred. I don't see a runtime fitting in, except when supplied with the application.
  • snap is backed by Ubuntu and forces to use their build servers and their appstore. The last part is not liked by a lot of people.
  • flatpack is backed by Red Hat and related with the Gnome project. It's only geared towards graphical applications.

C.

@nxadm
Copy link

nxadm commented Aug 16, 2018

My proposal was under the assumption that distro binaries would have the latest and greatest rakudo + zef package, rendering nxadm's packages obsolete. If distro binaries aren't kept up-to-date, then yeah, there should be the latest-and-greatest distro packages available somewhere.

Sadly, LTS distributions will be out-of-date almost by definition. An other way of rendering rakudo-pkg obsolete is by the rakudo org taking them over.

@simvux
Copy link

simvux commented Aug 16, 2018

I'm very glad to see that the conversation i started seems to perhaps even lead to something, i knew the language was awesome put it seems like even the community is as well.

@AlexDaniel
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants