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

move up visibility of rakudo-pkg #99

Open
librasteve opened this issue Feb 15, 2024 · 10 comments
Open

move up visibility of rakudo-pkg #99

librasteve opened this issue Feb 15, 2024 · 10 comments

Comments

@librasteve
Copy link
Collaborator

moving thread to here from PR 98

@nxadm says:
While I share the worries about outdated packages, I don't think that compiling the compiler --what rakubrew does-- is what programmers new to the language expect or, more importantly, will accept.

@bazzaar says:
I agree with @nxadm, and it's a point I specifically raised in my 'more Focus' issue to the Steering Council.

Raku/Raku-Steering-Council#56 (comment)

The general advice for new users to use their Linux distro's package installer is sound enough, so long as the additional step of pointing the package installer to a well-trusted repo which supplies an up-to-date version of Rakudo is taken.

nxadm's excellent rakudo-pkg repo, details all the instructions for users to add the repo to the list of package repositories on their system.

I don't see why this seems such a difficult mechanism to advertise. Other specialised software products follow such a route. Users don't want software that is 9-months out of date, so they will clamour for the repo to be added if they work for a larger organisation. Me now retired, it was a 5 minute job to add the repo in OpenSuSe Leap. Been using the rakudo-pkg service now for maybe 5years, it installs the software in /opt, and there's a script to run to set it up so that a user can install additional modules (distributions) in a user-specified directory on their $PATH. Pretty straightforward. The latest release of Rakudo is installed by the distro's package manager automatically from then on, as soon as it appears on the rakudo-pkg repo site.

I could draw an analogy with the Comma situation. An excellent 3rd party initiative, well maintained, and providing a reliable up-to-date service, yet sadly not given the backing it deserves on the Raku/Rakudo web site.

As I alluded to in the 'more Focus' thread, the Rakudo download options page is very confusing for new users, IMHO.

@librasteve says:
@nxadm, @bazzaar - yep I agree with all that, let me try rakudo-pkg myself and then revert with a proposal
@raiph - yep that's good, will adapt text to your version - thanks!

@nxadm, @bazzaar - I just tried the instructions at https://cloudsmith.io/~nxadm-pkgs/repos/rakudo-pkg/setup/#formats-deb and the vanilla AWS ubuntu image

the curl script worked fine

BUT, there are two issues:

nowhere does it say what to do after you setup the rakudo-pkg repo

when I do go sudo apt-get install rakudo, I get

ubuntu@ip-172-31-31-39:~$ raku -v
Welcome to Rakudo™ v2022.02.
Implementing the Raku® Programming Language v6.d.
Built on MoarVM version 2022.02.
Please put me straight if I have misconstrued anything.

Therefore, while I agree in principle that rakudo.org should promote actively maintained repo such as rakudo-pkg, I would look to you to resolve these two issues before we move up its visibility please.

In the meantime, I will fix @raiph s comment and resubmit this PR, and move this "where to place rakudo-pkg" thread to an Issue.
I have in mind that rakudo-pkg and rakubrew would have "equal billing" at the top of the Linux tab if we can get this resolved.

@bazzaar
Copy link

bazzaar commented Feb 15, 2024

@librasteve

I think you haven't installed rakudo-pkg.

I would remove pkg rakudo, then :

sudo apt-get install rakudo-pkg

after that go to /opt and confirm the rakudo-pkg directory is there, and look inside for the per-user set up instructions

, but also view the readme at https://github.com/nxadm/rakudo-pkg

Note: just to say I mostly use the YAST software management gui (in OpenSuSe) which allows me to easily see the packages (installed / available) for each of the software package repositories that I have enabled. The 'nxadm/rakudo-pkg' repo contains only one package available for installation, that is rakudo-pkg.

@librasteve
Copy link
Collaborator Author

librasteve commented Feb 15, 2024

Hi @bazzaar - thanks for the feedback

I am a linux lightweight (aka a willing idiot) and my goal is to make sure that the ways to get raku promoted on rakudo.org are simple and effective and up-to-date.

I think I am a fairly good sample of the kind of ease of use that our installs need. So forgive me if I push back.,

I believe that you have a point that attaching to a maintain package reppo on cloudsmith is a valid route - but please help me to try and make this process more idiot proof.

So far, I have failed to install the latest rakudo with rakudo_pkg

Nowhere is it stated that the user should go sudo apt-get install rakudo-pkg

I did that and I can see the rakudo-pkg in /opt (which appears to be 2024.01)

There are no per-user setup instructions that I can see ... they are not in the readme

I propose that you fix the nxadm/rakudo-pkg site so that the instructions are idiot proof. Another option would be to delink that site and to provide concise instructions on rakudo.org directly which would avoid a level of indirection, but may be too hard.

If you prefer the latter case, please provide some text. I propose (like the main content of the page which we know is broken) we cover the main variants: Fedora, Debian/Ubuntu and openSUSE / Leap ...

@bazzaar
Copy link

bazzaar commented Feb 15, 2024

@librasteve

First of all I just corrected your apt-get command that you said you ran previously.

I don't tend to use the command line to install packages, I prefer to use the YAST gui (on my distro).

But initiating installation of a package on your system is something only you can do, and is the responsibility of the user.

Having said that, you are almost there :-)

You now have the package installed. It's been a while since I looked in the /opt/rakudo-pkg directory, and it seems the old readme file with instructions has been removed. Not to worry, all you need to know is described on the https://github.com/nxadm/rakudo-pkg webpage.

The setup I've referred to involves running the script to allow zef to install modules into a directory in your home directory, the script is in the bin directory in /opt/rakudo-pkg.

Then there is the step to add rakudo to your path.

Both of these steps are documented on https://github.com/nxadm/rakudo-pkg , just click the links.

@librasteve
Copy link
Collaborator Author

@bazzaar - yes I got it... thank you for your guidance

I was running the curl script and then going apt-get install rakudo-pkg ... now I have done it I see that I did it in reverse order

I will prepare a new PR for rakudo.org shortly

@nxadm
Copy link
Contributor

nxadm commented Feb 15, 2024

@librasteve

The full instructions are here:
https://github.com/nxadm/rakudo-pkg/?tab=readme-ov-file#downloads

And more specifically:
https://github.com/nxadm/rakudo-pkg/?tab=readme-ov-file#zef-module-manager
https://github.com/nxadm/rakudo-pkg/?tab=readme-ov-file#add-rakudo-to-the-path
https://github.com/nxadm/rakudo-pkg/?tab=readme-ov-file#clean-up

The pkg instruction at CloudSmith are generic and created by CloudSmith and I can not edit them.

We can rework the instructions or even made them obsolete by setting the paths by the package. I chose not to in order to not compete with a raku installed by the distribution itself (you can use that and rakudo-pkg at the same time).

@nxadm
Copy link
Contributor

nxadm commented Feb 15, 2024

More to the point, I am not arguing for rakudo-pkg. It's an option and there may be others. But I do agree that the instruction to get Raku at the Raku website are too confusing. It was one of the reasons rakudo-pkg was created.

@librasteve
Copy link
Collaborator Author

@nxadm, @bazzaar - I like rakudo-pkg and I am convinced by the argument that *nix users do not want to rebuild rakudo each time and that they are used to apt-get install xyz

It is certainly a better option today than apt-get install rakudo since that gets you a prehistoric version and is a recipe for immediate failure for any newbie

By the time a newbie gets here they have already gone raku.org => rakudo.org (huh?) so I want most of them to feel that they can succeed without further searching and so I plan to put the basic instruction to rakudo_pkg in the main thread like this (also for other variants like Alpine, Fedora ...)

This is how I would (re)write the basic instructions for ubuntu based on my experience as a consumer, feedback welcome.

Am I right to assume these generic steps (with different content) will apply to Alpine, Fedora, etc?


Step 1 - install rakudo-pkg on your machine

sudo apt-get install rakudo-pkg

Step 2 - download and run the setup script

curl -1sLf \
  'https://dl.cloudsmith.io/public/nxadm-pkgs/rakudo-pkg/setup.deb.sh' \
  | sudo -E bash

Step 3 - install zef and add path to your .profile

/opt/rakudo-pkg/bin/install-zef
echo 'export PATH=~/.raku/bin:$PATH' >> .profile

More detailed instructions may be found at https://github.com/nxadm/rakudo-pkg/

@bazzaar
Copy link

bazzaar commented Feb 15, 2024

I think I would err towards just very general, but 'to the point' info on the rakudo.org webpage.

I don't think we should be duplicating detailed info between the rakudo.org, and 'github/nxadmin/rakudo-pkg' websites

Like @nxadm has said, rakudo-pkg is but one option, albeit a very good option, for certain circumstances.

There's still a significant discussion to be had about how a refresh of 'raku.org / rakudo.org' should look.

I would argue for these assets to have an uncluttered appearance.

Lets take the 'rakudo installation' page, as an example:

A few ways to install Rakudo on your system.

Linux

1. Simplest is to point the package installer on your Linux distro to a well-trusted and reliable repository for Rakudo.

   - here's one we recommend **rakudo-pkg** (instructions : https://github.com/nxadm/rakudo-pkg/)
 
2. Other ways are to use RakuBrew, if that's your bag, or even compile directly from source

   - here's a helpful link for that (......)
 
Mac
...

Windows 
...

Something as simple as that ...

@librasteve
Copy link
Collaborator Author

@bazzaar - I think we are very close in our thinking ... I will create a PR for all to review shortly.

@librasteve
Copy link
Collaborator Author

librasteve commented Feb 16, 2024

NB. I 110% agree with your point about raku.org rewrite ... my approach is to nibble at this one problem at a time (boil the frog)

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

3 participants