-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
The current installation process for nuru has a few structural issues that could be improved for better adherence to Linux standards and professionalism. This issue highlights necessary changes regarding binary placement, licensing, documentation, and uninstallation.
Current Observations & Issues
-
File Placement in
/usr/local/bin- The
.tar.gzrelease package includes thenurubinary,LICENSE, andREADME.md. - During installation, all these files are moved to
/usr/local/bin. - Issue:
/usr/local/binshould only contain binaries; other files should be placed in appropriate directories (e.g.,/usr/share/doc/nuru/for documentation).
- The
-
License Display
- Instead of placing
LICENSEin/usr/local/bin, the CLI could display license details when prompted (e.g.,nuru --license), or we can use the Python’s approach(license()).
- Instead of placing
-
Termux Installation Path
- Currently, the installation script places files in
/usr/share/and links them via.bashrc. - Issue: This is not a standard practice. Instead, the binary should be installed directly into
/usr/bin, which would allow execution without modifying.bashrc.
- Currently, the installation script places files in
-
Improving the Linux Installation Process
- A more streamlined installation method could be implemented by hosting an installation script on a subdomain (e.g.,
sh.nuruprogramming.org), similar to Rust’ssh.rustup.rs.
- A more streamlined installation method could be implemented by hosting an installation script on a subdomain (e.g.,
-
Uninstallation Process
- Currently,
nuruhas no formal uninstallation script, requiring manual removal of files. - Suggestion: Provide a
nuru uninstallcommand or a script to cleanly remove installed files.
- Currently,
Proposed Solutions
- Refactor the installation script to place non-binary files in appropriate directories.
- Modify the script to install directly to
/usr/binon Termux, removing dependency on.bashrc. - Set up a subdomain for a cleaner installation process.
- Implement an uninstallation script for proper cleanup.
Metadata
Metadata
Assignees
Labels
No labels