More robust recommended method to install
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 25
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
There is a no standard package manager for bash scripts. So we've given the recommendation for a one-liner that uses `curl` and `tar` in the readme: https://github.com/mapbox/logbt#install.
This issue is to summarize problems with the current approach and discuss improvements.
Current problems:
- tar on linux does not support `--include` (only bsdtar on osx supports --include). Ideally the install would recommend `--include=bin*` such that only `./bin/logbt` would be installed into `/usr/local/bin/logbt`
- So, we recommend `--exclude`, but this is fragile because new files added to the repo, like `.travis.yml` or `circle.yml` will start getting installed into `/usr/local/.travis.yml`.
- `/usr/local/.travis.yml` may easily conflict with other installs using this kind of mechanism
- Permissions problems can lead to odd tar errors: `Can't unlink already-existing object` will happen if the install tries to write over an existing file that is write protected in a directory that it does have permissions to write to.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the installation instructions in the README at https://github.com/mapbox/logbt#install and reproduce the current curl-and-tar command on Linux and macOS. Review the reported --include, --exclude, repository-file, and permission problems; done requires an agreed installation approach that avoids installing unintended files and handles existing permissions reliably.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, shell
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100