Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Cutter Building Documentation #2238

Merged
merged 5 commits into from
Jun 20, 2020
Merged

Conversation

Surendrajat
Copy link
Member

@Surendrajat Surendrajat commented Jun 7, 2020

Your checklist for this pull request

Detailed description
This PR is to update Cutter docs. Starting with adding missing dependencies to dev docs and will slowly move towards user docs. Relates to #744

Test plan (required)
Build and run docs.

Closing issues

@karliss
Copy link
Member

karliss commented Jun 7, 2020

Before adding this to the dependency list I would like the need for it to be evaluated.

@karliss
Copy link
Member

karliss commented Jun 7, 2020

From what I could find curl is only used for downloading capstone when building r2 using .configure/Makefile approach. It can also use wget instead of curl. Meson based r2 build which is also what CUTTER_USE_BUNDLED_RADARE2 seems to use GIT for getting it. It is also possible to build r2 using system capstone which avoids downloading it completely.

I propose organizing the dependency list into 3 parts:

  • Main dependencies - what we currently have
  • Optional but potentially difficult to avoid dependencies (curl and python3-setuptools) - things that require compiling in a specific way, understanding the build system or manually preparing the dependencies.
  • Optional dependencies for extra features (KSyntaxHighlighter, graphviz) - unless force enabled Cutter should automatically disable the corresponding features when these dependencies are not available

@Surendrajat
Copy link
Member Author

Surendrajat commented Jun 8, 2020

@karliss KSyntaxHighlighter & graphviz seems like a case that may need separate mention but for me difficult to avoid kinda sounds the same as the main dependencies. Usually, all build instruction pages show required and recommended dependencies together for the convenience (of setting up env with one command).
I also think that the wget option is good, and git one(if it can be replaced in all script) is probably better.

@karliss
Copy link
Member

karliss commented Jun 16, 2020

You can call them recommended dependencies if you think that it's less confusing. My reasoning is that they aren't strictly required and removing them doesn't take away from functionality of Cutter. It just makes a process a bit more complicated and you have to understand what you are doing. Adding an additional separator especially if there is one already for optional dependencies isn't hard. There are different needs for different people. Most end users probably don't care how and what the the build system does. But people preparing a package for distros or just someone trying to do offline do care at least a little bit and probably don't want build system to curl random source code during build.

@Surendrajat Surendrajat force-pushed the curl-docs branch 2 times, most recently from a87eca9 to 79d246e Compare June 20, 2020 09:29
@Surendrajat Surendrajat changed the title add curl as a dev dependency Update Cutter Documentation Jun 20, 2020
docs/source/building.rst Outdated Show resolved Hide resolved
@Surendrajat Surendrajat requested a review from karliss June 20, 2020 13:07
@Surendrajat
Copy link
Member Author

@karliss @ITAYC0HEN The git clone... instructions were only available under the Building on Linux section so I've made a common Getting the Source section to avoid repetition.

@Surendrajat Surendrajat requested a review from karliss June 20, 2020 15:11
@karliss karliss merged commit 061636d into rizinorg:master Jun 20, 2020
@Surendrajat Surendrajat changed the title Update Cutter Documentation Update Cutter Building Documentation Jun 20, 2020
@Surendrajat Surendrajat deleted the curl-docs branch June 20, 2020 16:40
@Surendrajat Surendrajat mentioned this pull request Jun 21, 2020
3 tasks
NirmalManoj pushed a commit to NirmalManoj/cutter that referenced this pull request Jul 15, 2020
* add linux dependencies to the list
* make a common git clone section
karliss referenced this pull request in karliss/cutter-docs Aug 15, 2020
* add linux dependencies to the list
* make a common git clone section
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants