Compare commits

..
5 Commits
Author SHA1 Message Date
pancake 40f784cd8c fix spaces 2021-06-17 00:31:44 +02:00
pancake e2cd0cd9e2 Fix indent 2021-06-17 00:30:14 +02:00
pancake 400c6d91bd fix lint 2021-06-17 00:29:02 +02:00
pancake 21aca1d8a5 Support var arg parsing 2021-06-17 00:27:09 +02:00
pancake a002a577b4 Implement r2env shell for unix 2021-06-17 00:15:20 +02:00
8 changed files with 13 additions and 51 deletions

No files matched your search

-8
View File
@@ -50,11 +50,3 @@ jobs:
$HOME/.r2env/bin/r2 -v
- name: Uninstalling
run: sudo pip uninstall -y r2env && rm -rf $HOME/.r2env
release-job:
name: Publish to pypi
runs-on: ubuntu-20.04
needs: [integration-tests, flake8, pylint]
if: github.event_name == 'release' && github.event.action == 'created'
steps:
- name: Release
run: make pub
-5
View File
@@ -1,8 +1,3 @@
.idea
**/__pycache__/
venv
.DS_Store
AUTHORS
ChangeLog
dist/*
r2env.egg-info
+1 -3
View File
@@ -4,9 +4,7 @@ all:
pip install .
pub:
rm -rf dist
$(PYTHON) setup.py sdist
twine upload --repository=pypi --verbose dist/*
twine upload --repository-url https://upload.pypi.org/legacy/ --verbose dist/*
install:
pip install .
+1 -5
View File
@@ -87,17 +87,13 @@ class R2Env:
@staticmethod
def version():
thispath = os.path.dirname(os.path.realpath(__file__))
with open(thispath + "/version.txt", "r") as version:
with open("version.txt", "r") as version:
return version.read()
def shell(self, cmd=""):
line = "export PS1=\"r2env\\$ \";export PATH=\"" + self._r2env_path + "/bin:$PATH\"; $SHELL -f"
if os.path.isfile("/default.prop"): # hack for pre-dtag builds of r2
line = "export LD_LIBRARY_PATH=\"" + self._r2env_path + "/lib\";" + line
if cmd.strip() == "":
return os.system(line)
print(os.system(line + " -c '" + cmd + "'"))
return os.system(line + " -c '" + cmd + "'")
@staticmethod
+3 -7
View File
@@ -94,13 +94,9 @@ class PackageManager:
def _build_using_acr(source_path, dst_path, logfile):
"""Only works in Unix systems"""
exit_if_not_exists(['make'])
print_console("[-] Building package using acr for Termux...")
extra_flags = ""
if os.path.isfile("/default.prop"):
extra_flags = " --with-compiler=termux"
cmd = "(cd {0} && rm -rf shlr/capstone && ./configure {1}" \
" --with-rpath --prefix={2} 2>&1 && make -j4 2>&1" \
"&& make install) > {3}".format(source_path, extra_flags, dst_path, logfile)
print_console("[-] Building package using acr ...")
cmd = "(cd {0} && rm -rf shlr/capstone && ./configure --with-rpath --prefix={1} 2>&1 && make -j4 2>&1" \
"&& make install) > {2}".format(source_path, dst_path, logfile)
return os.system(cmd) == 0
@staticmethod
+5 -13
View File
@@ -16,8 +16,7 @@ config - display current .r2env settings
install [pkg] - build and install given package. Use --meson to use it as the build system.
uninstall [pkg] - remove selected package
use [pkg] - use r2 package defined. pkg should be a release version or latest.
path - show path of current r2 in use
version - show version of r2env
version - show the current Radare version and its origin
versions - List all Radare versions installed
list - list all Radare packages available to r2env
shell - open a new shell with PATH env var set
@@ -29,16 +28,11 @@ def show_help():
print_console(HELP_MESSAGE)
def show_version():
print_console(R2Env().version())
actions_with_argument = ["install", "uninstall", "use"]
actions_with_arguments = ["shell"]
actions = {
"init": R2Env().init,
"version": show_version,
"path": R2Env().get_r2_path,
"version": R2Env().get_r2_path,
"config": R2Env().show_config,
"list": R2Env().list_available_packages,
"install": R2Env().install,
@@ -51,9 +45,7 @@ actions = {
def run_action(action, args, use_meson):
if action == "":
show_help()
elif action not in actions:
if action not in actions:
print_console("[X] Action not found", ERROR)
elif action in actions_with_arguments:
actions[action](" ".join(args))
@@ -83,8 +75,8 @@ def main():
parser.add_argument("action", help="run specified action. (Run r2env help for more information)",
action="store", default=["help"])
parser.add_argument('args', metavar='args', nargs='*', type=str, help='Specified arguments')
parser.add_argument("-v", "--version", dest="version", help="Show r2env version", action="store_true")
parser.add_argument("-m", "--meson", dest="meson", help="Use meson as your build system.", action="store_true")
parser.add_argument("-v", "--version", help="Show r2env version", action="store_true")
parser.add_argument("-m", "--meson", help="Use meson as your build system.", action="store_true")
args = parser.parse_args()
if args.version:
print_console(R2Env().version())
-5
View File
@@ -1,5 +0,0 @@
-r build.txt
pip
pbr
setuptools
twine
+3 -5
View File
@@ -1,13 +1,11 @@
[metadata]
license_file = LICENSE
version = 0.3.1
version = 0.2.2
name = r2env
author = pancake
# author_email = '[email protected], [email protected]'
author_email = [email protected]
author = 'pancake, murphy'
author_email = '[email protected], [email protected]'
description = radare2 multiple version and environment installation tool
long_description = file:README.md
long_description_content_type = text/markdown
url = https://www.radare.org/
project_urls =
Source = https://github.com/radareorg/r2env