Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tbrowder/rakudopkg
A proposal for Raku best practices
https://github.com/tbrowder/rakudopkg
Last synced: about 1 month ago
JSON representation
A proposal for Raku best practices
- Host: GitHub
- URL: https://github.com/tbrowder/rakudopkg
- Owner: tbrowder
- License: artistic-2.0
- Created: 2023-08-25T11:26:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-20T17:46:06.000Z (over 1 year ago)
- Last Synced: 2024-12-09T19:50:20.345Z (about 2 months ago)
- Language: Raku
- Size: 110 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- License: LICENSE
Awesome Lists containing this project
README
[![Actions Status](https://github.com/tbrowder/RakudoPkg/actions/workflows/linux.yml/badge.svg)](https://github.com/tbrowder/RakudoPkg/actions)
NAME
====**RakudoPkg** - Provides tools for easing installation and use of the `rakudo-pkg` system for Debian and Ubuntu
DESCRIPTION
===========This module distribution cannot be installed by `zef`. Its repository must be downloaded onto the desired host and then installed by the root user from its top-level directory in a similar manner to the way `zef` is installed on a new system.
The package contains programs for the root user to bootstrap the `rakudo-pkg` installation by use of a system `rakudo` package installation. After successful bootstrapping, the system's `rakudo` package should be deleted to avoid conflicts.
Note this package is designed for the purpose of setting up and standardizing multi-user Linux hosts for classrooms or computer laboratories.
Procedures for installation
---------------------------Normally you will be using this module on a system which has not had Raku installed other than with its normal package installation, but it will uninstall completely any previous `rakudo-pkg` installation in an existing `/opt/rakudo-pkg` directory.
There are three steps to follow.
### Step 1 - Install the Debian or Ubuntu `rakudo` package and its `zef`
Since `zef` depends on `raku`, all we need to do is install its package (note the package name is different):
$ sudo apt-get install perl6-zef
We will use the distribution's likely older version to 'bootstrap' our desired Rakudo framework.
### Step 2 - Install the `rakudo-pkg` framework
$ git clone https://github.com/tbrowder/RakudoPkg.git
$ cd RakudoPkg
$ sudo -s
# raku -I ./bin/install-rakudo-pkgThe command does the following:
* deletes any existing `/opt/rakudo-pkg` directory
* installs the `rakudo-pkg` framework
* installs the new `rakudo` package
Prompts are shown at critical points so you can abort the process if necessary.
### Step 3 - Remove the system's `rakudo` package
After becoming a normal user again:
$ sudo apt-get remove rakudo
After this step, you may have to logout and login again to update your path.
Note the Raku package manager `zef` is not involved at this point. Any previous installation by any user is not touched. The author is planning a separate module, tentatively named `ZefAdmin`, which will help install `Zef` for non-conflicting use by both the root user and normal users.
Procedures for **complete** removal
-----------------------------------Should you ever want to remove the `rakudo-pkg` installation, run the following RakudoPkg program as root: `remove-rakudo-pkg`.
$ cd RakudoPkg
$ sudo ./bin/remove-rakudo-pkgThe pertinent parts of that bash script are shown here:
echo "Starting removal of 'rakudo-pkg'..."
apt-get remove rakudo-pkg
rm -rf /opt/rakudo-pkg
rm -rf /etc/profile.d/rakudo-pkg.sh
apt-get update# clean repository info
rm /etc/apt/sources.list.d/nxadm-pkgs-rakudo-pkg.list
apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get updateecho "Removal of 'rakudo-pkg' is complete."
exitNote the removal does not delete anything in any users' home directory, so there may be `raku`- or `zef`-related artifacts remaining in those places.
Related modules
===============* ZefAdmin (NYI)
* SysAdmin (NYI)
AUTHOR
======Tom Browder
COPYRIGHT AND LICENSE
=====================© 2023 Tom Browder
This library is free software; you may redistribute it or modify it under the Artistic License 2.0.