-
Notifications
You must be signed in to change notification settings - Fork 21
radup Design #227
Comments
So the biggest issue that I see with this proposal is we seem to be comparing For instance, as you can still read in the original blogpost, the reason There are some inaccuracies in the GitHub issue:
There are no system dependencies in the current installation process besides Another point is that nobody seems to care about the uninstallation process
This is totally achievable with the system-specific package managers. That's
I think you're confusing installing Radicle by building from source with
There is nothing platform-dependent or centralized about our current setup.
What's the plan for installing on NixOS? And, last, but not least, the paths proposed under the "Filesystem - Paths To wrap things up, I suggest you go through the installation process again, but |
I'm not going to comment specifically on We can get to that point in two ways I think: As an ArchLinux user, I currently don't have an easy way of installing radicle. The debian installation process is multiple commands (which for Though my ideal would be Package managers made it really hard to decentralize package curation, so here we are. And before anyone brings up the AUR, that is a worse-of-all-worlds option, except as Adam pointed out, that it comes with a standard uninstallation process. |
Technically, this is just a matter of submitting a PR to the main Homebrew repo. Now, whether they accept it or consider a project-specific brew tap enough of a solution, is a separate issue.
I'll be happy to create an AUR package until something better comes along (maybe radup). I remember the process to be rather simple. |
User @TripleSpeeder just beat me to it 🎉 . Thanks! |
Problem Statement
Modern users today expect single-step curl -type install experience and are well adjusted to curl rustup, foundryup etc.
In addition it should all work:
Currently our install is multi-step process and prone to failure including system dependencies leading to high user friction.
Binaries install is also tightly coupled to packaging systems when it is not really required and there are symbolic ref's to system libraries that don't exist (e.g. OpenSSL) when typically this is vendored to avoid confusion.
The binaries install is also highly platform dependant coupled with GCP when we can simply run this artefacting simply via CI upon PR, push-on-branch and release reducing our centralised platforms footprint we rely on.
Get-Started
get-started should detect the browser platform and offer installation method either as:
The above yields installed binary radup and stable (default) rad binary
radup will not have any dependency on the distro / system packaging manager.
Target Platforms
These will be built (CI native gets also tested) upon push on main in CI and then stuffed into release artefacts
Binaries are stuffed with cargo-auditable and signed at source.
Minimal symbolic linking and statically vendored deps if any.
Install - *NIX/POSIX -Like
curl https://up.radicle.xyz | sh
Also distribute radup-init to distro's packaging
Install - Windows -Like
hmm.
Filesystem - Paths (User Local)
User local $PATH/bin is always placed first
Filesystem - Paths (Global)
Global is always used in $PATH or %PATH% if User Local is not present (priority wise)
radup - Usage
$ radup --help
radup show
The text was updated successfully, but these errors were encountered: