Gallopsled / Gallopsled/pwntools
Namespace pollution: generic CLI commands installed by default (`main`, `errno`, `update`, etc.)
- Dominant language
- Python
- Stars
- 13.7k
- Forks
- 1.9k
- Avg merge
- 6d 23h
- Merged PRs (30d)
- 3
Description
I maintain the FreeBSD port of the Python package `pwntools`. I recently received a report highlighting that `pwntools` installs a large number of extremely generic CLI commands into `$PATH` by default (`main`, `version`, `update`, `debug`, `errno`, etc.).
Aside from clutter, this leads to direct conflicts. For example, `errno` conflicts with the `errno` utility from `moreutils`. The interfaces aren’t identical, so it isn’t straightforward for users to alias around this without uninstalling one or the other.
I’m aware of and appreciate the existence of the `--only-use-pwn-command` flag, which I can pass during packaging to install only the pwn command. However, I wanted to raise the possibility of:
* Making `--only-use-pwn-command` the default, requiring explicit opt-in for the additional generic aliases.
* Alternatively, prefixing the CLI aliases (e.g., `pwn-main`, `pwn-update`) to reduce namespace conflicts while retaining functionality.
Downstream issue (funny read):
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287992
Contributor guide
Research direction
No source files or tests are named. Start by tracing the packaging entry points and the existing --only-use-pwn-command option, then inventory the generic aliases and their compatibility constraints. Done requires a decided approach, updated packaging behavior, and tests or documentation covering the resulting command names.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100